タグ別アーカイブ: エディタ

[読んだ−]リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)


読みました−

読みやすいコード! ほんとこれが理想。。
サンプルやコードの目的を持ってコードを書くことの意味など。
純粋に参考になったー!

詳細な設計書もないようなスタートアップのプロジェクトなど、
わかりやすいコードを書くことが一番の設計書になると思う。

コードを読めば何をしているか一発でわかるような、属人化しないようなプログラマになろう!!
レビュー by ブクログ

これからvimを使い始める人のための便利な使い方Tips


 

3分動画のドットインストールでvimの動画をすべて見たので自分なりに知らなかったことなどをまとめてみます。vimは以前からサーバを操作するときにconfファイルの編集などで使っていました。今後はメインのエディタとして使っていけるように色々便利なコマンドなどを勉強していこうと思います。

コマンドモード

:e [file]:ファイルを開く
:w [file]:ファイル名をつけて保存

 
ノーマルモード

w / b :単語単位の移動
^: 行頭に移動
$: 行末へ移動
f  [文字]: 文字へ飛ぶ。; で次の文字へ飛べる
%(カッコの上で):対応するカッコへ飛ぶ

 
指定行へ移動

[行番号]gg

 
検索について

* / # : 今カーソルが合う位置の単語を検索 (* は前方へ #は後方へ)

 
置換について

コマンドモードから
:s/検索前/置換後 :箇所のみ置換
:s/検索前/置換後/g :行中の検索前をすべて置換する
:%s/検索前/置換後/g:行中の検索前をすべて置換する
:%s/検索前/置換後/gc:確認をしながら行中の検索前をすべて置換する

 
やり直し機能

undo(戻る): u
redo(進む): ctrl+r

 
ウインドウの分割

:sp 上下分割
:vsp 左右分割
ctrl + w + w   : ウインドウ間を移動
:close 分割を閉じる

 
タブ分割

:tabnew:新しいタブを開く
:tabe ファイル名:ファイルをタブで開く

 
タブ間の移動

ノーマルモードで gt
:tabclose:タブを閉じる

 
タブ間で共通の処理をする

:tabdo (例タブ間で置換する :tabdo %s/android/ANDROID/gc

 
インデントを揃えるためのイコール

v ビジュアルモードで範囲を選択して=(イコール)
インデントを揃えることができる。ビジュアルモードで選択しなければその行のみ揃え直す

補完

入力途中で ctrl+n 補完候補が出てくる

 
直前の操作を繰り返す

. ピリオド 超然に行った動作を繰り返す (削除に使えるなど)

 
ビジュアルモード(テキスト選択モード)

v :文字単位のビジュアルモード
Shift + v :行単位のビジュアルモード
ctrl + v :短形のビジュアルモード

 
短形ビジュアルモード(短形選択モード)の応用(一括で変数にプレフィックスなどを付けたい時)

ノーマルモードから
ctrl + v  短形選択モードに入る
プレフィックスを付けたい部分を選択する。
shift + i 挿入モードへ入る。 「my_」など付けたいプレフィックスを入力
ESCキーで戻る。 短形選択していた部分すべてにmy_のプレフィックスが入る。
また、プレフィックス部分を一括で消す場合は、短形選択し、x で選択した部分を削除する。

 
テキストオブジェクト

HTMLやXMLなどの文書構造を一括で削除するなどできる。
<title>タイトル名</title>
オレンジの部分で ノーマルモードからcit と入力するとタイトル名という文字が消えて入力モードとなる。

c / d / y : change(カットされてinsertモードになる) / delete(削除) / copy(ヤンクにコピー)

i / a : 中身か全体化

t / ” / ) /] : tag

例)ーーー
<meta charset=”utf-8“>
utf-8 の部分で ci” と入力するとutf-8が消えて入力モードになる
ーーーーー

 
その他設定

:set number (:set nonumber) 行番号の表示・非表示
:syntax on (:syntax off) 色付け
:set tabstop 4  タブの文字数設定
:set ignorecase (:set noignorecase) 検索時に大文字小文字を区別したくないとき

参考サイト
http://ogawa.s18.xrea.com/fswiki/wiki.cgi?page=Vim%A4%CE%A5%E1%A5%E2
http://d.hatena.ne.jp/Yuzuemon/20110304/1299199079

大阪Node学園2時限目に参加


大阪Node学園2時限目に参加してきました!

今回はnode.js のステッカーやらriakというキーバリューストアのステッカーなどたくさんのステッカーをもらいました。笑

全部貼ったらMacがすごいことになってます。

 

2012/03/24(土)http://atnd.org/events/25989

ここからはメモったことを以下に書きます!

Expressのハンズオンでした!

nodeのバージョン管理nvm は色々と問題がある。が、nvmで入れている人がほとんどだった・・・新しいnodebrewというものがある!PerlとCurlがあれば動作するので使い勝手が良さそう!

Expressは現在バージョン2系がStableのリリースバージョンだが、開発中のバージョン3もgithubから手に入れることができる。

Express 3  のインストール
% git clone https://github.com/visionmedia/express.git
% cd express; npm install
% express/bin/express ong2
% cd ong2
% npm ln ../express

Urlの定義の仕方などはちょっと疑問に思っていたのでハンズオン形式てとても参考になった!

ミドルウェアについて

同じようなURLによるルーティングの場合
next()の使い方

sendやrender()せずにnext()を呼ぶと404エラーとなる。
next()に引数を与えると500エラーをかえす。引数は何でもよい!
next(new Error(‘error message’); OR  next(‘error message’)  OR next(”aa’)   など

上記のようにエラーとなるのは
next()した場合、最後までマッチしなければ、以下のように定義されているdevelopmentではexpress.errorHandler() に要求が投げられるため。next()の最後はエラーハンドラーにマッピングされる
app.configure(‘development’, function(){
app.use(express.errorHandler());
});

バリデータのライブラリ

revalidator
Amanda   結構使っている

Testフレームワーク

mocha

chai

コールバックのネストをなくすフレームワーク

async.js

node.jsのセッション管理

redis

Android開発を初めて1ヶ月で学んだ5つの事


5つの事のまとめです。自分が思った所感なので個人の一意見です!!

引き継いで始めたプロジェクトですが、まだ1ヶ月程度のあまちゃんですが、学んだことを書いてみます。。(Android開発が面白くなってきた。)

  1. 基礎大事!!やりながらも学ぶことはできるけど、まずはJavaの構文など基本的なところはしっかりと身に付けておかないと行けないなぁと思った。引き継いだプロジェクトなのでソースコード自体を読むことができないとね!
  2. バグや間違いは単純なところまたはそこではないと思っていたところにある。(いつもそう、どうにかならないかな)
  3. @Override重要。。今どきのeclipseなら勝手に付けてくれるかつ、コンパイルエラーも出るはずなのになぜかついていない状態だった。それで間違いに気づかなかった。(そんなこともあるんだ)
  4. git最高!! リビジョンの移動が簡単なうえ快適すぎて助かった。過去のソースに戻れる。それがSVN違って一瞬でできるのが最高!!どんどん使いこなしたい!
  5. 不要なコメントアウトは消す! コメントのことではありません。コードのコメントは賛否両論あるけど、自分としては必要最低限ある方がいいと思います。ここで言っているのはソースを残すためのコメントアウトのことです。100行近いソースのコメントアウトはコードを見るのに邪魔な上、それをいつ有効にするかが明確にもなっていないので一生使われないと思う。そのためコメントアウトは極力避けて、削除しよう!!スクロールばっかでつらい。。
  6. 開発環境(Eclipseやエディタなど)はプロジェクトのみんな同じ設定にしておくことがいい気がした!少なくとも同じソースを編集する人は!そういったエディタの設定も一緒にプロジェクトのフォルダに入れてほしい。改行や括弧の位置などフォーマットの仕方とかが違っているだけで読みにくいという状態は避けたい!

という6つのことです。当たり前のことかもしれないけど、今回引き継いだコードがそうなってなかった中括弧の位置がファイルによって別々だしインデントもバラバラ。保守していく側としては本当にやりにくいとおもいました。

人は残らなくてもソースは残るので後に引き継ぐ人のために最高のコードを書けるように目指したい!!

最高の定義は人それぞれだけど、自分が思う最高を目指せばいいと思います。

 

 

エディタのRedcarをインストールした。。(Windows)


Ruby開発に使うエディタを探していたところ redCar というものを発見。

一度は使ってみようということでインストール。

JavaとRubyが入っていたらコマンド2発でインストール終了。。

簡単ですねーー。。
【参考】
本家github

https://github.com/redcar/redcar/wiki/installation

日本語解説

http://1-byte.jp/2010/10/20/redcar_for_linux_and_windows_users/

http://news.mynavi.jp/column/ide/095/index.html

使い方

http://d.hatena.ne.jp/yo_takagi/20110211/1297409052

 

#インストール手順
>gem install redcar
>redcar install

「$ HOME\.redcar」というディレクトリができる。

 

#起動
>redcar

 

赤い列車のような起動画面が終わるとエクリプスのようなエディタが開く。

 

 

 

 

 

 

 

あとは、ソースツリーにディレクトリを追加するなどしていけるはず。。。

それと、Bundle機能が便利!!!

JavaScriptなどのfuntion、HtmlのDoctypeなど決まりきった文句を自動で出す事ができます。

[fun]と入力して[tab]を押すとずらっとfunctionのコンテキストが出てきます。

また、Macだと「Command+Option+S」で検索ボックスが開くそこでfunctionなどとうつと対応するコンテキストが出てきます。