Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
西区プログラミング勉強会発表資料
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hiromi Kai
March 03, 2013
Programming
85
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
63
#kaigieffect LT大会 at RubyKaigi2024 登壇資料
hiromikai
0
140
OOC2024 登壇資料
hiromikai
0
160
Other Decks in Programming
See All in Programming
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
340
Domain-Driven Transformation
hschwentner
2
2.3k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
260
AmebaブログはKMPから卒業します
kmars0605
0
150
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
150
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
540
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
110
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
120
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
140
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
130
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Crafting Experiences
bethany
1
380
Making Projects Easy
brettharned
120
6.8k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Tell your own story through comics
letsgokoyo
1
1.1k
BBQ
matthewcrist
90
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Designing Experiences People Love
moore
143
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
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が非常に役立っている ◦ 本職がどういう情報見てるのか、何を考えてるかがいつ
も流れてくる ◦ 人のアンテナに乗っかることができる • 「自分でもできる」チャンスを逃さない ◦ 窮鼠猫を噛む やってやる!やってやるぞ!
ご静聴ありがとうございました