100+ 经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。
这个列表综合了伯乐在线网站以往推荐经典书籍文章中的列表,以及在微信和微博中被广泛推荐的好书。虽然已经包括了100多本,覆盖的面也比较全。仍然有很多方面需要补充,而且相信还有很多没有被收录的好书。欢迎大家在 issues 中推荐或自荐。
100+ 经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。
这个列表综合了伯乐在线网站以往推荐经典书籍文章中的列表,以及在微信和微博中被广泛推荐的好书。虽然已经包括了100多本,覆盖的面也比较全。仍然有很多方面需要补充,而且相信还有很多没有被收录的好书。欢迎大家在 issues 中推荐或自荐。
| local count = 0 | |
| local sum = 0 | |
| local min = 0 | |
| local max = 0 | |
| local cursor = "0" | |
| local result = nil | |
| local data = nil | |
| repeat | |
| result = redis.call("zscan", KEYS[1], cursor, "count", 100) |
| #!/usr/bin/env python | |
| # http://www.rabbitmq.com/tutorials/tutorial-two-python.html | |
| from connect import connection, pika | |
| channel = connection.channel() | |
| channel.exchange_declare(exchange='dlx') | |
| result = channel.queue_declare(queue='dl') | |
| queue_name = result.method.queue |
| function password_encode(password) | |
| local bcrypt = require 'bcrypt' | |
| return bcrypt.digest(password, 12) | |
| end | |
| function check_password(password, encoded_password) | |
| local bcrypt = require 'bcrypt' | |
| return bcrypt.verify(password, encoded_password) | |
| end |
(source)
Taking [denilson-sá's answer][2] further...
You need revision numbers to grab downloads. So first lookup the full version string from the following URL, adjusting parameters as needed:
https://omahaproxy.appspot.com/history.json?channel=stable&os=mac
For Chrome version 28 the full version string is 28.0.1500.71. Now go to https://omahaproxy.appspot.com and enter the full version string ("28.0.1500.71") into the Position Lookup box. Copy the Base Position number ("209842" in this case).
| DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
| Version 2, December 2004 | |
| Copyright (C) 2011 Jed Schmidt <http://jed.is> | |
| Everyone is permitted to copy and distribute verbatim or modified | |
| copies of this license document, and changing it is allowed as long | |
| as the name is changed. | |
| DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
| <?php | |
| function logger($path = 'php.log', $cond = true) { | |
| $logs = array(); | |
| register_shutdown_function(function() use ($path, &$logs){ | |
| return count($logs) > 0 ? @file_put_contents($path, implode(array_map(function($log){ | |
| return count($log) > 1 ? call_user_func_array('sprintf', $log) : current($log); |
| <?php | |
| function t($t,$d='data'){return "extract(\$$d);".str_replace(['{{','}}','{%','%}'],['");$c(',');$c("','");','$c("'],'%}'.$t.'{%');} | |
| // demo | |
| $data = [ | |
| 'title' => 'test title', | |
| 'messages' => ['message1', 'message2', 'message3'] | |
| ]; | |
| $c='print_r'; |
| <?php | |
| $template = tplite(); | |
| $callback = function($s){print $s;}; | |
| $template(file_get_contents('test.tpl'), [ | |
| 'title'=>'test title', | |
| 'messages' => ['test message1', 'test messages2'] | |
| ], $callback); | |
| ?> |
| <app> | |
| <home class="app-page" data-page="true"></home> | |
| <detail class="app-page" data-page="true"></detail> | |
| <cart class="app-page" data-page="true"></cart> | |
| <checkout class="app-page" data-page="true"></checkout> | |
| var path = location.pathname.split('/') | |
| var collections = ['home', 'detail', 'cart', 'checkout'] | |
| , pages = {}, activeClass = 'app-active' | |
| , currentCollection = path.length > 2 && path[2] ? path[2] : 'home' |