์ฌ๋ฆผ์ ์ฐ๋ฉด์ ์๊ฒ๋ ๊ฒ๋ค..
$request->getMethod()
2025 on Tumblr: Trends That Defined the Year
Sade Olutola
Peter Solarz

tannertan36

oozey mess

PR's Tumblrdome
h

blake kathryn
dirt enthusiast
noise dept.
Mike Driver
DEAR READER
wallacepolsom

romaโ

shark vs the universe

โ
Aqua Utopia๏ฝๆตทใฎๅบใง่จๆถใ็ดกใ
taylor price

@theartofmadeline

seen from Netherlands

seen from Malaysia
seen from Greece
seen from Ireland
seen from United Kingdom

seen from United States
seen from Algeria
seen from United States

seen from Tรผrkiye
seen from Malaysia
seen from Brazil
seen from Germany

seen from United States
seen from Spain
seen from United States
seen from Netherlands

seen from United States
seen from United States

seen from Algeria

seen from Tรผrkiye
@mondaychicken
์ฌ๋ฆผ์ ์ฐ๋ฉด์ ์๊ฒ๋ ๊ฒ๋ค..
$request->getMethod()

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch โข No registration required โข HD streaming
PHP ํ๋ ์์ํฌ Slim Framework ์ฒซ๊ฑธ์
์๋ ํ์ธ์. ๋จผ๋ฐ์ด์นํจ์ Selen์ ๋๋ค.
์ ๋ ์ง๊ธ Slim์ ํตํด API์๋ฒ๋ฅผ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํ๋๋ฐ์,
์ผ๋จ ์๋ฒ์ ์ํฉ์ ์ ์๋ฉด AWS์ ์๋ EC2 t2.nano ์ธ์คํด์ค์ ๋๋ค. ๋๋ฉ์ธ์ A๋ ์ฝ๋๋ก ์ฐ๊ฒฐํด๋์๊ณ , EIP๋ฅผ ์ฌ์ฉ์ค์ ๋๋ค.(๋๋ฉ์ธ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋น์ฐํ๊ฑด๊ฐ์?
DB๋ RDS๋ก, mariaDB๋ฅผ ์ฌ์ฉํด ํ ์คํธํ ๊ฑฐ์์.
์ง๊ธ ์ด ๊ธ์ ์ ๋ ์์ ์ 2016๋ 3์ 3์ผ. 3์ ์ด์ ๋๋ค.
์ด๋์ ๋ฒ์ ์ 3.1์ด์์ง๋ง ํ์ฌ์์ ์ผํ๊ณ ์๋ ์ฌ์ด์ ๋ ์๋ก์ด ๋ฒ์ ์ด ๋์๋ค์. ์ฌ๋ฆผ์ ๋ฒ์ ์ด ๋๋ฌด ๋นจ๋ฆฌ๋ฐ๋๋๊ฒ ๊ฐ์์. ์ผ๋จ ์ด๋๋ก ๊ฐ๋ด ๋๋ค.
์ด์ ๋์ถฉ ์ํฉ์ค๋ช ์ด ๋๋ฌ์ผ๋ ์ฌ๋ฆผ์ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํ๋๋ฐ์, ์ผ๋จ ์ ๋ ์๋ฒ์ PHP7๋ฅผ ์ค์นํ๊ณ , ์ปดํฌ์ ๋ฅผ ์ค์นํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Slim Framework์ ๊ณต์ ์ฌ์ดํธ์ ๋์จ๋๋ก
composer create-project slim/slim-skeleton ํ๋ก์ ํธ์ด๋ฆ
์์ ๊ฐ์ ์ปค๋งจ๋๋ฅผ ํตํด ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ์ต๋๋ค. ๋ฌผ๋ก ์ปค๋งจ๋๋ฅผ ์คํํ๋ ์์น๋ API๊ฐ ์์ด์ผ ํ ์์น๋ก ํ์ง์! ๊ทธ๋ฌ๋ฉด ์๊ฐ์ด ์ง๋๋๋ ์ด๊ฒ์ ๊ฒ ์ค์น๊ฐ ๋ฉ๋๋ค.
Slim ์คํ
์ด์ ์ ๋ ํ๋ฒ ์คํํด๋ณด๊ธฐ๋ก ํฉ๋๋ค.
๊ทธ ์ ์ ํด๋น ํ๋ก์ ํธ์ ๊ถํ์ ๋ชจ๋ 755๋ก ๋ฐ๊ฟ๊ฑด๋ฐ์, ์ ๊ฐ ๋ฌด์งํ ๊ด๊ณ๋ก(...) ์ด๊ฒ ํด๋ ๋๋๊ฑด์ง, ๋์์ง ์์๊ฒ์ธ์ง ์ ํํ๊ฒ ์์ง ๋ชปํฉ๋๋ค. (์ ๊ฒ ํ๋ช ํ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์ค๋ถ์ ์ฐพ์ต๋๋ค.)
์ผ๋จ ํด๋ด ๋๋ค.
sudo chmod -R 755 ํ๋ก์ ํธ์ด๋ฆ
์์ ๊ฐ์ด ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ด ๋ค์ ์ญ์ ํํ์ด์ง ๋ฉ์ธ์ ๋์จ๋๋ก ๋ฐ๋ผํ ๊ฑด๋ฐ์,
cd ํ๋ก์ ํธ์ด๋ฆ
php -S 0.0.0.0:8080 -t public public/index.php
์ด๋ ๊ฒ ๋ฐ๋ผํด๋ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ API์๋ฒ์ ์ฃผ์์ 8080ํฌํธ๋ฅผ ๋ถ์ฌ์ ์ ์ํด๋ด ๋๋ค. ์๋์. ์์ฃผ์์ฃผ ๋ง์กฑ์ค๋ฝ๊ฒ ์ด์๊ฒ ๋์์ค์ ๊ณ ๋ง๋ค์.
8080ํฌํธ๋ฅผ 80 ๋๋ 443์ผ๋ก ๋ฐ๊ฟ๋ณด๊ณ ์ถ์ง๋ง ๊ทธ๊ฑด ๋์ค์ ํด๋ณผ๋์.
์ผ๋จ route๋ฅผ ๋ค๋ค๋ณด๊ณ ์ถ์ด์. ์๋๋ฉด ๋ญ๋ ์ฐ๊ฒฐ์ด ๋์ด์ ๊ฒฐ๊ณผ๊ฐ์ด ๋์ ๋ณด์ฌ์ผ ์ ์์์์์์!
๊ทธ๋ฌ๋ฏ๋ก
ํ๋ก์ ํธ๊ฒฝ๋ก/src/routes.php
ํ์ผ์ ๋ค์ฌ๋ค ๋ณด๊ฒ๋๋ฉด ๋ผ์ฐํ ๊ด๋ จ ์ค์ ๋ค์ด ์์ด์! ์ง๊ธ์ ๋ญ๊ฐ๊ฐ ์ ํ์์ง๋ง ์ ๋ ์ ๊ฐ ์์๋ณผ์ ์๋๊ฒ๋ง ์จ๋ณผ๊ฑฐ์์.
๊ธฐ์กด์ ์ ํ์๋ ์์ค๋ฅผ ์์ฃผ์์ฃผ ์กฐ๊ธ๋ง ๋ฐ๊ฟ์ ์๋ํ๋์ง ํ์ธํด ๋ณผ๊ฑด๋ฐ์, ์ ๋ ์๋์ฒ๋ผ ํด๋ดค์ด์
$app->get('/test', function ($request, $response, $args) {
ย ย $this->logger->info("Slim-Skeleton '/' route"); ย ย // ์๋ง ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋ ์น๊ตฌ๊ฒ ์ฃ .
ย ย return $this->renderer->render($response, 'index.phtml', $args);
});
Bold์ฒ๋ฆฌ๋ ๋ถ๋ถ๋ง ๋ฐ๊ฟ๋ณด์๋๋ฐ์, logger๋ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋ ํจ์๋ค์ด ์๋๊ฒ๊ฐ์์. ๊ทธ๋ฆฌ๊ณ renderer๋ ๋ง ๊ทธ๋๋ก ๋ ๋๋งํ ๋ ๋์์ ์ฃผ๋ ํจ์๊ฐ ์๋ ์น๊ตฌ๊ฐ ์๋๊น ์ถ์ด์.
๊ทธ๋ฆฌ๊ณ return๊ฐ์ ์๋ง ํ ํ๋ฆฟํ์ผ์ ๋ถ๋ฌ์์ phpํ์ผ์ ์ ๋นํ ์ฒ๋ฆฌํด์ฃผ๊ฒ ์ฃ ? ์์ธํ๊ฑด ์ ํํ ๋ ๋ฌป์ง๋ง์..(์์ธํ ์์๋๋ถ์ ๋งํด์ฃผ์๋ฉด ๋์!! ํ์)
๊ทธ๋ฆฌ๊ณ ์ ๋ผ์ฐํ ์ ์ฌ๋ฌ๊ฐ ํ๋ ๋ฐฉ๋ฒ์ด ๋จ์ํ๊ฒ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋๋๊ฑด์ง ๊ถ๊ธํด์ ์๋ํด ๋ณผ๊ฑฐ์์.
์ ๋๋ค! ์ญ์ ๋๋๊ตฐ์
$app->get('/member/login/{id}/{passwd}', function ($request, $response, $args) {
ย ย $this->logger->info(โTEST '/member/login' route");
ย ย print_r($args);
});
print_rํจ์๋ฅผ ์ฐ๊ฑฐ๋ echo๋ก ๋ณด์ฌ์ค๋ ์ ๋์ค๋๋ผ๊ณ ์. ๊ทธ๋์ $args๋ณ์์ ๋ญ๊ฐ์๋์ง ๊ถ๊ธํด์ ํ์ธํด๋ณด๋๋ผ ์ ๋ ๊ฒ ๋ฐ๊ฟ๋ณด์์ด์.. ($request๋ $respone๋ ํ์ธํด๋ดค์ง๋ง์)
ํ๋ผ๋ฉํฐ์ []์ ๊ฐ์ธ๋ฉด ์ต์ ์ผ๋ก ๋ฐ์์ ์๋๊ฑด์ค ์์๋๋ฐ ๊ทธ๊ฑด ๋ฑํ ์๋๊ฐ๋ด์...... ์ฌํ๋ค..
๊ทธ๋ฐ๋ฐ! ์ ๊ฐ ์๋ชปํ๋๊ฒ์ด์์ด์!
์ ๋
$app->get('/member/login/[{id}]/[{passwd}]', function ($request, $response, $args) {
ย ย $this->logger->info("Bacving-API '/member/login' route");
ย ย print_r($args);
});
์ ๊ฐ์ด id, passwd ๋๋ค ์ต์ ์ผ๋ก ๋ฐ์ผ๋ ค๊ณ ํ์์ง๋ง ์ฌ์ค์ ๋งจ ๋ค์ ์ธ์๊ฐ๋ง ์ต์ ์ผ๋ก ๊ฐ๋ฅํ๊ฒ ๊ฐ์์.
$app->get('/member/login/{id}/[{passwd}]', function ($request, $response, $args) {
ย ย $this->logger->info("Bacving-API '/member/login' route");
ย ย print_r($args);
});
์ฒ๋ผ ํ๋๊น ์์ฃผ ์ ๋๋๊ตฐ์.
์๋ฌด๋๋ ๋ก๊ทธ์ธ ๋ฐฉ์์ ์ด๊ฒ ๋ง์ง ์์๊ฐ ์ถ์ด์. ์ฐ์ ์ ์ผ๋ก RESTful์ ๋ํด ์ ํํ ์์๋ณด๊ณ ์์ผ๊ฒ ์ด์.
์ผ๋จ ๋ผ์ฐํ ์ ์์ฃผ์์ฃผ ์ฝ๊ฐ๋ง ๋ค๋ค๋ณด์์ด์.
์ด๊ฒ๋ง ํด๋ jsonํ์์ผ๋ก ๋๊ฒจ์ฃผ๊ธฐ ์์ฃผ ๋ฑ ์ข์ ๋์ด๋๋ค์.
๊ทธ๋ผ RESTful์ ๋ํด ์์๋ณด๊ณ ๋ค์ ๋ง๋์!
[์คํํธ์ ์ด์ผ๊ธฐ] ๋จผ๋ฐ์ด์นํจ ์ฒซ ์ํฌ์ต
์ผ์ : 2016๋ 1์ 9์ผ ~ 2016๋ 1์ 10์ผ
์ฅ์ : Airbnb(Deluxe C+Single B), ์์ธ์ญ ๋ถ๊ทผ
๋ชฉ์ : ์ ์๋น์ค ๊ธฐํ์ ์ํ ์์ด๋์ดํค , ๊ธฐ์กด ์ ์ ์๋น์ค ์งํ ๋ฐฉํฅ ์ฌ ์ค์ , ์น๋ชฉ ๋๋ชจ
์๋ ํ์ธ์. Kent ์ ๋๋ค.
๋ค๋ฆ๊ฒ ๋จผ๋ฐ์ด์นํจ ๊ณต์ ๋ธ๋ก๊ทธ๋ฅผ ๊ฐ์คํ๊ฒ ๋์ด ๊ณผ๊ฑฐ์ ์ผ์ ๋ค์ ์ ์ผ๋ ค๋ ์ ๋ ์ค๋ฅด์ง ์์ง๋ง ๊ธฐ์ต์ ๋์๊ฒจ ์ ์ด๋ด ๋๋ค.
2016๋ 1์ ์ ํฌ๋ ์ ์์ฝ์ ๊ธฐ์ ๋ ๋ชฉ์ ์ ๋ฌ์ฑํ๊ธฐ ์ํ์ฌ ๋จผ๋ฐ์ด์นํจ ์ค๋ฆฝ ์ดํ ์ฒซ๋ฒ์งธ ์ํฌ์ต์ ๊ฐ์ง๊ฒ ๋์์ต๋๋ค. ์ฌ์ค 2015๋ 12์ ์ค ๊ฐ์๋์์ ์ํฌ์ต์ ๊ฐ์ตํ ์์ ์ด์์ผ๋ ์ฌ์ ์ ์ํฌ์ต์ด ์ทจ์๋์์ต๋๋ค.
์ ํฌ๋ ๋ชจ๋ ์์ธ์ญ์์ ๋ง๋ Airbnb๋ก ๋ฏธ๋ฆฌ ์์ฝํด๋ Tuyosi๋์ ์์๋ก ํฅํ์์ต๋๋ค.
์น์ ํ๊ฒ ๋ง์์ฃผ์๋ ํธ์คํธ๋์ ํตํด ์๊ฐ๋ฐ์ ๋ฐฉ์ผ๋ก ๋ค์ด๊ฐ ์ ํฌ๋ ๋ชจ๋ ์ง์ ํ๊ณ ๋ชจ๋ ์ฝ์์ด๋ผ๋ ํ ๋ฏ์ด ๊ฐ์์ ์นจ๋๋ก ํฅํ์ต๋๋ค.
์์ ๋ ์ผ์ ์ด ์์์ง๋ง ์กฐ๊ธ ์ฌ์๋ค๊ฐ ์ฅ์ ๋ณด๊ณ ์์ ์์ํ๊ธฐ๋ก ์ฝ์์ ํ๊ณ ์ ํฌ๋ ๊ฐ์๋๋ก์ ํด์์๊ฐ์ ๊ฐ์ก์ต๋๋ค.
ํด์์ดํ ์ ํฌ๋ ์ ๋ ์์ฌ๊ฑฐ๋ฆฌ์ ์์ฝ์ฌ ํ์์ ์ํ ์ ์ ๊ตฌ์ ํ๊ธฐ ์ํ์ฌ ์์ธ์ญ ๋กฏ๋ฐ๋งํธ๋ก ํฅํ์์ต๋๋ค.
๋กฏ๋ฐ๋งํธ์์ ์ฌ์จ ์ฌ๋ฌ๊ฐ์ง ๋จน๊ฑฐ๋ฆฌ๋ก ๊ฐ๋จํ๊ฒ ์ ๋ ์์ฌ๋ฅผ ํ ํ ์ ํฌ๋ ์๋ก์ด ์๋น์ค ๊ธฐํ์ ์ํ์ฌ ๊ฐ์ ์ค๋นํด์จ ์์ด๋์ด๋ฅผ ๊ฐ์ง๊ณ ์์ด๋์ดํค์ ์งํํ์์ต๋๋ค.
์ฒซ๋ฒ์งธ ๋ฐํ์์ธ Jay๋ ๊ป์๋ ๊ทธ๋ฃน ํน์ฑ์ ๊ฐ์ฅ ์ต์ ํ ๋ ๋ ๊ณณ ์ถ์ฒ ์๋น์ค์ ๋ํด ๋ฐํํ์ จ์ต๋๋ค. ์ธํฐ๋ท์์ย โ๋ง์งโ์ ๊ฒ์ํ๋ฉด ์๋ง์ ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋๋ฐย โ๋ ๊ณณโ ์ด๋ผ๊ณ ๊ฒ์์ ํ๋ฉด ๊ฒฐ๊ณผ์ ์์ด ์ ์ ๋ฟ๋ง ์๋๋ผ ๋ด์ฉ ๋ํ ๋ถ์คํ๋ค๋ ์ ์์ ๋ ์ฌ๋ฆฐ ์์ด๋์ด๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ๋ก ์ค๋นํด์ค์ ๊ฒ์ ํ์ฌ ๋ค์ ๋ถ๋นํ๊ฒ ์ด์๋๊ณ ์๋ ์๋ ๋๋ณด๋ฏธ(๋ฒ ์ด๋น์ํฐ) ๊ตฌ์ธ ๊ตฌ์ง ์๋น์ค์ ๋ํ ๊ฐ์ ์์ ์ ์ํ์ จ์ต๋๋ค.
๋๋ฒ์งธ ๋ฐํ์์ธ Selen๋ ๊ป์๋ ์ ๊ฒฌ์ ์ด์ ์ ๋ ๋งค์นญ ์๋น์ค๋ฅผ ๋ฐํํ์ จ์ต๋๋ค.์๋น์ค ํต์ฌ์ ์ ๊ฒฌ๋ค์๊ฒ ํจ๊ป ๋ ๋๋ค ์น๊ตฌ ํน์ ์ง์ง๊ธฐ ์๋๋ฅผ ์ฐพ์์ฃผ๋ ๊ฒ์ด์์ต๋๋ค. ๊ธฐ์กด ์ฌ๋์๋ง ๋ง์ถ์ด์ง ๋งค์นญ ์๋น์ค๋ฅผ ์ ์ ํ๊ฒ ํ์ฉํ ์์๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค.
๋ง์ง๋ง ๋ฐํ์์ธ ์ (Kent)๋ ์ฌ์ฉ์๊ฐ ์ง์ ์ฌํ์ ํธ์คํธ๊ฐ ๋์ด ์ฌํ์ ์ด์ฉํ๊ณ ์์ต์ ์ฐฝ์ถํ ์ ์๋๋ก ํ๋ ์ฌํ ๊ณต์ ์๋น์ค๋ฅผ ๋ฐํํ์ต๋๋ค.
* ๋ฐํ ์๋ฃ ๋งํฌ :ย http://www.slideshare.net/ssusercb9b8f/ss-58205437
์ด๋ ๊ฒ ๊ฐ์ ์ค๋นํด์จ ๊ธฐํ์๋ค์ ๋ชจ๋ ๋ฐํํ๊ณ ์๋ก์ ์์ด๋์ด์ ๋ํ ์ด๋ค ํ ์๊ฐ ์ด๋ฃจ์ด์ก์ต๋๋ค. ๋๋ฌด ๋ง์ ์ด์ผ๊ธฐ๊ฐ ์ด๋ฃจ์ด์ ธ ๋ค ๊ธฐ์ ํ๊ธฐ๊ฐ ํ๋๋ค์..
ํ ์ ์ดํ ์ ํฌ๋ ํ์ ํ์ง ๋ชปํ๋ ์ด์ผ๊ธฐ๋ฅผ ๋๋๊ธฐ ์ํด ์ฝ๋ฌผ ์ ์ ๋์์ ๋ฐ์ ์ด์ผ๊ธฐ๋ฅผ ๋๋๊ธฐ ์์ํ์์ต๋๋ค.
๊ทธ๋ ๊ฒ ํ๋ณ์ ๋ค ๋ง์๊ณ ๋์์ผ ์ํฌ์ต์ ๊ธฐ๋ ํ ์ฌ์ง์ ์ฐ์ง์์๋จ ๊ฒ์ ๊นจ๋ซ๊ฒ ๋์์ต๋๋ค..
๋จ์ 3๋ช ๊ทธ๊ฒ๋ ์ ๋ถ ๊ฐ๋ฐ์์ด๋ค ๋ณด๋ ์ ์นด์ ์ต์ํ์ง ๋ชปํ์ฌ ๋ฐ์ํ ์ค์์ธ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋์ ๋ค๋ฆ๊ฒ ์ ์์ ์๋์ง๋ง ๊ธฐ๋ ์ ํ ์ ์นด๋ฅผ ํ์ฅ ๋จ๊ฒผ์ต๋๋ค.
์ด๋ ๊ฒ ์ ํฌ ๋จผ๋ฐ์ด์นํจ์ ์ฒซ๋ฒ์งธ ์ํฌ์ต์ ์ฑ๊ณต์ (?)์ผ๋ก ๋ง๋ฌด๋ฆฌ ํ์์ต๋๋ค.
๊ธฐ๋ ํ ์ฌ์ง์ ์์ฐ์ ๊ฒ๋ง ๋นผ๋ฉด..
์ฒซ ์ํฌ์ต์ ํตํด ์ ํฌ๋ ์์ผ๋ก ๋์๊ฐ์ผํ ๋ฐฉํฅ์ ์ค์ ํ๋๋ฐ ๋ง์ ๋์์ ๋ฐ์๊ณ ๋ค์๋ถํฐ๋ ๋ถ๋ ์ํฌ์ต์ ๊ธฐ๋ ํ๋ ์ฌ์ง์ ์ฐ์ด์ผ๊ฒ ๋ค๋ ๋ค์ง์ ํ๊ฒ๋์์ต๋๋ค.
P.s ํ๋ ฅ์ด ๋ง์ด ๋ถ์กฑํ์ง๋ง ์ํฌ์ต์ ๊ธฐ๋ ํ๊ธฐ ์ํ์ฌ ์ด๋ ๊ฒ ๊ธ์ ๋จ๊ฒผ๋๋ฐ ์ญ์ ๊ธ์ฐ๋๊ฒ ์ฝ์ง๊ฐ ์๋ค์. ๋ง์ ์๊ฐ๋๋ค์๊ฒ ๊ฒฝ์๋ฅผ ํํฉ๋๋ค.