GithubHelp home page GithubHelp logo

greatsumini / greatsumini.github.io Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 52.3 MB

my blog ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป

Home Page: https://sumini.dev

License: BSD Zero Clause License

JavaScript 12.42% TypeScript 72.02% CSS 15.47% HTML 0.09%
gatsby typescript react styled-components google-analytics github-actions gh-pages

greatsumini.github.io's People

Contributors

greatsumini avatar renovate-bot avatar renovate[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

greatsumini.github.io's Issues

[์ถ”๊ฐ€] sumini.dev ๋„๋ฉ”์ธ ์—ฐ๊ฒฐํ•˜๊ธฐ

๋ฌธ์ œ์  (์„ ํƒ)
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

ํ•ด๊ฒฐ์ฑ…
A clear and concise description of what you want to happen.

๋‹ค๋ฅธ ํ•ด๊ฒฐ์ฑ… (์„ ํƒ)
A clear and concise description of any alternative solutions or features you've considered.

์ถ”๊ฐ€ ์„ค๋ช…
Add any other context or screenshots about the feature request here. (๋ ˆํผ๋Ÿฐ์Šค ๋“ฑ)

[์ž‘์„ฑ] Figma์—์„œ SVG ์ถ”์ถœํ•˜๋Š”๋ฒ•

๋‚ด์šฉ
1 ์ถ”์ถœํ•˜๊ณ ํ•˜์žํ•˜๋Š” ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅธ๋‹ค
2 ์šฐ์ธก ๋„๊ตฌ๋ชจ์Œ ํ•˜๋‹จ export๋ฅผ ๋ˆ„๋ฅธ๋‹ค
3 ์˜ต์…˜์„ svg๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค
4 ๋‹ค์šด ํ›„ ์ฝ”๋“œ๊ฐ€ ๊ธธ๊ฑฐ๋‚˜ ๋”๋Ÿฝ๋‹ค๋ฉด https://jakearchibald.github.io/svgomg/ ์‚ฌ์ดํŠธ๋กœ ๋“ค์–ด๊ฐ€์„œ ๋ฐ›์€ svg๋ฅผ ๋“œ๋กญํ•œ๋‹ค
5 ์˜ต์…˜๊ฐ’์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งž์ถ”๊ณ  ์žฌ๋‹ค์šดํ•œ๋‹ค

์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท 2020-09-11 ์˜คํ›„ 1 27 47
์Šคํฌ๋ฆฐ์ƒท 2020-09-11 ์˜คํ›„ 1 27 55
์Šคํฌ๋ฆฐ์ƒท 2020-09-11 ์˜คํ›„ 1 28 03
์Šคํฌ๋ฆฐ์ƒท 2020-09-11 ์˜คํ›„ 1 28 47
์Šคํฌ๋ฆฐ์ƒท 2020-09-11 ์˜คํ›„ 1 29 22

[์ถ”๊ฐ€] Projects ํŽ˜์ด์ง€

๊ณ ๋ ค์‚ฌํ•ญ

  1. templates/blog-project๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  2. posts์™€ projects๋Š” ์„œ๋กœ previous, next๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ด๋ฅผ ์œ„ํ•ด gatsby-node์—์„œ posts, projects๋ฅผ ๋ถ„๋ฆฌํ•œ ํ›„ ๊ฐ๊ฐ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค.

์ถ”๊ฐ€
posts page์—์„œ edges์™€ tags ๋ชจ๋‘ posts๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ allMarkdownRemark์— category filtering์„ ์ถ”๊ฐ€ํ•ด์•ผํ•จ

[์ž‘์„ฑ] React+Typescript ์ ˆ๋Œ€๊ฒฝ๋กœ import ์„ค์ •ํ•˜๋Š” ๋ฒ•

์„ค๋ช…
์ •ํ™•ํ•œ ๋ช…์นญ์€ custom path mapping.
์‚ฌ์‹ค ๋ชจ๋“  typescript ํ”„๋กœ์ ํŠธ์— ์ ์šฉ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ œ๋ชฉ์— React๋ฅผ ์“ฐ๋Š”๊ฒŒ ์œ ์ž…๋ฅ ์ด ์ข‹์„๋“ฏ
์ด๊ฑฐ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์€๊ทผ ์•ˆ ๋‚˜์˜ด

์ฐธ๊ณ ๋งํฌ

  1. https://www.notion.so/sumins/Absolute-import-fbc4ad24b0694c76b4ee76b130ded1c4

[์ถ”๊ฐ€] ๋ชจ๋ฐ”์ผ์šฉ ๋ฉ”๋‰ด ์ถ”๊ฐ€

  1. ํ–„๋ฒ„๊ฑฐ ๋ˆŒ๋Ÿฌ์„œ ์—ด๋ฆฌ๊ฒŒ
  2. transition ์ ์šฉ, background dark overlay
  3. ๋ฐฐ๊ฒฝ ๋ˆ„๋ฅด๋ฉด ๋‹ซํžˆ๊ฒŒ
  4. ์ผ๋‹จ์€ ์•„์ฝ”๋””์–ธ๋ง๊ณ  ๊ทธ๋ƒฅ ์นดํ…Œ๊ณ ๋ฆฌ ๋ฆฌ์ŠคํŠธ (HOME, POSTS, PROJECTS)

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • fix(deps): update dependency gatsby to v4.25.8
  • chore(deps): update dependency eslint to v8.57.0
  • chore(deps): update dependency eslint-config-prettier to v9.1.0
  • chore(deps): update dependency eslint-plugin-prettier to v5.1.3
  • chore(deps): update dependency eslint-plugin-react to v7.34.1
  • chore(deps): update dependency prettier to v3.2.5
  • chore(deps): update dependency typescript to v5.4.5
  • fix(deps): update dependency moment to v2.30.1
  • fix(deps): update react monorepo to v18.3.1 (react, react-dom)
  • chore(deps): update actions/cache action to v4
  • chore(deps): update actions/checkout action to v4
  • chore(deps): update actions/setup-node action to v4
  • chore(deps): update dependency eslint to v9
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/cd.yml
  • actions/checkout v3
  • actions/setup-node v3
  • actions/cache v3
  • JamesIves/github-pages-deploy-action v4.4.1
.github/workflows/ci.yml
  • actions/checkout v3
  • actions/setup-node v3
  • actions/cache v3
npm
package.json
  • babel-plugin-styled-components 2.0.7
  • disqus-react 1.1.5
  • dotenv 16.0.3
  • gatsby 4.25.7
  • gatsby-image 3.11.0
  • gatsby-plugin-canonical-urls 4.25.0
  • gatsby-plugin-feed 4.25.0
  • gatsby-plugin-google-analytics 4.25.0
  • gatsby-plugin-image 2.25.0
  • gatsby-plugin-manifest 4.25.0
  • gatsby-plugin-offline 5.25.0
  • gatsby-plugin-react-helmet 5.25.0
  • gatsby-plugin-resolve-src 2.1.0
  • gatsby-plugin-sharp 4.25.1
  • gatsby-plugin-sitemap 5.25.0
  • gatsby-plugin-styled-components 5.25.0
  • gatsby-plugin-typescript 4.25.0
  • gatsby-plugin-typography 4.25.0
  • gatsby-remark-autolink-headers 5.25.0
  • gatsby-remark-copy-linked-files 5.25.0
  • gatsby-remark-images 6.25.0
  • gatsby-remark-prismjs 6.25.0
  • gatsby-remark-relative-images 2.0.2
  • gatsby-remark-responsive-iframe 5.25.0
  • gatsby-remark-smartypants 5.25.0
  • gatsby-source-filesystem 4.25.0
  • gatsby-transformer-remark 5.25.1
  • gatsby-transformer-sharp 4.25.0
  • moment 2.29.4
  • prismjs 1.29.0
  • react 18.2.0
  • react-adsense 0.1.0
  • react-dom 18.2.0
  • react-helmet 6.1.0
  • react-typography 0.16.20
  • styled-components 5.3.10
  • typeface-merriweather 1.1.13
  • typeface-montserrat 1.1.13
  • typography 0.16.21
  • typography-theme-wordpress-2016 0.16.19
  • @types/styled-components 5.1.26
  • @typescript-eslint/eslint-plugin 5.62.0
  • @typescript-eslint/parser 5.62.0
  • eslint 8.46.0
  • eslint-config-prettier 9.0.0
  • eslint-plugin-prettier 5.0.0
  • eslint-plugin-react 7.33.1
  • gh-pages 5.0.0
  • prettier 3.0.1
  • typescript 5.1.6

  • Check this box to trigger a request for Renovate to run again on this repository

[์ž‘์„ฑ] zsh์—์„œ fabric ๋ช…๋ น์–ด ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•

๋‚ด์šฉ

  1. ์ฒซ ์˜ค๋ฅ˜๋ฉ”์„ธ์ง€
    zsh: command not found: fab
  2. pyenv activate ์ž…๋ ฅ์‹œ ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€
    Failed to activate virtualenv.
    Perhaps pyenv-virtualenv has not been loaded into your shell properly.
    Please restart current shell and try again.
  3. ์„ฑ๊ณต ๋ฉ”์„ธ์ง€
    โžœ pickk-biz git:(master) pyenv activate pickk-biz
    pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
    (pickk-biz) โžœ pickk-biz git:(master) fab deploy:prod
    deploy_ci started
    [localhost] local: python manage.py makemigrations --dry-run

Screen Shot 2020-09-14 at 4 29 25 PM

๋งฅ๋ฝ

์ตœ์ˆ˜๋ฏผ 4:18 PM
fab deploy๊ฐ€ ๊ทธ๋ƒฅ ํ„ฐ๋ฏธ๋„ ์—ด์–ด์„œ ํ•˜๋ฉด ์•ˆ ๋˜๋„ค์œ 

4:18
virtual env ๋•Œ๋ฌธ์ธ๊ฐ€?

ํ•œ๊ทœ์ฃผ 4:19 PM
fab deploy:prod ์š”๊ฑฐ?

์ตœ์ˆ˜๋ฏผ 4:19 PM
fab ๋ช…๋ น์–ด๋ฅผ ๋ชป ์ฐพ๋„น

4:19
์‘ ใ…‹ใ…‹

4:19
ํŒŒ์ด์ฐธ ํ„ฐ๋ฏธ๋„์—์„  ๋˜๋Š”๋ฐ

ํ•œ๊ทœ์ฃผ 4:19 PM
ํ˜น์‹œ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์–ด๋””์ ธ

์ตœ์ˆ˜๋ฏผ 4:19 PM
๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜€์Šด๋‹ค

4:19
ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ

ํ•œ๊ทœ์ฃผ 4:19 PM
pyenv activate pickk-biz ํ•ด๋ด…์‹œ๋‹น

์ตœ์ˆ˜๋ฏผ 4:19 PM
zsh: cannot find command fab ์ฒ˜๋Ÿผ
4:19
์˜ผํ‚ค
4:21
Failed to activate virtualenv.
Perhaps pyenv-virtualenv has not been loaded into your shell properly.
Please restart current shell and try again.
4:21
ํ›” ์•ˆ๋˜๋„ค์—ฌ
4:21
๊ทธ๋ƒฅ ํŒŒ์ด์ฐธ์—์„œ ํ–ˆ์Šด๋‹ค
4:21
ใ…‹ใ…‹ใ…‹

ํ•œ๊ทœ์ฃผ 4:22 PM
๊ฐ€์ƒํ™˜๊ฒฝ ์•ˆ์ผœ์ ธ์„œ๊ทธ๋Ÿฐ๊ฑฐ๊ฐ™์€๋ฐ
4:22
vi ~/.zshrc ์—์„œ
4:22
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
4:22
์ถ”๊ฐ€ํ•ด์•ผํ• ๋‘ฃ

์ตœ์ˆ˜๋ฏผ 4:24 PM
์˜ค
4:24
์„ฑ๊ณตํ–ˆ์–ด
4:24
ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ใ… 
4:24
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

[์ž‘์„ฑ] django viewset ์„ค๋ช… ๋ฐ ๊ตฌํ˜„๋ฐฉ๋ฒ•

๋‚ด์šฉ

  1. viewset์ด๋ž€? View์™€์˜ ์ฐจ์ด์ 
  2. ๋ฌด์—‡์„ ์ƒ์†ํ•  ๊ฒƒ์ธ๊ฐ€? (ModelViewSet, ViewSet, GenericViewSet, ...)
  3. ํ•„๋“œ - serializer_class, queryset (get_queryset, ..)
  4. ํ•„๋“œ - ๊ถŒํ•œ permission_classes, action_permissions
  5. ํ•„๋“œ - ํ•„ํ„ฐ filter_class, filterset_class
  6. (๋”ฐ๋กœ) rest_framework action decorator
  7. (๋”ฐ๋กœ) drf_multiple_model ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ

์ฐธ๊ณ ๋งํฌ

ํ•”๋น„์ฆˆ ํ”„๋กœ์ ํŠธ items/views

[์ž‘์„ฑ] Storybook

๋‚ด์šฉ

  • storybook์ด๋ž€? ์™œ ํ•„์š”ํ• ๊นŒ?
  • ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ• ๊นŒ?
  • ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ• ๊นŒ? - ๊นƒํ—™ํŽ˜์ด์ง€? vercel?
  • ์–ด๋–ป๊ฒŒ ๊ฒ€ํ† ํ• ๊นŒ? - Chromatic

์ฐธ๊ณ ๋งํฌ

[์ž‘์„ฑ] Django migration ๋กค๋ฐฑ, ์žฌ์ƒ์„ฑ ๋ฐฉ๋ฒ•

์ฃผ์ œ
Django migration conflict ๋‚ฌ์„ ๋•Œ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด๋ฏธ์ง€

Screen_Shot_2020-09-10_at_3 22 40_PM

์ถ”๊ฐ€์„ค๋ช…

# conflicted migration files ์‚ญ์ œ
rm 0069_add_selects_request.py
rm 0070_fix_selects_request_sns_link,content.py

# migration ๋กค๋ฐฑ ํ›„ remote ์ ์šฉ
./manage.py migrate items 0068_add_follwers_count.py
./manage.py migrate

# migration ์žฌ์ƒ์„ฑ
./manage.py makemigrations items

[์ž‘์„ฑ] SEO ๋…ํ•™

์„ค๋ช…
(์‹œ๋ฆฌ์ฆˆ๋กœ ์ž‘์„ฑํ•ด์•ผํ• ๋“ฏ)

  • semantic tag
  • link ๊ตฌ์กฐ์žก๊ธฐ
  • alt
  • robots.txt, sitemap.xml, rss.xml
  • ๋ฉ”ํƒ€์ •๋ณด + ์˜คํ”ˆ๊ทธ๋ž˜ํ”„
  • ๊ตฌ๊ธ€์„œ์น˜์ฝ˜์†”, ๋„ค์ด๋ฒ„ ์„œ์น˜์–ด๋“œ๋ฐ”์ด์ €
  • schema.org

Next.js๋ž‘ Gatsby๋ฅผ ๋”ฐ๋กœ ์ž‘์„ฑํ•ด๋„ ์ข‹๊ฒ ๋‹ค.

์ฐธ๊ณ ๋งํฌ

  1. https://khalilstemmler.com/articles/how-to-optimize-your-gatsby-blog-for-seo/
  2. https://developers.caffeina.com/how-to-get-a-100-lighthouse-score-with-nextjs-c2fa4d35a90b?gi=a5686a784d40
  3. ํ•”๋ฐ๋ธŒ๋…ธ์…˜/FRONT-END/๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™” ๋ฆฌํฌํŠธ

[์ž‘์„ฑ] ghpage google domain ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•

๋‚ด์šฉ
๋‚ด๊ฐ€ ๊ตฌ๊ธ€ ๋„๋ฉ”์ธ์„ ์„ ํƒํ•œ ์ด์œ  : ๊ณ ๋Œ€๋”” ์•„์ด๋”” ๊ธฐ์–ตํ•˜๊ธฐ ๊ท€์ฐฎ์Œ. dev ๋„๋ฉ”์ธ์ด ์‹ธ๊ณ  ๋ฉ‹์žˆ์Œ (์—ฐ12๋‹ฌ๋Ÿฌ)
๊ฑฐ์˜ ๊ณต์‹๋ฌธ์„œ ๋ฒˆ์—ญ

์ฐธ๊ณ ๋งํฌ

  1. https://docs.github.com/en/github/working-with-github-pages/managing-a-custom-domain-for-your-github-pages-site#configuring-a-records-with-your-dns-provider
  2. https://dev.to/trentyang/how-to-setup-google-domain-for-github-pages-1p58

์ด๋ฏธ์ง€

Screen Shot 2020-09-15 at 1 01 25 AM

Screen Shot 2020-09-15 at 1 00 17 AM
.

[์ž‘์„ฑ] django factory_boy ์ตœ์ ํ™” tip (stub)

๋‚ด์šฉ
๊ทธ๋ƒฅ data๋งŒ ๋งŒ๋“œ๋ ค๋Š” ๊ฑฐ๋ฉด ๊ตณ์ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ํ•„์š”๊นŒ์ง€๋Š” ์—†์œผ๋‹ˆ๊นŒ selects_request_address_factory.stub() ์„ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ค๊ณ  ๋””๋น„์— ์ €์žฅ์€ ์•ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.
.stub().dict ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ dict ํ˜•ํƒœ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ

  • (๋”ฐ๋กœ) django factory_boy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ (ํ…Œ์ŠคํŠธ)

[์ž‘์„ฑ] React ๋‹ค๊ตญ์–ด์ง€์›, i18next๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š์€ ์ด์œ 

๋‚ด์šฉ

  1. ์ƒํ™ฉ์„ค๋ช… : ๋‹ค๊ตญ์–ด๋ฅผ ์ง€์›ํ•ด์•ผํ•จ. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์•„๋ณด์ž
  2. i18next๊ฐ€ ํ•ซํ•œ๋ฐ ์ฝ”๋“œ๊ฐ€ ์™œ ์ด๋ ‡๊ฒŒ ๊ธธ์ง€??
  3. i18n์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…
  4. React์—์„  ๊ทธ๋ƒฅ Context ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚˜์„๊ฒŒ ์—†๋Š”๋“ฏ

์ฐธ๊ณ ๋งํฌ

  1. https://www.i18next.com/
  2. https://flamingotiger.github.io/frontend/react/react-i18next/
  3. https://flamingotiger.github.io/frontend/react/nextjs-i18next/

[์ž‘์„ฑ] Django model method ํ…Œ์ŠคํŠธํ•˜๊ธฐ

ํ˜•ํ˜• ์ง€๊ธˆ
3:45
์…€๋ ‰ํŠธ๋ฆฌํ€˜์ŠคํŠธ ๋ฆฌ์ŠคํŠธ ์˜ค๋”๋ง๋ณ€๊ฒฝ + ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ ๋๋‚˜๊ณ 
3:45
์Šฌ๋ž™ ๋…ธํ‹ฐ ์ž˜ ๊ฐ€๋Š”์ง€ ํ…Œ์ŠคํŠธ ํ•˜๋ ค๋Š”๋ฐ
3:45
runserverํ•ด์„œ localhost์— ๋„์›Œ์ง„๊ฑฐ gui๋กœ json์ž…๋ ฅ-postํ•˜๋Š”๊ฒŒ ์ตœ์„ ์ด์•ผ??
3:45
์•„๋‹˜ ๋” ์šฐ์•„ํ•œ๋ฐฉ๋ฒ• ์žˆ๋‚˜์š”

ํ•œ๊ทœ์ฃผ 3:46 PM
๊ทธ ์ฝ˜์†”์—์„œ selectsrequest object ๊ฐ€์ ธ์˜จ๋‹ค์Œ์—
3:46
send_slack() ํ•ด๋ณด๋ฉด ๋˜์ง€์•Š์œผ๊นŒ?? ์–ด์ œ ์–˜๊ธฐํ•œ๊ฒŒ ๊ทธ ๋ฐฉ๋ฒ•์ด์—ˆ์–ด

์ตœ์ˆ˜๋ฏผ 3:46 PM
์•„ํ•˜ ๊ทธ ์ธ์Šคํ„ด์Šค๋Š” ์–ด๋–ป๊ฒŒ ์ƒ์„ฑํ•ด??

ํ•œ๊ทœ์ฃผ 3:46 PM
๊ทธ๊ฒŒ ๋ฉ”์†Œ๋“œ ์ž์ฒด๋ฅผ ๋”ฑ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ๊ฑฐ ๊ฐ™๊ณ 

์ตœ์ˆ˜๋ฏผ 3:46 PM
SelectsRequest().send_slack() ํ•˜๋ฉด๋˜๋‚˜?
3:47
SelectsRequestModel().send_slack()

ํ•œ๊ทœ์ฃผ 3:47 PM
sr = SelectsRequest.objects.last()
sr.send_slace()
์•„์•„ ์ด๋ ‡๊ฒŒํ•˜๋ฉด๋ผ

์ตœ์ˆ˜๋ฏผ 3:47 PM
address data ์•ˆ ๋„ฃ์–ด์ค˜๋„๋ผ??
3:47
์•„ ์•„ํ•˜
3:47
๊ทธ๋Ÿผ ์ƒ์„ฑ๋œ๊ฒŒ ์žˆ๊ธดํ•ด์•ผ๊ฒ ๋„ค ๋””๋น„์—

ํ•œ๊ทœ์ฃผ 3:47 PM
(๋””๋น„์— ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋Š”์ „์ œํ•˜์—)
3:47
ใ…‡์˜น

์ตœ์ˆ˜๋ฏผ 3:47 PM
์˜คํ‚ค ใ…‹ใ…‹ใ…‹ใ…‹
3:47
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

ํ•œ๊ทœ์ฃผ 3:47 PM
ํŒฉํ† ๋ฆฌ๊ฐ™์€๊ฑฐ๋กœ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์ฃผ๋ฉด๋˜๊ฒ„์ง•
3:47
์˜ค์ผ€ ์•„๋‹ˆ๋ฉด ์ง„์งœ์šฐ์•„ํ•œ๋ฐฉ๋ฒ•์€

์ตœ์ˆ˜๋ฏผ 3:47 PM
์˜ค์ผ€์ด ์ข‹์€๊ฑฐ ๋ฐฐ์›Œ๊ฐ‘๋‹ˆ๋‹ค
3:47
์‘์‘

ํ•œ๊ทœ์ฃผ 3:47 PM
ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์งœ๋Š”๊ฑด๋ฐ
3:47
๊ทธ

์ตœ์ˆ˜๋ฏผ 3:48 PM
์‘์‘ใ…‡์œผ์‘
3:48
๊ทธ ์„ค์ •์„ ๋ฎ์–ด์จ์•ผํ•ฅํ…๋ฐ
3:48
์‹œ๊ทธ๋„ ๋ฌด์‹œํ•˜๋Š” ์„ค์ •

ํ•œ๊ทœ์ฃผ 3:51 PM
mocker ๋ผ๋Š” ๊ฐœ๋…์ด ๋‚˜์˜ค๋Š”๋ฐ ๊ทธ๊ฑด ์ด๊ฑฐ ์ฐธ๊ณ ํ•ด๋ณด๋ฉด ๋ ๊ฑฐ๊ฐ™๊ตฌ
https://docs.python.org/3/library/unittest.mock.html#patch
image.png
image.png

์ตœ์ˆ˜๋ฏผ 3:51 PM
์˜ค mock ๋ฆฌ์•กํŠธ ํ…Œ์ŠคํŠธํ• ๋•Œ๋„ ์“ฐ๋Š”๋ฐ
3:51
์˜์‚ฌํ•จ์ˆ˜ ๋งŒ๋“œ๋Š”๊ฑฐ
3:52
์•„ํ•˜ ์ €๋ ‡๊ฒŒ ํ•˜๋Š”๊ฑฐ๊ตฌ๋‚˜

ํ•œ๊ทœ์ฃผ 3:52 PM
์ด ํ…Œ์ŠคํŠธ๋Š” ๊ฒฐ๊ตญ _send_slack ๊นŒ์ง€ ํ˜ธ์ถœ์ด ์ž˜ ๋˜๋Š”์ง€ ๋ณด๋Š” ํ…Œ์ŠคํŠธ๋ผ๊ณ  ๋ณด๋ฉด๋ผ์„œ ์‹ค์ œ ์Šฌ๋ž™ api๊นŒ์ง€ ์ž˜ ํƒ€์ง€๋Š”์ง€๋Š” ํ™•์ธ ๋ชปํ•˜๋‹ˆ๊นŒ ์Šฌ๋ž™ api์—์„œ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฑฐ๋ฅด์ง„ ๋ชปํ• ๊ฑฐ์•ผ
3:52
์—‰์—‰ ๊ทธ mock์ด๋ž‘ ๊ฐœ๋… ๋˜‘๊ฐ™์„๋“ฏ

์ตœ์ˆ˜๋ฏผ 3:52 PM
์•„ํ•˜ ๊ทธ๋ ‡๋„ค ์•Œ๋ฆผ์ด ์ •๋ง๋กœ ์ž˜ ์ „์†ก๋๋Š”์ง€๋Š” ํ…Œ์ŠคํŠธ ๋ชป ํ•˜๋Š”๊ตฌ๋‚˜
3:52
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค
3:53
์•Œ๋ฆผ ์ „์†ก ํ…Œ์ŠคํŠธ๋Š” ์œ ๋‹›ํ…Œ์ŠคํŠธ ๋ฒ”์ฃผ๋ฅผ ๋ฒ—์–ด๋‚˜์„œ ์–ด์ฉ” ์ˆ˜ ์—†๋„ค ใ…‹ใ…‹
3:53
E2E๋ณด๋‹ค ํฐ ์„œ๋น„์Šค2์„œ๋น„์Šค ํ…Œ์ŠคํŠธ๋ผ

ํ•œ๊ทœ์ฃผ 3:56 PM
๊ทธ์น˜ ใ… ใ…  ๊ทธ๋ž˜์„œ send_slack์ด ์ž˜ ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์งœ๋Š” ํ…Œ์ŠคํŠธ๊ณ  ์ €๊ฑฐ๋Š”
send_slack์˜ response๋ฅผ ์ž˜ mockingํ•˜๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ๋”ฐ๋กœ ์žˆ์œผ๋ฉด ์•„์ฃผ ์ข‹์€ ์œ ๋‹›ํ…Œ์ŠคํŠธ๊ฐ€ ๋ ๋“ฏ

์ตœ์ˆ˜๋ฏผ 3:56 PM
์•„ํ•˜ ์—Œํ‚ค ๋ง‰์ค„์€ ์ดํ•ด ๋ชป ํ–ˆ๋Š”๋ฐ
3:57
์˜ค๋Š˜ ๋ฐค์— ์œ„ ๊ธ€ ์ฝ๊ณ  ํ•ด๋ณด๊ฒ ์Šด๋‹ค

ํ•œ๊ทœ์ฃผ 3:57 PM
์•„์•„ ์ •ํ™•ํžˆ๋Š” send_slack์ด ์•„๋‹ˆ๋ผ ์Šฌ๋ž™ api๋ฅผ ๋ชฉํ‚นํ•˜๋Š” ํ…Œ์ŠคํŠธ?
3:57
์˜ˆ์˜ˆ

์ตœ์ˆ˜๋ฏผ 3:58 PM
์•„ํ•˜ ์ดํ•ด๋์Šด
3:58
์˜คํ‚ค~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.