小编Jus*_*ant的帖子

Python/Django:在runserver下登录到console,在Apache下登录到文件

print当我在运行我的Django应用程序时manage.py runserver,如何将跟踪消息发送到控制台(例如),但是当我在Apache下运行应用程序时将这些消息发送到日志文件?

我回顾了Django日志记录,虽然我对其高级用途的灵活性和可配置性印象深刻,但我仍然对如何处理我的简单用例感到困惑.

python django logging

108
推荐指数
3
解决办法
12万
查看次数

是否有可能捕获JavaScript异步回调中抛出的异常?

有没有办法捕获JavaScript回调中的异常?它甚至可能吗?

Uncaught Error: Invalid value for property <address>
Run Code Online (Sandbox Code Playgroud)

这是jsfiddle:http://jsfiddle.net/kjy112/yQhhy/

try {
    // this will cause an exception in google.maps.Geocoder().geocode() 
    // since it expects a string.
    var zipcode = 30045; 
    var map = new google.maps.Map(document.getElementById('map_canvas'), {
        zoom: 5,
        center: new google.maps.LatLng(35.137879, -82.836914),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    // exception in callback:
    var geo = new google.maps.Geocoder().geocode({ 'address': zipcode }, 
       function(geoResult, geoStatus) {
          if (geoStatus != google.maps.GeocoderStatus.OK) console.log(geoStatus);
       }
    );
} catch (e) {
    if(e instanceof TypeError)
       alert('TypeError');
    else
       alert(e);
}?
Run Code Online (Sandbox Code Playgroud)

javascript google-maps exception callback

60
推荐指数
3
解决办法
3万
查看次数

LinkedIn这样的网站如何有效地显示每个人姓名旁边的第一/第二/第三级关系?

我最近通过一个简单的问题很难回答你的求职面试:LinkedIn这样的网站如何有效地显示你与页面上显示的每个人之间的关系距离(第一/第二/第三)(例如,在人们搜索结果中,工作人员列表)在公司等)?

<编辑>我得到了解决方案的基本"技巧":找到"与我的距离"是一种常见的操作(例如,单页上20x +,每次登录会话100次),所以你可以做到"我的距离"的一部分X",缓存它,然后多次重复使用缓存的部分结果,以使其他操作更便宜.我还猜测部分结果很可能是我的二级连接,因为"缓存所有第三级连接"在RAM和CPU中成本太高.</ EDIT>

但是当我试图将这种洞察力转化为解决方案时,我想出了一个笨拙的答案,涉及在网站上创建每个人的二级连接的持久缓存(这将是非常昂贵的性能和复杂的维护),我采取了一种莫名其妙的转向使用布鲁姆过滤器的方式几乎没有技术意义.在这样的答案之后,我不会雇用自己!

后来,当我在没有面试压力的情况下思考问题时,我提出了一个更合理的答案.

  • 构建一种非常快速的方法来获得每批用户ID的第一级连接(批量大小可达~1000?).这可能意味着一个由大量RAM服务器组成的专用集群,它可以将整个网络的第一级连接缓存在内存中.幸运的是,50M会员x平均.每个成员100个连接x每个成员4个字节ID = <25GB缓存在RAM中,这对于价格合理的硬件是可行的.并且每天的更改次数将低于1%,因此保持缓存最新并不太难.(请注意,关系数据库可能是实现此缓存的不良选择,因为"大量随机I/O"访问模式会破坏关系数据库性能.)

  • 当用户登录时,通过获取每个第一级连接的第一级连接来缓存其第二级连接,并粘贴在哈希表中(key =第二级ID,值=连接你的第一级连接数组) .同时缓存您的第一级连接,这样您就可以通过一次回调将第一级和第二级都拉回到远程缓存服务器.用户ID很容易分区,因此像memcached这样的分布式缓存可以很好地解决这个问题.

  • 对于任何用户ID,要查找它是否在您的"网络"中以及它与您(第1,第2,第3)的关系,请执行以下操作:

    1. 如果ID在您的第一级连接中,请停止.
    2. 尝试在缓存的二级连接哈希表中查找ID.如果找到,请返回连接您的连接数组.
    3. 获取ID的第一级连接,并为每个连接重复步骤#2.将所有结果聚合到一个数组中并返回它们.
    4. <EDIT>重构为批量实现("查看从我到N个不同用户的距离"),这样您就可以从步骤#3获得所有远程结果,而无需进行N个远程调用.</ EDIT>

但我相信有更好的答案.你的是啥呢?如果您想要额外的挑战,请尝试模拟一个inteview情境(无法在Web上查找解决方案).

请注意,问题是关于最佳解决方案,无论LinkedIn今天如何实际执行,我在上面写了自己的答案之后就查了一下.

caching graph linkedin social-networking

37
推荐指数
1
解决办法
9005
查看次数

如何使用"分组依据"和"在哪里"加快"选择计数(*)"?

如何加快select count(*)group by
它太慢而且经常使用.
使用select count(*)group by使用超过3,000,000行的表时,我遇到了很大的麻烦.

select object_title,count(*) as hot_num   
from  relations 
where relation_title='XXXX'   
group by object_title  
Run Code Online (Sandbox Code Playgroud)

relation_title,object_title是varchar. 其中relation_title ='XXXX',返回超过1,000,000行,导致object_title上的索引 无法正常工作.

mysql indexing performance group-by count

23
推荐指数
3
解决办法
2万
查看次数

如何在没有“N more”和“...”的情况下查看完全扩展的 TypeScript 类型?

在 VSCode 中,TypeScript 显示了我定义的类型的非常有用的扩展。但是 TS 在 IntelliSense 中显示的内容是有限的。如果一个类型太长,那么我会看到这样的输出:

在此处输入图片说明

注意接近尾声的“11 more”。有时,为了对困难的类型定义进行故障排除,查看“N more”部分中的内容确实很有帮助。

有没有办法获得(用于开发期间的故障排除目的)完全扩展的类型定义,而没有那些“N more”消息来隐藏里面的内容?

https://github.com/Microsoft/vscode/issues/6638暗示截至 2017 年 2 月,此功能可能尚未可用(也未计划),但我不确定我是否正确阅读了该问题,无论情况如何在此期间发生了变化。

intellisense typescript visual-studio-code

20
推荐指数
2
解决办法
3601
查看次数

像$(.someClass)这样的JQuery类选择器区分大小写?

鉴于此HTML:

<div class="OpenIDSelector">some text</div>
Run Code Online (Sandbox Code Playgroud)

为什么这个JQuery选择器在某些浏览器和某些页面上匹配它,而在其他页面上却不匹配?

$('.OpenIdSelector')
Run Code Online (Sandbox Code Playgroud)

注意:我遇到了这个问题并且自己解决了,但是它很烦人,我在StackOverflow上找不到它,所以我把它作为Q&A对发布,所以别人不会像我那样浪费一个小时.

html javascript jquery standards quirks-mode

18
推荐指数
1
解决办法
4602
查看次数

在IE9中禁用Cleartype(文本消除锯齿)

它是有据可查的(如这里),其IE9将忽略字体平滑(又名抗锯齿)的OS范围的设置.即使在Windows中禁用了字体平滑和ClearType,IE仍会显示抗锯齿字体,有些用户难以阅读,特别是在小字体时.

如何在IE9中禁用所有字体抗锯齿(ClearType或其他)?

更多细节:

我们公司构建了一个使用大量小字体的Web应用程序.随着IE9的发布,我们的一些用户抱怨IE9的默认抗锯齿使我们的小字体模糊或模糊.因此,我们需要帮助已安装IE9并希望关闭抗锯齿功能的用户.

另外,就个人而言,我无法阅读小型的抗锯齿字体,所以我想要一个自己使用的解决方案,即使对于我无法控制的网站也是如此.

在IE8中,我可以取消选中"始终使用ClearType for HTML",然后在操作系统中禁用ClearType,IE8将显示所有字体别名.但在IE9中,缺少此选项.

经过一些关于这个问题的研究,这就是我所学到的:核心问题是IE依靠DirectWrite进行文本渲染,并且不支持任何更新的渲染选项,这些选项可以在没有抗锯齿的情况下绘制文本并尊重用户的OS-广泛的默认选择.

更糟糕的是,如果你在操作系统中禁用ClearType,在某些情况下,IE将回退到DirectWrite的默认非cleartype抗锯齿,它甚至比ClearType更模糊.

wpf antialiasing cleartype directwrite internet-explorer-9

16
推荐指数
2
解决办法
2万
查看次数

TestFlight external testers' upgrade workflow after app is released to App Store

When releasing to the App Store after using iTunes Connect Testflight beta testing, what's a good way to ensure that external testers get cleanly upgraded to the official App Store version? Specifically:

  • Will external testers get a notification on the device that a new app version is available? Will this be a regular iOS notification, a notification from the Testflight app, or both?
  • On the home screen, will the beta app's icon show any indication that it's been superseded by …

itunesconnect app-store ios testflight

16
推荐指数
0
解决办法
1822
查看次数

TEXTAREAs每次键入一个字符时自行滚动(在IE8上)

IE8有一个已知的错误(每个connect.microsoft.com),在TEXTAREA元素中键入或粘贴文本将导致textarea自行滚动.这非常烦人,并且出现在许多社区网站中,包括维基百科.责备是这样的:

  1. 使用IE8打开下面的HTML(或者使用维基百科上的任何长页面,它们会出现同样的问题,直到他们修复它)
  2. 浏览器全屏大小
  3. 将几页文本粘贴到TEXTAREA中
  4. 将滚动条移动到中间位置
  5. 现在在textarea中输入一个字符

预期:没有任何反应实际:滚动单独发生,插入点最终靠近textarea的底部!

下面是摄制HTML(也可以在这里看到这个活的网站:http://en.wikipedia.org/w/index.php?title=Text_box&action=edit)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" ><body>
 <div style="width: 80%">
   <textarea rows="20" cols="80" style="width:100%;" ></textarea>
 </div>
</body></html>
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过强制网站进入IE7兼容模式来避免这种情况,但是什么是解决这个bug的最佳方法,同时尽可能减少副作用?

css mediawiki textarea internet-explorer-8

15
推荐指数
1
解决办法
5550
查看次数

有没有自动SVN-> GIT同步服务?

有一个我只读访问的SVN开源项目,我想在GitHub上创建该项目的GIT镜像.

我知道如何设置初始镜像然后保持最新git svn rebase,但仍然需要在运行cron作业的某个地方设置服务器以处理同步,设置监视以确保服务器已启动并且cron作业正在运行,定期升级到最新的git版本等.

在我重塑其他每个SVN-> GIT镜不得不同轮,如果有,它可以自动SVN-任何服务(免费或付费)> GIT镜像我,我不知道.知道吗?

显然,自动化服务无法合并我的更改 - 我的所有更改都发生在单独的仓库中(或者可能是同一仓库中的单独分支).我只是在寻找一种自动化SVN交互的方法,并创建一个其他人可以克隆的精确镜像.

svn git github git-svn

14
推荐指数
2
解决办法
1439
查看次数