- 博客(38)
- 资源 (12)
- 问答 (1)
- 收藏
- 关注

原创 环回接口( loopback )-127.0.0.1 VS 192.168.0.5 VS 0.0.0.0, 服务器套接字(server socket)如何选择绑定哪个IP?
loopback 是什么东东?本地环回接口(或地址),亦称回送地址(loopback address)。此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。参考《working with TCP sockets》loopback 介绍IP地址并不总是必须指向远程主机。特别是在开发中你经常想要连接到你本地主机上的套接字(sockets)。大多数系统定义了一个环回接口(loopback in
2016-04-29 20:13:10
5195

原创 如何从零开始学习Ruby
小白阶段以我的切身经历和体会来看,比较好的路线应该是先看基础语法: 《Ruby基础教程》 当然,不需要全部看完,大概把前面11章和基本的类介绍看完,可以进入下一阶段。 耗时: 如果你学过其他编程语言,比如C或者Basic或者Java或者Python,那么这个阶段你应该只需要1周左右时间; 否则,最好花上2到3周。理论联系实际阶段当你稍微了解了ruby的基础知识时,便可以尝试做一个
2016-03-24 23:27:22
4666

原创 RubyOnRails程序员两年工作经验总结
题记总觉得应该在必要的时候对自己进行必要的反思和总结。个人背景2010年,化学竞赛加选拔考试,保送清华化学专业。 2011年,条件允许,转到了电子工程系。 2014年,清华本科毕业,专业:“电子信息科学与技术”。然后加入了一家不算小的创业公司(当时就有几百人,在成都和长沙有分公司)–“团800”(现在由于业务重点转移,已改称“折800”)。 2016年4月,辞职,准备去深圳。如何做好一个程序员
2016-03-24 22:17:44
915
原创 Ruby魅力之旅
Ruby魅力之旅迷路的“Hello World”#!/usr/bin/env ruby$methods = []def method_missing m, *args, &block $methods.unshift m.to_sendat_exit do puts $methods.map(&:capitalize).join(' ')endhello world密码生成器# 大小
2017-09-23 13:11:37
505
原创 Ruby简介
Ruby是一门开源的动态编程语言,注重简洁和效率。Ruby 的句法优雅,读起来自然,写起来舒适。Ruby是一门完全的面向对象的解释型语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp 语言。因为Perl发音与6月诞生石pearl(珍珠)相同,因此Ruby以7月诞生石ruby(红宝
2017-09-09 12:33:11
1346
原创 Linux系统入门学习书籍
http://linuxtools-rst.readthedocs.io/zh_CN/latest/base/index.htmlhttps://book.douban.com/subject/2208530/
2016-07-09 14:41:26
1176
原创 mongoid--查询的注意事项
mongoid查询方法简介mongoid是ruby版本的mongoldb-driver.mongoid实现的查询方法和active record极其类似,所以对于rails用户来说是很友好的。例如:class Band include Mongoid::Document field :name field :foundedendBand.where(name: "Depeche Mode
2016-04-29 19:35:38
2046
原创 mongoid--2d索引简介(index)
mongoid中的2d索引简介mongoid是mongoldb的ruby版本driver。 最近使用mongoid时发现文档不太详细,使用2d索引时查询源码才找到一些方法的用法,分享一下。2d索引是对于经度和纬度建立索引,mongodb内部做了一些处理,可以方便的进行查询。mongoldb对于2d索引的介绍: https://docs.mongodb.org/manual/core/2d/mon
2016-04-29 19:22:34
1116
原创 Ruby On Rails--Action View Form Helpers(页面表单帮助方法)
Action View Form Helpers 知识总览官方文档基础Form表单的Helper方法form_tag方法及其选项:method:controller:action:class, :style, :id, …label_tagtext_field_tag, text_area_tagsubmit_tagcheck_box_tagradio_button_tagpas
2016-04-07 17:15:37
941
原创 Ruby On Rails--Layouts and Rendering in Rails(布局和页面渲染)
Layouts and Rendering in Rails 知识总览官方文档同一个action中,render和redirect_to不能同时调用,也不能重复调用任意一个。Rails默认renderrenderan Action’s View:nothing:file:action:template:plain:html:json:js:xml:content_type
2016-04-07 17:14:24
679
原创 Ruby On Rails--Action Controller(控制器)
Action Controller知识总览Action Controller Overview Action Controller is the C in MVC. After routing has determined which controller to use for a request, your controller is responsible for making sense
2016-04-07 17:12:18
3631
原创 Ruby On Rails--Active Record Query Interface(数据库查询)
Active Record will perform queries on the database for you and is compatible with most database systems (MySQL, PostgreSQL and SQLite to name a few).Active Record Query Interface知识总览官方文档从数据库检索对象查询方法b
2016-04-07 17:10:19
622
原创 Ruby On Rails--Active Record Validations(校验)
Validations are used to ensure that only valid data is saved into your database.Active Record Validations知识总览官方文档什么是validatevalidate发生在什么地方绕过校验 validate: false校验是如何触发的?校验的几种形式 validates_XXX_of,
2016-04-07 17:08:47
773
原创 Ruby On Rails--Active Record Migrations(数据库迁移)
Migrations are a convenient way to alter your database schema over time in a consistent and easy way. Active Record Migrations知识总览官方文档如何用Rails的命令创建migrationRails和数据库对应的基本的类型有哪些创建表添加索引(唯一性索引,联合索引等)
2016-04-07 17:07:06
808
原创 Ruby On Rails--Active Record Associations(关联关系)
Why do we need associations between models? Because they make common operations simpler and easier in your code.Active Record Associations知识总览官方文档为什么使用Associations ?Associations的类型belongs_tohas_one
2016-04-07 17:04:19
597
翻译 版本控制最佳实践
提交相关的改动常提交不要提交只完成了一半的工作在你提交前先测试代码书写良好的提交信息版本控制不是一个备份系统使用分支保持一致的工作流程帮助和文档在命令行获取帮助$ git help <command>免费的在线资源http://www.git-tower.com/learn http://rogerdudler.github.io/git-guide/ http://www.git-scm.or
2016-04-07 17:01:37
371
原创 Ruby On Rails--Active Record Callbacks(回调)
Callbacks allow you to trigger logic before or after an alteration of an object’s state’.Active Record Callbacks知识总览官方文档对象的生命周期什么是Callbacks如何使用Callbacks有哪些可用的Callbacks创建对象时被调用 before_validationafte
2016-04-07 16:30:20
985
翻译 Ruby最佳实践--不要rescue Exception,rescue StandardError
重构前显式地捕获Exception将会捕获甚至会捕获非正常可修复的错误比如SyntaxError, LoadError, and Interrupt。begin foorescue Exception => e logger.warn "Unable to foo, will ignore: #{e}" end重构如果你省略Exception类型标志,那么Ruby会只捕获Standard
2016-04-07 14:31:52
1762
翻译 GIT 常用命令大全及其说明
创建克隆一个已经存在的仓库$ git clone ssh://user@domain.com/repo.git创建一个新的本地仓库$ git init本地变化查看你的工作目录下被改动过的文件$ git status查看和被追踪文件对比有哪些变化(即当前文件和被追踪文件的不同)$ git diff将所有现在的改动添加到下一次提交中$ git add .将 file 中的一些改
2016-04-06 18:04:09
666
原创 Linux常用基础命令
Linux常用基础命令列表lshistorysu/sudomkdir/rmdirtouchchmodchownapt-get/apt-cache,tardatecatcpmvpwdcdgrepman,ps aux|grepkill/pkillwhereisaliasdf/durm echodiffwgetifconfignetstattop
2016-04-06 17:56:45
434
原创 Ruby On Rails--rake 任务中定义方法的陷阱
问题描述在rails项目中,有时候需要导出数据、处理历史数据等,这时用rake是很方便的。在rake中,有时候由于逻辑比较复杂,所以我们就会分离逻辑或者需要重用代码,这时候可能会定义方法。但是,在rake中定义方法有一个问题:在不同rake文件和不同命名空间下定义的方法,如果存在了同名方法,那么后来定义的方法会覆盖掉之前定义的方法,这时候可能会导致bug。下面我们用一个例子来具体说明下: 比如有个
2016-04-06 17:35:48
1368
原创 Ruby--加载文件--require和require_relative
requirerequire(name) → true or falserequire加载指定的文件,如果加载成功则返回true,如果已经加载过则返回 false。如果文件名解析出来不是一个绝对路径,它将会在 $LOAD_PATH(即 $:) 列出的目录中被查找。如果文件名中含有扩展名 “.rb”,那么它将会作为一个源文件被加载; 如果扩展名是”.so”,”.o” , 或者 “.dll”,或者在当
2016-04-01 08:58:52
7098
原创 Ruby--如何处理csv文件?
csv文件简介ruby如何处理csv文件1,ruby有一个标准库用于处理csv文件,在代码中引入即可: require ‘csv’2,写csv文件的2个方法 CSV.open(“path/to/file.csv”, “wb”) do |csv| csv << [“row”, “of”, “CSV”, “data”] csv << [“another”, “row”] # …
2016-03-31 19:00:37
4393
1
翻译 Ruby官方文档翻译(Ruby官方文档中文版)
说明本文试图翻译Ruby官方文档,ruby版本:2.3.0,官方文档参考:http://ruby-doc.org/core-2.3.0/。进度1,Object类正文约定object 对象 class 类 module 模块 mix in 混入Object 类原文http://ruby-doc.org/core-2.3.0/Object.html译文Object是所有Ruby对象的默
2016-03-27 21:50:34
2798
转载 程序员应该常去的网站(转载)
转载自: http://mp.weixin.qq.com/s?__biz=MjM5ODUzMDYzMg==&mid=200934429&idx=5&sn=f913f80c6a97862eb3d50ad8cea09e43&scene=2&from=timeline&isappinstalled=0#wechat_redirect1)编程练习和竞赛类http://www.codechef.com/ht
2016-03-24 21:59:36
459
原创 ubuntu-如何解决错误-Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release
ubuntu更新(sudo apt-get update)时, 出现错误: “Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release Unable to find expected entry ‘main/binary-i386/Packages’ in Release file (Wrong sour
2016-03-22 15:17:03
11776
1
原创 Redis学习小结
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-03-21 12:08:18
350
原创 用pry阅读ruby源码--以task方法为例
rails项目中有个目录 lib/tasks,里面定义了一个rake任务:task hello: :hello do puts “hello” end看到这里的时候,是不是可能会对 task 方法产生一些兴趣?可以在rails项目的Gemfile中加入 pry这个强大的工具,然后一步步找到这个task方法的本质。1,在task中加入断点: binding.pry2,断
2016-03-10 18:13:23
783
原创 ECMAScript和JavaScript的关系
一个常见的问题是,ECMAScript和JavaScript到底是什么关系?要讲清楚这个问题,需要回顾历史。1996年11月,JavaScript的创造者Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这种语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就
2016-03-08 18:14:58
18648
2
原创 Javascript学习--ES6学习--Number.isInteger()方法
Number.isInteger()用来判断一个值是否为整数。需要注意的是,在JavaScript内部,整数和浮点数是同样的储存方法,所以3和3.0被视为同一个值。Number.isInteger(25) // trueNumber.isInteger(25.0) // trueNumber.isInteger(25.1) // falseNumber.isInteger("15") // f
2016-03-08 16:46:34
10275
原创 Ruby--Kernel#caller方法
用途: caller可以返回当前位置的调用者详细信息,异常的错误栈信息(Exception#bactrace)即通过该方法获得。caller([level])以$@的back trace(字符串数组)形式返回level层上(省略参数时为1)的调用者的信息。若是顶层的话就返回空数组。将caller的返回值代入$@就可以设定异常的发生位置。示例: def foo p caller(
2016-03-04 10:02:14
869
原创 MySQL优化建议
1、检查sql是否可以优化 避免使用子查询,使用join代替 减少排序 优化索引 增加查询 条件 减少返回的数据量 避免使用较大值的limit offset 是否可以把SQL拆成多条提升效率2、是否可以减少SQL的执行频率 是否可以加缓存 是否可以走solr 是否可以走redis 是否可以走es3、是否可以通过 sharding增加效率 4、是否可以通过
2016-03-03 19:48:45
450
原创 MySQL--BENCHMARK()函数
说明MySQL有一个内置的BENCHMARK()函数,可以测试某些特定操作的执行速度。 参数可以是需要执行的次数和表达式。 表达式可以是任何的标量表达式,比如返回值是标量的子查询或者函数。请注意:该函数只是简单地返回服务器执行表达式的时间,而不会涉及分析和优化的开销。该函数可以很方便地测试某些特定操作的性能,比如通过测试可以发现,MD5()比SHA1()函数要快:试验结果mysql> SET @
2016-03-03 19:45:46
6008
转载 最简版QQ~~牛逼的Linux Netcat 命令
牛逼的Linux Netcat 命令聊天工具~~简易版QQ~~Chat Server假如你想和你的朋友聊聊,有很多的软件和信息服务可以供你使用。但是,如果你没有这么奢侈的配置,比如你在计算机实验室,所有的对外的连接都是被限制的,你怎样和整天坐在隔壁房间的朋友沟通那?不要郁闷了,netcat提供了这样一种方法,你只需要创建一个Chat服务器,一个预先确定好的端口,这样子他就可以联系到你了。Server
2016-03-03 19:21:45
1347
原创 Ruby知识概要
Ruby基础知识ruby安装,使用irb;数字,字符串,数组,哈希,区间,正则表达式等的基本用法;流程控制:表达式,赋值,条件语句,循环;迭代器,block,变量作用域;方法定义和调用;文件读写;类和对象:继承,对象和属性,实例方法,类方法,访问控制;模块:命名空间,included,组合模块。异常处理:捕获和抛出;线程和进程;单元测试;Ruby和Web;Ruby安全;Ru
2015-10-18 23:58:47
492
原创 Ruby基础知识梳理
了解ruby,安装ruby和使用irb关于ruby(解释型语言),执行ruby文件Ruby基础知识常用基本概念和方法puts, p单引号”和双引号”“, 字符串嵌入,“#{abc}”数值表示和计算注释运算符及优先级对象、变量和常量Ruby中一切皆对象弱变量类型,局部变量,全局变量,实例变量,类变量常量/变量命名规范,保留字多重赋值,交换变量值,获取数组元素条件判断真假值,逻辑
2015-10-18 23:55:51
1062
原创 《深入理解计算机系统》学习笔记--001
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-10-18 22:48:38
642
C++ 链表类模板 清华大牛精心编写
2011-11-29
是否有gem较好地解决了mysql分表的问题
2016-04-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人