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
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
西区プログラミング勉強会発表資料
Hiromi Kai
March 03, 2013
More Decks by Hiromi Kai
See All by Hiromi Kai
【リジェクトConライク】Re:cycle〜Kaigi on Rails 2025編〜 登壇資料
hiromikai
0
56
#kaigieffect LT大会 at RubyKaigi2024 登壇資料
hiromikai
0
130
OOC2024 登壇資料
hiromikai
0
160
Other Decks in Programming
See All in Programming
関数型プログラミングのメリットって何だろう?
wanko_it
0
180
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
490
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
110
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.4k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
190
フィードバックで育てるAI開発
kotaminato
1
120
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
えっ!!コードを読まずに開発を!?
hananouchi
0
210
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
230
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
850
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
310
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Discover your Explorer Soul
emna__ayadi
2
1.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
For a Future-Friendly Web
brad_frost
183
10k
New Earth Scene 8
popppiees
3
2.4k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
230
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が非常に役立っている ◦ 本職がどういう情報見てるのか、何を考えてるかがいつ
も流れてくる ◦ 人のアンテナに乗っかることができる • 「自分でもできる」チャンスを逃さない ◦ 窮鼠猫を噛む やってやる!やってやるぞ!
ご静聴ありがとうございました