日時: | 2013-10-19 |
---|---|
作: | 時雨堂 |
バージョン: | 0.1.4 |
url: | http://shiguredo.jp/ |
時雨堂は甘味処ではありません
時雨堂ではお仕事を募集しております。
- Web アプリケーション (主に Python/Django)
- ネットワークサーバ(主に Erlang/OTP)
- サーバサイド設計
- テストツール
- 教育 (Python/Django や Erlang/OTP)
- コードや設計レビュー
色々対応可能です。
まずはご連絡頂ければお話しを伺いに参ります。
mail: | contact at shiguredo.jp |
---|
ふとしたきっかけからウェブプログラマを目指している方の修行をお手伝いすることになった。 ということで、方針、教えた内容などを記録していく。
- ほぼプログラミング経験なし
- 気合いと根性あり
- IT 業界経験あり
- スケールしないウェブアプリを作れるようになる
- 問題を発見し、修正出来るようになる
- 自分たちが知らないことは教えない
- ウェブプログラマの基礎を身につける
- フロント、サーバサイド、インフラ、チーム開発
- 流行技術を「あたかも当たり前」として伝える
- Vagrant からはじまり Ansible など
- 直近で必要となる技術を教える
自分の勉強ノートを Gist で作らせています。
そこにまとめる際、ウェブサイトのコピペでは無く自分の言葉でまとめさせています。 理解して自分の武器するのが目的なので、「わかったつもりにならない」というのが大事だと伝えています。
そのためにも、自分の言葉でまとめることが大切です。
勉強していて一番危険なのは「わかったつもりになる」事です。 これはとてもコワイ事なのでまずは「自分がわからない事」を明確にするという事を伝えています。
わからないという事があるというのは大切なことで、 別に恥では無いをという事をしつこく伝えています。
世の中にはわかることよりわからないことの方が多いので、 メモを取るときはとにかくわからなかった事を明確にさせています。
そして、わからない点をざっと自分で調べたけどわからない場合は、聞いてもらうようにします。 こちらも全部わかるわけでは無いので、お互いわからない場合は一緒に調べていきます。
沢山のわからないを少しずつ理解していくことが大切だと考えています。
また、全部わかる必要は無く、 わからないのは「わからないという認識のまま残しておく」というのも大事です。
色々学んで成長すればいつの日か「わかる」タイミングが来るとと考えています。
単に修行者の持っているマシンです
OS: | Mac OS X 10.8.5 |
---|---|
PC: | MBP 13 Retina |
- Python
- Django
- SQLite
- MySQL
- Vim
- reStructuredText
- Mercurial
- Fabric
- Ansible
- Vagrant
- Packer
- VirtualBox
- JavaScript
- Bootstrap
- AWS
- Zsh
- tmux
- uwsgi
- nginx
- supervisor
- Redis
- Elasticsearch
- RabbitMQ
- Trello
- GitHub
- BitBucket
- drone.io
- grove.io
- 日数は「教えた日」であって「過ぎた日」では無いです
暗記するくらい読む事と伝えている
- Python チュートリアル — Python 2.7ja1 documentation
- http://docs.python.jp/2/tutorial/
Django チュートリアル part 1 ~ 6 までを繰り返し行う
- Writing your first Django app, part 1 | Django documentation | Django
- https://docs.djangoproject.com/en/1.5/intro/tutorial01/
調べたことを全てメモをする
色々なサービスのアカウントを作る
- アカウント名は統一して作る
- GitHub アカウントの作成
- BitBucket アカウントの作成
- Trello アカウントの作成
- Trello の使い方
- カード、リスト、チェックリスト、リプライのやり方
- タスク管理の基本的考え方
- to-do / doing / done の基本的な考え方
- バージョン管理の基本的考え方
- なぜバージョン管理が必要なのか
- Xcode インストール
- Command Line Tools インストール
- MacPorts インストール
- dmg でインストール
- MacPorts 経由で Python 2.7 インストール
- $ sudo port install python27
- Alfred の使い方
- Terminal の設定
- フォントを osaka-mono へ変更
- フォントサイズを大きめへ変更
- Gist の使い方
- rst 形式で書く
- reStructuredText の使い方
MacPorts を使って Python 環境を整える
- MacPorts で py27-setuptools のインストール
- MacPorts で py27-pip のインストール
- MacPorts で py27-virtualenv のインストール
- .virtualenv 以下に default という名前で virtualenv を追加
- $ virtualenv default ~/.virtualenv
- 宿題: ターミナル起動時に default/bin/activate が適用されるようにする
- ヒント
- ~/.bashrc
- ~/.bash_profile
- source コマンド
- ヒント
Django をインストールしてチュートリアルをスタートする
- virtualenv (default) の pip を使って Django をインストールする
- $ pip install django
- Django Tutorial (バージョン 1.5) を Part1 からやりはじめる
.vimrc を設定する
- .vimrc にスパルタ設定を追加する
- 矢印と BS を使わせない設定
noremap <Up> :<C-u>echohl WarningMsg \| echo "Don't use Up key!!! Press [k]" \| echohl None<CR>
noremap! <Up> <ESC>:<C-u>echohl WarningMsg \| echo "Don't use Up key!!! Press [ESC][k]" \| echohl None<CR>
noremap <Down> :<C-u>echohl WarningMsg \| echo "Don't use Down key!!! Press [j]" \| echohl None<CR>
noremap! <Down> <ESC>:<C-u>echohl WarningMsg \| echo "Don't use Down key!!! Press [ESC][j]" \| echohl None<CR>
noremap <Left> :<C-u>echohl WarningMsg \| echo "Don't use Left key!!! Press [l]" \| echohl None<CR>
noremap! <Left> <ESC>:<C-u>echohl WarningMsg \| echo "Don't use Left key!!! Press [ESC][l]" \| echohl None<CR>
noremap <Right> :<C-u>echohl WarningMsg \| echo "Don't use Right key!!! Press [h]" \| echohl None<CR>
noremap! <Right> <ESC>:<C-u>echohl WarningMsg \| echo "Don't use Right key!!! Press [ESC][h]" \| echohl None<CR>
noremap <BS> :<C-u>echohl WarningMsg \| echo "Don't use BackSpace key!!! Press [ctrl-h]" \| echohl None<CR>
noremap! <BS> <ESC>:<C-u>echohl WarningMsg \| echo "Don't use BackSpace key!!! Press [ctrl-h]" \| echohl None<CR>
- Django の MTV モデルを理解する
Django チュートリアルを始める
- pip install django
- python manage.py syncdb
SQLite3 の使い方
- sqlite3 コマンドの使い方
- .tables
- select * from table
- Django の models.py の書き方
- ForeignKey の使い方とイメージ
- ウェブアプリとデータベースの関係性
- SQLite3 と Django ORM の関係性