Skip to content

Instantly share code, notes, and snippets.

View appkr's full-sized avatar
๐ŸŽฏ
Focusing

appkr appkr

๐ŸŽฏ
Focusing
View GitHub Profile
@appkr
appkr / tcpdump.md
Last active July 9, 2018 06:37
Tcpdump
$ sudo tcpdump \
    -nn \
    -vvv \
    -A \
    -G 3600 \
    -w /home/ec2-user/dump_%Y%m%d-%H%M%S.pcap \
    -Z ec2-user \
    host {target_host} and port {target_port}
@appkr
appkr / summary.md
Created July 11, 2018 21:50
THE REPUTATION ECONOMY

THE REPUTATION ECONOMY

"์ƒ๋Œ€๋ฐฉ์ด ๋จผ์ € ์ œ์•ˆํ•˜๋Š” ๋‚ด๊ธฐ์—๋Š” ์ ˆ๋Œ€๋กœ ์‘ํ•˜์ง€ ๋ง๋ผ"๋Š” ์กฐ์–ธ์€ ํ‰ํŒ๊ฒฝ์ œ์—์„œ๋„ ์œ ์šฉํ•˜๋‹ค. ์ด ์ „๋žต์„ ๋‹น์‹ ์˜ ํ‰ํŒ์— ์ ์šฉํ•˜๋Š” ๋ฐฉ์‹์€ ๋‘ ๊ฐ€์ง€๋‹ค. ์ฒซ์งธ, ๋‚จ๋“ค์ด ๋น„๊ต ๊ธฐ์ค€์„ ์„ ํƒํ•˜๊ฒŒ ํ•˜์ง€ ๋งˆ๋ผ. (์ค‘๋žต) ๋‘˜์งธ, ๋Œ€ํ™”๋ฅผ ์ฃผ๋„ํ•˜๊ฒŒ ๋˜๋ฉด ๋‹น์‹ ์˜ ์žฅ์ ์„ ๋ถ€๊ฐ์‹œ์ผœ๋ผ. (ํ›„๋žต)


์šฐ๋ฆฌ๋Š” ํ‰ํŒ๊ฒฝ์ œ๋ผ๋Š” ์ƒˆ๋กœ์šด ์„ธ์ƒ์— ์‚ด๊ณ  ์žˆ๋‹ค. ๋ˆˆ ๊นœ์งํ•  ์‚ฌ์ด์— ๋ช…์„ฑ์„ ์Œ“๊ณ  ๋˜ ์žƒ์–ด๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ๋Š”. ๋‹น์‹ ์˜ ์ผ๊ฑฐ์ˆ˜์ผํˆฌ์กฑ์ด ๊ณ„์‚ฐ๋˜๊ณ  ์ธก์ •๋˜๊ณ  ๋ถ„์„๋˜๋ฉฐ, ํด๋ฆญ ํ•œ ๋ฒˆ์ด๋ฉด ๋ˆ„๊ตฌ๋“  ์ด ์„ธ์ƒ ๊ฑฐ์˜ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์— ๊ด€ํ•ด ๊ฑฐ์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š” ์„ธ์ƒ์ด๋‹ค. ๋‹ค์–‘ํ•œ ์ˆ˜๋‹จ์„ ํ™œ์šฉํ•ด ๋Œ€์ค‘์˜ ์ธ์‹๊ณผ ์—ฌ๋ก ์— ์˜ํ–ฅ์„ ๋ผ์น  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ฒฐ๊ตญ ์ตœ๊ณ ์˜ ํ‰ํŒ ๊ด€๋ฆฌ ์ „๋žต์€ ๋‹น์‹ ์˜ ๊ณ ์šฉ์ฃผ์™€ ๊ณ ๊ฐ์—๊ฒŒ ๋” ๋งŽ์€ ๊ฐ€์น˜๋ฅผ ๋ถ€๊ฐ€ํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์„ ์ •๋‹นํ•˜๊ฒŒ ๋Œ€์šฐํ•˜๋ฉฐ, ์‚ฌํšŒ์ ์œผ๋กœ๋‚˜ ํ™˜๊ฒฝ์ ์œผ๋กœ ์ฑ…์ž„์„ ์ง€๋Š” ๊ฒƒ์ด๋‹ค. ๋‹น์‹ ์—๊ฒŒ ์žˆ๋Š” ๋…ํŠนํ•œ ์žฌ๋Šฅ๊ณผ ๋Šฅ๋ ฅ์„ ์•Œ๋ฆฌ๊ณ , ํ‰ํŒ ์—”์ง„์„ ์ž‘๋™์‹œํ‚ฌ ์›๋™๋ ฅ์„ ์ œ๊ณตํ•˜๊ณ , ์ž์‹ ์˜ ํ‰ํŒ์„ ์‹ ์ค‘ํ•˜๊ฒŒ ๋‹ค๋“ฌ๊ณ  ๊ตฌ์ถ•ํ•˜๋ผ.

@appkr
appkr / 480๋งŒ ํ‚ฌ๋กœ๋ฏธํ„ฐ์˜ ํ†ต๊ทผ.md
Last active July 16, 2018 00:20
๋ฐฐ์†ก์ถ”์  by ์—๋“œ์›Œ๋“œ ํ„์Šค

์Šน์šฉ์ฐจ๋Š” ๋ฌธํ™”์™€ ๊ถŒ๋ ฅ, ์ง€์œ„, ์š•๋ง, ์ด๋ฏธ์ง€ ๊ทธ๋ฆฌ๊ณ  ์Šต๊ด€์„ ๋ฐ˜์˜ํ•˜๋Š” ๋„๊ตฌ๋กœ ์ง„ํ™”ํ–ˆ๋‹ค. (...) ๋ฏฟ๊ธฐ์ง€ ์•Š๋Š” ๋Šฅ๋ ฅ์„ ์ง€๋‚œ ๋กœ๋ด‡ ๋กœ๋ฒ„๋ฅผ ํ™”์„ฑ์œผ๋กœ ๋ณด๋‚ด๊ณ , ์ •ํ™•ํ•œ GPS์นฉ์„ ํ˜ธ์ฃผ๋จธ๋‹ˆ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋‚˜๋ผ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋งค์ผ 97๋ช…์„ ์ฃฝ์ด๊ณ  ๋งค๋ถ„ 8๋ช…์„ ๋‹ค์น˜๊ฒŒ ํ•˜๋Š” 2ํ†ค์งœ๋ฆฌ ๊ธˆ์† ์ƒ์ž์— ์ผํ„ฐ๋กœ ์‚ฌ๋žŒ์„ ์˜ฎ๊ธฐ๋Š” ์ผ์„ ๋งก๊ธธ๊นŒ? ์ž๋™์ฐจ๋Š” ๋ฏธ๊ตญ ๊ฐ€์ •์ด ์ง‘ ๋‹ค์Œ์œผ๋กœ ๊ฐ€์žฅ ํฐ ๋ˆ์„ ๋“ค์ด๊ณ , ์—๋„ˆ์ง€๋ฅผ ๊ฐ€์žฅ ๋น„ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , 39์„ธ ๋ฏธ๋งŒ ๋ฏธ๊ตญ์ธ์˜ ์‚ฌ๋ง ์›์ธ 1์œ„์ด๋ฉฐ, ์ง€๊ธˆ๊นŒ์ง€ ๊ฐ€์žฅ ๋น„์ƒ์‚ฐ์ ์ธ ํˆฌ์ž์˜ ๋Œ€์ƒ์ด๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ž๋™์ฐจ๋Š” ํ•˜๋ฃจ์— 22์‹œ๊ฐ„ ๋™์•ˆ ๊ทธ๋ƒฅ ์„œ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ๋„ ๋ฏธ๊ตญ์ธ์€ ์ด ํŠน๊ถŒ์„ ๋ˆ„๋ฆฌ๋ ค๊ณ  ์—ฐ๋ฃŒ๋น„์™€ ๋ณด์œ ๋น„ ๊ทธ๋ฆฌ๊ณ  ์šด์šฉ๋น„๋กœ 1๋‹ฌ์— ํ‰๊ท  1049๋‹ฌ๋Ÿฌ๋ฅผ ๋“ค์ธ๋‹ค. (๋ฏธ๊ตญ์˜ ์ฐจ๋Ÿ‰ ๋Œ€์ˆ˜ 265๋ฐฑ๋งŒ๋Œ€) (...) ์šฐ๋ฒ„์™€ ๋ฆฌํ”„ํŠธ ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์นดํ’€ ์„œ๋น„์Šค์— ์ฐจ๋Ÿ‰์ด 1๋Œ€ ์ถ”๊ฐ€๋  ๋•Œ๋งˆ๋‹ค ์ž๋™์ฐจ ํŒ๋งค๋Ÿ‰์ด 32๋Œ€๋‚˜ ์ค„์–ด๋“ ๋‹ค. (...) ์šฐ๋ฆฌ๋Š” ํŽธ์˜์„ฑ์˜ ๋Œ€๊ฐ€๋กœ ๊ฒฝ์ œ์„ฑ, ํ™˜๊ฒฝ, ์—๋„ˆ์ง€, ํšจ์œจ์„ฑ, ๊ธฐํ›„, ๊ฑด๊ฐ•, ์•ˆ์ „ ์ธก๋ฉด์—์„œ ๊ตด๋Ÿฌ๋‹ค๋‹ˆ๋Š” ์žฌ์•™์ด๋‚˜ ๋‹ค๋ฅผ ๋ฐ” ์—†๋Š” ๋Œ€์ƒ์„ ๋ฐ›์•„๋“ค์—ฌ์•ผ ํ•œ๋‹ค.

์„์œ ์˜ ๊ธธ - ์ˆ˜์—์ฆˆ ์šดํ•˜, ํŒŒ๋‚˜๋งˆ ์šดํ•˜

@appkr
appkr / yark-shaving.md
Last active November 9, 2020 04:45
๋Ÿฌ์‹œ์•„ ํŽ˜์ธํŠธ๊ณต, ๋งˆ์„ธ๋ผํ‹ฐ, ์•ผํฌ ํ„ธ๊น๊ธฐ

๋Ÿฌ์‹œ์•„ ํŽ˜์ธํŠธ๊ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํŽ˜์ธํŠธ๊ณต์ด ์ฒซ๋‚ ์€ ์ฐจ์„  ํŽ˜์ธํŠธ ์ž‘์—…์„ 300์•ผ๋“œ ์น ํ•จ ๋‘˜์งธ ๋‚ ์€ 150์•ผ๋“œ ์น ํ•จ ์…‹์งธ ๋‚ ์€ 30์•ผ๋“œ ์น ํ•จ ์ฒซ ๋‚ ์€ ์–ด๋–ป๊ฒŒ 10๋ฐฐ๋ฅผ ์น ํ–ˆ๋Š”์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ๋ฌป์ž ์ €๋„ ์–ด์ฉ” ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋งค์ผ ํŽ˜์ธํŠธ ํ†ต์—์„œ ์ ์  ๋ฉ€์–ด์ง€๋‹ˆ๊นŒ์š”

  • "์กฐ์—˜ ์˜จ ์†Œํ”„ํŠธ์›จ์–ด" by ์กฐ์—˜์Šคํด์Šคํ‚ค(์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ, ํŠธ๋ ๋กœ ์ฐฝ์—…์ž)

Symfony is all about Journey from Request to Response

  • Chris from CodeReviewVideos

Ide plugins to install

  • Symfony
  • PHP Annotations
  • PHP Toolbox

Create project

@appkr
appkr / ab.md
Last active October 20, 2018 01:00
How to use Apache Bench

Note use 127.0.0.1 instead of localhost in MacOS

HTTP GET test

$ ab -v 3 -c 5 -n 100 -l -H "Authorization: Bearer {access_token}" {api_endpoint}

-v: Verborsity
-c 5: Concurrency. 5 requests at a time
-n 100: 100 requests for this test session
@appkr
appkr / csv_file_reader.php
Created October 19, 2018 14:12
Read csv file with PHP generator
<?php
function get_rows($file)
{
$handle = fopen($file, 'rb');
if ($handle === false) {
throw new Exception();
}
while (feof($handle) === false) {
@appkr
appkr / closure.md
Last active December 18, 2018 04:49
How to bind "this" to PHP Closure

Closure.call()

<?php

class Foo
{
    private $greeting;

    public function greet(callable $callback)
@appkr
appkr / apache_mpm_prefork.md
Last active July 24, 2019 02:16
What is Apache mpm prefork

Terminology

  • MPM: Multi Processing Module
  • Prefork: Forking process in advance (like pool)

Test

test under Apache2.4 on Ubuntu

# on terminal session #1
@appkr
appkr / linux_provisioning.md
Last active October 21, 2018 03:00
Linux provisioning cheatsheet
ย  Ubuntu CentOs
Add Locale locale-gen en_US.UTF-8;
update-locale LANG=en_US.UTF-8
??
Create User adduser {user_name};
OR
adduser {user_name} -g {group_name} -m;
passwd {password}
adduser {user_name};
passwd {password}
Add to a Group usermod -a -G {group_name} {user_name} usermod -a -G {group_name} {user_name}
Restart sshd sudo service ssh restart sudo systemctl restart sshd.service
Register Private Repo sudo apt-get isntall python-software-repositories;
sudo add-apt-repository {repository}
sudo rpm -Uvh {repository};
Install Package sudo apt-get install {package_name} sudo yum install [--enablerepo=epel,remi] {package_name}
Cleanup Package Cache apt-get clean && rm -rf /var/lib/apt/lists/* yum clean all
Stream Editor sed -i "s/{search_regex}/{replace}/{regex_modifier}" {file_path} same as Ubuntu