33歳からでもプログラマーになれますか?

ブログタイトル通りのブログです。ブログ。

書き込み用にファイルを開けません

viでサーバー上のファイルを編集している時にパーミッションがないと

"書き込み用にファイルを開けません"って怒られた。

ネットを検索したりして、w!ってやると強制的に書き込みできるようになるよ。とか書いてあったんだけど、 それでもダメで、どうしようかと思って、試しに

sudo vi /etc/hoge.hoge

とやってみたら、書き込めた。

vi でもsudoコマンドって効くのね〜!って発見をしました。

Javaの型について

普段PHPを書くことが多くてJavaの型を意識した書き方に慣れてなかったので、 めも。

Javaでは変数の宣言の時に型を指定する必要があるが、

整数は自動的にint型、小数点以下の数字はdouble型となる。

なので、

float = 3.14;

とやってしまうと3.14という数字自体が既にdouble型となっていてエラーとなる。 ※3.14という数字自体はfloat型の範囲内

そこで代入の時に

float = 3.14F; //(fでも可)

としてやる。

また

long l = 123456789012;

とやるとエラー。

long l = 123456789012L; //(lでも可)

とする必要あり。 これも数字は自動的にint型となるが、intの範囲を超える数値リテラルそのものがエラーとなってしまうため、long型のリテラルにしている。

postがputに?

cakephpで更新処理画面を作ってた時にハマったのでメモ。

$this->request->is('post') {

}

でポストデータをセーブしようとしてたら、なぜかセーブできない。 デバッグで確認してみてもPOSTデータは送られてきてるし、データの配列にも問題ない。

で、firebugでリクエストを調べてみたら、なぜかputで送られている。。。

なぜだ。。。

formはちゃんとmethod=postとなっている。が、、、

<form action="xxx" id="xxx" method="post" accept-charset="utf-8">
    <div style="display:none;">
        <input type="hidden" name="_method" value="PUT">
    </div>
        <input type="hidden" name="xxx" value="1" id="xxx"><div class="form-group mb10">
    </form>

しかもhiddenフィールドをもたせるとこの現象が発生するようで、hiddenフィールドが

<input name="data[hoge][id]" value="1" id="hoge" type="hidden">

みたくなってた。

なんでこうなるのかまったく謎だが、

$this->request->is(array('post', 'put')) {

}

で切り抜ける。

Macの⌘⇧⌃などの特殊記号を入力する方法

googleの辞書にそれぞれの記号の読みと記号を登録しておけばいいのだけど、そもそもその記号が入力できないって話なので、それはこちらの記事を参考にさせて貰い、記号をコピーして読みを登録しておしまい。

【Mac】特殊キー記号を入力する | kotazi.com

Atomを使ってみる。

1.ショートカットキーを覚えよう。

  • ⌘o → ファイルを選択してオープン。フォルダなどを階層構造で開くこともできる。
  • ⌘, → 設定画面を開く
  • ⌘\ → tree viewの削除
  • ⇧⌘P → コマンドパレットを開く
  • ⌘t → 今開いてるフォルダ全体からファイルを検索
  • ⌘b → 今開いてるタブの中からファイルを検索
  • ⌘f → 単語検索
  • ⌘r → シンボル検索(メソッドやプロパティなどの検索)
  • ⌃m → 対応する括弧にジャンプ
  • ⌃⌘m → 括弧内のコードを全選択
  • ⌃g → 指定行番号へジャンプ
  • ⌘F2 → コードにブックマークを付ける(解除)
  • F2 → 次のブックマークへジャンプ
  • (単語を選択状態で)⌘t → 同じ単語を同時に編集可能状態に
  • ⌘⌃g → 今カーソルがある位置の単語を一気に選択、編集可能状態に
  • ⌘⌃↑↓ → 現在の行を上下に移動
  • ⌃⇧k → 現在の行を削除
  • ⌘⇧d → 現在の行をコピー
  • ⌘リターン → 後ろの行に行を挿入
  • ⌘k + 矢印キー → 上下左右の指定でそれぞれの位置にウィンドウを分割表示
  • ⌘w → 分割したウィンドウの削除
  • ⌃⇧m → Markdown文章のプレビューを開く

ショートカットはコマンドパレットを開いて語句検索から探すことができる。

2.Atomの設定

  • settingsのFilter Pakageでlanguageで検索をかけると、言語ごとの設定ファイルが検索できるので、そのファイルを設定する。
  • soft tabはタブをスペースに変換してくれる。
  • soft wrapはウィンドウサイズに行を折り返して表示

3.Pacagesの導入

  • autocomplete-plus → コード補完してくれる。
  • file-icons → ファイルのアイコンをかわいくしてくれる。
  • Japanese-wrap → 日本語のMarkdown文章の折り返し処理をきちんとしてくれる。
  • script → ⌘iで開いてるコードの実行

3.AtomをShellで使う

install shell commandsでatomapmをインストール(初回のみ)

インストール後にターミナル画面で任意のフォルダに移動し、atomと打つと、そのフォルダ内ごとAtomで開いてくれる。

shell画面でapm listすると今インストールされてるPakageの一覧がターミナルで確認できる。