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
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プログラムのスタート地点はどこなのか?
すごい広島 IT初心者の会[86]
https://pycon-hiroshima.connpass.com/event/318329/
でのLT資料です。
Satoshi Kaneyasu
May 29, 2024
More Decks by Satoshi Kaneyasu
See All by Satoshi Kaneyasu
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
200
Amazon_Cognito_で構築する_スケーラブルな_Web_アプリケーション__シングルページ_Web_アプリケーションに認証を組み込む
satoshi256kbyte
0
39
人間とAI、どちらが書いたコードもCI/CDでチェックしてみよう
satoshi256kbyte
0
41
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
280
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎
satoshi256kbyte
1
60
人間とAI、どちらが書いたコードもCICDでチェックしてみよう
satoshi256kbyte
1
76
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
630
お客様とSIerではじめたスクラム開発(で得た学び)
satoshi256kbyte
0
140
From Pipenv to UV: Migrating to a Monorepoto Tame a Complex Repository
satoshi256kbyte
0
81
Other Decks in Programming
See All in Programming
Oxcを導入して開発体験が向上した話
yug1224
4
350
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.4k
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
140
Contextとはなにか
chiroruxx
1
380
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
250
Creating Composable Callables in Contemporary C++
rollbear
0
180
Lessons from Spec-Driven Development
simas
PRO
0
230
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.6k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
280
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
260
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
220
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.9k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
270
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Google's AI Overviews - The New Search
badams
0
1.1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
180
Un-Boring Meetings
codingconduct
0
330
Raft: Consensus for Rubyists
vanstee
141
7.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
210
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Code Review Best Practice
trishagee
74
20k
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することを忘れ ない •できる限りプロジェクトの初期に絡む
ありがとうございました