暂无个人介绍
iOS 开发工具箱是一系列的非常好用的 iOS 开发工具的集合,里面包括了网站,在桌面/移动设备上的应用,还有些后端(Back-end)的服务。我会尽力把这些工具分好类,如果有新添加近来的工具,我会放在 NEW 类别下。
Android以其极强的开放性吸引着世界各地的开发者去开发各种各样的移动应用开发,而各种SDK更是为各个层次的开发者提供了一个可以尽情展示他们专业技能和创造性的平台。虽然Java是各种平台最常用的编程语言,但是一些其它的工具包只支持C、C++和Ruby。除此之外,所要开发应用的特性在一定程度上也决定了开发环境的选择。
InfoStealer是一种木马,功能为收集受害计算机系统用户的敏感信息,并将其转发到一个预定的位置,而搜集的信息包含财务信息,登录凭据,密码或者都有,这些信息可能被出售在黑市上。AVAST将其命名为MSIL:Agent-AKP。
相比上一篇而言,本文不需要太多的准备知识,但技巧性更强一些。因为分析、设计的过程比较复杂繁琐,也限于篇幅,所以,主要展示如何解决这些需求,和讲解代码。另外,所讲的内容也是后一篇实战中需要用到的一个工具类。
我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。
CentOS于1月7日宣布加入RedHat,携手推进开放源代码的革新。 Red Hat是开源解决方案提供商的领导者,CentOS加入Red Hat,共同打造全新的CentOS,推进新一代开源技术的发展和使用。
接到微软创投加速器项目负责Vivian 最终决选的面试通过电话的时候,我那个时候正在从北京回杭州的高铁上面,我刚刚查了一下通话记录是在12月25日的下午4点钟左右 :) 那个时候刚刚结束了在北京两周的出差,每次去帝都出差都是工作狂模式,所以当时处于极度的疲惫状态,当时接到这个电话通知的时候还是小兴奋了一下,代表我们成功的从全国400多家企业的竞争中突破重围,成功入选微软创投云加速器的第四期了!
dploy 是一个一键自动化部署工具,它可以把你在 GitHub,Bitbucket 或者你自己的仓库(repositories)中的项目在鼠标一次点击后,自动部署到一个或多个服务器上。它支持 FTP, SFTP, Shell, AWS, Heroku, Rackspace Cloud Files, DreamObjects。 同时,它是个收费的项目,详细费用可从官网上了解。
当我们最开始启动 iOS 编程课程的时候,我们写了一个关于 UITableView 的教程,展示了如何使用 UITableView 去创建一个简单的表格应用。这是我们最受欢迎的教程之一。然而,你可能会发现这个教程在 Xcode 5 下不适用了。最新版的 Xcode 促进了界面生成器(Interface Builder)中 Storyboard 的使用。Storyboard 不再是一个开发项目时的候选,它是默认的了。这是为什么那份教程不适用的原因之一。
当火车启动时,学员立刻组装桌子、旋转椅子,开始一连串讨论。工研院日前集结26位台、美产学精英,包括台大、清大、交大、成大及台北科技大学推荐的学生团队,及工研院、资策会年轻研究员,在台北往台东的火车上,进行两天一夜的黑客马拉松。
Rummage团队参加了2012年3月AngelHack举办的黑客马拉松,赢得了美国西海岸赛区的冠军,在全美排名第二。其创始人Eugene Otto在博客上分享了参加黑客马拉松的心得。让我们来看看他们有什么秘诀?
大多数人根据直觉就知道,在系统间传递消息要比在单个系统上执行简单计算更加耗时。不过,在共享同一块内存的系统的线程间传递消息是不是也更加耗时,这点可就不一定了。本章主要关注共享内存系统中的同步和通信的开销,只涉及了一些共享内存并行硬件设计的皮毛,想了解更多信息的读者,可以翻看Hennessy和Patterson的经典教材最新版[HP95]。
Tor(The Oninon Router)提供一个匿名交流网络平台,它使得用户在浏览网页或访问其它网络服务时不会被跟踪。作为该网络的一部分即所谓的“暗网”(darknet),是指只能通过Tor网络访问的服务器群组,这些服务器提供包括社区论坛、电子邮件等多种服务。虽然提供这些服务都是无恶意的,初衷是用来关注侵犯人权问题,但是由于匿名的原因吸引了很多有犯罪意图的人,比如传播儿童色情。事后执法部门也不能追踪到犯罪者的源IP地址。
本文写给对ConcurrentLinkedQueue的实现和非阻塞同步算法的实现原理有一定了解,但缺少实践经验的朋友,文中包括了实战中的尝试、所走的弯路,经验和教训。
在你加入之后,Twitter 的工程师部门发生了些什么变化呢? Twitter 有意思的地方是,它是从各自为营的小团队中发展起来的,关于分散还是集中的讨论一直就没有停过。在 Salesforce 时的问题是有点过于集中,而现在又是有点过于分散。
2014年被认为是AngularJS之年,现在是时候总结一下2013年的AngularJS优秀学习资源,希望能帮助你迎头赶上。只有最好的文章才能榜上有名。
前言:有网友在问答网站Quora上提问:“有哪些省时小技巧,是每个Linux用户都应该知道的?” Joshua Levy 平常就在 Linux 平台工作,并且他积累了不少实用命令行技巧,他在回复中精选出一部分。对技术用户来说,这些技巧挺重要或实用,但知道的人并不多。下文略有点长,一般来说,用户也不需要对全部内容都了解,但为了达到省时方便的目的,Joshua Levy 仍不遗余力做了校对,以保证列出的每一条都值得一读,前提是你是一位Linux重度用户。
随便搜索一下“Android vs. iOS”,都会出现很多关于哪个平台更好的争论,大多数的争论点都是关于市场占有率、易用性和设备分化等问题。当然也有一些“以开发者的角度”去比较这两个平台的文章,但是很少有从技术上做深入的比较,通常也只是用一个简单的示例应用介绍一些基本的特性。缺少这种深入的比较其实是有原因的:一个公司要做一个足够复杂的移动应用,通常需要一个人或团队做Android,另外一个人或团队做iOS。这两个平台使用不同的编程语言(Java和Objective-C),提供不同的SDK,使用不同的开发工具,所以人力资源分配上各做各的平台也就不奇怪了。
我想在本文解释JavaScript中的 this,希望有助你理解 this 的工作机制。作为JavaScript程序员,学习 this 对于你的发展有很大帮助,可以说利大于弊。这篇文章的灵感来自于我最近的工作——我即将完成的书的最后章节——《JavaScript 应用程序设计 | JavaScript Application Design》(注意:现在你可以购买早期版本),我写的是关于scope工作原理的方面。
上周我在twitter上讨论了ORM,在那以后有人希望我澄清一下。事实上,我曾经写文章讨论过ORM, 但那是时的上下文是关于SQL的,我不应该把这将两件事情混为一谈。
随着云服务和电商的发展,越来越多的用户将个人资料存储在“云”上,越来越多的交易通过网络完成。然而,国内的网络服务安全情况却不容乐观。
FIS是百度开源的前端集成解决方案,这是团队和百度众多产品线共同探索出一套前端集成解决方案。解决了前端生成中前端静态资源加载优化、页面运行性能优化、基础编译工具、运行环境模拟、js|css组件化开发等心问题。
正则表达式是每个程序开发人员的必备技能。任何开发项目,不管使用什么编程语言,都需要从给定的数据提取值并进行验证。例如对输入内容的验证,过滤 URL 变量等等,正则表达式处理这样的任务很容易,而且只需要很少的代码。
Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。
死锁是两个或更多线程阻塞着等待其它处于死锁状态的线程所持有的锁。死锁通常发生在多个线程同时但以不同的顺序请求同一组锁的时候。
分析恶意软件(malicious ware)有很多方法。请容我不自量力推荐两个开放源代码的免费系统 Cuckoo 和 MalWasm 。这是一个虚拟化环境下的恶意软件分析系统。
本文将用到Java内存模型的happens-before偏序关系(下文将简称为hb)以及ConcurrentHashMap的底层模型相关的知识。happens-before相关内容参见:JLS §17.4.5. Happens-before Order、深入理解Java内存模型以及Happens before;ConcurrentHashMap的详细介绍以及底层原理见深入分析ConcurrentHashMap。本文将从ConcurrentHashMap的get,clear,iterator(entrySet、keySet、values方法)三个方法来分析它们的弱一致问题。
青云QingCloud是国内一家初创公司,来自腾讯、百度、IBM 的三位创业者 Spencer、Reno、Richard 希望借鉴 AWS 思想,在技术层面上做出更加优化、真正意义上的IaaS平台。青云QingCloud 今天宣布获得 2000 万美元 B 轮融资,由光速安振中国领投,蓝驰创投以及经纬中国跟投。蓝驰创投也是 QingCloud 2012 年 11 月份时 200 万美元的 A 轮投资方
数据科学是OSEMN(和 awesome 相同发音),它包括获取(Obtaining)、整理(Scrubbing)、探索(Exploring)、建模(Modeling)和翻译(iNterpreting)数据。作为一名数据科学家,我用命令行的时间非常长,尤其是要获取、整理和探索数据的时候。而且我也不是唯一一个这样做的人。最近,Greg Reda 介绍了可用于数据科学的经典命令行工具。在这之前,Seth Brown介绍了如何在Unix下进行探索性的数据分析。
JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了。就如同在浏览器中一样,现在我们也可以在服务器上运行 JavaScript ,从前端跨越到后端,这样巨大的反差让人难以想象,因为仅仅在几年前 Javascript 还如同 Flash 或者 Java applet 那样嵌入网页在沙箱环境中运行。
有时候程序员们需要写一段独立于位置操作的代码,可当作一段数据写到其他进程或者网络中去。该类型代码在它诞生之初就被称为shellcode,在软件中黑客们以此获取到shell权限。方法就是通过这样或那样的恶意手法使得这段代码得以执行,完成它的使命。当然了,该代码的编写仅能靠它自己,作者无法使用现代软件开发的实践来推进shellcode的编写。
即使是资深的技术人员,我经常听到他们谈论某些操作是如何导致一个CPU缓存的刷新。看来这是关于CPU缓存如何工作和缓存子系统如何与执行核心交互的一个常见误区。本文将致力于解释CPU缓存的功能以及执行程序指令的CPU核心如何与缓存交互。我将以最新的Intel x86 CPU为例进行说明,其他CPU也使用相似技术以达到相同目的。
在各种并发编程模型中,生产者-消费者模式大概是最常用的了。在实际工作中,对于生产消费的速度,通常需要做一下权衡。通常来说,生产任务的速度要大于消费的速度。一个细节问题是,队列长度,以及如何匹配生产和消费的速度。
ECharts(Enterprise Charts 商业产品图表库) 是基于Canvas的,纯Javascript 的图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。
GitCafe是一个基于代码托管服务打造的技术协作与分享平台,最近刚刚获得景林资产300万人民币天使轮投资。
Scrapy 是一个用于爬行网站以及在数据挖掘、信息处理和历史档案等大量应用范围内抽取结构化数据的应用程序框架,广泛用于工业。 在本文中我们将建立一个从 Hacker News 爬取数据的爬虫,并将数据按我们的要求存储在数据库中。
我在Twitter和Stripe的一部分工作内容是面试前端工程师。其实关于面试你可能很有自己的一套,这里我想跟你们分享一下我常用的方法。 不过我想先给你们一个忠告,招聘是一件非常艰巨的任务,在45分钟内指出一名侯选人是否合适是你需要完成的任务。不过面试的最大问题是每个人都会想着去雇佣他们自己,任何通过我面试的人想法大都跟我差不多(注:因为你总会问你自己关心和知道的问题),这其实不是一件好事。因此我之前的决定都有很大碰运气的成分。不过,这也是一个良好的开端。
以GitHub为代表的新一代代码协作平台开创了协同开发的新时代。开发者之间基于代码的协作从来没有像今天这样顺畅。GitHub上向你发送合并请求的开发者,可能和你分处大洋两岸,也可能和你同在一间办公室。上个礼拜,GitHub宣布其上托管的git仓库已经突破一千万大关!
今天是最后一天,我决定学习一下 Play 框架。原本是想写关于Scala的,学习了几个小时之后发现在一天之内是不可能完成Scala的,所以今天会介绍一下Play框架的基本知识,然后学习如何用它开发应用。
Device.js 是一个可以让你检测设备的平台,操作系统和方向 JavaScript 库,它会自动在 <html> 标签添加一些设备平台,操作系统,方向相关的 CSS class,这样就能让你针对不同设备撰写不同的 CSS,并且还提供一些 Javascript 函数来判断设备。
托马斯.普塔切克曾经发过一条Twitter“如果你不是编写攻击代码的时候学习的密码学,那么你可能根本没有在学密码学”。 从Twitter上对这条信息的关注及其引用数来看,它似乎得到了很多人的认同。尽管我很尊重托马斯,但我绝对不同意他的观点。我认为学习密码学,不仅不需要写代码,而且编写攻击代码对于学习现代密码学根本毫无用处。学习现代密码学最好的方式是研究数学论证。
阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列,下图展示了如何通过阻塞队列来合作:
作为一个PHP开发者,现在是一个令人激动的时刻。每天有许许多多有用的库分发出来,在 Github 上很容易发现和使用这些库。下面是我曾经遇到过最酷的24个库。你最喜欢的库没有在这个列表里面?那就在评论中分享吧!
选择正确的 JavaScript 框架,对于开发移动 Web 应用程序是至关重要的,也是移动应用程序开发的一项重要任务。开发人员可以使用框架实现的功能高效地达到他们的开发目标。这些预实现的组件采用优秀的设计模式和最佳实践,促进应用程序以标准化的方式开发。最重要的是,它让开人员在开发过程中得心应手。
12306.cn是世界规模最大的实时交易系统之一,媲美Amazon.com,节假日尤其是春节的访问高峰,网站压力巨大。2012年初的春运高峰期间,每天有2000万人访问该网站,日点击量最高达到14亿在春运高峰,经常崩溃,无法登录,怨声载道。
如果不首先想想这句Knuth的名言,就开始进行优化工作是不明智的。可是,你很快写出来加入一些特性的代码,可能会很丑陋,你需要注意了。这篇文章就是为这时候准备的。 那么接下来就是一些很有用的工具和模式来快速优化Python。它的主要目的很简单:尽快发现瓶颈,修复它们并且确认你修复了它们。
你可能用过数据魔方、淘宝指数、淘宝时光机这些好玩的产品,为其对大数据的运用点赞,或许你还对阿里巴巴在大数据这领域所做的工作感到好奇。在这里,Segmentfault 给大家来介绍一下这些炫酷产品背后的团队:阿里数据平台事业部数据产品团队。
HashMap 的工作原理是近年来常见的 Java 面试题。几乎每个 Java 程序员都知道 HashMap,都知道哪里要用 HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现 HashMap 来考察你的编程能力。ConcurrentHashMap 和其它同步集合的引入让这道题变得更加复杂。让我们开始探索的旅程吧!
暑假就要结束了(译注:本文发布在13年8月份),或许你已决定成为一个安卓程序员。假期中,我收集了42个帮助大家学习安卓的链接。有的链接是面向初学者的帮助你从头开始,其他的则面向比较高级的开发者。当然这个列表是相当主观的,如果您也有更多关于安卓内容的链接,欢迎在评论栏中留言。
在我第一次不得不处理缓冲区溢出漏洞时,我真是一窍不通啊!虽然我可以建立网络和配置防火墙、代理服务器,不费吹灰之力的入侵检测系统,但是对于利用代码来说,我还是第一次接触到。然而,正如处理任何复杂或是困难的概念一样,最好的办法就是把它分解成我们了解的多个部分。