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
最近のRails構成
Search
regonn
March 31, 2018
Programming
0
340
最近のRails構成
Kunibiki.rb #7 Rails祭り
@オープンソースラボ
regonn
March 31, 2018
Tweet
Share
More Decks by regonn
See All by regonn
Submission with Numerai Compute using GCP Batch
regonn
0
450
HelloMoon x Orca=HelloOrca
regonn
0
100
The Challenge of Automatically Configuring Numerai Compute Environment
regonn
0
69
Federated Learning 連合学習
regonn
4
1.6k
PLATEAUをデータベースに取り込んでみた
regonn
0
1.7k
古参Numerai参加者の戯言
regonn
1
2.3k
Nim + Cloud Run + TerraformでGCPにNimのサーバーレス環境を作る
regonn
1
610
S+ Camera Basicと似た環境をラズパイから構築してみる
regonn
0
490
衛星画像のゴルフ場写り込み判定AIモデルを作る
regonn
0
710
Other Decks in Programming
See All in Programming
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.2k
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
150
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
150
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
930
Formの複雑さに立ち向かう
bmthd
1
930
Introduction to kotlinx.rpc
arawn
0
760
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
670
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
300
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
960
Honoとフロントエンドの 型安全性について
yodaka
7
1.4k
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
170
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
We Have a Design System, Now What?
morganepeng
51
7.4k
Designing for Performance
lara
604
68k
Scaling GitHub
holman
459
140k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
YesSQL, Process and Tooling at Scale
rocio
172
14k
KATA
mclloyd
29
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
How GitHub (no longer) Works
holman
314
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Transcript
最近のRAILS構成 最近のRAILS構成 KUNIBIKI.RB #7 KUNIBIKI.RB #7 2018/03/31 オープンソースラボ 田上健太
自己紹介 自己紹介 田上健太(たのうえ けんた) Sonic Garden Inc.(Rails Web受託開発) 2018年3月 松江
移住(出身 埼玉)
好きな言語 Dart, Julia, Elm 好きなLinux Manjaro 好きなエディタ VSCode
YouTuber データサイエンス系動画(田中TOM) Juliaで学ぶデータサイエンス(regonn)
趣味 俳句 結社「鷹」所属 茶道 三斎流 島根県出雲市
最近RAILS周りでやってること(趣味) 最近RAILS周りでやってること(趣味) AWS ELASTIC BEANSTALK AWS ELASTIC BEANSTALK
Elastic Beanstalk(EB)って? Heroku の AWS 版みたいなもの コードをデプロイするだけ AWSのサービス使って構築してくれる
EB のメリット OpsWorksより覚える事少ない とりあえずAWSでWebサービス動かしたい時 便利 足りないLinux系パッケージもYAMLで記述して インストール可能
EB のデメリット 日本語の記事少ない 基本ハマったら自己解決必須 デプロイ失敗時のエラーが詳しく出ない場 合がある EB独自仕様のコードになっていくため、他の 環境へ移しにくい active-elastic-job Cron
や Active Job を EB の Worker で行う Gem Docker 環境も可能なので、Docker使えば他 にも移しやすいかも
デメリットが多いのは察して下さい
あと、最近は Facebook API と Instagram API バンバ ン叩いてるので気になる人は声かけてください。
今日の本題 今日の本題 SonicGardenのナウいRails構成について
この話題にした背景 この話題にした背景
最近弊社社長の倉貫が ソニックガーデンの技術 力の発信が少ない とぼやいていた ソニックガーデンの技術系情報が外に出るこ とあまりない
ソニックガーデンでは小さめの案件が多く rails new の頻度が高いため、比較的新しい技 術(機能)に触れる機会が多い 構成も洗練されてくる
SG運用体制 SG運用体制 1案件1人がメインでアサイン 少人数チームでその案件のコードレビューとか も回す 受託案件 独自技術は使わず、他の人がコードを追える ように技術は揃える傾向 王道を追う傾向 社内向けアプリ
最新の技術も積極的に使う
フロントエンド系 フロントエンド系
早くコンパイルできるGEMを利用 早くコンパイルできるGEMを利用 haml ( gem) sass ( gem) hamlit sassc
どうでもいいけど sass は Dart での開発が続いてい る貴重なプロジェクト
JS 周り JS 周り Webpacker es + jquery が主流(coffeeはほぼ無くなってきた) ReactやVue案件も出てきている
ステート管理は より Redux MobX
JSON形式で渡す場合が多くなってきた JSON形式で渡す場合が多くなってきた Jbulder => gem シンプルに書けて動きが早い(partial等) rails の view の感覚で書ける(render等)
jsonの項目がコードから把握しやすい jb
JB サンプル(公式サイトコード参考) JB サンプル(公式サイトコード参考) json = { content: format_content(@message.content), author:
{ name: @message.creator.name.familiar } } if current_user.admin? json[:visitors] = calculate_visitors(@message) end json[:comments] = @message.comments.map do |comment| { content: comment.content } end json
テスト系 テスト系
Chrome headlessが出てきたのでそっちに乗り換 えた poltergeist => selenium + chrome headless エラー内容が分からない時は、すぐに実際の
Chrome 立ち上げてテストが見えるので便利
セキュリティ系 セキュリティ系
SGではこの二人がサポートしてくれてる ブレーキマン Gemおじさん
BRAKEMAN BRAKEMAN gem Railsを静的解析してセキュリティアラートを出 してくれる CI上で実行することでデプロイ前にセキュリティ に気づける brakeman
GEMNASIUM GEMNASIUM Webサービス セキュリティアラートが発表されているライブ ラリをGemfileとpackage.jsonから教えてくれる 最近 Github でも似たような機能がついてる https://gemnasium.com/
API 利用して社内の掲示板に定期的にお知らせし てくれるGemおじさん
I18N系 I18N系
COPYTUNER COPYTUNER SonicGardenのサービス(無料) デプロイ無しでブラウザ上からlocaleファイルを 編集できる copy-tuner-ruby-client
None
None
None
LINT系 LINT系
Rubocopのルールを案件ごと管理するのでなく、 共通で管理してしまう 自由度はある程度許容し、なるべく最小構成に なるようにしている sgcop
RAILSとは関係無いけどスマホアプリ系 RAILSとは関係無いけどスマホアプリ系
React Native React の知識活かせるので、すでに受託案件で も採用している Code Push 細かいバグ修正等はレビュー通さずコード 変更が可能
宣伝 宣伝 Kaggle もくもく会やってます 4月は毎週水曜日18時〜 @オープンソースラボ
None