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
Satoshi Kaneyasu
May 29, 2024
Programming
1
60
プログラムのスタート地点はどこなのか?
すごい広島 IT初心者の会[86]
https://pycon-hiroshima.connpass.com/event/318329/
でのLT資料です。
Satoshi Kaneyasu
May 29, 2024
Tweet
Share
More Decks by Satoshi Kaneyasu
See All by Satoshi Kaneyasu
Gitでコンフリクトが起きたらコミットしよう
satoshi256kbyte
0
19
ワクワク状態を維持するレトロスペクティブ
satoshi256kbyte
1
84
DB調査をしやすくするためのログ設計
satoshi256kbyte
4
520
Amazon Aurora Serverless v2が意外と高かった話と、AWS Database Migration Serviceの話
satoshi256kbyte
1
210
AWS App Runnerで気軽にAPIを作ってみるーそして、これはどんな人向けなのか?ー
satoshi256kbyte
2
280
Backlog GitとAWS CodePipelineの連携作戦 - 途中報告
satoshi256kbyte
1
93
Amazon Bedrock超入門を読んで用語整理してみた
satoshi256kbyte
3
150
初めての社外登壇と、初めての事例取材
satoshi256kbyte
1
54
コンピュータサイエンスにおけるキューとスタックの解説
satoshi256kbyte
0
440
Other Decks in Programming
See All in Programming
Gobra で見る形式検証 (mercari.go #26)
artoy
0
420
IaCにおけるテスト考察 / Tests in IaC
linyows
2
220
ソートできるUUID v7をJavaで使うときの話
yoshiori
7
5.1k
リプレイスを安心安全に 〜段階的リプレイスと等価比較〜/Safe and Secure Replacement ~ Phased Replacement and Equivalent Comparison ~
shun0624
1
120
Converting AST
yui_knk
3
150
[Flutter] Unitテストの基礎を理解する
haruki_uiru
0
140
日付と闘う-和暦は難しい / vs Dates - Japanese Chronology is Difficult
wkwkhautbois
0
210
マイクロサービス基盤にフルマネージドサービスではなくKubernetesを選択する理由
bgpat
8
2k
Adding Tests to Untestable Legacy Code
afilina
PRO
0
180
Event Exhibition with Hono
naporin0624
0
130
Amazon Bedrockで行うモデル評価入門 / Introduction to Model Evaluation in Amazon Bedrock
rkaga
2
570
チームの成長を促すためのスプリントレトロスペクティブの活用法 / How to use sprint retrospectives to promote team growth
mackey0225
4
550
Featured
See All Featured
Designing Experiences People Love
moore
136
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
Agile that works and the tools we love
rasmusluckow
325
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
35
47k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
13
1.1k
Robots, Beer and Maslow
schacon
PRO
155
8k
Speed Design
sergeychernyshev
3
150
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
222
21k
Happy Clients
brianwarren
93
6.5k
Being A Developer After 40
akosma
68
580k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
15
8.5k
Transcript
プログラムのスタート地点は どこなのか︖ 2024.05.29 SATOSHI KANEYASU
⾃⼰紹介 ⽒名︓兼安 聡 所属︓株式会社サーバーワークス 在住︓広島(フルリモート) 担当︓DevOps、プロジェクトマネージャー 資格︓ 最近よく触るDB: Amazon DynamoDB、Amazon
Timestream、Amazon Neptune など
•⼤きなプログラムの修正はできるが、 ⼩さなプログラムをゼロから作ることはできない •エンジニアの皆様、そんなことはないでしょうか︖ •検証⽤プログラムをサッと作ってくださいと⾔われた らできますか︖ •これができるかできないかは、 エンジニアの成⻑の分岐点かもしれません はじめに
•ゼロから作れるようにはどうしたらよいか︖ •第⼀歩は 「プログラムのスタート地点はどこなのか︖」 を理解することでは︖ はじめに
•⼀定のルールがあるパターン •単純に上から流れていくパターン コンソールアプリ
•VB.Net、Javaでシンプルなコンソールアプリを書い た場合がこれにあたります。 •VB.Netでシンプルなコンソールアプリを作る場合、 Sub Mainが起点になります。 ⼀定のルールがあるパターン 厳密には.Net系はEXEを作る設定で、 起動時の関数は変えれます。 (これ変える⼈⾒たことないけど)
•起点はmain固定というわけではありません。 上から流れてmainを呼んでいるだけです。 単純に上から流れていくパターン def main(): print("Hello, World!") if __name__ ==
"__main__": main() hello.py python hello.py
•ルートページ •ルーティング Webサイトの場合
•ディレクトリ(フォルダー)にアクセスされた時、最 初に表⽰されるデフォルトのファイル •http://example.com なら、 http://example.com/index.html のこと •⼤体Webサーバーの設定依存 ルートページ
ルートページの設定 Apache <IfModule dir_module> DirectoryIndex index.html </IfModule> •複数指定したら左側が優先 <IfModule dir_module>
DirectoryIndex index.php index.html </IfModule>
•クライアントからのリクエスト(通常はURL)を 受け取り、そのリクエストに応じてサーバー上で適切 なページを返す仕組み •WordpressならどのURLを呼び出しても⼀旦⼀箇所 に集まる •その後、リクエストされたURLに応じて適切なページ を起動 ルーティング
•どのURLだとしても全てのリクエストを⼀旦 /index.phpに集約 •/index.php以降でURLに応じたページを起動 ルーティングの設定 Apacheの.htaccess RewriteEngine On RewriteBase / RewriteRule
^index¥.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
AWS Lambda
どうやってこういう知識を得るのか︖ •とりあえずやってみるを忘れない •写経で終わらない •新しいものに⾶びついてHello worldすることを忘れ ない •できる限りプロジェクトの初期に絡む
ありがとうございました