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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hiromi Kai
March 03, 2013
Programming
0
72
西区プログラミング勉強会発表資料
Hiromi Kai
March 03, 2013
Tweet
Share
More Decks by Hiromi Kai
See All by Hiromi Kai
【リジェクトConライク】Re:cycle〜Kaigi on Rails 2025編〜 登壇資料
hiromikai
0
42
#kaigieffect LT大会 at RubyKaigi2024 登壇資料
hiromikai
0
120
OOC2024 登壇資料
hiromikai
0
160
Other Decks in Programming
See All in Programming
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
Fluid Templating in TYPO3 14
s2b
0
130
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
dchart: charts from deck markup
ajstarks
3
1k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
240
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
480
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
300
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
270
Oxlintはいいぞ
yug1224
5
1.4k
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
230
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
230
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
We Are The Robots
honzajavorek
0
170
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Accessibility Awareness
sabderemane
0
57
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
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が非常に役立っている ◦ 本職がどういう情報見てるのか、何を考えてるかがいつ
も流れてくる ◦ 人のアンテナに乗っかることができる • 「自分でもできる」チャンスを逃さない ◦ 窮鼠猫を噛む やってやる!やってやるぞ!
ご静聴ありがとうございました