HOW TO LEARN

Presenter Notes

新しい言語の勉強

  • 一か月で3言語を勉強している
    • C言語
    • PHP
    • Objective-C
  • トライアンドエラー
    • 入力、実行を繰り返して覚える
    • 反復実行、デバッグのし易さ大事

まだ使えるというほどではないが

Presenter Notes

C言語

実行環境

  • Vim + quickrun.vim + GCC

教材

  • 苦しんで覚えるC言語
    • 基本的なサンプル
  • プログラミング言語C 第2版 k&R本
    • C言語とは何か

Presenter Notes

C言語 - 反復実行

  • Vim + GCC => どの環境でもできる
  • quickrun.vim
    • プログラムをコンパイルして実行結果を出力する

実行->確認->実行と繰り返せる(保存しなくてもいい)

1 #include <stdio.h>
2 int main(void){
3   printf("Hello, World!\n");
4   return 0;
5 }

プログラムを書いて、¥-rを押して実行結果を確認しながら学べる

Presenter Notes

C言語 - quickrun.vim

quickrun.vimの実行結果

Presenter Notes

PHP

開発環境

  • PHPStorm
    • Jetbrains製のIDE
    • Intelli J,WebStorm, RubyMineなどの姉妹品

教材

  • パーフェクトPHP
    • お借りした書籍

Presenter Notes

PHP - 学習方法

  1. パーフェクトPHPを読む
  2. サンプルコードを入力する
  3. 実行結果を見る
  4. 気になったらWebで調べる
  5. ... 繰り返し

気になった部分はメモを取る

Presenter Notes

PHP - コードの実行

Presenter Notes

PHPStormの画面分割を使いメモを取る

  • PHPStormはMarkdown形式に対応(プラグイン)
  • パーフェクトPHPの目次を作成
  • 画面分割
    • 左画面でコードを書いて実行
    • 右画面でMarkdown形式でメモを書く
  • コードとメモはGitで管理
  • 書いたメモはGithubにそのままpush
    • GithubはMarkdown形式をhtmlで表示してくれる

Presenter Notes

PHPStromの作業環境

PHPStorm

Presenter Notes

Objective-C

開発環境

  • XCode
  • AppCode
    • Jetbrains製のIDE
  • MacVim

教材

  • iPhone/iPadプログラミングバイブル
  • iOSの教科書
  • Webでの連載などいろいろ
  • Stack Overflow

近年のiPhoneブームに乗り、情報はたくさんあるが、 始め方に癖があり、どこから学ぶべきなのかがわかりにくい

Presenter Notes

Objective-Cの学習方向

  • Interface Builderから作るアプリ
    • 比較的、形は簡単に作成できる
    • コード生成の補助機能も多い
  • コードからUIを構築するアプリ
    • 自由度高い

結局はどちらのやり方も知ってる方がいい

Presenter Notes

Objective-Cという言語

Presenter Notes

Presenter Notes

JavaScript

Presenter Notes

JavaScriptを学ぶとは

Presenter Notes

JavaScriptの変化

  • JavaScriptは制限された言語?
    • マルチコア
    • GPU
    • バイナリ
    • 固定型
    • スレッド
    • 双方向通信
  • The evolution of the web - ウェブの進化
    • ブラウザと共に変化が激しい時期
    • 新しいことが次々と起きている

Presenter Notes

どうやって学ぶか

初心者向けの決定版はまだわからない

Presenter Notes

書籍の読み方

英語が読めない人向け、英語技術書の読み方 | Web scratch

  • 章ごとなどノルマを決めて読む
  • 節ごとにメモを取る
    • 既知の事についてのメモは手を抜く
    • 気になることを調べてリンクを貼る
  • インプットアウトプット

Presenter Notes

オンラインのチュートリアル

なども参考に

Presenter Notes

Presenter Notes

調べる方法を調べる

Webの動きはとても早い

Presenter Notes

コードリーディング?

Presenter Notes

コードを読んで取り込み書きだす

  • 読む目的を定める
    • 先になぜ読むのかを決めておいた方がいい
  • 新しいことを知る
    • いいところをパクる
    • パターンを知る
    • クロスブラウザ対応処理(バットノウハウ多いけど)
  • 知ったことを取り入れたコードを書く
    • 書いて自分のものにする
    • 車輪の再発明

自分の場合は、コード = Greasemonkeyで有ることが多かった。

Presenter Notes

コードの質

一般的なWebサイトなら速度よりも可読性や保守性を優先した方がよい場合も多い。

Presenter Notes

Presenter Notes