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
Ruby で作る Ruby (物理)
Search
Fumiaki MATSUSHIMA
February 27, 2023
Programming
0
180
Ruby で作る Ruby (物理)
西日暮里.rb 100回記念 オンラインLT会
https://nishinipporirb.doorkeeper.jp/events/149198
Fumiaki MATSUSHIMA
February 27, 2023
Tweet
Share
More Decks by Fumiaki MATSUSHIMA
See All by Fumiaki MATSUSHIMA
Learning from performance improvements on GraphQL Ruby
mtsmfm
1
980
GraphQL Ruby benchmark
mtsmfm
1
720
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.4k
Build REST API with GraphQL Ruby
mtsmfm
0
270
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
670
Gaming PC on GCP
mtsmfm
0
660
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
200
Canary release in StudySapuri
mtsmfm
0
2.9k
Analyze Rails CI
mtsmfm
2
780
Other Decks in Programming
See All in Programming
cXML という電子商取引の トランザクションを支える プロトコルと向きあっている話
phigasui
3
2.3k
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
580
PagerDuty を軸にした On-Call 構築と運用課題の解決 / PagerDuty Japan Community Meetup 4
horimislime
1
110
Nuxtベースの「WXT」でChrome拡張を作成する | Vue Fes 2024 ランチセッション
moshi1121
1
530
Pinia Colada が実現するスマートな非同期処理
naokihaba
2
160
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
3
400
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
23k
破壊せよ!データ破壊駆動で考えるドメインモデリング / data-destroy-driven
minodriven
16
4.1k
Synchronizationを支える技術
s_shimotori
1
150
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
5
3.4k
gopls を改造したら開発生産性が高まった
satorunooshie
8
240
レガシーな Android アプリのリアーキテクチャ戦略
oidy
1
170
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
327
38k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
Designing on Purpose - Digital PM Summit 2013
jponch
115
6.9k
For a Future-Friendly Web
brad_frost
175
9.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
Scaling GitHub
holman
458
140k
A Philosophy of Restraint
colly
203
16k
Transcript
@mtsmfm Ruby でつくる Ruby (物理)
松島 史秋 Backend Dev at Autify GitHub, Twitter: @mtsmfm
https://ninirb.github.io
100回 ありがとう!
None
None
3D プリント
データが現実になるのは面白い!
3D プリンタの種類 - 熱溶解積層 (FDM) 方式 - 溶かしたプラスチックを下から積み重ねる - ソフトクリームづくりみたいな
- 光造形方式 - 液体に紫外線を当てて固める - 家庭用はだいたいどっちか - 今回は FDM
None
フィラメント (プラスチック) エクストルーダー (溶けたプラスチックが 出るところ) ベッド (溶けたプラスチックを重 ねて固めるところ) 完成品
None
None
1. RubyScad 2. OpenSCAD 3. STL 4. G-Code 5. プリント
今回の元コード include RubyScad cylinder(h: 10, r1: 0, r2: 10) translate(z:
10) do cylinder(h: 3, r1: 10, r2: 9) end
今回の元コード include RubyScad cylinder(h: 10, r1: 0, r2: 10) translate(z:
10) do cylinder(h: 3, r1: 10, r2: 9) end
$ ruby foo.rb > foo.scad
$ ruby foo.rb > foo.scad cylinder(h = 10, r1 =
0, r2 = 10); translate(v = [0, 0, 10]) { cylinder(h = 3, r1 = 10, r2 = 9); }
$ openscad foo.scad -o foo.stl
https://marketplace.visualstudio.com/items?itemName=mtsmfm.vscode-stl-viewer
1. RubyScad 2. OpenSCAD 3. STL 4. G-Code 5. プリント
G-Code とは - 工作機械の制御に使う - スライサーソフトによって STL から自動生成する - 例:
G0 X270 Y5 Z50 F3600; (270,5,50)の座標に動かす M190 S60; ベッドを60度に M109 S200; エクストルーダーを200度に
None
None
None
STL より 広がっている
下から上に 印刷するため 潰されて広がる
エレファントフット問題 - 最下層だけ広がってしまう - スライサーで最下層を本来よりも狭めに印刷す るオプションがあったりする
欠け 飛び出し 糸引き
一発できれいに出力するのは難しい - ソフトクリームを見本と完璧に同じに作 るようなもの - 変数がとても多い - 気温、湿度、フィラメント、形状、プリ ンタの状態 etc
データが現実になるのは面白い!
None
None
None