Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
西区プログラミング勉強会発表資料
Search
Hiromi Kai
March 03, 2013
Programming
0
61
西区プログラミング勉強会発表資料
Hiromi Kai
March 03, 2013
Tweet
Share
More Decks by Hiromi Kai
See All by Hiromi Kai
OOC2024 登壇資料
hiromikai
0
75
Other Decks in Programming
See All in Programming
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
610
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
13
4.3k
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
620
CQRS meets modern Java
simas
PRO
2
470
The Cutting Edge Of Versioning (LambdaConf 2024)
chriskrycho
0
250
TSKaigi 2024 - 新サービス Progate Path の演習で TypeScript を採用して見えた教材観点からの利点と課題
makotoshimazu
1
220
TypeScriptとGraphQLで実現する 型安全なAPI実装 / TSKaigi 2024
hokaccha
5
2.7k
Direct Style Effect Systems The Print[A] ExampleA Comprehension Aid
philipschwarz
PRO
0
410
Jetpack Composeとデザインシステム
rmakiyama
0
230
Criando a Woovi em uma semana
daniloab
0
120
Three ways to use AI on Android: The Good, the Bad and the Ugly
marxallski
0
120
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
170
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
96
10k
Faster Mobile Websites
deanohume
300
30k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Embracing the Ebb and Flow
colly
80
4.2k
What's in a price? How to price your products and services
michaelherold
238
11k
Agile that works and the tools we love
rasmusluckow
325
20k
Practical Orchestrator
shlominoach
183
9.8k
Statistics for Hackers
jakevdp
790
220k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.7k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Transcript
Rubyで始める アマチュアプログラミング HiromiKai-Green
私の略歴(学生) • H20年 某九州の高専を卒業 ◦ テストの点取りと情報系資格取得に明け暮れる ◦ 技術士補、ソフ開、工担DD1種などを取る ▪ 当時はちやほやされて気分が良かった ▪
実際あんまり役立った記憶なし ◦ 卒検は出席管理・成績管理のiアプリ開発と配布用サー バの構築 ▪ #新規性とは • そんなものは ない ▪ 誰もやる人いないからサーバ構築をやることで運命 の歯車が狂ってゆく
私の略歴(社会人) • 某元請SIerに入社 ◦ サーバ構築のキーワードを出したせいでインフラエンジ ニア部門に配属される ◦ Ciscoのスイッチ買ったり自宅でサーバ組んでみたりする もなんか違うものを感じる ▪
やっぱプログラミングがしたい • やりたいこととできることのミスマッチに苦しむ ◦ 心を病んだり転職したり引きこもったりフリーターしたり ◦ 再度就活するも経歴がボロボロ+それに代わる新たな実 績がないことで大苦戦 ◦ 今の仕事も微妙にプログラマじゃないけど都会のほうが 足がかり作りやすいからよしとする
社会人以降に開発を阻む障害 • 無職・無趣味 ◦ プログラムが必要に駆られる機会がない • ぼっち ◦ 必要としてくれる人がいない ◦
成果を見せびらかせる人がいない • 意識の低さ ◦ 自分を追い込めない ◦ 娯楽のコアはゲームだったりカラオケだったり • トラウマ ◦ 読んでもわからないつらさで一時期技術書売り場に行く だけで気分が悪くなる →アマチュア版荒ぶる四天王
どのように克服したか • 無職 ◦ 職に就く→こんな作業手でやってられるか! • ぼっち ◦ 職場の人なりオンラインなり喋る人を増やす •
トラウマ ◦ クソなりにプログラムを書いて自信を取り戻す • 意識の低さ ◦ マスター・センセイ曰く、~我々アマチュアプログラマは 人間は怠惰な生き物であるという前提に立つ。つまり意 識の低さを固定するのだ~ _人人人人人人_ > 変わってない <  ̄Y^Y^Y^Y^Y^Y ̄
何を触ってるの? • Ruby ◦ プログラム再開時に「学習コストを極力抑える」の を目標にした ▪ 意外と色々ハマったけど… ◦ 昔Railsで挫折したのでSinatra使ってるけど、今
なら使えそうな気もする • hamlとかcoffeescriptとかscssとか ◦ 定形的なのは楽に書いてドヤリングしたい
何を書いてるの? • 自分がやるゲームのツール ◦ ポケモンの確1計算 ◦ ガンダムEXVSのダメージ計算 • 競技プログラミングに交じる ◦
やること思いつかなくても手を動かせるのがいい • 仕事の手作業短縮 • 仕事で作るWebアプリケーション ◦ 後述
いでよ!やっつけWebアプリ • あるデータを集計してグラフ表示するツールが 必要に(Excelからの置き換え) • 部の方針としてはソフトウェア開発部門に開発を投 げるつもりだったが調整が難航 • 「ちょっとグラフ表示のライブラリ調べといてよ」と言 われたので自分のPCに環境構築してやっつけでデ
モアプリを作って見せる ◦ →期間がなく開発人員もいなかったのでなし崩 し的に採用
None
構成図 コントローラ Sinatra モデル MongoDB/mongoid ビュー haml/ccchart/Coffeescript 本開発時には 「実績ないDBはちょっと…」と言われ PostgreSQLに置き換え
Sinara require "sinatra" require "haml" get "/" do haml :index
#index.haml表示 end get "/get_param" do name=param[:name] #getパラメータ取る #好きにRubyの処理をやれる "Hello #{name}!" #戻り値に文字列を与えるとHTTPレスポンスになる end 実行はRubyでファイルを実行するだけ!
ccchart • オープンソースのJavascriptグラフライブラリ ◦ 最新版はMITライセンス。旧バージョンはパブリッ クドメインという大盤振る舞い ◦ 現在の業務では一応商用が視野にあるのでゆる いライセンスでないと困る •
google chartに比べて結構見た目がカッコイイ • canvas使う上にクロスブラウザガン無視なので注意 ◦ (少なくとも0.9系では)IE9用にコード修正が必 要 ◦ IE8以前ではuupaa-excanvas.jsが必要な上に、 EventListener周りのクロスブラウザ対応が必要
こんなん(本家より引用) • 影つけたり背景グラデーションさせたり • 積み上げグラフや、折れ線との複合など結構種類豊富 • データはJSONで渡せばいいので加工が楽 ◦ Rubyなら配列やハッシュにto_jsonがある
まとめ • 素人はプロ以上に時間とリソースが限られた中 で何ができるかを考える必要がある ◦ 約束事が少ないRubyは個人的に気に入っている • 情報源としてtwitterが非常に役立っている ◦ 本職がどういう情報見てるのか、何を考えてるかがいつ
も流れてくる ◦ 人のアンテナに乗っかることができる • 「自分でもできる」チャンスを逃さない ◦ 窮鼠猫を噛む やってやる!やってやるぞ!
ご静聴ありがとうございました