2018年12月29日 星期六

Chrome OS Note


  1. 有沒有比較方便的gnu套件管理工具
    mac 上有brew, chrome上面也有chromebrew 
  2. Google Play的安裝目錄在哪?
    /opt/google/containers/android/rootfs/android-data/data/data
  3. 如何切換到開發者模式
    如果想使用bash, 
    1. 備份系統 (切換到開發者模式, 會清空原本的資料)
    2. 按住ESC + Refresh + POWER重開機
    3. 跳出 "Chrome OS is missing or damaged. Please insert USB stick."
      按下ctrl + D
    4. 等待重開機即可
  4. bash 執行檔案會Permission denied
    基於安全性,  os 在mount的時候, 設定了noexec參數
    要解決這狀況可以在.bashrc中加入remount的命令
    sudo mount -o remount,exec /home/chronos

©Yichenba

2016年2月18日 星期四

Linux 透過FreeTDS連接MSSQL (一) 安裝與設定



當Linux工作者遭遇到了MSSQL, 真是一件很麻煩的事情, 想不到我真的遇到了這件事情
再來會紀錄一下使用方法

安裝
  •  FreeTDS

    官網 : http://www.freetds.org/
    github : https://github.com/FreeTDS/freetds

    預設會安裝於 /usr/local/bin ,  /usr/local/etc
  •  unixODBC

    官網 : http://www.unixodbc.org/
    採用 yum 安裝
    yum install unixodbc
設定
  • FreeTDS

    設定檔 : /usr/local/etc/freetds.conf 或 $(HOME)/.freetds.conf
    http://www.freetds.org/userguide/freetdsconf.htm

    假設我要連到某一台SQL Server, 就得加上以下設定

    [TDSNAME]
    host = [server host]
    port = 1433
    tds version = 7.0
    client charset = UTF-8
  • unixODBC

    設定擋 : /etc/odbcinst.conf
    [FreeTDS]
    Description = FreeTDS Driver
    Driver = /usr/local/lib/libtdsodbc.so

    設定擋 : /etc/odbc.ini 或 $(HOME)/.odbc.ini
    [SERVERNAME]
    Driver=FreeTDS
    Servername=TDSNAME
    Port = 1433
    Database=DBInstance
    TDS_Version = 7.0

設定好後可以用以下語法測試
  • FreeTDS
    tsql -S TDSNAME -U ID -P PASSWORD
  • unixODBC
    isql -v SERVERNAME ID PASSWORD



©Yichen

2015年6月21日 星期日

VIM - 建構golang的編輯環境



中斷了好幾年的更新, 讓新的篇章從vim + go 開始


  • VIM 相關
    • Homebrew 套件管理工具

      http://brew.sh/index_zh-tw.html

      透過brew安裝的軟體都會被放到 /usr/local/Cellar目錄中,

      未來如果要更新版本, 可以使用 update 先跟新清單之後再進行upgrade
    • vim 最新版
      brew  install vim
      會安裝完成 vim 7.4
  • go 安裝
    • 透過 homebrew
      brew install go
    • 官網下載
      https://golang.org/
  • 安裝 Vundle
    • https://github.com/gmarik/Vundle.vim
      git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
    • 設定 .vimrc
    • 
      " vundle 設定
      set nocompatible              " be iMproved, required
      filetype off                  " required
      " set the runtime path to include Vundle and initialize
      set rtp+=~/.vim/bundle/vundle/
      call vundle#rc()
      " alternatively, pass a path where Vundle should install plugins
      "let path = '~/some/path/here'
      "call vundle#rc(path)
      
      " let Vundle manage Vundle, required
      Plugin 'gmarik/vundle'
      " The following are examples of different formats supported.
      " Keep Plugin commands between here and filetype plugin indent on.
      " scripts on GitHub repos
      filetype plugin indent on     " required
      " To ignore plugin indent changes, instead use:
      "filetype plugin on
      " Brief help
      " :PluginList          - list configured plugins
      " :PluginInstall(!)    - install (update) plugins
      " :PluginSearch(!) foo - search (or refresh cache first) for foo
      " :PluginClean(!)      - confirm (or auto-approve) removal of unused plugins
      "
      " see :h vundle for more details or wiki for FAQ
      " NOTE: comments after Plugin commands are not allowed.
      " Put your stuff after this line
      
      
      
    • 新增Plugin
      在.vimrc中加入 Plugin '套件'
      執行 vim +PluginInstall +qall
      或是開啟檔案輸入 :PluginInstall
  • 安裝自動補齊功能
    • https://github.com/Valloric/YouCompleteMe
    • 在.vimrc中輸入
      Plugin 'Valloric/YouCompleteMe'
      Plugin 'fatih/vim-go'
    • 執行 :PluginInstall
      這邊會執行很久, 之後你可能會看到現這個錯誤
      ycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected; you need to compile YCM
      before using it. Read the docs!
      沒錯, 這邊就是要你自己去使用cmake編譯ycm
      先安裝cmake ( brew install cmake)
      然後執行 ~/.vim/bundle/YoucompleteMe/install.sh
    • 安裝需要的go binary
      打開隨便一個go檔案, 輸入 :GoInstallBinaries
      便會開始安裝需要的套件
以上都安裝完成後, 就可以開始使用自動補完功能囉


©Yichen

2012年7月14日 星期六

我還是喜歡 vim

如果要問我, 最喜歡的編輯器是什麼, 我一定毫不猶豫的說是 vim 自從第一次在unix上使用過vi後, 對於特殊的操作模式就深深的愛上了, 飛快的操作轉換, 後來又見識到了vim的強大, 現在只要在unix-like system 上開發c/c++, vim 絕對是我的第一選擇

不過對於每一台主機上的 .vimrc 每次新增都得重新定義我的習慣, 所以還是存一份在這邊吧, 在陸陸續續慢慢的更新

雖然我沒用到什麼大強大的功能, 不過這就是一種習慣吧


set tabstop=4
set wrap
set ai
syntax on
set shiftwidth=4
set nobackup
set showcmd
set incsearch
set fileformats=unix
filetype on
"autocmd BufEnter *.pc  set filetype=esqlc
set bg=dark
set t_Co=256
highlight comment ctermfg=gray guifg=green

set fileencodings=utf-8,big5
set encoding=utf8
set tenc=utf8

" code mest
map :se foldmethod=indent
map zO
map zC
map zo
map zc

map :tabnext
map :tabprev




"To have the numeric keypad working with putty / vim
imap Oq 1
imap Or 2
imap Os 3
imap Ot 4
imap Ou 5
imap Ov 6
imap Ow 7
imap Ox 8
imap Oy 9
imap Op 0
imap On .
imap OQ /
imap OR *
imap Ol +
imap OS -

" Line highlight 設此是游標整行會標註顏色
set cursorline
" Column highlight 設此是遊標整列會標註顏色
set cursorcolumn
" highlight CursorLine cterm=none ctermbg=0 ctermfg=none " 顏色的前景色與背景色要如何
highlight CursorLine cterm=none ctermbg=0 ctermfg=none " 顏色的前景色與背景色要如何
highlight CursorColumn cterm=none ctermbg=0 ctermfg=none " 顏色的前景色與背景色要如何
" highlight Pmenu ctermfg=1 ctermbg=4 guibg=grey30
highlight PMenu cterm=bold ctermbg=Black ctermfg=Gray
"se noswf
set nohlsearch
filetype on





©Yichen

Mac terminal 顯示中文的方式

一直以來還是習慣有些操作要在console進行處理, 不過一打開發現, 怎麼輸入中就變亂碼....

打個ls想查看目錄, 在Finder裡面看的到的中文也都變變成亂碼了, 這......晴天霹靂

其實這沒什麼好怕的, 只是要修改一下shell的環境設定而已

1. 於登入目錄下新增  .bash_profile  or .profile 都可以, 然後新增以下幾行

export LC_ALL=C
export LANG=zh_TW.UTF-8
alias ls='ls -w'




2. 新增 .inputrc , 並新增以下幾行

set convert-meta off                                                            
set meta-flag on
set output-meta on

重新啟動 terminal 就可以囉...



©Yichen

2012年4月29日 星期日

從外部連結 VirtualBox 內的 ubuntu ssh service

記錄一下如何在MacOS上透過 NAT 做 VirtualBox 的 port forwarding

1. 首先打開VirtualBox並設定好 port forwarding , 參考下圖
     192.168.1.20 是我Mac機器的ip, 而10.0.2.15則是VBox內ubuntu的ip

2. 由於我們要從外部連結入 VBox, 所以還需要利用 command 來做一下設定

  • 首先要知道 VBox的安裝路徑, 正常來說應該在
    /Applications/VirtualBox.app/Contents/MacOS
  • 輸入下列三個指令來設定外部的 port forwarding
    ./VBoxManage setextradata "ubuntu64" "VBoxInternal/Devices/e1000/0/LUN#0/config/ssh/Protocol" TCP
    ./VBoxManage setextradata "ubuntu64" "VBoxInternal/Devices/e1000/0/LUN#0/config/ssh/HostPort" 2222
    ./VBoxManage setextradata "ubuntu64" "VBoxInternal/Devices/e1000/0/LUN#0/config/ssh/GuestPort" 22

    要注意, ubuntu64 是我的 vm name, ssh是前一步驟設定的名稱
    e1000的部份, 也可能要填入 pcnet, 到底要填什麼必須要看網卡
    可以到下圖的紅色區域來確認
執行完以上的步驟就可以打開 terminal, 透過下列指令連線囉
ssh -p2222 user_name@192.168.1.20













    

©Yichen

Mac 上的 PrintScreen

Windows 可以按 PrintScreen 擷取整個螢幕, 那道了MacOS要怎麼擷取螢幕呢?
MacOS 內建了兩組快速鍵, 讓我們達到 PrintScreen 的效果, 並將 png 檔存放到桌面上

  1. Command + Shift + 3  : 擷取整個畫面
  2. Command + Shift + 4  : 會出現一個十字狀, 可自行選擇擷取範圍, 如果按下 space 鍵, 會變成一台照相機, 可以選擇擷取的 form 
如果要只想將圖檔存到剪貼簿, 就在多一個 Ctrl 變成  Command + Ctrl + Shift + 3/4
不過這真的有點抽筋的感覺........


©Yichen

2011年7月31日 星期日

面對奧客的智慧

下午一點多, 速食店內正是最忙碌的時刻, 整個點餐區滿滿的都是人, 六個窗口直接改成三個點餐區, 三個候餐區, 讓客戶點完餐之後到隔壁等候餐點, 內勤的人員也努力的製作與包裝餐點, 當我一走進門馬上看到了導引的立牌告訴我該去什麼地方排隊, 由於排隊的人都有三四個, 我就挑了離門口最近的排隊區等待點餐.

此時門口進來了一個媽媽帶著兩個小孩, 他一面對小孩子喊說, 快去看你們要吃什麼, 趕快買一買, 然後我看他瞄了一眼牌子還是選了我隔壁的候餐區排隊, 忙碌的櫃檯人員一時也沒注意到他, 當最前面的客人點完餐後, 他突然一步上前馬上開始點餐, 此時櫃檯人員很客氣的跟他說, 小姐不好意思, 這一區是候餐區, 請到另一邊排隊, 那位太太突然口氣很差的說, 怎麼沒跟他說這邊是候餐區, 害他在這邊排這麼久, 怎麼服務這麼差, 我相信當下跟我一起看到他進門的那些客人們內心應該都是一樣的兩個字 "奧客" , 因為明明有看到牌子, 也才剛排隊不到一分鐘, 難道其他守規矩的人都是白痴嗎? 在櫃檯人員不知道怎麼辦的時候, 隔壁的服務人員馬上跟那位太太說, 請他到旁邊稍等, 待會他來幫他點餐, 請他到另一區等待.

隨後我看那位服務人員進入內場拿了點餐單, 走過去跟那位太太一邊解釋一邊幫他點餐, 當我們整排都點完了, 我看那位太太還持續在猶豫要怎麼點餐, 因為他的小孩們還沒想好, 一直到我拿到餐點, 準備要離開的時候, 才發現他終於點好了餐, 然後進入了候餐區.

這是今天真實發生在我身邊的小故事, 不過讓我印象深刻, 值得我細細品味

©Yichen

2011年7月24日 星期日

怎麼備份 iTunes 資料庫

iTunes 資料庫預設存在 /Users/[User Name]/Music/ 的 iTunes, 可以把整個資料匣備份到你想存放的位置, 也可以是外接HD.
重新啟動iTunes時按住 option 按鍵, 就可以指定資料庫位置了

©Yichen

忘記Mac帳號密碼怎麼辦?

升級完Lion後發現我的帳號密碼怎麼都進不去了, 連root密碼都跟我想像中的不一樣, 這時候只好進行重置作業了, 由於Lion我是透過AppStore更新的, 所以不會有光碟片可以做root密碼重置.趕緊問一下Google大神, 順手也把查到的方法記錄下來囉

  1. 重開機時按住 command + S
  2. 在 #root 下輸入 以下指令
    a. fsck -y
    b. mount -uaw /
    c. rm /var/db/.AppleSetupDone
    d. reboot
等重開機完畢後, 就跟第一次安裝一樣, 可以重新設定系統管理者帳號跟密碼了

©Yichen