程序设计

专业和发烧友程序员的问答


12
清除PHP数组值的最佳方法
清除数组中的所有值哪个更有效?第一个要求我在第二个示例的循环中每次使用该函数。 foreach ($array as $i => $value) { unset($array[$i]); } 或这个 foreach($blah_blah as $blah) { $foo = array(); //do something $foo = null; }
172 php  arrays 

3
HyperLogLog算法如何工作?
我最近在业余时间一直在学习不同的算法,我遇到的一个看起来很有趣的算法叫做HyperLogLog算法-该算法估计列表中有多少个唯一项。 这对我特别有趣,因为当我看到“基数”值(直到最近,我一直认为直到最近才算出它不是估计值)时,它才使我回到MySQL时代。 因此,我知道如何在O(n)中编写一种算法,该算法将计算数组中有多少个唯一项。我是用JavaScript编写的: function countUniqueAlgo1(arr) { var Table = {}; var numUnique = 0; var numDataPoints = arr.length; for (var j = 0; j < numDataPoints; j++) { var val = arr[j]; if (Table[val] != null) { continue; } Table[val] = 1; numUnique++; } return numUnique; } 但是问题是我的算法虽然为O(n),却占用了大量内存(将值存储在中Table)。 我一直在阅读本文有关如何在重复计数在列表Ø(ñ)的时间和使用的内存。 它解释说,通过对位进行散列和计数或可以在一定概率(假设列表均匀分布)中估计的某种事物中列表中唯一项的数量。 …


10
Spring Boot REST服务异常处理
我正在尝试建立一个大型的REST服务服务器。我们正在使用Spring Boot 1.2.1,Spring 4.1.5和Java8。我们的控制器正在实现@RestController和标准的@RequestMapping注释。 我的问题是Spring Boot为控制器异常设置了默认重定向到/error。从文档: Spring Boot默认提供一个/ error映射,以一种明智的方式处理所有错误,并且在servlet容器中被注册为“全局”错误页面。 对使用Node.js编写REST应用程序已有多年的经验,对我而言,这绝非明智之举。服务端点生成的任何异常都应在响应中返回。我不明白为什么您要发送重定向到最有可能是Angular或JQuery SPA使用者的重定向程序,该使用者仅在寻找答案并且不能或不会对重定向采取任何措施。 我想做的是设置一个可以接受任何异常的全局错误处理程序-有目的地从请求映射方法抛出,或者由Spring自动生成(如果未为请求路径签名找到处理程序方法,则为404),然后返回标准格式的错误响应(400、500、503、404)到客户端,而无需任何MVC重定向。具体来说,我们将处理错误,使用UUID将其记录到NoSQL,然后将正确的HTTP错误代码与JSON主体中的日志条目的UUID返回给客户端。 文档对如何执行此操作一直含糊不清。在我看来,您必须创建自己的ErrorController实现或以某种方式使用ControllerAdvice,但是我所看到的所有示例仍然包括将响应转发到某种错误映射,这没有帮助。其他示例建议您必须列出要处理的每个Exception类型,而不是仅列出“ Throwable”并获取所有内容。 谁能告诉我我错过了什么,或者在没有暗示Node.js更容易处理的前提下为我指出正确的方向?


11
“ / usr / bin / ld:找不到-lz”
我正在尝试在Ubuntu 10.04下编译Android源代码。我收到一个错误消息, / usr / bin / ld:找不到-lz 你能告诉我如何解决吗?什么cannot find -lz意思 这是完整的错误消息: external/qemu/Makefile.android:1101: warning: overriding commands for target `external/qemu/android/avd/hw-config-defs.h' external/qemu/Makefile.android:933: warning: ignoring old commands for target `external/qemu/android/avd/hw-config-defs.h' host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so) /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.so when searching for -lz /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.a when searching for -lz /usr/bin/ld: skipping incompatible …
172 linux  gcc  linker 

11
调整“浮动操作”按钮(fab)的图标大小
新的浮动操作按钮应为56dp x 56dp,其内部的图标应为24dp x 24dp。因此,图标和按钮之间的间距应为16dp。 <ImageButton android:id="@+id/fab_add" android:layout_width="56dp" android:layout_height="56dp" android:layout_gravity="bottom|right" android:layout_marginBottom="16dp" android:layout_marginRight="16dp" android:background="@drawable/ripple_oval" android:elevation="8dp" android:src="@drawable/ic_add_black_48dp" /> 波纹_oval.xml <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item> <shape android:shape="oval"> <solid android:color="?android:colorAccent" /> </shape> </item> </ripple> 这就是我得到的结果: 我使用了\ material-design-icons-1.0.0 \ content \ drawable-hdpi \ ic_add_black_48dp.png https://github.com/google/material-design-icons/releases中的图标 /标记/1.0.1 如何使按钮内的图标大小完全符合准则中所述? http://www.google.com/design/spec/components/buttons.html#buttons-floating-action-button

12
如何在List <>中找到最后一个元素?
以下是我的代码的摘录: public class AllIntegerIDs { public AllIntegerIDs() { m_MessageID = 0; m_MessageType = 0; m_ClassID = 0; m_CategoryID = 0; m_MessageText = null; } ~AllIntegerIDs() { } public void SetIntegerValues (int messageID, int messagetype, int classID, int categoryID) { this.m_MessageID = messageID; this.m_MessageType = messagetype; this.m_ClassID = classID; this.m_CategoryID = …
172 c#  list  for-loop 


6
将UTC中的当前时间用作PostgreSQL中的默认值
我有一个TIMESTAMP WITHOUT TIME ZONE类型的列,希望将该默认值设置为UTC的当前时间。使用UTC来获取当前时间很容易: postgres=# select now() at time zone 'utc'; timezone ---------------------------- 2013-05-17 12:52:51.337466 (1 row) 与使用当前时间戳记的列相同: postgres=# create temporary table test(id int, ts timestamp without time zone default current_timestamp); CREATE TABLE postgres=# insert into test values (1) returning ts; ts ---------------------------- 2013-05-17 14:54:33.072725 (1 row) 但这使用当地时间。尝试将其强制为UTC会导致语法错误: postgres=# create …

4
选择其他表中不存在的行
我有两个postgresql表: table name column names ----------- ------------------------ login_log ip | etc. ip_location ip | location | hostname | etc. 我想获取login_log没有行的每个IP地址ip_location。 我尝试了此查询,但它引发了语法错误。 SELECT login_log.ip FROM login_log WHERE NOT EXIST (SELECT ip_location.ip FROM ip_location WHERE login_log.ip = ip_location.ip) ERROR: syntax error at or near "SELECT" LINE 3: WHERE NOT EXIST (SELECT ip_location.ip` …

12
javascript设置变量(如果未定义)
我知道我可以测试一个javascript变量,然后在未定义的情况下对其进行定义,但是没有任何说法 var setVariable = localStorage.getItem('value')|| 0; 似乎是一种更清晰的方法,而且我敢肯定我已经用其他语言看到过这一点。

7
GIT合并错误“因为未合并文件,所以无法提交”
因此我忘了在编辑代码之前先提取代码,然后提交新代码并尝试推送时,出现错误推送是不可能的,那时我执行了“ git pull”操作,该操作使一些带有冲突的文件突出显示。我消除了冲突,但是我不知道该怎么办。 我git commit再次尝试,但显示“无法提交,因为您有未合并的文件”
172 git  git-merge 

19
无法识别的SSL消息,纯文本连接?例外
我有一个Java兼容的软件包可以与网络上的https服务器通信。运行编译会产生以下异常: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(Unknown Source) at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) 我认为这是由于与客户端计算机建立的连接不安全。有什么方法可以配置本地计算机或端口以连接到远程https服务器?
172 java  https 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.