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
1
200
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
1.1k
GraphQL Ruby benchmark
mtsmfm
1
800
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.5k
Build REST API with GraphQL Ruby
mtsmfm
0
320
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
710
Gaming PC on GCP
mtsmfm
0
710
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
240
Canary release in StudySapuri
mtsmfm
0
3k
Analyze Rails CI
mtsmfm
2
870
Other Decks in Programming
See All in Programming
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
410
オープンソースコントリビュート入門
_katsuma
0
130
七輪ライブラリー: Claude AI で作る Next.js アプリ
suneo3476
1
190
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
1.2k
VitestのIn-Source Testingが便利
taro28
8
2.4k
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
12k
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
240
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
1.3k
eBPF超入門「o11yに使える」とは (20250424_eBPF_o11y)
thousanda
1
120
Global Azure 2025 @ Kansai / Hyperlight
kosmosebi
0
140
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
180
監視 やばい
syossan27
12
10k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Designing Experiences People Love
moore
142
24k
GraphQLとの向き合い方2022年版
quramy
46
14k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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