ヘッダーを送信してイメージを取得
NSURL* url = [NSURL URLWithString:@"hogehogehogeURL"]; NSURLSessionConfiguration* config = [NSURLSessionConfiguration defaultSessionConfiguration]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; [request addValue:@"hogehoge" forHTTPHeaderField:@"hogehogeHeader"]; [request setHTTPMethod:@"GET"]; NSURLSession* session = [NSURLSession sessionWithConfiguration:config]; NSURLSessionDataTask* task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { UIImage* image = [UIImage imageWithData:data]; NSLog(@""); }]; [task resume];
ビットによる状態(ステータス)の持ち方
bitによって状態を持つ方法
ビット | 状態 |
---|---|
0001 | 状態A |
0010 | 状態B |
0100 | 状態C |
1000 | 状態D |
このように、各々の桁でかぶらないように状態を作る。
そうすると、
状態Aと状態B は A|B -> 0011
のように判断することができる。
桁をかぶらせて状態を持つ場合
4桁目を日本なら1そうでないなら0みたいに定義して、
1001 | 東京 |
1010 | 神奈川 |
0001 | 北京 |
0010 | ニューヨーク |
などのように定義する方法もある。
ただし、このように4桁目にこのような意味を持たせた場合、実質の情報を3桁で行わないといけないので、
それほど多くの状態を表すことができない。
gitlab構築時に気になったコマンドを調べる
adduser
--disabled-login
$ adduser --disabled-login --gecos 'GitLab' git
--disabled-login Do not run passwd to set the password. The user won't be able to use her account until the password is set. --disabled-password Like --disabled-login, but logins are still possible (for exam- ple using SSH RSA keys) but not using password authentication.
--gecos
--gecos
はGECOSフィールドというところに GitLabという文字列を登録している?
sudo
-u
root以外のユーザーで実行するときに指定
-H
$HOMEをそのユーザーのものにする
ディスプレイの大きさ
いつも忘れてしまうのでここに書いておく
初めてのボーナスで買ったiMacのディスプレイの大きさ
20インチ(20")
iPad
9.7インチ(9.7")
初めて買ったMBA
MacBook Air 13インチ(13")
最近のvimrc
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Neobundle 用(ここから) """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " Neobundleを始める準備 "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ set nocompatible filetype off if has('vim_starting') set runtimepath+=~/.vim/bundle/neobundle.vim call neobundle#rc(expand('~/.vim/bundle')) endif "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " ここにインストールしたいプラグインのリストを書く "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NeoBundle 'scrooloose/nerdtree' NeoBundle 'fholgado/minibufexpl.vim' NeoBundle 'tpope/vim-endwise.git' NeoBundleFetch 'Shougo/neobundle.vim' "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " Neobundleを終わる準備 "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ filetype plugin on filetype indent on autocmd FileType * setlocal formatoptions-=ro """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Neobundle 用(ここまで) """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 各種設定 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "set autoindent "新しい行のインデントを現在行と同じにする set hidden set wildmode=list:longest "vimのコマンドを補完 set nu "行番号表示 set showcmd "コマンドを表示 set hlsearch "検索文字をハイライト "タブ可視化 "set list "set listchars=tab:.. "------------------------------------------------------------------------------------" "Neocomplete & Neocomplcache "------------------------------------------------------------------------------------" " 条件を満たせばNeoComplete、満たさないときはNeoComplcacheを使う if has('lua') && v:version >= 703 && has('patch885') NeoBundle "Shougo/neocomplete.vim" " Disable AutoComplPop. let g:acp_enableAtStartup = 0 " Use neocomplete. let g:neocomplete#enable_at_startup = 1 " Use smartcase. let g:neocomplete#enable_smart_case = 1 " Set minimum syntax keyword length. let g:neocomplete#sources#syntax#min_keyword_length = 1 let g:neocomplete#lock_buffer_name_pattern = '\*ku\*' let g:neocomplcache_enable_auto_select = 1 else NeoBundle 'Shougo/neocomplcache.vim' " Disable AutoComplPop. let g:acp_enableAtStartup = 0 " Use neocomplcache. let g:neocomplcache_enable_at_startup = 1 " Use smartcase. let g:neocomplcache_enable_smart_case = 1 " Set minimum syntax keyword length. let g:neocomplcache_min_syntax_length = 1 let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*' let g:neocomplcache_enable_auto_select = 1 endif "------------------------------------------------------------------------------------" " NERDTREE "------------------------------------------------------------------------------------" augroup IsNotGitCommit autocmd! autocmd VimEnter * NERDTree ./ autocmd VimEnter * wincmd p augroup END autocmd BufRead COMMIT_EDITMSG autocmd! IsNotGitCommit "------------------------------------------------------------------------------------" " Rsense "------------------------------------------------------------------------------------" let g:rsenseHome = "~/opt/rsense-0.3" let g:rsenseUseOmniFunc = 1 if !exists('g:neocomplcache_omni_patterns') let g:neocomplcache_omni_patterns = {} endif let g:neocomplcache_omni_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::' "------------------------------------------------------------------------------------" " minibufexpl "------------------------------------------------------------------------------------" let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1 "------------------------------------------------------------------------------------" " neocomplete "------------------------------------------------------------------------------------" highlight Pmenu ctermbg=8 highlight PmenuSel ctermbg=1 highlight PmenuSbar ctermbg=0 "------------------------------------------------------------------------------------" " vim起動時に前回の行で開く "------------------------------------------------------------------------------------" if has("autocmd") autocmd BufReadPost * \ if line("'\"") > 0 && line ("'\"") <= line("$") | \ exe "normal! g'\"" | \ endif endif "------------------------------------------------------------------------------------" " 各種プログラムで構文チェク(:make)をCtr+c Ctr+cで行えるようにする " 表示されたQuickFixはウィンドウを移動しなくても " :cn および :cp で移動可能 "------------------------------------------------------------------------------------" " Perl構文チェック autocmd FileType perl compiler perl autocmd FileType perl map <c-c><c-c> :make<cr> :cw<cr><cr> " PHP構文チェック au BufRead,BufNewFile *.php set makeprg=php\ -l\ % au BufRead,BufNewFile *.php set errorformat=%m\ in\ %f\ on\ line\ %l autocmd FileType php map <c-c><c-c> :make<cr> :cw<cr><cr> " Ruby構文チェック au BufRead,BufNewFile *.rb set makeprg=ruby\ -c\ % au BufRead,BufNewFile *.rb set errorformat=%m\ in\ %f\ on\ line\ %l autocmd FileType rb map <c-c><c-c> :make<cr> :cw<cr><cr> " HTML構文チェック autocmd FileType xhtml,html :compiler tidy autocmd FileType xhtml,html :setlocal makeprg=tidy\ -raw\ -quiet\ -errors\ --gnu-emacs\ yes\ \"%\" autocmd FileType xhtml,html map <c-c><c-c> :make<cr> :cw<cr><cr> "------------------------------------------------------------------------------------" "foldmethod(折りたたみの設定) "------------------------------------------------------------------------------------" "set foldmethod=indent "let g:xml_syntax_folding=1 "au FileType html,xml,xhtml setlocal foldmethod=syntax "set foldlevel=100 "Don't autofold anything "------------------------------------------------------------------------------------" " シンタックスハイライト "------------------------------------------------------------------------------------" syntax on if has("gui_running") "colorscheme pyte "colorscheme newspaper "colorscheme wombat else "colorscheme xoria256 "colorscheme twilight256 colorscheme elflord endif "php用 let php_sql_query=1 let php_htmlInStrings=1 "------------------------------------------------------------------------------------" " 親をたどってtagsを探す "------------------------------------------------------------------------------------" set tags=tags; "------------------------------------------------------------------------------------" " omni補完 "------------------------------------------------------------------------------------" autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType xhtml set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS "------------------------------------------------------------------------------------" " キーバインド "------------------------------------------------------------------------------------" " omni補完 キーバインド変更 imap <C-f> <C-x><C-o> map <C-c><C-n> :cn<CR> map <C-c><C-p> :cp<CR> " ヤンクで検索 map qqq@ /<C-r>"<CR> " コマンド履歴 map qqq: q: " 検索履歴 map qqq/ q/ if has("gui_running") map <C-k> :tabprevious<CR> map <C-j> :tabnext<CR> endif "------------------------------------------------------------------------------------" " 自作コマンド "------------------------------------------------------------------------------------" command Setphp set filetype=php command Setjavascript set filetype=javascript command Sethtml set filetype=html " y や dした後にfcなどすればよい " copy to clipboard if has("unix") && match(system("uname"),'Darwin') != -1 " mac " http://www.mail-archive.com/vim-latex-devel@lists.sourceforge.net/msg00773.html nnoremap fc :call system("pbcopy", @")<CR> nnoremap fp :r! pbpaste<CR> elseif has('win32unix') " cygwin nnoremap fc :call system("putclip", @")<CR> nnoremap fp :r! getclip<CR> endif "------------------------------------------------------------------------------------" " タブ幅の設定 "------------------------------------------------------------------------------------" " expandtabはタブをスペースに変える "set expandtab set tabstop=2 set softtabstop=2 set shiftwidth=2 "------------------------------------------------------------------------------------" "ステータスライン "------------------------------------------------------------------------------------" set laststatus=2 "ステータスラインを常に表示 function! GetB() let c = matchstr(getline('.'), '.', col('.') - 1) let c = iconv(c, &enc, &fenc) return String2Hex(c) endfunction " :help eval-examples " The function Nr2Hex() returns the Hex string of a number. func! Nr2Hex(nr) let n = a:nr let r = "" while n let r = '0123456789ABCDEF'[n % 16] . r let n = n / 16 endwhile return r endfunc " The function String2Hex() converts each character in a string to a two " character Hex string. func! String2Hex(str) let out = '' let ix = 0 while ix < strlen(a:str) let out = out . Nr2Hex(char2nr(a:str[ix])) let ix = ix + 1 endwhile return out endfunc "ステータスラインに文字コードと改行文字を表示する " set statusline=%<[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']['.&ft.']'}\ %F%=%l,%c%V%8P if winwidth(0) >= 120 set statusline=%<[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}%y\ %F%=[%{GetB()}]\ %l,%c%V%8P else set statusline=%<[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}%y\ %f%=[%{GetB()}]\ %l,%c%V%8P endif "set statusline=%{GetB()} "------------------------------------------------------------------------------------" " netrw "------------------------------------------------------------------------------------" " netrwは常にtree view let g:netrw_liststyle = 3 " CVSと.で始まるファイルは表示しない let g:netrw_list_hide = 'CVS,\(^\|\s\s\)\zs\.\S\+' " 'v'でファイルを開くときは右側に開く。(デフォルトが左側なので入れ替え) let g:netrw_altv = 1 " 'o'でファイルを開くときは下側に開く。(デフォルトが上側なので入れ替え) let g:netrw_alto = 1 "------------------------------------------------------------------------------------" " end "------------------------------------------------------------------------------------"
vimのちょっと役に立つ設定
NeoBundleを使ったときコメントの次の行に書こうとするとコメントが勝手に挿入されるを解除
autocmd FileType * setlocal formatoptions-=ro
NERDTreeをvim起動時に実行
autocmd VimEnter * NERDTree ./