unbuntu 16.04 安装 postgresql 10

添加postgreql源

$ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

安装 postgresql

$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contrib libpq-dev

添加用户

$ sudo -u postgres createuser --sup...

ubuntu修改locale为中文

修改: /etc/default/locale

LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"

修改:/var/lib/locales/supported.d/local

en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8

sudo locale-gen

苹果正式开源 swift

apple 刚刚正式开源了swift,又有的学习了。https://github.com/apple/swift

mac升级到10.10.2后开机禁止符号

昨天看OSX 10.10.2发布了,果断升级,早上到公司一重启,结果禁止符号了,原来是用的trim enabler 3.2造成的,解决办法就是按trim enabler网站那个文章

重启trim被禁用,下载最新的3.3版的trim enabler,开启,收工。

Gorm 出现 invalid memory address

在init时

var (
    DB    gorm.DB
)

func init() {
    DB, DbErr := gorm.Open("sqlite3", "./db/db.sqlite3")
    if DbErr != nil {
        log.Fatal("error daabase")
    }
}

出现

PANIC: runtime error: invalid memory address or nil pointer dereference

请这样

var (
    DB    gorm.DB
    DbErr error
)

func init() {
    DB, DbErr = gorm.Open("sqlite3", "./db/...

mac下adb无法连接华为C8817E

mac测试用华为C8817E,发现adb无法连接,解决方法如下:

  1. 输入命令:system_profiler SPUSBDataType 可以得到如下:
Android:

  Product ID: 0x1052
  Vendor ID: 0x12d1  (Huawei Technologies Co., Ltd.)
  Version: ff.ff
  Serial Number: 80717a61673d
  Speed: Up to 480 Mb/sec
  Manufacturer: Android
  Location ID: 0x1d110000 / 7
  Current Available (mA): 500
  Current Required (mA): 500
  1. 把得到的Vendor ID加入到 ~/.android/adb_usb.ini

  2. 命令行:...

mac下安卓开发中几个问题

  1. Error: Please install Android target 19 (the Android newest SDK). Make sure you have the latest Android tools installed as well. Run "android" from your command-line to install/update any missing SDKs or tools.

    解决方法: 安装 android 4.4.2 sdk

  2. 安装sdk时出现 ‘Download interrupted: hostname in certificate didn't match: != OR Done. Nothing was installed.’

    解决方法: Android SDK Manager中偏好设置

    ...

bundler使用不同gemfile进行测试

有时一个项目中可能要对不同版本的rails或者其它gem进行测试,可以在文件夹中进入不同的gemfile,比如在gemfiles文件夹中放入两个文件Gemfile.minitest-5和Gemfile.minitest-4,就可以分别测试了

BUNDLE_GEMFILE=./gemfiles/Gemfile.minitest-5 bundle install --path vendor/bundle-minitest-5

测试

BUNDLE_GEMFILE=./gemfiles/Gemfile.minitest-5 bundle exec rake test

postgresql修改文本字段为float时出现PG::DatatypeMismatch: ERROR

今天把以前的.net项目转换为rails时,数据庘由sql server换到postgresql,中间有个表中有地图标记x, y默认都是文本的,转换成float时,出现

PG::DatatypeMismatch: ERROR:  column "x" cannot be cast automatically to type float
HINT:  Specify a USING expression to perform the conversion.

谷歌下,找到如下答案

ALTER TABLE thetable ALTER COLUMN colname TYPE float USING (col_name::float);

ubuntu下安装golang

https://launchpad.net/~duh/+archive/golang/+packages 这里有比较新的包

sudo add-apt-repository ppa:duh/golang
sudo apt-get update
sudo apt-get install golang

查看go的版本号

go version go1.1.1 linux/amd64

bundler开始支持并行安装gem

Bundler现在支持并行安装gem, 使安装的速度大为提高 Parallel installation

首先安装bundler pre

gem install bundler --pre

使用:

bundle install -j2  #这里的2代表数目,按说法和cpu核数相同最好

OK了,现在安装,会发现速度快的一B啊,

node 抓取网页实在太简单了 cnbeta新闻抓取例子

昨天CNBETA突然改版了,实在不清爽了,引大堆人吐槽,正好,前阵看了下node,发现抓取网页超级简单,就自己抓取下吧,几十行代码,比ruby方便好多,主要cheerio用起来太顺手,而且性能很好

CNBETA news list

index.js

var util = require('../lib/util.js');
var cheerio = require('cheerio');
exports.index = function(req, res) {
    var url = "http://www.cnbeta.com";
    util.get(url,
    function(content, status) {
        var $ = cheerio.load(content);
        var realtime_li...

升级了mac 10.9

昨晚熬夜看完发布会,虽然没多大惊喜,但今天测试版一出来,还是立马下载安装,因为工作资料实在太多了,全新安装不现实,我直接覆盖安装的,就目前不到一天的使用来说,还是值得升级的,使用感受就是一个字,快,很快,safari这次更新还是比较给力,反应如丝般顺滑,如果不是因为要用chrome中的各种拦截插件,safari还是不错的,mac下chrome的缩放真心不行。

升级过程很简单,下载后双击打开,把安装文件复制到程序文件夹,双击安装文件,安提示一步步来,自动重启安装,大约30分后收工

目前遇到的bug,一个是qq截图卡死,二是系统报告中有些汉化不完全,其它的还没发现

enter image description here

ubuntu 12.04 ruby on rails环境设置

一直在用centos,今年转到ubuntu试下,untuntu 12.04 rails环境设置

系统配置

  1. ssh远程登录 ssh root@ip,修改root密码 passwd
  2. 添加用户 useradd -m -g staff -s /bin/bash deployer,修改deployer的密码 passwd deployer
  3. 设置ssh登录,禁止ssh登录到根目录 vim /etc/ssh/sshd_config, 设置 PermitRootLogin no
  4. 退出,重新以deployer的身份登录
  5. 更新 sudo apt-get update
  6. 安装一些必要的依赖包
sudo apt-get -y install build-essential zlib1g-dev git-core sqlite3 libsqlite3-dev\
 libreadline-dev...

rails 4.0.0.rc1 mountable engine rake db:migrate not work

在rails 3.2 mountable engine中,可以直接使用rake db:migrate,不过在rails 4.0.0.rc1中没用了,可以自己修正下,修改

activerecord-4.0.0.rc1/lib/active_record/railties
  task :load_config do
    ActiveRecord::Base.configurations = ActiveRecord::Tasks::DatabaseTasks.database_configuration || {}
    ActiveRecord::Migrator.migrations_paths = ActiveRecord::Tasks::DatabaseTasks.migrations_paths
  end

修改为:

  task :load_config do...

从oh my zsh转到oh my fish

oh my fish

起因

一直在使用oh my zsh,也用了很久了,配合ITerm2,用起来的感觉真是舒服,不过最近越来越不爽oh my zsh的各种问题了,一个就是慢,另一个就是在mac 10.8下缩放Iterm2窗口时,命令行会出现各种自动换行错位的问题,google了半天也没找到问题,然后试用了oh my fish,果断切换。

初识fish shell是在github的explore中,当时看了下,和zsh好像区别不大,就没仔细研究,这几天实在有点儿受不了oh my zsh了,就又回头看了下fish shell,然后,找到了oh my fish,从作者的介绍可以看出,oh my fish来源于oh my zsh,不过是针对fish shell的,

从oh my zsh转到oh my fish

  1. 卸载oh my zsh,uninstall_oh_my_zsh, 一下搞定,删除~/.zs...

centos下nginx和ip屏蔽访问次数过多出现404的IP

由于 最近网站一直有不正常的IP访问,而且一直返回404,我都是天天自己慢慢看日志,累的要死,就在网上找了些资料,写了下面的sh脚本,运行脚本,就会把异常IP查找出来丢到文件中.

#!/bin/sh
/usr/bin/tail -n50000 /var/log/nginx/access.log \
| awk '$8 {print $1,$4,$9,$12,$13,$14}' \  #这里主要看你的日志是什么格式,我这第一个是IP,第二个是访问时间 第三个是状态,后面三个是用来取搜索引擎的蜘蛛数据的,
| grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou" \  #这里是把蜘蛛数据去除
| awk '{print $1,$3}'|sort|uniq -c |sort -rn...