├── README.md ├── _books ├── README.md └── dev.reader.md ├── agile ├── 20201211-xp-practices.md ├── 20211220-daily-meeting.md ├── README.md ├── continuous-integration.md ├── daily-scrum.md ├── images │ └── xp-circles.jpg ├── jtbd.md ├── kanban-pull-system-a-simple-way-to-increase-efficiency.md ├── kent-beck.md ├── lean-coffee.md ├── niko-niko-calendar.md ├── pair-programming.md ├── planning-poker.md ├── product-backlog.md ├── pull-system.md ├── spotify.md ├── test-driven-development.md ├── timeboxing.md └── user-story.md ├── ai └── ethics.md ├── akka └── README.md ├── angular ├── README.md ├── ajax.md ├── quickstart.md └── router.md ├── architecture ├── README.md ├── clean-architecture.md ├── hexagonal-architecture.md ├── layered-architecture.md ├── n-tier-architecture.md └── poeaa.md ├── asciidoc └── README.md ├── asset-administration-shell └── README.md ├── aws └── README.md ├── babel └── babel-pollyfill.md ├── bitcoin ├── README.md └── atomic-swap.md ├── blockchain ├── README.md └── basic-attention-token.md ├── blog ├── 2015 │ └── 12-30-retrospective.md ├── 2016 │ ├── 03-09.md │ ├── 03-10.md │ ├── 03-13.md │ ├── 03-15.md │ ├── 03-16.md │ ├── 03-18.md │ ├── 03-21.md │ ├── 03-22.md │ ├── 04-04.md │ ├── 04-06.md │ ├── 04-11.md │ ├── 04-28.md │ ├── 04-30.md │ ├── 05-02.md │ ├── 05-06.md │ ├── 05-11.md │ ├── 05-24-flyway.md │ ├── 05-30.md │ ├── 05-31.md │ ├── 06-23.md │ ├── 07-04.md │ ├── 07-13.md │ ├── 08-01.md │ ├── 09-02.md │ └── 12-03-tdd-faq.md ├── 2018 │ ├── 12-01-adieu2018.md │ ├── 12-08-given-when-then.md │ ├── 12-16-youtube.md │ ├── 12-27-dev-reader.md │ └── 12-31-retrospective.md ├── 2019 │ ├── 08.md │ ├── 09.md │ ├── 10.md │ ├── 11.md │ ├── 12-01-mentoring.md │ ├── 12-31-retrospective.md │ ├── 12.md │ └── images │ │ ├── agilefest.jpg │ │ ├── christmas.jpg │ │ ├── dataitgirls.jpg │ │ ├── dsa.jpg │ │ ├── gilsoon.jpg │ │ ├── heyground.jpg │ │ ├── java-backend-01.jpg │ │ ├── java-backend-02.jpg │ │ ├── masocon.jpg │ │ ├── mentoring.jpg │ │ ├── microprotect-first-open.jpg │ │ ├── object.jpg │ │ └── python.jpg ├── 2020 │ ├── 01.md │ ├── 02.md │ ├── 03.md │ ├── 04.md │ ├── 05.md │ ├── 06.md │ ├── 07.md │ ├── 08.md │ ├── 09.md │ ├── 10.md │ ├── 11.md │ ├── 12-10-product-and-project.md │ ├── 12-27-microprotect-bucketlist.md │ └── 12.md ├── 2021 │ ├── 01-18-final-scene.md │ ├── 01-26-all-pages.md │ ├── 01-26-core-task.md │ ├── 01.md │ ├── 02.md │ ├── 03.md │ ├── 04.md │ ├── 05.md │ ├── 06.md │ ├── 07.md │ ├── 08.md │ ├── 09.md │ ├── 10-21-ticket.md │ ├── 10.md │ ├── 11.md │ └── 12.md ├── 2022 │ ├── 01.md │ ├── 02.md │ ├── 03.md │ ├── 04.md │ ├── 05.md │ ├── 06.md │ ├── 07.md │ ├── 08.md │ ├── 09.md │ ├── 10.md │ ├── 11.md │ └── 12.md └── README.md ├── cad └── dxf.md ├── ceph └── README.md ├── chatbot └── README.md ├── chrome └── kmdr.md ├── clean-code └── technical-debt.md ├── cli ├── browsh.md └── mosh.md ├── clickhouse └── README.md ├── clojure ├── README.md ├── atom.md ├── clear-namespace.md ├── clerk.md ├── datomic.md ├── match.md ├── string.md ├── threading-macro.md ├── unquote.md └── vector.md ├── clojurescript ├── README.md └── reagent.md ├── cloud ├── cloudflare.md └── infrastructure.md ├── cms └── README.md ├── code-review └── README.md ├── codesoom └── README.md ├── coding-interview └── README.md ├── compiler └── README.md ├── concurrency └── README.md ├── container └── README.md ├── cpp └── lambda.md ├── critical-errors └── README.md ├── crystal ├── README.md ├── database.md └── kemal.md ├── csharp └── blazor.md ├── css ├── animxyz.md ├── css-in-js.md ├── css-sprite.md ├── cursor.md ├── flexbox.md ├── flowbite.md ├── leading-trim.md ├── papercss.md ├── rem.md ├── tailwindcss.md └── vanilla-extract.md ├── customer-service └── atlassian.md ├── dataset └── README.md ├── deno ├── README.md └── jsr.md ├── design-patterns └── README.md ├── design-thinking └── README.md ├── design ├── ant-design.md ├── atomic-design.md └── design-system.md ├── devops ├── README.md ├── codesandbox.md ├── datadog.md ├── docker.md ├── facebook.md ├── gitops.md ├── hyperdx.md ├── pulumi.md ├── rundeck.md └── sentry.md ├── devrel └── README.md ├── django └── README.me ├── docker ├── amazon-ec2.md ├── bridge-network.md ├── docker-compose.md ├── docker-in-docker.md ├── java8.md ├── mac-os.md ├── mariadb.md ├── nginx.md ├── postgresql.md ├── remove-untagged-images.md ├── steve-wozniak-is-not-boring.md └── works-on-my-machine.md ├── domain-driven-design-quickly ├── README.md ├── chapter01.md ├── chapter02.md ├── chapter03.md ├── chapter04.md ├── chapter05.md └── chapter06.md ├── domain-driven-design ├── README.md ├── event-storming.md └── value-object.md ├── domain-specific-language └── README.md ├── dos └── README.md ├── duckdb └── README.md ├── electron └── README.md ├── elixir └── README.md ├── email └── README.md ├── ember └── README.md ├── envoy └── README.md ├── ethereum ├── README.md └── weth.md ├── evernote └── README.md ├── fastai └── README.md ├── feature-flag └── README.md ├── figma ├── README.md └── figjam.md ├── floc └── README.md ├── flutter └── README.md ├── font └── README.md ├── fp ├── monad.md └── y-combinator.md ├── framer └── README.md ├── fsharp ├── README.md └── bolero.md ├── gather-town └── README.md ├── gatsby ├── README.md └── telemetry.md ├── git ├── 20201202-degit.md ├── 20201203-git-2.23.md ├── README.md ├── git-flow.md ├── git-history.md ├── git-style-guide.md ├── gitbutler.md ├── github-flow.md ├── gitmessage.md ├── ignore-indent-changes.md ├── main-branch.md ├── monorepo.md └── reflog.md ├── github-copilot └── README.md ├── github ├── 20191223-github-actions-101.md ├── README.md ├── achievements.md ├── auto-merge.md ├── code-owners.md ├── delete-package.md ├── github-actions.md ├── github-pages.md ├── monkeyweb.md └── reflog.md ├── gitops └── README.md ├── golang ├── README.md ├── bufio.md ├── code-guide.md ├── dep.md ├── effective-go.md ├── ginkgo.md ├── godoc.md ├── goenv.md └── golangci.md ├── gradle ├── 20201212-build-and-run.md ├── build-init-plugin.md ├── gradle-7.md ├── jcenter.md └── up-to-date.md ├── grafana └── README.md ├── graphql ├── README.md ├── graphql-hooks.md ├── graphql-request.md ├── graphqljs.md └── urql.md ├── groovy └── metaprogramming.md ├── growth-hacking └── README.md ├── hacker └── hackers-and-painters.md ├── harbor └── README.md ├── haskell ├── README.md ├── eta.md └── frege.md ├── heroku └── README.md ├── hono └── README.md ├── html5 ├── README.md ├── dialog.md └── file-drag-and-drop.md ├── http └── 20201205-cors.md ├── identifier ├── README.md ├── tsid.md ├── ulid.md └── uuid.md ├── image └── carbon.md ├── ipad └── README.md ├── issue-tracker └── README.md ├── j ├── README.md └── random.md ├── java ├── README.md ├── books.md ├── cobertura.md ├── dozer.md ├── graalvm.md ├── intellij-idea.md ├── javadoc.md ├── mock-framework.md ├── modelmapper.md ├── sdkman.md └── stream.md ├── javascript ├── 20151227-object.md ├── 20181202-map.md ├── 20181203-reduce.md ├── 20181212-setup-javascript-project.md ├── README.md ├── array.md ├── bundlers.md ├── cli.md ├── codeceptjs.md ├── cookie.md ├── dsl.md ├── faker.md ├── game.md ├── hooks.md ├── imaskjs.md ├── immutable-array.md ├── internationalization.md ├── iot.md ├── learning-javascript-03.md ├── let.md ├── matter-js.md ├── million.md ├── number-format.md ├── pixijs.md ├── polyfill.md ├── prettier.md ├── r-assign.md ├── re-export.md ├── reflect.md ├── swiper.md ├── vscode.md ├── webmidi.md └── youtube.md ├── jdbc ├── README.md ├── jasync-sql.md ├── jdbi.md ├── jooq.md └── r2dbc.md ├── jest ├── 20201204-simple-tdd-example.md ├── README.md └── axios.md ├── jets └── README.md ├── joke └── README.md ├── jpa ├── README.md ├── cascade.md ├── embeddable.md └── osiv.md ├── kafka ├── README.md └── kafka-streams.md ├── keycloak └── README.md ├── kotlin ├── 2019-12-12-kotlinjs.md ├── README.md ├── exposed.md ├── klaxon.md └── ktor.md ├── kubernetes ├── README.md └── k3s.md ├── laravel └── README.md ├── learning ├── README.md └── programming.md ├── linux └── font.md ├── llm ├── aisuite.md ├── hallucination.md ├── n8n.md ├── openai.md └── prompt-engineering.md ├── lua └── README.md ├── mac └── README.md ├── machine-learning ├── ai-fairness-360.md ├── annotation.md ├── annt.md ├── dvc.md ├── fairml.md ├── gradio.md ├── mnist.md ├── notes-on-deformable-convolutional-networks.md ├── sagemaker.md ├── u2-net.md └── uncertainty.md ├── make └── README.md ├── management ├── 1-on-1.md ├── 20201210-product.md ├── README.md ├── gowid.md └── techie-to-tech-lead.md ├── marko ├── 20201228-setup-marko-project.md └── README.md ├── megaptera ├── 2022-11-17.md ├── 2022-11-18.md ├── 2022-11-23.md ├── 2022-11-24.md ├── 2022-11-26.md ├── 2022-11-27.md ├── 2022-11-28.md ├── 2022-11-29.md ├── 2022-12-01.md ├── 2022-12-03.md ├── 2022-12-04.md ├── 2022-12-06.md ├── 2022-12-07.md ├── 2022-12-11.md └── 2023-02-14.md ├── microservices ├── README.md ├── bff.md ├── cqrs.md └── sidecar-pattern.md ├── mise └── README.md ├── ml ├── README.md └── yeti.md ├── mlops ├── README.md ├── bentoml.md ├── kserve.md ├── made-with-ml.md └── triton.md ├── mock-api ├── README.md └── msw.md ├── multipass └── README.md ├── nestjs └── README.md ├── nextjs ├── README.md └── server-action.md ├── nft ├── README.md ├── klaytn.md └── nftls.md ├── nim ├── README.md └── karax.md ├── nodejs ├── README.md ├── fastify.md ├── fetch.md ├── memdb-json.md ├── mongoose.md ├── mysql.md ├── mysql2.md ├── nact.md ├── neutralinojs.md └── npm.md ├── ocaml └── README.md ├── oop ├── crc-card.md ├── dependency-injection.md ├── glossary.md └── ioc-container.md ├── opc └── README.md ├── openapi └── README.md ├── opentelemetry ├── README.md └── opentelemetry-python.md ├── orm ├── README.md ├── data-mapper.md ├── jooq.md ├── prisma.md └── requery.md ├── parcel └── README.md ├── pdca └── README.md ├── pg └── portone.md ├── php ├── fp-in-php.md ├── modern-php-01.md ├── modern-php-02.md ├── modern-php-03.md ├── modern-php-04.md └── modern-php.md ├── postgresql ├── README.md └── pgmq.md ├── preact └── README.md ├── programming-languages └── escript.md ├── prompt ├── powerlevel10k.md ├── pure.md └── starship.md ├── prototyping ├── README.md └── paper-prototyping.md ├── purescript └── README.md ├── python ├── 20181214-setup-python-project.md ├── 20201206-python-app-dev-in-docker-container.md ├── README.md ├── continuous-test-runner.md ├── eval.md ├── facebook.md ├── geocoder.md ├── http-status-code.md ├── list-index.md ├── metaprogramming.md ├── module-name.md ├── number-round.md ├── poetry.md ├── pyccuracy.md ├── pydantic.md ├── pyenv.md ├── pyinstaller.md ├── pyright.md ├── pytest.md ├── re-sub.md ├── rye.md ├── sanic.md ├── setup-python-project.md ├── str-join.md ├── str-split.md └── string-case-convert.md ├── pytorch ├── README.md ├── captum.md ├── pytorch-lightning.md └── timm.md ├── qrcode └── generator.md ├── rails ├── README.md ├── collection-radio-buttons.md ├── find-each.md ├── pagination.md ├── puma-dev.md ├── railsdiff.md └── testopts.md ├── react-native ├── 2020-03-16-webview-inject-javascript.md ├── README.md ├── expo.md └── mobx.md ├── react ├── 20191213-react-101.md ├── 20191214-jsx-101.md ├── 20191217-redux-101.md ├── 20230205-setup-react-project.md ├── README.md ├── blitz.md ├── chakra-ui.md ├── chart.md ├── concurrent-react.md ├── create-react-app.md ├── default-props.md ├── hooks.md ├── hookstate.md ├── hot-module-replacement.md ├── images │ └── react-is-both.png ├── infinitegrid.md ├── mantine.md ├── mdx.md ├── micro-state.md ├── mobx.md ├── next.md ├── normalizr.md ├── poemkit.md ├── react-hook-form.md ├── react-hot-loader.md ├── react-location.md ├── react-query.md ├── react-router.md ├── react-steps.md ├── react-three-fiber.md ├── recoil.md ├── redux.md ├── remix.md ├── router5.md ├── sapling.md ├── server-component.md ├── swr.md ├── tanstack-query.md ├── tanstack-router.md ├── teaful.md ├── testing.md ├── use-change.md ├── use-form.md ├── usehooks-ts.md ├── useid.md ├── useref.md ├── why-react-why-not-angular-2.md └── zustand.md ├── reactive ├── README.md └── c10k-problem.md ├── reason └── README.md ├── redis ├── README.md └── valkey.md ├── redux ├── README.md ├── easy-peasy.md ├── rematch.md └── rtk-query.md ├── remote-work └── README.md ├── rescript ├── README.md └── melange.md ├── resume └── README.md ├── retrospective ├── README.md └── three-fs.md ├── rollup └── README.md ├── rspack └── README.md ├── ruby ├── 20151201-object.md ├── 20151208-flat-map.md ├── 20151225-reduce.md ├── 20161201-edsl.md ├── 20161206-rspec-let.md ├── 20161207-metaprogramming.md ├── 20161211-nmatrix.md ├── README.md ├── chunk.md ├── each-with-object.md ├── exception.md ├── head-and-tail.md ├── httparty.md ├── keyword-arguments.md ├── nio4r.md ├── opal.md ├── partition.md ├── rubocop.md ├── ruby-3.1.md ├── ruby2js.md ├── sequel.md ├── sinatra.md ├── typeprof.md ├── unicorn.md └── vcr.md ├── rust ├── README.md └── tauri.md ├── scala ├── README.md └── replace-element-in-list.md ├── scylladb └── README.md ├── security ├── browser-fingerprinting.md ├── cors.md ├── password-length-vs-complexity.md └── sso.md ├── shapeup └── README.md ├── sicp ├── README.md └── why-mit-stopped-teaching-sicp.md ├── software-design-by-example └── README.md ├── solidity └── README.md ├── solidjs └── README.md ├── spring ├── 2019-12-04-kotlin-spring.md ├── 2019-12-05-spring-boot-2.2.md ├── 20201218-interceptor.md ├── 20201219-restdocs.md ├── README.md ├── cors.md ├── kotlin-spring.md ├── spring-boot-test.md ├── spring-native.md └── spring-web-mvc.md ├── sqlalchemy ├── README.md └── init_on_load.md ├── sqlite ├── README.md ├── litefs.md └── litestream.md ├── ssh └── README.md ├── ssl └── letsencrypt.md ├── storybook └── README.md ├── swift ├── README.md └── phone-number-kit.md ├── telegram └── python.md ├── test ├── 20201207-codeceptjs.md ├── 20201208-cypress.md ├── 20201209-testcafe.md ├── README.md ├── checkly.md ├── codeceptjs.md ├── cypress.md ├── fit.md ├── hoppscotch.md ├── insomnia.md ├── locust.md ├── playwright.md ├── puppeteer.md ├── test-pyramid.md └── testcafe.md ├── traefik └── README.md ├── twitter └── README.md ├── typescript ├── README.md ├── express.md ├── function-overloads.md ├── mock-framework.md ├── pallad.md ├── tsed.md ├── tsx.md ├── tsyringe.md ├── typed.md └── typetype.md ├── unity └── README.md ├── unreal-engine └── README.md ├── utility └── README.md ├── versioning └── README.md ├── vim ├── README.md └── block.md ├── visual-studio-code ├── README.md └── settings.md ├── visualization ├── mermaid.md └── sigmajs.md ├── vite └── README.md ├── vitest └── README.md ├── vpn ├── README.md ├── openfortivpn.md ├── pritunl.md ├── tailscale.md └── wireguard.md ├── vue ├── README.md ├── bootstrap.md ├── facebook.md ├── google-maps.md ├── vue-cli-config.md └── vuex.md ├── web-api └── README.md ├── webassembly ├── README.md └── webvm.md ├── webpack ├── README.md ├── dev-server.md ├── poi.md └── webpack-and-rollup-the-same-but-different.md ├── wiki └── README.md ├── workflow └── pyflow.md ├── working-effectively-with-legacy-code ├── README.md ├── chapter01.md ├── chapter03.md ├── chapter04.md └── chapter06.md ├── zapier └── README.md ├── zep └── README.md └── zookeeper └── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Today I Learned 2 | 3 | Influenced by https://github.com/thoughtbot/til 4 | 5 | 오타 수정 등으로 기여하시고, 6 | [Hacktoberfest](https://bit.ly/3srgTr6)에 참가하세요! 7 | -------------------------------------------------------------------------------- /agile/README.md: -------------------------------------------------------------------------------- 1 | # Agile 2 | 3 | ## Articles 4 | 5 | - [애자일은 조직마다 다 다른 모습, 한국형 애자일 모델은 없다](https://dbr.donga.com/article/view/1101/article_no/7777/ac/special) 6 | - [애자일 조직의 조건](https://hrbulletin.net/agile/%ec%95%a0%ec%9e%90%ec%9d%bc-%ec%a1%b0%ec%a7%81%ec%9d%98-%ec%a1%b0%ea%b1%b4/) 7 | - [방법론 도입이 실패하는 이유](http://agile.egloos.com/5906079) 8 | 9 | ## 애자일 안한 이야기 10 | 11 | 12 | -------------------------------------------------------------------------------- /agile/daily-scrum.md: -------------------------------------------------------------------------------- 1 | # Daily Scrum 2 | 3 | [What is a Daily Scrum?](https://www.scrum.org/resources/what-is-a-daily-scrum) 4 | 5 | [Xper:StandUpMeeting](https://web.archive.org/web/20061012045122/http://xper.org/wiki/xp/StandUpMeeting) 6 | 7 | [데일리 스크럼 : '데일리 스크럼'을 더 잘하기 위한 생각](http://thefarmersfront.github.io/blog/daily-scrum-thinking/) 8 | -------------------------------------------------------------------------------- /agile/images/xp-circles.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/agile/images/xp-circles.jpg -------------------------------------------------------------------------------- /agile/lean-coffee.md: -------------------------------------------------------------------------------- 1 | # Lean Coffee 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ## 온라인 서비스 12 | 13 | Lean Coffee Table 14 | 15 | -------------------------------------------------------------------------------- /agile/niko-niko-calendar.md: -------------------------------------------------------------------------------- 1 | # Niko-niko Calendar 2 | 3 | [How to Track the Team’s Mood with a Niko-niko Calendar](https://web.archive.org/web/20110930135137/http://agiletrail.com/2011/09/12/how-to-track-the-teams-mood-with-a-niko-niko-calendar/) 4 | 5 | ![Niko-niko Calendar](https://web.archive.org/web/20110930135137/http://agiletrail.com/wp-content/uploads/niko-niko_calendar.png) 6 | -------------------------------------------------------------------------------- /agile/product-backlog.md: -------------------------------------------------------------------------------- 1 | # Product Backlog 2 | 3 | 참고: [User Story](./user-story.md) 4 | 5 | ## DEEP 6 | 7 | [Make the Product Backlog DEEP](https://www.mountaingoatsoftware.com/blog/make-the-product-backlog-deep) 8 | 9 | - Detailed Appropriately (적절하게 구체적) 10 | - Estimated (추정됨) 11 | - Emergent (추가, 삭제 등 변경) 12 | - Prioritized (우선순위 지정됨) 13 | -------------------------------------------------------------------------------- /agile/pull-system.md: -------------------------------------------------------------------------------- 1 | # Pull System 2 | 3 | [Pull Production - Lean Enterprise Institute](https://www.lean.org/lexicon-terms/pull-production/) 4 | 5 | [What Is a Pull System? Details and Benefits](https://kanbanize.com/lean-management/pull/what-is-pull-system) 6 | 7 | [Kanban Pull System: A Simple Way to Increase Efficiency | Nave](https://getnave.com/blog/kanban-pull-system/) 8 | 9 | [Push System vs. Pull System: Adopting A Hybrid Approach To MRP | Tulip](https://tulip.co/blog/what-is-a-push-system-vs-a-pull-system/) 10 | -------------------------------------------------------------------------------- /agile/spotify.md: -------------------------------------------------------------------------------- 1 | # Spotify 2 | 3 | [Spotify의 조직 문화 - Congruent Agile](https://congruentagile.com/2013/02/27/spotify/) 4 | 5 | [The Spotify Model for Scaling Agile | Atlassian](https://www.atlassian.com/agile/agile-at-scale/spotify) 6 | 7 | ## 비판 8 | 9 | [Spotify’s Failed #SquadGoals](https://www.jeremiahlee.com/posts/failed-squad-goals/) 10 | 11 | [Spotify의 Squad 팀 모델은 실패였다 | GeekNews](https://news.hada.io/topic?id=2191) 12 | -------------------------------------------------------------------------------- /agile/timeboxing.md: -------------------------------------------------------------------------------- 1 | # Timeboxing 2 | 3 | 4 | 5 | [일주일 단위로 계획하기](https://brunch.co.kr/@davejin/80) 6 | → 스프린트를 “자이가르닉 효과”로 풀어냄. 7 | -------------------------------------------------------------------------------- /ai/ethics.md: -------------------------------------------------------------------------------- 1 | # AI 시대의 윤리 2 | 3 | ## 표절 이슈 사례 4 | 5 | 원본: 워니 - 세기말 스타트업 생존여행 \ 6 | 7 | 8 | 표절: 조곤 \ 9 | 10 | 11 | 원작자의 클레임: 12 | 13 | 14 | 잘못된 대응: 15 | 16 | 17 | 사과문: 18 | 19 | 20 | 원작자 반응: 21 | 22 | 23 | 다른 창작자의 반응: 24 | 25 | -------------------------------------------------------------------------------- /akka/README.md: -------------------------------------------------------------------------------- 1 | Akka 2 | - http://akka.io/ 3 | - https://github.com/akka/akka 4 | 5 | Zen of Akka 6 | - http://www.slideshare.net/ktoso/zen-of-akka 7 | 8 | A comparison of Akka Persistence with Eventuate 9 | - https://krasserm.github.io/2015/05/25/akka-persistence-eventuate-comparison/ 10 | -------------------------------------------------------------------------------- /angular/README.md: -------------------------------------------------------------------------------- 1 | Angular Hint - Runtime hinting for AngularJS. 2 | - https://github.com/angular/angular-hint 3 | 4 | Angular 2 Preparation 5 | - http://www.hirez.io/c/angular-2-preparation/e/episode-1-code-structure-comparison 6 | 7 | AngularJS Batarang - AngularJS WebInspector Extension for Chrome 8 | - https://github.com/angular/batarang 9 | 10 | preboot - Control server-rendered page before client-side web app loads. 11 | - https://github.com/angular/universal/tree/master/modules/preboot 12 | -------------------------------------------------------------------------------- /angular/ajax.md: -------------------------------------------------------------------------------- 1 | # Ajax 2 | 3 | Http Client 4 | - https://angular.io/docs/ts/latest/guide/server-communication.html 5 | - https://github.com/angular/angular/blob/master/modules/angular2/http.ts 6 | 7 | ```html 8 | 9 | ``` 10 | 11 | Sample Code: https://github.com/ahastudio/CodingLife/tree/master/20160413/angular 12 | -------------------------------------------------------------------------------- /architecture/README.md: -------------------------------------------------------------------------------- 1 | # Architecture 2 | 3 | 지속 성장 가능한 소프트웨어를 만들어가는 방법 by Gemini Kim 4 | 5 | 6 | 객체지향 파이썬을 위하여 7 | 8 | -------------------------------------------------------------------------------- /architecture/clean-architecture.md: -------------------------------------------------------------------------------- 1 | # Clean Architecture 2 | 3 | [The Clean Code Blog - The Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html) 4 | 5 | [클린 아키텍처 (by Robert C. Martin) 번역](https://jake-seo-dev.tistory.com/65) 6 | 7 | ## Use Case 8 | 9 | [Better Software Design with Application Layer Use Cases](https://khalilstemmler.com/articles/enterprise-typescript-nodejs/application-layer-use-cases/) 10 | -------------------------------------------------------------------------------- /architecture/n-tier-architecture.md: -------------------------------------------------------------------------------- 1 | # N-tier Architecture 2 | 3 | 4 | 5 | ## Layer vs Tier 6 | 7 | - Layer: logical / software 8 | - Tier: physical / hardeware 9 | -------------------------------------------------------------------------------- /asciidoc/README.md: -------------------------------------------------------------------------------- 1 | # AsciiDoc 2 | 3 | 4 | 5 | 6 | 7 | ## Asciidoctor 8 | 9 | 10 | 11 | 12 | 13 | ## ascaid: a collection of AsciiDoc tools 14 | 15 | 16 | -------------------------------------------------------------------------------- /asset-administration-shell/README.md: -------------------------------------------------------------------------------- 1 | # AAS (Asset Administration Shell) 2 | 3 | [AAS Spezifikationen Archive - IDTA](https://industrialdigitaltwin.org/en/content-hub/aasspecifications) 4 | 5 | ## IDTA-01001 - Metamodel of the Asset Administration Shell 6 | 7 | 8 | 9 | ## OPC UA 10 | 11 | 12 | 13 | ## 논문 14 | 15 | [스마트 제조를 위한 AAS와 OPC UA기반 설비모니터링 시스템의 설계 및 구현](https://doi.org/10.7236/JIIBC.2021.21.2.41) 16 | -------------------------------------------------------------------------------- /aws/README.md: -------------------------------------------------------------------------------- 1 | # AWS 2 | 3 | ## Amazon EKS(Elastic Kubernetes Service) 4 | 5 | 6 | 7 | ## Amazon Kinesis 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /babel/babel-pollyfill.md: -------------------------------------------------------------------------------- 1 | # @babel/pollyfill 2 | 3 | [regenerator-runtime](https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime)과 [core-js](https://github.com/zloirock/core-js)를 포함한 pollyfill. 4 | 5 | 간단히 `Promise` 등을 쓰고 싶다면 이걸 쓰면 된다(`import`해야 합니다). 6 | 7 | 8 | 9 | 10 | 11 | ```bash 12 | yarn add --dev @babel/polyfill 13 | ``` 14 | -------------------------------------------------------------------------------- /bitcoin/README.md: -------------------------------------------------------------------------------- 1 | # Bitcoin - Open source P2P money 2 | 3 | 4 | 5 | 6 | 7 | --- 8 | 9 | [David Heinemeier Hansson - I was wrong, we need crypto](https://world.hey.com/dhh/i-was-wrong-we-need-crypto-587ccb03) 10 | 11 | → 한국어 정리: 12 | [I was wrong, we need crypto | GeekNews](https://news.hada.io/topic?id=6024) 13 | -------------------------------------------------------------------------------- /bitcoin/atomic-swap.md: -------------------------------------------------------------------------------- 1 | # Atomic Swap 2 | 3 | - [아토믹 스왑: 라이트닝 네트워크는 어떻게 다른 알트코인들에 적용될 수 있는가](http://newspeppermint.com/2017/08/03/m-lightning/) 4 | - [아토믹 스왑(Atomic swap)에 대한 모든 것 (feat. Komodo)](https://steemit.com/coinkorea/@goldenman/kmd-atomic-swap-feat-komodo) 5 | - [라이트닝 네트워크 이해하기 (3부)](https://medium.com/the-litecoin-school-of-crypto/%EB%9D%BC%EC%9D%B4%ED%8A%B8%EB%8B%9D-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-3%EB%B6%80-4ed250626b13) 6 | -------------------------------------------------------------------------------- /blockchain/README.md: -------------------------------------------------------------------------------- 1 | # Blockchain 2 | 3 | 블록체인 개발 자료: 4 | 5 | 6 | [블록체인 기술이란 무엇인가요? 최종 설명 | Binance Academy](https://academy.binance.com/ko/articles/what-is-blockchain-technology-a-comprehensive-guide-for-beginners) 7 | 8 | [비트코인이란 무엇인가요? | Binance Academy](https://academy.binance.com/ko/articles/what-is-bitcoin) 9 | 10 | [탈중앙성에 대한 오해](https://www.facebook.com/jckdotim/posts/10159136572298214) 11 | -------------------------------------------------------------------------------- /blockchain/basic-attention-token.md: -------------------------------------------------------------------------------- 1 | # Basic Attention Token 2 | 3 | > BAT – Making Crypto and DeFi accessible and useable for everyone 4 | 5 | 6 | 7 | ## Brave Browser 8 | 9 | > Secure, Fast & Private Web Browser with Adblocker 10 | 11 | 12 | 13 | 14 | 15 | ## Brave & Bing Browser Rewards 16 | 17 | > A way to automate the brave rewards system to earn BAT. 18 | 19 | 20 | -------------------------------------------------------------------------------- /blog/2016/03-10.md: -------------------------------------------------------------------------------- 1 | # 2016-03-10 - 매일 XX하기 2 | 3 | 최근에 매일 간단한 소원 쓰기 같은 걸 하고 있는데, 이 단순한 것도 매일 하는 게 쉽지 않다. 하루라도 끊기면 다시 처음부터 해야 하는 규칙이 있는데 벌써 두 번이나 끊겨서 다시 시작했다. 4 | 5 | GitHub에 매일 커밋해서 Streak을 이어가는 것과 비슷한 경험인데(0시 기준이 아니라 그보단 더 유연하다), 그래서 결국 이걸 통해 얻고 싶은 게 무엇인가 하는 게 관건인 것 같다. 내 경우엔 매일 운동하는 걸로 바꿨다가, 지금은 매일 소원 쓰기 + GitHub에 자주 글 쓰기 정도로 정리했는데, 1) 매일 하는 일에 투자하는 시간을 최소화하면서 2) 그 일이 삶 전체에 영향을 줄 수 있을 정도로 중요해야 한다고 생각했기 때문이다. 6 | 7 | 이것도 어떻게 바뀔지 모르겠다. 어쨌든 내가 이루고 싶은 걸 좀더 선명하게 만들고, 그걸 위해 여러 시도가 필요하다는 건 변치 않을 것 같다. 8 | -------------------------------------------------------------------------------- /blog/2016/03-21.md: -------------------------------------------------------------------------------- 1 | # 2016-03-21 - 내가 할 수 있는 게 뭐가 있나? 2 | 3 | 최근엔 나에 대해 생각할 시간을 가지려고 노력 중인데, 오늘은 내가 할 수 있는 게 뭐가 있나 하는 걸 노트에 적어봤다. Skills 같은 게 되면 재미 없어서 좀 다르게 써보려고 했는데, “다르게” 쓴다는 게 꽤 쉽지 않은 것 같다. 게다가 할 수 있는 것과 하고 싶은 것을 엄격하게 구분하는 것도 쉽지 않은 것 같다. 4 | 5 | 뭐가 정답이니까 그래야 한다는 것보다는, 뭔가 적으면서 이것저것 생각해 볼 기회가 된다는 게 재밌는 것 같다. 매일 하면 재밌을 것 같긴 한데, 이런 건 매일 되진 않으니 그냥 일주일에 한번씩 챙겨도 좋을 것 같다. 6 | 7 | 가장 재밌던 것 중 하나는, “용어 정리”가 있다. 딱딱하게 구는 사람들이 잘 하는 거긴 한데, 묘하게 나도 거기에 걸쳐있다는 생각이 들었다. 8 | -------------------------------------------------------------------------------- /blog/2016/03-22.md: -------------------------------------------------------------------------------- 1 | # 2016-03-22 - 벨기에 브뤼셀 테러 2 | 3 | 어떻게 해야 사람이 사람을 죽일 수 있는 걸까? 4 | -------------------------------------------------------------------------------- /blog/2016/04-06.md: -------------------------------------------------------------------------------- 1 | # 2016-04-06 택시 잡기 2 | 3 | 택시 잡는 건 늘 어려운 일이다. 비가 오는 날은 더욱 그렇다. 4 | 5 | 일단 택시를 타려는 사람이란 걸 택시 기사에게 인식시키는 게 쉽지 않고, 인식한다고 해도 이걸 무시하는 건 너무 쉽다. 상납금 같은 불법적 관행이 있는 상황에서 이리저리 따지는 것도 당연시된다. 6 | 7 | 카카오택시는 그저 하염없이 기다리는 효과 밖에 없다. 정말로 택시가 필요할 땐 무용지물이다. 그렇게 기다려도 오는 건 결국은 그냥 “택시”다. 8 | 9 | 라인 택시만 해도 다른 화면을 보여주는데, 라인 택시는 기존 사업자(내지는 모델)보다는 우버의 영향을 받았기 때문일 거다. 10 | 11 | 우버가 그립다. 12 | -------------------------------------------------------------------------------- /blog/2016/04-11.md: -------------------------------------------------------------------------------- 1 | # 2016-04-11 어제 공연 결론 2 | 3 | 운동을 해야겠다. 다른 게 아니라 지구력이 필요하다. 30분을 달려도 가뿐해야 30분짜리 공연을 널널하게 진행할 수 있을 것 같다. 4 | 5 | 다른 사람들보다 격렬한 무대를 보여주겠다는 건, 그런 무대를 아슬아슬하게 만드는 게 아니라 여유있게 만드는 것이어야 한다. 그러려면 훨씬 강해져야 한다. 6 | 7 | 어떤 일을 하던지 피지컬은 기본이다. 8 | -------------------------------------------------------------------------------- /blog/2016/04-28.md: -------------------------------------------------------------------------------- 1 | # 2016-04-28 NDC 2 | 3 | 화요일, 수요일엔 넥슨 개발자 컨퍼런스에 다녀왔다. 많이 자극이 됐다. 4 | 5 | 세상은 하냐 안 하냐, 이걸로 결정된다. 6 | -------------------------------------------------------------------------------- /blog/2016/04-30.md: -------------------------------------------------------------------------------- 1 | # 2016-04-30 Spring Camp 2016 2 | 3 | 아는 사람과 모르는 사람 앞에 서는 게 꽤 다르다는 걸 느낀 시간이었다. 특히 수 년간 써온 기술이냐 아니냐 같은 게 생각보다 더 중요하다는 것도. 4 | -------------------------------------------------------------------------------- /blog/2016/05-02.md: -------------------------------------------------------------------------------- 1 | # 2016-05-02 의도를 남기자 2 | 3 | 코드를 작성하는 건 결정의 연속을 의미한다. 결정은 반드시 어떤 의도를 가지고 이뤄진다. 정답이 명확한 경우도 있지만, 대부분은 의도에 제일 부합하는 걸 선택하는 게 일반적이다. 이 의도는 결과에서 드러나지 않는다. 어떤 식으로든 의도를 알 수 있도록 기록하는 습관이 필요하다. 4 | 5 | 뭐든 결정하면, 왜 그랬는지 꼭꼭 기록하자. 6 | -------------------------------------------------------------------------------- /blog/2016/05-06.md: -------------------------------------------------------------------------------- 1 | # 2016-05-06 번역 2 | 3 | 번역은 항상 어려운 것 같다. 원문을 정확히 이해하면서, 동시에 한국어로 정확히 작문해야 하기 때문이다. 4 | 5 | 일단 영어 원문을 제대로 이해하는 것도 어렵지만, 한국어로 글을 잘 쓴다는 건 그 모든 어려움 위에 있는 것 같다. 내 맘대로 쓰는 게 아니라, 저자의 의도를 유지하면서 그렇게 하는 건 내겐 불가능에 가까운 일이다! 6 | 7 | 어쨌든, 뭔가 하긴 했다. 엉망이지만, 뭐라도 하는 게 안 하는 것보단 나은 것 같다. 8 | 9 | [“나는 왜 Angular 2가 아니라 React를 선택했나?”](http://j.mp/1rxQdn0) 10 | -------------------------------------------------------------------------------- /blog/2016/05-11.md: -------------------------------------------------------------------------------- 1 | # 2016-05-11 - Ruby on Rails 2 | 3 | 가장 빠르게 뭔가를 만들 수 있는 건, 역시 Ruby on Rails인 것 같다. 다른 걸 찾아다닐 필요가 없다. 4 | 5 | 빠르게 작은 걸 만들고, 그 다음에 뭔가를 붙여나가도 충분하다. 다만, 다음 단계로 가기 위해 다양한 시스템이 얽히는 걸 만들 수 있는 능력이 필요하다. 6 | -------------------------------------------------------------------------------- /blog/2016/05-30.md: -------------------------------------------------------------------------------- 1 | # 2016-05-30 - 쉼 2 | 3 | 요새 일하는 시간이 대폭 줄어들었는데, 그래도 대놓고 푹 쉬는 시간이 좀 있으면 좋겠다는 생각이 든다. 사람이란 게 그런 건지 아니면 내가 그런 건지, 완전히 쉰다는 생각으로 모든 걸 내려놓지 않으면 멀티태스킹과 큰 차이가 없는 것 같다. 4 | 5 | 일하는 중간에 휴식을 취하는 것과 완저히 쉬는 게 다른지 아니면 비슷할지 모르겠지만, 어쨌든 완벽한 쉼이 좀 필요할 것 같다. 6 | 7 | 일종의 방학? 안식년? 8 | -------------------------------------------------------------------------------- /blog/2016/05-31.md: -------------------------------------------------------------------------------- 1 | # 2016-05-31 - 잠 2 | 3 | 기분이 많이 다운돼서 힘이 없고, 피로가 몰려와서 잠만 잤다. 4 | 5 | 감정 기복이 심하다고 생각하지만, 이번엔 좀 많이 심해서, 잠으로 도피하는 걸 택한 것 같다. 6 | -------------------------------------------------------------------------------- /blog/2016/06-23.md: -------------------------------------------------------------------------------- 1 | # 2016-06-23 - 글 쓰기 2 | 3 | 글 쓰기를 너무 안 했다. 일단 블로그부터 조금씩 다시 써야지... 4 | -------------------------------------------------------------------------------- /blog/2016/07-04.md: -------------------------------------------------------------------------------- 1 | # 2016-07-04 - 욕심 2 | 3 | 욕심이 너무 많아서 아무 것도 안 버리는데, 이사하는데 아주 죽을 것 같다. 4 | 5 | 그렇다고 이게 나쁜 거란 생각이 들지는 않는데, 어쨌든 내가 더 욕심을 내서 큰 집을 얻어야겠다. 6 | -------------------------------------------------------------------------------- /blog/2016/07-13.md: -------------------------------------------------------------------------------- 1 | # 2016-07-13 - New MacBook 2 | 3 | 새 맥북 세팅한다. 4 | 5 | 조금만 기다려라. 6 | -------------------------------------------------------------------------------- /blog/2016/08-01.md: -------------------------------------------------------------------------------- 1 | # 2016-08-01 - 에어컨 2 | 3 | 에어컨 없이 여름을 보내는 건 불가능에 가깝다. 이사올 때 아무 옵션이 없었는데, 세탁기, 냉장고, 에어컨 같은 기본적인 게 하나도 없다는 게 이렇게까지 고통스러울 거라곤 상상도 못 했다. 그나마 세탁기는 얼마 전에 샀는데, 에어컨은 여름 준비 하나도 못하고 있다가 당한 꼴이다. 4 | -------------------------------------------------------------------------------- /blog/2016/09-02.md: -------------------------------------------------------------------------------- 1 | # 2016-09-02 - 강남 스타일 2 | 3 | 갑자기 강남으로 이사했는데, 오피스텔이라 그런지 나쁘지 않다. 여기서 돈 잘 모아서 다음엔 좀더 제대로 자리잡길 소망한다. 4 | -------------------------------------------------------------------------------- /blog/2019/08.md: -------------------------------------------------------------------------------- 1 | # 2019년 8월 2 | 3 | ## 8월 31일 4 | 5 | 온라인으로 일기를 안 쓴지 꽤 오래 됐다. 6 | 훨씬 쉽게 기록을 남길 수 있는 도구들(Twitter, Facebook) 때문일 거다. 7 | 8 | 예전에는 WikiWiki에 한달 단위로 페이지를 만들고, 9 | 스크롤하면서 무슨 일이 있었나 가볍게 돌아봤다. 10 | 그 경험이 꽤 유용했던 것 같아서 유사하게 페이지를 만들어 본다. 11 | 12 | --- 13 | 14 | 내가 뽑은 프로그래밍의 3요소: 15 | 16 | 1. 이름 붙이기 (추상화) - 변수 할당, 함수 정의 등 17 | 2. 누산 - 반복문 등을 사용 18 | 3. 조건 분기 - 조건문 등을 사용 19 | 20 | 여기서 2번을 직접적으로 수행하는 게 바로 `reduce`. 매우 강력하고 유용하다. 21 | -------------------------------------------------------------------------------- /blog/2019/images/agilefest.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/agilefest.jpg -------------------------------------------------------------------------------- /blog/2019/images/christmas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/christmas.jpg -------------------------------------------------------------------------------- /blog/2019/images/dataitgirls.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/dataitgirls.jpg -------------------------------------------------------------------------------- /blog/2019/images/dsa.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/dsa.jpg -------------------------------------------------------------------------------- /blog/2019/images/gilsoon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/gilsoon.jpg -------------------------------------------------------------------------------- /blog/2019/images/heyground.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/heyground.jpg -------------------------------------------------------------------------------- /blog/2019/images/java-backend-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/java-backend-01.jpg -------------------------------------------------------------------------------- /blog/2019/images/java-backend-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/java-backend-02.jpg -------------------------------------------------------------------------------- /blog/2019/images/masocon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/masocon.jpg -------------------------------------------------------------------------------- /blog/2019/images/mentoring.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/mentoring.jpg -------------------------------------------------------------------------------- /blog/2019/images/microprotect-first-open.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/microprotect-first-open.jpg -------------------------------------------------------------------------------- /blog/2019/images/object.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/object.jpg -------------------------------------------------------------------------------- /blog/2019/images/python.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/blog/2019/images/python.jpg -------------------------------------------------------------------------------- /blog/2020/02.md: -------------------------------------------------------------------------------- 1 | # 2020년 2월 2 | 3 | ## 2월 24일 (월) 4 | 5 | 코로나19가 난리다. 6 | -------------------------------------------------------------------------------- /blog/2020/03.md: -------------------------------------------------------------------------------- 1 | # 2020년 3월 2 | 3 | ## 3월 6일 (금) 4 | 5 | 코로나19 문제가 지나치게 오래 가고 있다. 6 | 7 | 개인적으론 예전에 메르스 때도 별 생각 없이 지냈는데, 이번에도 그런 것 같다. 8 | 9 | ## 3월 8일 (일) 10 | 11 | 종종 찾아오는 두통이 너무 싫다. 12 | 13 | ## 3월 15일 (일) 14 | 15 | 피로를 이겨내려면 건강 관리가 중요하다. 16 | 17 | ## 3월 16일 (월) 18 | 19 | 당장에 수입도 중요하고, 장기적인 내 비즈니스를 확실히 만드는 것도 중요하다. 20 | 21 | 그리고 내 몸을 챙기는 것도 중요하다. 22 | 23 | ## 3월 30일 (월) 24 | 25 | 에버노트는 진짜 대체제가 없다. 26 | 27 | 아무리 나쁜 제품이라고 해도 경쟁 자체가 불가능할 정도로 제일 좋으면 이긴다. 28 | 29 | > 에버노트가 대단한 게 아닙니다. 30 | > 31 | > 다른 서비스가 별 거 아닌 겁니다. 32 | -------------------------------------------------------------------------------- /blog/2020/04.md: -------------------------------------------------------------------------------- 1 | # 2020년 4월 2 | 3 | ## 4월 12일 (일) 4 | 5 | 시간 빨리 간다. 6 | 7 | ## 4월 19일 (일) 8 | 9 | 코로나19 상황이 빨리 정리되면 좋겠다. 10 | 11 | --- 12 | 13 | 오랜만에 유튜브 “최초 공개” 기능을 써봤다. 14 | 15 | [문제-해결-반성 성장 싸이클](https://j.mp/2XN2mrG) 16 | 17 | ![thumbnail](https://i.ytimg.com/vi/INewtyteWvM/maxresdefault.jpg) 18 | 19 | ## 4월 20일 (월) 20 | 21 | 지금 필요한 걸 즉각 만들기 위해 기술이 필요한 거다. 22 | 23 | ## 4월 22일 (수) 24 | 25 | 와, 우리는 정말 엄청나구나! 26 | 27 | --- 28 | 29 | 오늘도 유튜브 영상 최초 공개했다. 30 | 31 | [함께 일하고 싶은 개발자](https://j.mp/2KvpqDb) 32 | 33 | ![thumbnail](https://i.ytimg.com/vi/mSElOT5R2QM/maxresdefault.jpg) 34 | -------------------------------------------------------------------------------- /blog/2020/05.md: -------------------------------------------------------------------------------- 1 | # 2020년 5월 2 | 3 | ## 5월 4일 (월) 4 | 5 | LG 시그니처 냉장고를 보니 갖고 싶다는 생각이 들었다. 6 | 7 | ## 5월 7일 (목) 8 | 9 | 채용 글 쓰는데 엄청 오래 걸렸고, 어쨌든 공개하니 기분이 좋다. 10 | 11 | 이제 본격적으로 구인 활동을 해야지! 12 | 13 | “[마이크로프로텍트에서 세상을 바꿀 동료를 찾습니다](https://j.mp/2L9rz7W)” 14 | 15 | ## 5월 9일 (토) 16 | 17 | 하루 종일 비가 내리다니... 18 | 19 | ## 5월 12일 (화) 20 | 21 | 나는 왜 프로젝트를 가만히 안 두고 계속 더 낫게 만들려고 하는 걸까? 22 | 23 | ## 5월 18일 (월) 24 | 25 | [나의 광주](https://j.mp/1NaGs1M)... 26 | -------------------------------------------------------------------------------- /blog/2020/06.md: -------------------------------------------------------------------------------- 1 | # 2020년 6월 2 | 3 | ## 6월 1일 (월) 4 | 5 | 2020년의 절반에 근접하게 됐다. 6 | 7 | 시간 참 빠르다. 8 | 9 | ## 6월 18일 (목) 10 | 11 | “할아버지 공장”에서 저녁 식사. 분위기 좋은 곳에서 괜찮은 음식을 먹는 게 좋았다. 12 | 13 | 14 | 15 | ## 6월 19일 (금) 16 | 17 | 가입 flow 슬라이드를 만들고 전달했다. 18 | 19 | - 다 함께 해서 좋았다. 20 | - 지난 주 이상의 성과를 거뒀다. 21 | - 헤일리의 Keynote 실력이 돋보였다. 22 | - 갑자기 텍스트를 엄청나게 많이 넣어야 한다는 게 큰 문제였다. 23 | - 미리 알았다면 이렇게 고통스럽게 작업하지 않았을 것. 24 | - 정말로 미리 알 수 있는 방법이 없었을까? 25 | 26 | “바이산”에서 늦은 저녁을 즐겼다. FLEX~ 27 | 28 | 29 | -------------------------------------------------------------------------------- /blog/2020/07.md: -------------------------------------------------------------------------------- 1 | # 2020년 7월 2 | 3 | ## 7월 6일 (월) 4 | 5 | 벌써 2020년도 하반기에 돌입했다. 6 | 7 | 올해 목표를 다시 재정비하자. 8 | 9 | ## 7월 8일 (수) 10 | 11 | 할 일은 많고 집중할 수 있는 시간은 적다. 12 | 13 | 돌아가는 것 같은 게 지름길이다. 14 | 15 | ## 7월 11일 (토) 16 | 17 | 집안일 귀찮다. 빨래만이라도 누가 도와주... 😭 18 | 19 | ## 7월 13일 (월) 20 | 21 | GitHub에 장애가 생기면 줄줄이 문제가 생겨서 곤란하다. 보안 등이 문제가 아니라 안정성이 문제. 22 | 23 | ## 7월 17일 (금) 24 | 25 | TGIF!!! 26 | 27 | ## 7월 24일 (금) 28 | 29 | 시간 정말 빨리 간다. 일주일 휴가라고 좋아했는데 평일은 벌써 끝남. ㅠㅠ 30 | 31 | ## 7월 29일 (수) 32 | 33 | 할 일이 많군... 🤔 34 | 35 | ## 7월 30일 (목) 36 | 37 | 마이크로프로텍트 사무실을 성수(헤이그라운드)에서 강남(KB이노베이션허브)으로 이사하는 게 확실히 결정됨. 38 | 39 | ## 7월 31일 (금) 40 | 41 | 좋은 성과는 기분을 좋게 한다. 42 | -------------------------------------------------------------------------------- /blog/2020/08.md: -------------------------------------------------------------------------------- 1 | # 2020년 8월 2 | 3 | ## 8월 3일 (월) 4 | 5 | 쓸데 없는 게 사람들 괴롭히는 걸 견딜 수가 없다. 6 | 7 | 사회성 떨어지는 애들은 자기 상태가 어떤지 전혀 이해를 못함. 메타인지는 매우 중요하다. 8 | 9 | ## 8월 4일 (화) 10 | 11 | 한 팀으로 일한다는 사실 자체가 중요하다. 이건 선언이 아니라 체험에 속하고, 그래서 쉽게 따라할 수 없다. 12 | 13 | ## 8월 7일 (금) 14 | 15 | 다들 너무 열심이었다. 정말 대단하다. 진짜 잘 돼야 한다. 16 | 17 | ## 8월 8일 (토) 18 | 19 | “조금만 더 고생하면…”이란 생각을 20살 때부터 지금까지 계속 반복하는 것 같다. 20 | 21 | 그래, 조금만 더 고생하자. 22 | 23 | ## 8월 10일 (월) 24 | 25 | 스크립트로 업무 자동화해서 스프레드시트로 결과물 정리하는 게 제일 쉽고 재밌더라. 신난다. :) 26 | 27 | ## 8월 12일 (수) 28 | 29 | 정신 없이 바쁘다. 좋은 신호. 30 | 31 | ## 8월 14일 (금) 32 | 33 | 항상 최악을 대비하자. 34 | -------------------------------------------------------------------------------- /blog/2020/09.md: -------------------------------------------------------------------------------- 1 | # 2020년 9월 2 | 3 | ## 9월 1일 (화) 4 | 5 | 벌써 3/4분기도 마지막 달로 진입했다! 😱 6 | 7 | 코로나19 사태가 끝나지 않아서 큰일이다. `2.5단계`가 뭐야 ㅠㅠ 8 | 9 | ## 9월 3일 (목) 10 | 11 | 가능하면 통제가능한 부분을 늘려가는 것과 모든 걸 통제하는 건 다르다. 12 | 13 | 사실 가장 어려운 문제는 종종 내 통제 밖에서 일어난다. 이걸 어떻게 해결하냐가 진짜 능력. 14 | 전적으로 나를 어떻게 통제하느냐에 달려있다. 15 | 16 | ## 9월 22일 (화) 17 | 18 | 피로와 싸워야 한다. 😢 19 | 20 | ## 9월 26일 (토) 21 | 22 | 아프면 안 된다. 푹 쉬어야지... 23 | -------------------------------------------------------------------------------- /blog/2020/10.md: -------------------------------------------------------------------------------- 1 | # 2020년 10월 2 | 3 | ## 10월 30일 (금) 4 | 5 | 계획과 다른 일이 끼어드는 걸 안 좋아하는데, 극단적으로 짧은 계획을 세워도 소용이 없다. 6 | 어떻게 해야 좋을까? 7 | -------------------------------------------------------------------------------- /blog/2020/11.md: -------------------------------------------------------------------------------- 1 | # 2020년 11월 2 | 3 | ## 11/18 (수) 4 | 5 | 이 시국에 감기라니! 😢 6 | 7 | ## 11/22 (일) 8 | 9 | 코드숨 Spring 강의 영상은 전반적으로 React 강의 영상보다 긴 것 같다. 10 | 애당초 Spring 이전에 OOP와 아키텍처가 더 큰 문제. 11 | 12 | ## 11/30 (월) 13 | 14 | 2020년도 이제 곧 끝이구나. 15 | 올해 나는 무얼 해냈고, 무얼 배웠을까? 16 | -------------------------------------------------------------------------------- /blog/2020/12.md: -------------------------------------------------------------------------------- 1 | # 2020년 12월 2 | 3 | ## 12/10 (목) 4 | 5 | *돈, 명예, 권력*이란 3요소에서 “권력”이 의미하는 게 뭘까? 6 | 이걸 정확히 전달해야 한다. 7 | 8 | ## 12/11 (금) 9 | 10 | 실리콘밸리와 비교해서 우위를 점할 수 있는 회사를 만들자. 11 | 12 | ## 12/17 (목) 13 | 14 | 무엇보다 사기(士氣)가 중요하다. 15 | 16 | ## 12/24 (목) 17 | 18 | 개인적인 일에 휘둘리지 말자. 19 | 20 | ## 12/31 (목) 21 | 22 | Good bye, 2020! 23 | -------------------------------------------------------------------------------- /blog/2021/01-26-all-pages.md: -------------------------------------------------------------------------------- 1 | # 모든 페이지 준비 2 | 3 | 이전 프로젝트에서 썼던 방법인데, 모든 페이지를 자신의 위치를 드러내는 텍스트와 이동 버튼만 포함해서 만들어 놓고 나중에 다시 채워나갑시다. 4 | 5 | 기대되는 효과는 다음과 같습니다: 6 | 7 | 1. 사용자가 어떤 경험을 할지 기초적인 수준에서 파악할 수 있습니다. 특히 이동 버튼을 눌러보는 건 효과가 큽니다. 8 | 2. 얼마나 작업해야 할지 알 수 있어서 불안감을 줄일 수 있습니다. 자신의 작업량을 가늠하기 힘든 경우 효과가 큽니다. 9 | -------------------------------------------------------------------------------- /blog/2021/01-26-core-task.md: -------------------------------------------------------------------------------- 1 | # 핵심 작업 파악하기 2 | 3 | 이번 주에 단 하나의 작업만 할 수 있다면 무엇을 해야 할까요? 4 | 핵심 작업 하나만 추려보세요. 5 | 그리고 그 작업을 완료하기 위해 필요한 의존성을 파악합니다. 6 | 그러면 다른 사람에게 무언가를 요청하게 될 거고, 마찬가지로 나도 요청을 받게 될 겁니다. 7 | 그렇게 발견한 범위가 가장 중요한 작업 범위입니다. 8 | 딱 그걸 오늘의 목표로 삼아보세요. 9 | 우선순위를 세우고 빠르게 달성하는 게 중요합니다. 10 | 복잡하게 해결하려고 하면 오히려 문제가 될 부분이 많습니다. 11 | 최대한 적게 일해서 문제가 생길 부분을 줄이려면 어떻게 해야 할까요? 12 | -------------------------------------------------------------------------------- /blog/2021/02.md: -------------------------------------------------------------------------------- 1 | # 2021년 2월 2 | 3 | ## 2월 2일 (화) 4 | 5 | 정말 바쁘다... ㅎㄷ 6 | 7 | ## 2월 7일 (일) 8 | 9 | 클럽하우스가 대한민국 개발자를 강타했다. 10 | 11 | ## 2월 10일 (수) 12 | 13 | 나와 남이 다름을 이해해야 한다. 14 | 15 | ## 2월 11일 (목) 16 | 17 | 너무 조용한 게 싫어서 TV를 틀어놓는 사람처럼 클럽하우스를 틀어놓는 것 같다. 18 | 19 | ## 2월 12일 (금) 20 | 21 | 너무 오랜만에 유튜브 라이브 스트리밍을 했다. 22 | 23 | ## 2월 18일 (목) 24 | 25 | 시간 잘 간다... 26 | 27 | ## 2월 21일 (일) 28 | 29 | 너무 피곤했다. 30 | 31 | ## 2월 22일 (월) 32 | 33 | 책을 왕창 질렀다. 34 | 35 | ## 2월 26일 (금) 36 | 37 | 벌써 2월도 (평일은) 끝이네. 이번 달은 너무 빨리 지나갔다. 38 | -------------------------------------------------------------------------------- /blog/2021/04.md: -------------------------------------------------------------------------------- 1 | # 2021년 4월 2 | 3 | ## 4월 1일 (목) 4 | 5 | 올해 만우절에도 기술 블로그에 글을 썼다. 만우절 전문 블로거가 된 것 같다. 🤔 6 | 7 | [리턴즈 서비스 이용 후기 모음](https://j.mp/3whqD84) 8 | 9 | ## 4월 3일 (토) 10 | 11 | 아침부터 비가 쥬륵쥬르륵 12 | 13 | ## 4일 5일 (월) 14 | 15 | 모두에게 더 많은 야망이 필요하다. 16 | 17 | ## 4월 11일 (일) 18 | 19 | 채용을 가열차게 할 시간이다. 20 | 21 | ## 4월 14일 (수) 22 | 23 | **내 시간** 확보가 중요하다. 24 | 25 | ## 4월 28일 (수) 26 | 27 | 말 그대로 서비스가 폭발 성장하고 있다. 이렇게 단기간에 J커브를 보게 되다니! ㅠㅠ 28 | -------------------------------------------------------------------------------- /blog/2021/05.md: -------------------------------------------------------------------------------- 1 | # 2021년 5월 2 | 3 | ## 5월 3일 (월) 4 | 5 | 일을 흥미롭게 만드는 게 중요하다. 6 | 7 | ## 5월 6일 (목) 8 | 9 | 엄청 바쁜 걸 빼면 일이 더욱 흥미롭게 바뀌고 있다. 😎 10 | 11 | ## 5월 17일 (월) 12 | 13 | 너무 바쁘다. 5월만 잘 넘어가자. 14 | 15 | ## 5월 22일 (토) 16 | 17 | 바쁘지만 책을 읽어야 한다. 18 | 19 | ## 5월 25일 (화) 20 | 21 | 항상 스타트업이어야 한다. 22 | -------------------------------------------------------------------------------- /blog/2021/06.md: -------------------------------------------------------------------------------- 1 | # 2021년 6월 2 | 3 | ## 6월 5일 (토) 4 | 5 | 나중은 결코 오지 않는다. 6 | 7 | ## 6월 15일 (화) 8 | 9 | 좋다고 생각하는 것, 옳다고 믿는 것은 스스로 실천해야 한다. 10 | 11 | ## 6월 21일 (월) 12 | 13 | 시간 낭비를 최소화해야 한다. 의욕이 없는 시공간은 그 자체로 낭비다. 14 | 15 | ## 6월 24일 (목) 16 | 17 | “내 시간”을 확실히 확보해야 한다. 18 | 19 | ## 6월 26일 (토) 20 | 21 | 왜 이렇게 늘어져 있는 걸까? 22 | -------------------------------------------------------------------------------- /blog/2021/08.md: -------------------------------------------------------------------------------- 1 | # 2021년 8월 2 | 3 | ## 8/3 (화) 4 | 5 | 다시 바닥부터 쌓아올린다고 생각하고 정진하자. 6 | 7 | ## 8/9 (월) 8 | 9 | 너무 피곤하네... 🤔 10 | 11 | ## 8/11 (수) 12 | 13 | 이번 주에 해야 할 일을 끝마쳤다. 👍 14 | 15 | ## 8/12 (목) 16 | 17 | 오늘은 별 생각 없이 쉬는 날. 18 | 19 | ## 8/14 (토) 20 | 21 | 왜 이렇게 잠이 늘었지... 그렇게 피곤한가? 🤔 22 | 23 | ## 8/15 (일) 24 | 25 | 기승전 돈 많이 벌어야지 💰💰💰 26 | 27 | ## 8/21 (토) 28 | 29 | 뭐 입력하는데 창 떠서 포커스 가져가는 거 개빡침. 30 | 31 | 글 쓰고 엔터 치는 순간 “네 디스크의 모든 걸 영구히 삭제할 건데 동의하지?” 같은 다이얼로그가 뜬다고 생각해 보자. 32 | 33 | ## 8/22 (일) 34 | 35 | 글을 많이 쓰자. 평소에 모아둬야 한다. 36 | 37 | ## 8/24 (화) 38 | 39 | 18,000원짜리 옛날 책을 절판됐다는 이유 하나로 실용적 가치도 많이 떨어진 지금 100,000원에 중고로 파는 걸 보니, 정말 어처구니가 없고 갖고 싶다. 😉 40 | -------------------------------------------------------------------------------- /blog/2021/09.md: -------------------------------------------------------------------------------- 1 | # 2021년 9월 2 | 3 | ## 9/3 (금) 4 | 5 | 가치 판단은 결국 “누구”냐에 달려 있다. 6 | 7 | ## 9/4 (토) 8 | 9 | 좋은 사례도 중요하고, 강력한 피드백도 필요하다. 정답이 없는 세상에서 능숙하게 다룰 수 있는 선택지가 많은 건 중요하다. 10 | 11 | ## 9/7 (화) 12 | 13 | 악마는 디테일에 있다. 디테일은 습관에 있다. 습관을 전달하는 게 가장 어렵다. 14 | 15 | ## 9/9 (목) 16 | 17 | 안주함이 없어야 한다. 나는 아직도 배고픈가? 18 | 19 | ## 9/21 (화) 20 | 21 | 비가 싫다 🤔 22 | 23 | ## 9/30 (목) 24 | 25 | 역시 매니저 업무를 하는 게 숙명인 건가... 🤔 26 | -------------------------------------------------------------------------------- /blog/2021/10-21-ticket.md: -------------------------------------------------------------------------------- 1 | # 티켓 생성 타이밍 2 | 3 | 티켓은 문제에 대한 정의가 끝난 후 생성합니다. 4 | 5 | 미리 계획하지 않은 작업이 추가되지 않아야 하고, 6 | 만약 그런 일이 생기면 모두가 알 수 있어야 합니다. 7 | 8 | Confluence에서 적절한 위치(또는 개인 스페이스)에 9 | 페이지를 만들어서 상황을 정리하는 걸 강력히 추천하고, 10 | [모판 패턴](http://no-smok.net/nsmk/%EB%AA%A8%ED%8C%90%ED%8C%A8%ED%84%B4)을 11 | 활용하면 좋습니다. 12 | -------------------------------------------------------------------------------- /blog/2021/10.md: -------------------------------------------------------------------------------- 1 | # 2021년 10월 2 | 3 | ## 10/1 (금) 4 | 5 | 아침에 기침을 해서 창문을 닫았다. 6 | 몸을 사리게 되는 시국이다. 7 | 8 | ## 10/2 (토) 9 | 10 | 정말 아무 생각 없이 길 가다가 괜찮은 집을 발견할 수도 있구나... 11 | 12 | ## 10/8 (금) 13 | 14 | 최근에 이렇게까지 화가 난 적이 없는 것 같다. 15 | 16 | ## 10/11 (월) 17 | 18 | 일해라, 법원. 19 | 20 | ## 10/14 (목) 21 | 22 | 하루 종일 말을 너무 많이 했다 ㅎㄷㄷ 23 | 24 | ## 10/21 (목) 25 | 26 | 프로그래머가 많이 필요하다. 27 | 28 | ## 10/28 (목) 29 | 30 | 삼성을 떠나 강남으로 돌아올 예정! 😎 31 | 32 | ## 10/30 (토) 33 | 34 | 조만간 진짜 큰 집으로 돌아갈테다. 35 | 36 | ## 10/31 (일) 37 | 38 | 넓은 집! 넓은 집! 39 | -------------------------------------------------------------------------------- /blog/2021/12.md: -------------------------------------------------------------------------------- 1 | # 2021년 12월 2 | 3 | ## 12/4 (토) 4 | 5 | 집 정리를 좀 해야지! 6 | 7 | ## 12/10 (금) 8 | 9 | 내 능력과 내 비즈니스가 중요하다. 10 | 11 | ## 12/28 (화) 12 | 13 | 해외 결제에 특화된 카드를 만들었더니 정말 편하다. 14 | 진작 이렇게 할 걸... 15 | -------------------------------------------------------------------------------- /blog/2022/01.md: -------------------------------------------------------------------------------- 1 | # 2022년 1월 2 | 3 | ## 1/3 (월) 4 | 5 | Happy New Year! 6 | 7 | 한동안 2021이라고 썼다가 2022라고 고치는 일이 벌어질 것입니다. (예언) 8 | 9 | ## 1/7 (금) 10 | 11 | 시간 참 빠르다. 12 | 아깝지 않도록 목표와 계획을 뚜렷하게 잡자. 13 | 14 | ## 1/21 (금) 15 | 16 | 글을 많이 쓰자. 17 | 18 | ## 1/27 (목) 19 | 20 | UI와 Application Layer를 깔끔히 분리하려고 할 때 고민인 부분: 21 | 22 | 1. Application Layer를 Query 머신으로 전락시키지 않기. 23 | 1. 복잡한 UI Layer가 자신에게 필요한 데이터만 받기. 24 | 1. 비동기를 지원하도록 UI Layer와 적절한 반응형 관계 맺기. 25 | 26 | 기본적으로는 Flux의 아이디어가 매우 훌륭한데, 27 | 이걸 보편적으로 풀어내는 게 쉽지 않아 보인다. 28 | 29 | ## 1/31 (월) 30 | 31 | 벌써 1월이 끝이네... 32 | -------------------------------------------------------------------------------- /blog/2022/02.md: -------------------------------------------------------------------------------- 1 | # 2022년 2월 2 | 3 | ## 2/1 (화) 4 | 5 | 맛있는 음식을 먹어야 한다. 🍓 6 | 7 | ## 2/14 (월) 8 | 9 | 재밌는 일을 많이 해야 한다. 🤪 10 | 11 | ## 2/25 (금) 12 | 13 | 인터넷 은행이 압도적으로 편하네. 🤔 14 | -------------------------------------------------------------------------------- /blog/2022/03.md: -------------------------------------------------------------------------------- 1 | # 2022년 3월 2 | 3 | ## 3/3 (목) 4 | 5 | 예산을 짜야 한다. 6 | 7 | ## 3/11 (금) 8 | 9 | 계획한 일을 해야 한다. 10 | 11 | ## 3/19 (토) 12 | 13 | 세상에 있는 걸 조합해서 세상에 없던 걸 만들어야 한다. 14 | 15 | ## 3/21 (월) 16 | 17 | Passive Income이 필요하다. 18 | -------------------------------------------------------------------------------- /blog/2022/04.md: -------------------------------------------------------------------------------- 1 | # 2022년 4월 2 | 3 | ## 4/13 (수) 4 | 5 | 정비해야 할 게 많다. 6 | -------------------------------------------------------------------------------- /blog/2022/05.md: -------------------------------------------------------------------------------- 1 | # 2022년 5월 2 | 3 | ## 5/6 (금) 4 | 5 | 오랜만에 책을 많이 읽을 수 있는 시간이 생겼다. 6 | 7 | ## 5/9 (월) 8 | 9 | “왜”와 “어떻게”를 모두 잘 챙겨야지. 10 | -------------------------------------------------------------------------------- /blog/2022/06.md: -------------------------------------------------------------------------------- 1 | # 2022년 6월 2 | 3 | ## 6/3 (금) 4 | 5 | 바쁘다 바빠 현대사회! 6 | -------------------------------------------------------------------------------- /blog/2022/07.md: -------------------------------------------------------------------------------- 1 | # 2022년 7월 2 | 3 | ## 7/1 (금) 4 | 5 | 어떻게든 꾸역꾸역 돌아가는 리듬을 만드는 게 중요하다. 6 | -------------------------------------------------------------------------------- /blog/2022/08.md: -------------------------------------------------------------------------------- 1 | # 2022년 8월 2 | 3 | ## 8/3 (수) 4 | 5 | 몸이 계속 안 좋은데, 비가 와서 그런가... 6 | 7 | ## 8/16 (화) 8 | 9 | Coveralls 대신 OpenCov 쓰다가 비용 보고 그냥 Coveralls로 옮김. 10 | 나는 왜 비용 확인을 안 하고 뻘짓을 하고 있었나... 11 | 12 | 13 | 14 | ## 8/26 (금) 15 | 16 | 신분당선이 신사까지 연장된 게 너무 훌륭하네. 17 | 최근에 엄청 자주 이용하고 있다. 18 | 19 | ## 8/28 (일) 20 | 21 | 이제 8월도 다 지나간다... 22 | -------------------------------------------------------------------------------- /blog/2022/09.md: -------------------------------------------------------------------------------- 1 | # 2022년 9월 2 | 3 | ## 9/8 (목) 4 | 5 | 생애 첫 최대 지름이 충동구매 😎 6 | -------------------------------------------------------------------------------- /blog/2022/10.md: -------------------------------------------------------------------------------- 1 | # 2022년 10월 2 | 3 | ## 10/11 (화) 4 | 5 | 벌써 10월이네... 😵 6 | 7 | ## 10/18 (화) 8 | 9 | 내 명의로 된 집에 이사 왔다. 10 | 새 집 주제에 마감이 엉망인 부분이 있어서 아쉽지만, 11 | 어쨌든 이렇게 시작하는 거겠지. 12 | 13 | ## 10/31 (월) 14 | 15 | 정신 없던 10월도 끝. 16 | -------------------------------------------------------------------------------- /blog/2022/11.md: -------------------------------------------------------------------------------- 1 | # 2022년 11월 2 | 3 | ## 11/1 (화) 4 | 5 | Product-Market Fit! 6 | -------------------------------------------------------------------------------- /blog/2022/12.md: -------------------------------------------------------------------------------- 1 | # 2022년 12월 2 | 3 | ## 12/1 (목) 4 | 5 | 날씨 왜 이러지... 6 | -------------------------------------------------------------------------------- /blog/README.md: -------------------------------------------------------------------------------- 1 | # 블로그 2 | 3 | 회고: 4 | 5 | - [2015년](https://github.com/ahastudio/til/blob/main/blog/2015/12-30-retrospective.md) 6 | - [2018년](https://github.com/ahastudio/til/blob/main/blog/2018/12-31-retrospective.md) 7 | - [2019년](https://github.com/ahastudio/til/blob/main/blog/2019/12-31-retrospective.md) 8 | -------------------------------------------------------------------------------- /cad/dxf.md: -------------------------------------------------------------------------------- 1 | # DXF 2 | 3 | [AutoCAD DXF - Wikipedia](https://en.wikipedia.org/wiki/AutoCAD_DXF) 4 | 5 | [DXF 파일 알아보기 | Adobe](https://www.adobe.com/kr/creativecloud/file-types/image/vector/dxf-file.html) 6 | 7 | ## ezdxf 8 | 9 | > A Python interface to DXF 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ceph/README.md: -------------------------------------------------------------------------------- 1 | # Ceph 2 | 3 | > The Future of Storage™ 4 | > 5 | > Ceph is an open-source, distributed storage system. 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /chrome/kmdr.md: -------------------------------------------------------------------------------- 1 | # Kmdr 2 | 3 | > Transform code blocks on your browser 4 | 5 | 6 | 7 | Chrome Web Store: 8 | 9 | -------------------------------------------------------------------------------- /cli/browsh.md: -------------------------------------------------------------------------------- 1 | # Browsh 2 | 3 | > the modern text-based browser 4 | 5 | 6 | 7 | ## Install 8 | 9 | ```bash 10 | brew tap browsh-org/homebrew-browsh 11 | 12 | brew install browsh 13 | ``` 14 | 15 | Firefox가 필요합니다. 16 | -------------------------------------------------------------------------------- /cli/mosh.md: -------------------------------------------------------------------------------- 1 | # Mosh: the mobile shell 2 | 3 | > Mosh is a replacement for interactive SSH terminals. 4 | 5 | 6 | 7 | ## Install 8 | 9 | ```bash 10 | brew install mosh 11 | ``` 12 | -------------------------------------------------------------------------------- /clojure/README.md: -------------------------------------------------------------------------------- 1 | # The Clojure programming language 2 | 3 | 4 | 5 | 6 | 7 | --- 8 | 9 | [Grokking Clojure transducers - /dev/solita](https://dev.solita.fi/2021/10/14/grokking-clojure-transducers.html) 10 | 11 | [Coffi - A Foreign Function Interface in Clojure for JDK 17](https://github.com/IGJoshua/coffi) 12 | -------------------------------------------------------------------------------- /clojure/atom.md: -------------------------------------------------------------------------------- 1 | # atom 2 | 3 | http://clojure.org/atoms 4 | 5 | ```clojure 6 | (def counter (atom 0)) 7 | 8 | (swap! counter inc) 9 | 10 | (reset! counter 0) 11 | ``` 12 | -------------------------------------------------------------------------------- /clojure/clear-namespace.md: -------------------------------------------------------------------------------- 1 | # Clear namespace 2 | 3 | ```clojure 4 | (ns test) 5 | (remove-ns 'test) 6 | (ns test) 7 | ``` 8 | 9 | http://stackoverflow.com/questions/3636364/can-i-clean-the-repl 10 | 11 | ```clojure 12 | (map #(ns-unmap *ns* %) (keys (ns-interns *ns*))) 13 | ``` 14 | -------------------------------------------------------------------------------- /clojure/clerk.md: -------------------------------------------------------------------------------- 1 | # Clerk 2 | 3 | > Local-First Notebooks for Clojure 4 | 5 | 6 | 7 | ## 🎪 Clerk Demo on GitHub 8 | 9 | 10 | -------------------------------------------------------------------------------- /clojure/datomic.md: -------------------------------------------------------------------------------- 1 | # Datomic 2 | 3 | > A transactional database with a flexible data model, elastic scaling, 4 | > and rich queries. 5 | 6 | 7 | 8 | ## Day of Datomic: Sample Code for Day of Datomic presentation 9 | 10 | 11 | -------------------------------------------------------------------------------- /clojure/string.md: -------------------------------------------------------------------------------- 1 | # String to Characters 2 | 3 | ```clojure 4 | (seq "test text") 5 | ``` 6 | 7 | # Characters to String 8 | 9 | ```clojure 10 | (str \t \e \s \t) 11 | 12 | (apply str '(\t \e \s \t)) 13 | ``` 14 | -------------------------------------------------------------------------------- /clojure/threading-macro.md: -------------------------------------------------------------------------------- 1 | # Threading Macro 2 | 3 | thread-first(`->`) 4 | http://clojuredocs.org/clojure.core/-%3E 5 | 6 | thread-last(`->>`) 7 | https://clojuredocs.org/clojure.core/-%3E%3E 8 | -------------------------------------------------------------------------------- /clojure/unquote.md: -------------------------------------------------------------------------------- 1 | # Unquote 2 | 3 | https://clojuredocs.org/clojure.core/unquote 4 | 5 | https://clojuredocs.org/clojure.core/unquote-splicing 6 | -------------------------------------------------------------------------------- /clojure/vector.md: -------------------------------------------------------------------------------- 1 | # Vector 2 | 3 | Clojure는 List 외에 Vector를 지원한다. 4 | 5 | Vector는 random access가 가능하기 때문에 slice가 간단하다. 6 | 7 | ```clojure 8 | (subvec [1 2 3 4 5] 2 4) 9 | ; => [3 4] 10 | ``` 11 | 12 | ```clojure 13 | (take (- 4 2) (drop 2 [1 2 3 4 5])) 14 | ; => '(3 4) 15 | ``` 16 | 17 | List를 Vector로 바꿀 땐 `into` 등을 활용할 수 있다. 18 | 19 | ```clojure 20 | (into [] (take (- 4 2) (drop 2 [1 2 3 4 5]))) 21 | ; => [3 4] 22 | 23 | (apply vector (take (- 4 2) (drop 2 [1 2 3 4 5]))) 24 | ; => [3 4] 25 | ``` 26 | -------------------------------------------------------------------------------- /clojurescript/README.md: -------------------------------------------------------------------------------- 1 | # ClojureScript 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | --- 10 | 11 | [JUXT Blog - Speed up your ClojureScript Webapp](https://www.juxt.pro/blog/clojurescript-app-performance) 12 | -------------------------------------------------------------------------------- /clojurescript/reagent.md: -------------------------------------------------------------------------------- 1 | # Reagent: Minimalistic React for ClojureScript 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /cloud/cloudflare.md: -------------------------------------------------------------------------------- 1 | # Cloudflare 2 | 3 | 4 | 5 | ## Cloudflare Pages 6 | 7 | 8 | 9 | https://blog.cloudflare.com/cloudflare-pages-goes-full-stack/ 10 | 11 | https://blog.cloudflare.com/making-cloudflare-for-web/ 12 | 13 | https://ktseo41.github.io/blog/log/making-cloudflare-for-web.html 14 | 15 | ### Preview Deployments 16 | 17 | 18 | -------------------------------------------------------------------------------- /coding-interview/README.md: -------------------------------------------------------------------------------- 1 | # Coding Interview 2 | 3 | ## CRACKING the CODING INTERVIEW 4 | 5 | 6 | 7 | ## Simple Problem 8 | 9 | [코딩 도장 모임에서 카카오 공채 문제 얘기가 나와서 “실패율” 문제를 간단히 푸는 법 설명한 코드](https://bit.ly/35SjPF6) 10 | -------------------------------------------------------------------------------- /compiler/README.md: -------------------------------------------------------------------------------- 1 | # Compiler 2 | 3 | ## 국내 도서 4 | 5 | [컴파일러 만들기 (by 유종원)](https://j.mp/2Y3zhKP) 6 | 7 | → 소스 코드: 8 | [https://github.com/AcornPublishing/crafting-compiler](https://j.mp/3zZfsl5) 9 | -------------------------------------------------------------------------------- /concurrency/README.md: -------------------------------------------------------------------------------- 1 | # Concurrency 2 | 3 | - 4 | - 5 | - 6 | -------------------------------------------------------------------------------- /cpp/lambda.md: -------------------------------------------------------------------------------- 1 | # C++ Lambda 2 | 3 | 4 | 5 | ```cpp 6 | int factor = 2; 7 | auto f = [factor](int x)->int { return x * factor; }; 8 | f(3); 9 | ``` 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /critical-errors/README.md: -------------------------------------------------------------------------------- 1 | # 치명적인 실수 사례 2 | 3 | ## 띄어 쓰기 실수로 `/usr`를 삭제 4 | 5 | `install script does rm -rf /usr for ubuntu` 6 | 7 | 8 | 9 | 10 | 11 | ## 나이트 캐피털 12 | 13 | [5천억원짜리 SW버그가 주는 메시지 - ZDNet korea](https://zdnet.co.kr/view/?no=20131118093913) 14 | 15 | ## 증권사 실수 모음 16 | 17 | [회사를 한 순간에 부도 시킨 오타들](https://brunch.co.kr/@nsung/1) 18 | -------------------------------------------------------------------------------- /crystal/database.md: -------------------------------------------------------------------------------- 1 | # Database in Crystal 2 | 3 | 4 | 5 | 6 | 7 | ## DBX - ORM and query builder for Crystal 8 | 9 | 10 | 11 | ## QueryBuilder for Crystal 12 | 13 | 14 | -------------------------------------------------------------------------------- /crystal/kemal.md: -------------------------------------------------------------------------------- 1 | # Kemal 2 | 3 | > Lightning Fast, Super Simple Web Framework for Crystal 4 | 5 | 6 | 7 | 8 | 9 | ## Mango - An open-source manga server and web reader 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /csharp/blazor.md: -------------------------------------------------------------------------------- 1 | # Blazor - Build client web apps with C# (.NET) 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ## Awesome Blazor 10 | 11 | 12 | -------------------------------------------------------------------------------- /css/animxyz.md: -------------------------------------------------------------------------------- 1 | # AnimXYZ - The first composable CSS animation toolkit 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /css/css-sprite.md: -------------------------------------------------------------------------------- 1 | # CSS Sprite 2 | 3 | ## spritesmith 4 | 5 | - https://github.com/twolfson/spritesmith 6 | - https://github.com/bevacqua/spritesmith-cli 7 | - https://github.com/mixtur/webpack-spritesmith 8 | 9 | ## Rails 10 | 11 | - https://github.com/flyerhzm/css_sprite 12 | - [Rails Best Practices - Use css sprite automatically](https://rails-bestpractices.com/posts/2010/08/15/use-css-sprite-automatically/) 13 | -------------------------------------------------------------------------------- /css/cursor.md: -------------------------------------------------------------------------------- 1 | # Cursor 2 | 3 | 4 | 5 | ## Custom Cursor 6 | 7 | 8 | -------------------------------------------------------------------------------- /css/flexbox.md: -------------------------------------------------------------------------------- 1 | # Flexbox 2 | 3 | A Complete Guide to Flexbox 4 | 5 | 6 | Mastering Wrapping of Flex Items 7 | 8 | 9 | Vertical Centering 10 | 11 | -------------------------------------------------------------------------------- /css/flowbite.md: -------------------------------------------------------------------------------- 1 | # FlowBite - Open-source component library built with Tailwind CSS 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /css/leading-trim.md: -------------------------------------------------------------------------------- 1 | # `leading-trim` 2 | 3 | ## Leading-Trim: The Future of Digital Typesetting 4 | 5 | 원문: 6 | 7 | 8 | 한국어 번역: 9 | 10 | 11 | ## 웹 브라우저 지원 상황 12 | 13 | 14 | -------------------------------------------------------------------------------- /css/papercss.md: -------------------------------------------------------------------------------- 1 | # PaperCSS 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /css/rem.md: -------------------------------------------------------------------------------- 1 | # `rem` 2 | 3 | 4 | 5 | [Why I Change the Font Size to 62.5% in Every Project](https://javascript.plainenglish.io/why-i-change-the-font-size-to-62-5-in-every-project-45c5ff785fb5) 6 | -------------------------------------------------------------------------------- /css/tailwindcss.md: -------------------------------------------------------------------------------- 1 | # Tailwind CSS - A utility-first CSS framework for rapid UI development 2 | 3 | 4 | 5 | 6 | 7 | ## Tailwind UI - Official Tailwind CSS Components & Templates 8 | 9 | 유료. 10 | 11 | 12 | 13 | ### Catalyst - Tailwind CSS Application UI Kit 14 | 15 | 16 | 17 | [작은 스타트업에서 디자인 시스템 쉽게 구축하기 (feat. Catalyst)](https://blog.notifly.tech/notifly-design-system/) 18 | 19 | ## Headless UI - Unstyled, fully accessible UI components 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /css/vanilla-extract.md: -------------------------------------------------------------------------------- 1 | # vanilla-extract 2 | 3 | > Zero-runtime Stylesheets-in-TypeScript. 4 | 5 | 6 | 7 | 8 | 9 | ## Articles 10 | 11 | [CSS in TypeScript with vanilla-extract | CSS-Tricks - CSS-Tricks](https://css-tricks.com/css-in-typescript-with-vanilla-extract/) 12 | 13 | [I want candy! Introduction to Vanilla Extract library | TSH.io](https://tsh.io/blog/vanilla-extract-library/) 14 | -------------------------------------------------------------------------------- /customer-service/atlassian.md: -------------------------------------------------------------------------------- 1 | # Atlassian 2 | 3 | ## Jira Service Management 4 | 5 | 6 | 7 | ### Jira Service Desk 8 | 9 | > Jira Service Desk는 이제 Jira Service Management의 일부입니다. 10 | 11 | 12 | 13 | ### Jira Service Management의 헬프 데스크 소프트웨어 14 | 15 | 16 | -------------------------------------------------------------------------------- /dataset/README.md: -------------------------------------------------------------------------------- 1 | # Dataset 2 | 3 | ## Open Images Dataset V6 + Extensions 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /deno/README.md: -------------------------------------------------------------------------------- 1 | # Deno - A modern runtime for JavaScript and TypeScript 2 | 3 | 4 | 5 | 6 | 7 | ## 현재 상태 8 | 9 | [Is Deno Still a Thing? A Look at the Status of the Node Killer (2021-10-14)](https://blog.bitsrc.io/is-deno-still-a-thing-a-look-at-the-status-of-the-node-killer-884d47981d09) 10 | -------------------------------------------------------------------------------- /deno/jsr.md: -------------------------------------------------------------------------------- 1 | # JSR: the JavaScript Registry 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ## 등장 10 | 11 | [Introducing JSR - the JavaScript Registry](https://deno.com/blog/jsr_open_beta) \ 12 | → 한국어: 13 | [자바스크립트 레지스트리 JSR을 소개합니다](https://philip21.dev/posts/3) 14 | -------------------------------------------------------------------------------- /design-patterns/README.md: -------------------------------------------------------------------------------- 1 | # Design Patterns 2 | 3 | - 4 | - 5 | -------------------------------------------------------------------------------- /design-thinking/README.md: -------------------------------------------------------------------------------- 1 | # Design Thinking 2 | 3 | IDEO Design Thinking 4 | 5 | 6 | Design Thinking – IDEO U 7 | 8 | 9 | What is Design Thinking? 10 | 11 | -------------------------------------------------------------------------------- /design/ant-design.md: -------------------------------------------------------------------------------- 1 | Ant Design - A UI Design Language 2 | - https://ant.design/ 3 | - https://github.com/ant-design/ant-design 4 | -------------------------------------------------------------------------------- /design/design-system.md: -------------------------------------------------------------------------------- 1 | # Design System 2 | 3 | 초기부터 디자인 시스템이 필요하다. 4 | 5 | - 디자인 시스템은 디자인 작업을 표준화, 효율화하는 역할이 중요하지만, 프로그래밍 작업도 표준화, 효율화한다. 6 | - 디자인 시스템을 나중에 만들려고 하는 건 작업 과정에 암묵적인 디자인 시스템이 있을 때 가능하다. 7 | - 우리가 해야 하는 건 정리되지 않은 걸 찾아내는 일이지, 다시 정리하는 일이 되면 너무 어렵다. 사실상 새로 작업하는 것. 8 | - 전사적으로 쓸 수 있는 가이드라인을 만들고, 아토믹 디자인 같은 프레임을 통해 디자인 시스템을 정리하면 앞으로는 미세 조정 및 룩앤필 조정으로 다양한 결과물을 낼 수 있지 않을까? 9 | - 프로그래머보다 디자이너를 충원하자. 10 | 11 | (2020-07-10 메모) 12 | -------------------------------------------------------------------------------- /devops/codesandbox.md: -------------------------------------------------------------------------------- 1 | # CodeSandbox CI 2 | 3 | 4 | 5 | 6 | 7 | ## Pricing 8 | 9 | 10 | 11 | Personal(GitHub 공개 저장소)은 무료. 12 | 13 | [Travis CI](https://travis-ci.org/), 14 | [CircleCI](https://circleci.com/pricing/)의 15 | 공개 저장소 지원이 제한적으로 변경되면서 대안으로 떠오름. 16 | -------------------------------------------------------------------------------- /devops/datadog.md: -------------------------------------------------------------------------------- 1 | # Datadog - Cloud Monitoring as a Service 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /devops/docker.md: -------------------------------------------------------------------------------- 1 | # Docker 2 | 3 | Go to 4 | -------------------------------------------------------------------------------- /devops/gitops.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /devops/hyperdx.md: -------------------------------------------------------------------------------- 1 | # HyperDX 2 | 3 | 4 | 5 | 6 | 7 | ## Datadog 대안으로 소개 8 | 9 | 10 | -------------------------------------------------------------------------------- /devops/pulumi.md: -------------------------------------------------------------------------------- 1 | # Pulumi - Modern Infrastructure as Code 2 | 3 | > Fully managed cloud engineering platform 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /devops/rundeck.md: -------------------------------------------------------------------------------- 1 | # Rundeck 2 | Job Scheduler and Runbook Automation. 3 | 4 | - http://rundeck.org/ 5 | - https://hub.docker.com/r/jordan/rundeck/ 6 | -------------------------------------------------------------------------------- /devops/sentry.md: -------------------------------------------------------------------------------- 1 | # Sentry 2 | 3 | 4 | 5 | ## 사례 6 | 7 | 8 | -------------------------------------------------------------------------------- /devrel/README.md: -------------------------------------------------------------------------------- 1 | # DevRel (Developer Relations) 2 | 3 | 4 | 5 | [devrel.kr (@DevRelKR) / Twitter](https://twitter.com/devrelkr) 6 | 7 | [DevRel Korea | Facebook](https://www.facebook.com/groups/DevRelKR) 8 | 9 | [디벨로퍼 아드보캇은 뭘 하는 사람인가요? | JustinChronicles](https://justinchronicles.net/ko/2020/03/14/what-do-developer-advocates-do/) 10 | 11 | [우아한형제들의 Developer Relations | 우아한형제들 기술블로그](https://techblog.woowahan.com/3799/) 12 | 13 | [우아한 Developer Relations 두번째 이야기 | 우아한형제들 기술블로그](https://techblog.woowahan.com/2594/) 14 | 15 | [우아한형제들 Developer Relations-Updated | 우아한형제들 기술블로그](https://techblog.woowahan.com/4091/) 16 | -------------------------------------------------------------------------------- /docker/amazon-ec2.md: -------------------------------------------------------------------------------- 1 | # Amazon EC2에 Docker 설치 2 | 3 | ```bash 4 | sudo yum update -y 5 | 6 | sudo amazon-linux-extras install -y docker 7 | 8 | sudo service docker start 9 | 10 | sudo usermod -a -G docker ec2-user 11 | # → 이후 SSH 재접속 12 | ``` 13 | 14 | 참고: [Docker basics for Amazon ECS - Amazon Elastic Container Service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html) 15 | -------------------------------------------------------------------------------- /docker/docker-compose.md: -------------------------------------------------------------------------------- 1 | # Docker Compose 2 | 3 | 4 | 5 | ## Version 2 6 | 7 | > From July 2023 Compose V1 stopped receiving updates. 8 | > It’s also no longer available in new releases of Docker Desktop. 9 | 10 | Migrate to Compose V2: 11 | 12 | 13 | ## Compose file reference 14 | 15 | 16 | -------------------------------------------------------------------------------- /docker/docker-in-docker.md: -------------------------------------------------------------------------------- 1 | # Docker in Docker 2 | 3 | - https://blog.docker.com/2013/09/docker-can-now-run-within-docker/ 4 | 5 | - https://github.com/jpetazzo/dind 6 | -------------------------------------------------------------------------------- /docker/java8.md: -------------------------------------------------------------------------------- 1 | # Java 8 사용하기 2 | 3 | Docker Official Image packaging for Java (openJDK) 4 | 5 | - 6 | - 7 | 8 | ## `Dockerfile` 예제 9 | 10 | ```dockerfile 11 | FROM java:8-jdk 12 | 13 | ADD . /webapp 14 | 15 | WORKDIR /webapp 16 | 17 | ./gradlew assemble 18 | 19 | CMD java -jar build/libs/application-0.0.0.war 20 | 21 | EXPOSE 8080 22 | ``` 23 | 24 | ## 이미지 빌드 25 | 26 | ```bash 27 | docker build -t webapp . 28 | ``` 29 | 30 | ## 컨테이너 실행 31 | 32 | ```bash 33 | docker run -it -p 80:8080 webapp 34 | ``` 35 | -------------------------------------------------------------------------------- /docker/mac-os.md: -------------------------------------------------------------------------------- 1 | # macOS 2 | 3 | - [Mac OS X에서 Ruby on Rails 애플리케이션을 Docker로 실행하기.md](https://gist.github.com/ahastudio/71aa03a278df6fd0be8d) 4 | -------------------------------------------------------------------------------- /docker/mariadb.md: -------------------------------------------------------------------------------- 1 | # MariaDB 2 | 3 | 4 | 5 | ```bash 6 | docker run -d --name mariadb \ 7 | -p 3306:3306 \ 8 | -e MYSQL_ROOT_PASSWORD=password \ 9 | -e MYSQL_DATABASE=test \ 10 | mariadb \ 11 | --character-set-server=utf8mb4 \ 12 | --collation-server=utf8mb4_unicode_ci 13 | 14 | docker logs -f mariadb 15 | 16 | docker stop mariadb 17 | docker rm mariadb 18 | ``` 19 | -------------------------------------------------------------------------------- /docker/nginx.md: -------------------------------------------------------------------------------- 1 | # nginx 2 | 3 | 4 | 5 | ## Nginx 실행 테스트 6 | 7 | ```bash 8 | docker run -it --rm --name nginx -p 8080:80 nginx 9 | ``` 10 | 11 | 12 | 13 | ## 간단한 HTML 띄우기 14 | 15 | ```bash 16 | mkdir -p ~/nginx/html 17 | 18 | echo "Welcome" > ~/nginx/html/index.html 19 | ``` 20 | 21 | ```bash 22 | docker run -d --name nginx \ 23 | -p 8080:80 \ 24 | -v ~/nginx/html:/usr/share/nginx/html \ 25 | nginx 26 | docker logs -f nginx 27 | ``` 28 | 29 | 30 | -------------------------------------------------------------------------------- /docker/postgresql.md: -------------------------------------------------------------------------------- 1 | # PostgreSQL 2 | 3 | 4 | 5 | ```bash 6 | mkdir -p ~/data/my-postgres 7 | 8 | docker run -d --name postgres \ 9 | -e POSTGRES_PASSWORD=password \ 10 | -v ~/data/my-postgres:/var/lib/postgresql/data \ 11 | -p 65432:5432 \ 12 | postgres:16.4 13 | 14 | docker logs -f postgres 15 | 16 | docker stop postgres 17 | docker rm postgres 18 | ``` 19 | -------------------------------------------------------------------------------- /docker/remove-untagged-images.md: -------------------------------------------------------------------------------- 1 | # Remove untagged images 2 | 3 | Prune unused Docker objects 4 | 5 | 6 | ```bash 7 | docker image prune 8 | 9 | # OR 10 | 11 | docker image prune --force 12 | ``` 13 | 14 | ## 옛날 방식 15 | 16 | 직접 dangling image를 찾아서 삭제. 17 | 18 | ```bash 19 | docker rmi $(docker images -f "dangling=true" -q) 20 | ``` 21 | -------------------------------------------------------------------------------- /docker/steve-wozniak-is-not-boring.md: -------------------------------------------------------------------------------- 1 | # Steve Wozniak is not boring 2 | 3 | PR: 4 | 5 | Commit: 6 | -------------------------------------------------------------------------------- /docker/works-on-my-machine.md: -------------------------------------------------------------------------------- 1 | # Works on my machine 2 | 3 | ![Avatar](https://avatars.githubusercontent.com/u/73855671?s=200&v=4) 4 | 5 | > This organization contains pre-made development environments 6 | > which can be initialized with couple of clicks and runs in containers. 7 | > No more excuses! 8 | 9 | 10 | -------------------------------------------------------------------------------- /domain-driven-design-quickly/README.md: -------------------------------------------------------------------------------- 1 | # Domain Driven Design Quickly 2 | 3 | 4 | -------------------------------------------------------------------------------- /domain-specific-language/README.md: -------------------------------------------------------------------------------- 1 | # DSL (Domain Specific Language) 2 | 3 | ## 도서 4 | 5 | [DSL: 고객과 함께 하는 도메인 특화 언어](https://bit.ly/2SVXsDl) 6 | 7 | ## 아샬 자료 8 | 9 | - [Ruby DSL 슬라이드](https://bit.ly/2RrYJWf) 10 | - [Ruby로 EDSL 구현](https://bit.ly/2gbVefz) 11 | - [Ruby 메타프로그래밍](https://bit.ly/2ivBhTf) 12 | - [Let’s RSpec](https://bit.ly/2gvIbWD) 13 | - [DSL - 나만의 프로그래밍 언어를 만들어서 쓰자 - YouTube](https://www.youtube.com/watch?v=2zW4dls8_sw) 14 | -------------------------------------------------------------------------------- /dos/README.md: -------------------------------------------------------------------------------- 1 | # DOS 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /electron/README.md: -------------------------------------------------------------------------------- 1 | # Electron 2 | 3 | > Build cross-platform desktop apps with JavaScript, HTML, and CSS. 4 | 5 | 6 | 7 | 8 | 9 | ## Angular + Electron simple demo 10 | 11 | [https://github.com/ahastudio/CodingLife/tree/main/20151122/electron](https://j.mp/3B82539) 12 | 13 | ## muffon - Desktop music browser 14 | 15 | > It's built with Vue and Electron. 16 | > 17 | > It's tested on Windows 10 and Linux, but there is Mac version as well. 18 | 19 | 20 | -------------------------------------------------------------------------------- /elixir/README.md: -------------------------------------------------------------------------------- 1 | # Elixir 2 | 3 | - 4 | - 5 | 6 | ## Phoenix 7 | 8 | - 9 | - 10 | - 11 | 12 | ## Credo 13 | 14 | > Credo is a static code analysis tool for the Elixir language 15 | > with a focus on teaching and code consistency. 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /email/README.md: -------------------------------------------------------------------------------- 1 | # E-mail 2 | 3 | CSS Support Guide for Email Clients 4 | 5 | 6 | Can I email… Support tables for HTML and CSS in emails 7 | 8 | 9 | -------------------------------------------------------------------------------- /ember/README.md: -------------------------------------------------------------------------------- 1 | Ember.js - A framework for creating ambitious web applications. 2 | - http://emberjs.com/ 3 | 4 | Ember CLI — A command line utility for creating ambitious web applications 5 | - http://ember-cli.com/ 6 | 7 | -------------------------------------------------------------------------------- /envoy/README.md: -------------------------------------------------------------------------------- 1 | # Envoy Proxy 2 | 3 | > Cloud-native high-performance edge/middle/service proxy 4 | 5 | 6 | 7 | 8 | 9 | ## 사례 10 | 11 | [How we migrated Dropbox from Nginx to Envoy - Dropbox](https://dropbox.tech/infrastructure/how-we-migrated-dropbox-from-nginx-to-envoy) 12 | 13 | [Dropbox가 Nginx에서 Envoy로 전환한 이유와 방법 | GeekNews](https://news.hada.io/topic?id=2625) 14 | -------------------------------------------------------------------------------- /ethereum/weth.md: -------------------------------------------------------------------------------- 1 | # wETH (wrapped ETH) 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /fastai/README.md: -------------------------------------------------------------------------------- 1 | # fast.ai · Making neural nets uncool again 2 | 3 | 4 | 5 | 6 | 7 | ## Practical Deep Learning for Coders 8 | 9 | 10 | 11 | ## Deep Learning for Coders with fastai and PyTorch 12 | 13 | 14 | 15 | ## The fastai book 16 | 17 | 18 | 19 | ## 기타 20 | 21 | - [Launching fast.ai · fast.ai (2016-10-07)](https://www.fast.ai/2016/10/07/fastai-launch/) 22 | - 23 | -------------------------------------------------------------------------------- /figma/README.md: -------------------------------------------------------------------------------- 1 | # Figma: the collaborative interface design tool 2 | 3 | 4 | 5 | ## 플러그인 6 | 7 | [Make plugins for the Figma Community](https://help.figma.com/hc/en-us/articles/360039958874-Make-plugins-for-the-Figma-Community) 8 | 9 | [Board Gaming in Figma](https://mastery.games/post/board-gaming-in-figma/) 10 | -------------------------------------------------------------------------------- /figma/figjam.md: -------------------------------------------------------------------------------- 1 | # FigJam 2 | 3 | > FigJam is an online whiteboard for teams to explore ideas together. 4 | 5 | 6 | 7 | - [Welcome to FigJam (YouTube Video)](https://j.mp/3usfG2Q) 8 | - [피그잼 모르는 사람 없게 해주세요!](https://j.mp/3zXnfzP) 9 | 10 | ## Alternative? 11 | 12 | ### Miro 13 | 14 | > The Visual Collaboration Platform for Every Team 15 | 16 | 17 | -------------------------------------------------------------------------------- /floc/README.md: -------------------------------------------------------------------------------- 1 | # FLoC (Federated Learning of Cohorts) 2 | 3 | - 4 | - 5 | 6 | 7 | 8 | What is FLoC? 9 | 10 | 11 | [구글 FLoC에서 내 웹사이트 제외 시키기 | GeekNews](https://news.hada.io/topic?id=4085) 12 | -------------------------------------------------------------------------------- /flutter/README.md: -------------------------------------------------------------------------------- 1 | # Flutter 2 | 3 | https://flutter.dev/ 4 | 5 | ## Flock 6 | 7 | https://flutterfoundation.dev/ 8 | 9 | https://flutterfoundation.dev/blog/posts/we-are-forking-flutter-this-is-why/ 10 | 11 | https://news.hada.io/topic?id=17475 12 | -------------------------------------------------------------------------------- /fp/monad.md: -------------------------------------------------------------------------------- 1 | # Monad 2 | 3 | 4 | 5 | [모나드 괴담](https://xtendo.org/ko/monad) 6 | 7 | [왜 모나드를 사용해야 하는가](https://github.com/weirdmeetup/translate/blob/master/articles/why-do-monads-matter.md) 8 | -------------------------------------------------------------------------------- /fp/y-combinator.md: -------------------------------------------------------------------------------- 1 | # Y combinator 2 | 3 | 4 | 5 | [왜 폴 그레이엄은 회사 이름을 Y Combinator라고 지었을까](https://helloworld.kurly.com/blog/y-combinator/) 6 | -------------------------------------------------------------------------------- /framer/README.md: -------------------------------------------------------------------------------- 1 | # Framer 2 | 3 | 4 | 5 | ## Handshake 6 | 7 | 8 | 9 | ## Framer / Next.js Quickstart 10 | 11 | 12 | -------------------------------------------------------------------------------- /fsharp/README.md: -------------------------------------------------------------------------------- 1 | # `F#` 2 | 3 | F# Software Foundation: 4 | 5 | --- 6 | 7 | Don Teaches Guido F# | #dotNETConf: Focus on F# 8 | 9 | -------------------------------------------------------------------------------- /fsharp/bolero.md: -------------------------------------------------------------------------------- 1 | # Bolero: F# in WebAssembly 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /gatsby/README.md: -------------------------------------------------------------------------------- 1 | # Gatsby 2 | 3 | 4 | 5 | 6 | 7 | [(Re-) Introducing Gatsby, A Reactive Site Generator](https://www.gatsbyjs.com/blog/re-introducing-gatsby-a-reactive-site-generator/) 8 | -------------------------------------------------------------------------------- /gatsby/telemetry.md: -------------------------------------------------------------------------------- 1 | # Telemetry 2 | 3 | Gatsby는 익명으로 사용 기록을 수집한다. 이게 싫다면 disable할 수 있다. 4 | 5 | 6 | 7 | ```bash 8 | npx gatsby telemetry --disable 9 | ``` 10 | -------------------------------------------------------------------------------- /git/git-history.md: -------------------------------------------------------------------------------- 1 | # Git History 2 | 3 | > Quickly browse the history of files in any git repo 4 | 5 | 6 | 7 | 8 | 9 | ## Git File History (Visual Studio Code Extension) 10 | 11 | 12 | 13 | ![demo](https://user-images.githubusercontent.com/1911623/52807635-d5043480-306a-11e9-9b03-351b7cda4936.gif) 14 | -------------------------------------------------------------------------------- /git/gitbutler.md: -------------------------------------------------------------------------------- 1 | # GitButler | Git Branching, Refined 2 | 3 | 4 | 5 | 6 | 7 | Butler Flow: 8 | -------------------------------------------------------------------------------- /git/github-flow.md: -------------------------------------------------------------------------------- 1 | # GitHub Flow 2 | 3 | [GitHub Flow - Scott Chacon](https://scottchacon.com/2011/08/31/github-flow) 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /git/gitmessage.md: -------------------------------------------------------------------------------- 1 | # `.gitmessage` 2 | 3 | [Git Gud: Create a .gitmessage - DEV Community](https://dev.to/vetswhocode/git-gud-create-a-gitmessage-4ibj) 4 | 5 | [Better Commit Messages with a .gitmessage Template](https://thoughtbot.com/blog/better-commit-messages-with-a-gitmessage-template) 6 | 7 | [잘 밤에 쓸데없는 생각하기.../Git commit message template 만들기](https://ujuc.github.io/2020/02/02/git-commit-message-template-man-deul-gi/) 8 | 9 | [커밋 메세지 더 잘 작성하기 (A.k.a. Gitmessage) | 기록하는개발자 | DevAndy](https://youngjinmo.github.io/2020/03/gitmessage/) 10 | -------------------------------------------------------------------------------- /git/main-branch.md: -------------------------------------------------------------------------------- 1 | # `main` 브랜치 2 | 3 | Git의 master 브랜치 이름을 PC하게 바꾸자! 4 | 5 | GitHub의 제안 6 | 7 | - 8 | 9 | 전통적인 표현은 trunk. 이 표현은 사실 branch와 대비된다. 10 | 11 | - 12 | 13 | Trunk-based Development 14 | 15 | - 16 | - 17 | - 18 | 19 | (2020-06-15 메모) 20 | -------------------------------------------------------------------------------- /git/reflog.md: -------------------------------------------------------------------------------- 1 | # git log에서 보이지 않는 이전 commit 모두 확인하기 2 | 3 | ``` 4 | $ git reflog 5 | ``` 6 | 7 | 이전 커밋으로 돌아가 복구하고 싶다면 다음과 같이 새로운 브랜치(temp)를 만들어서 쓰면 편하다. 8 | 9 | ``` 10 | $ git checkout -b temp <커밋번호> 11 | ``` 12 | 13 | reflog는 로컬 저장소만 활용하기 때문에, GitHub 저장소에서 쓰고 싶다면 API를 호출해야 한다. 14 | https://github.com/ahastudio/til/blob/master/github/reflog.md 15 | 16 | 참고: 17 | - [Git - git-reflog Documentation](https://git-scm.com/docs/git-reflog) 18 | - [Git - 리비전 조회하기](https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EB%A6%AC%EB%B9%84%EC%A0%84-%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0) 19 | -------------------------------------------------------------------------------- /github/achievements.md: -------------------------------------------------------------------------------- 1 | # GitHub Profile Achievements 🏆 2 | 3 | [Introducing Achievements: recognizing the many stages of a developer’s coding journey | The GitHub Blog](https://github.blog/2022-06-09-introducing-achievements-recognizing-the-many-stages-of-a-developers-coding-journey/) 4 | 5 | ## List 6 | 7 | 8 | 9 | ## Example 10 | 11 | 12 | -------------------------------------------------------------------------------- /github/auto-merge.md: -------------------------------------------------------------------------------- 1 | # auto-merge 2 | 3 | [Automatically merging a pull request](https://j.mp/3p8n4Qj) 4 | -------------------------------------------------------------------------------- /github/code-owners.md: -------------------------------------------------------------------------------- 1 | # Code Owners 2 | 3 | `CODEOWNERS` file. 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /github/delete-package.md: -------------------------------------------------------------------------------- 1 | # Delete package 2 | 3 | Delete the package at the top of the versions list 4 | from Github Package Registry. 5 | 6 | `https://github.com/user/repo/packages/0000/versions` 7 | 8 | ```javascript 9 | document.querySelector('.btn-danger').click(); 10 | document.querySelector('[role=dialog] [name=verify]').value = 'repo'; 11 | document.querySelector('[role=dialog] .btn-danger').disabled = false; 12 | document.querySelector('[role=dialog] .btn-danger').click(); 13 | ``` 14 | -------------------------------------------------------------------------------- /github/github-pages.md: -------------------------------------------------------------------------------- 1 | # GitHub Pages 2 | 3 | > Websites for you and your projects, hosted directly 4 | > from your GitHub repository. 5 | > Just edit, push, and your changes are live. 6 | 7 | 8 | 9 | [Quickstart for GitHub Pages - GitHub Docs](https://docs.github.com/en/pages/quickstart) 10 | 11 | ## Host single page apps with GitHub Pages 12 | 13 | Single Page Apps for GitHub Pages 14 | 15 | 16 | 17 | Demo: 18 | -------------------------------------------------------------------------------- /github/monkeyweb.md: -------------------------------------------------------------------------------- 1 | # Monkey Web 2 | 3 | > Monkey show the rank of coders and repositories on GitHub. 4 | 5 | 6 | 7 | 8 | 9 | ## monkey-github-api 10 | 11 | > GitHub API for TypeScript 12 | 13 | 14 | -------------------------------------------------------------------------------- /github/reflog.md: -------------------------------------------------------------------------------- 1 | # 특정 Commit으로 master 브랜치 복구 2 | 3 | ``` 4 | $ curl -u ahastudio -X POST \ 5 | -d '{"ref":"refs/heads/new-master", "sha":"SHA123456789"}' \ 6 | https://api.github.com/repos/ahastudio/test-repo/git/refs 7 | ``` 8 | -------------------------------------------------------------------------------- /gitops/README.md: -------------------------------------------------------------------------------- 1 | # GitOps 2 | 3 | [GitOps - Operations by Pull Request](https://web.archive.org/web/20180107011605/https://www.weave.works/blog/gitops-operations-by-pull-request) 4 | 5 | [What Is GitOps Really?](https://web.archive.org/web/20180826150255/https://www.weave.works/blog/what-is-gitops-really) 6 | 7 | [GitOps, or Why the Future Has No Dashboards - By Arthur Schmunk](https://hackernoon.com/gitops-or-why-the-future-has-no-dashboards-38ce026a3c56) 8 | 9 | [GitOps - Operations by Pull Request — Lunar Tech Insights](https://tech.lunar.app/blog/gitops-operations-by-pull-request) 10 | 11 | ## Awesome-GitOps 12 | 13 | 14 | -------------------------------------------------------------------------------- /golang/README.md: -------------------------------------------------------------------------------- 1 | # The Go Programming Language 2 | 3 | 4 | -------------------------------------------------------------------------------- /golang/bufio.md: -------------------------------------------------------------------------------- 1 | # Buffered I/O 2 | 3 | `io.Reader`와 `io.Writer`를 wrapping한 `struct`를 4 | `bufio.Reader`와 `bufio.Writer`로 제공하는 패키지. 5 | 내부에 byte slice와 read/write position을 둬서 버퍼를 관리한다. 6 | 버퍼의 기본 크기는 `4096` 바이트. 7 | 8 | 기본적인 `Read`, `Write` 외에 도움이 되는 메서드도 다수 제공한다. 9 | 10 | - 11 | - 12 | -------------------------------------------------------------------------------- /golang/code-guide.md: -------------------------------------------------------------------------------- 1 | # Code Guide 2 | 3 | ## Go Code Review Comments 4 | 5 | 6 | 7 | > collects common comments made during reviews of Go code, so that a single detailed explanation can be referred to by shorthands. This is a laundry list of common mistakes, not a comprehensive style guide. 8 | -------------------------------------------------------------------------------- /golang/dep.md: -------------------------------------------------------------------------------- 1 | # dep 2 | 3 | > Dependency management for Go 4 | 5 | - 6 | - 7 | 8 | ## `Gopkg.toml` 9 | 10 | - 11 | -------------------------------------------------------------------------------- /golang/effective-go.md: -------------------------------------------------------------------------------- 1 | # Effective Go 2 | 3 | 4 | 5 | 한국어 번역: 6 | 7 | 아샬 발표 영상: 8 | -------------------------------------------------------------------------------- /golang/ginkgo.md: -------------------------------------------------------------------------------- 1 | # Ginkgo - BDD Testing Framework for Go 2 | 3 | - 4 | - 5 | 6 | 아샬 발표 영상: 7 | -------------------------------------------------------------------------------- /golang/golangci.md: -------------------------------------------------------------------------------- 1 | # GolangCI 2 | 3 | - 4 | 5 | - 6 | -------------------------------------------------------------------------------- /gradle/build-init-plugin.md: -------------------------------------------------------------------------------- 1 | # Build Init Plugin 2 | 3 | [https://docs.gradle.org/current/userguide/build_init_plugin.html](https://j.mp/378xwxJ) 4 | 5 | ```bash 6 | gradle init --type basic 7 | ``` 8 | 9 | ```bash 10 | gradle init --type java-application 11 | ``` 12 | 13 | ```bash 14 | gradle init --type java-library 15 | ``` 16 | 17 | ```bash 18 | gradle init --type scala-library 19 | ``` 20 | 21 | ```bash 22 | gradle init --type groovy-library 23 | ``` 24 | -------------------------------------------------------------------------------- /gradle/gradle-7.md: -------------------------------------------------------------------------------- 1 | # Gradle 7 주요 변경사항 2 | 3 | 4 | 5 | 6 | 7 | ## `compile`과 `runtime` 제거 8 | 9 | `implementation`과 `runtimeOnly`로 변경하세요. 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /gradle/jcenter.md: -------------------------------------------------------------------------------- 1 | # JCenter 2 | 3 | [Into the Sunset on May 1st: Bintray, GoCenter, and ChartCenter](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/) 4 | 5 | [JCenter shutdown impact on Gradle builds](https://blog.gradle.org/jcenter-shutdown) 6 | -------------------------------------------------------------------------------- /gradle/up-to-date.md: -------------------------------------------------------------------------------- 1 | # Skipping tasks that are up-to-date 2 | 3 | > Up-to-date checks (AKA Incremental Build) 4 | 5 | 6 | -------------------------------------------------------------------------------- /graphql/graphql-hooks.md: -------------------------------------------------------------------------------- 1 | # graphql-hooks 2 | 3 | > 🎣 Minimal hooks-first GraphQL client. 4 | 5 | 6 | -------------------------------------------------------------------------------- /graphql/graphql-request.md: -------------------------------------------------------------------------------- 1 | # graphql-request 2 | 3 | > Minimal GraphQL client supporting Node and browsers for scripts 4 | > or simple apps 5 | 6 | 7 | 8 | ## 예제 9 | 10 | 11 | -------------------------------------------------------------------------------- /graphql/graphqljs.md: -------------------------------------------------------------------------------- 1 | # graphql.js: lightweight graphql client 2 | 3 | > A Simple and Isomorphic GraphQL Client for JavaScript 4 | 5 | 6 | 7 | ## 예제 8 | 9 | 10 | -------------------------------------------------------------------------------- /graphql/urql.md: -------------------------------------------------------------------------------- 1 | # urql 2 | 3 | > A highly customisable and versatile GraphQL client 4 | 5 | 6 | 7 | Documentation: 8 | 9 | ## Tutorial 10 | 11 | [Fullstack Tutorial with GraphQL, React & urql](https://www.howtographql.com/react-urql/0-introduction/) 12 | 13 | ## 예제 14 | 15 | 16 | -------------------------------------------------------------------------------- /groovy/metaprogramming.md: -------------------------------------------------------------------------------- 1 | # Metaprogramming 2 | 3 | http://www.groovy-lang.org/metaprogramming.html 4 | -------------------------------------------------------------------------------- /growth-hacking/README.md: -------------------------------------------------------------------------------- 1 | # Growth Hacking 2 | 3 | ## A/B Test 4 | 5 | [실험과 기능플래그를 위한 실험플랫폼 구축하기](https://techblog.woowahan.com/9935/) 6 | -------------------------------------------------------------------------------- /harbor/README.md: -------------------------------------------------------------------------------- 1 | # Harbor 2 | 3 | 4 | 5 | 6 | 7 | [Private Docker Registry를 구축하기 위한 오픈소스 Harbor 도입기](https://engineering.linecorp.com/ko/blog/harbor-for-private-docker-registry) 8 | -------------------------------------------------------------------------------- /haskell/README.md: -------------------------------------------------------------------------------- 1 | # Haskell 2 | 3 | 4 | 5 | 6 | 7 | ## Real World Haskell 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /haskell/eta.md: -------------------------------------------------------------------------------- 1 | # Eta - Modern Haskell on the JVM 2 | 3 | 4 | 5 | 6 | 7 | 2019년 이후로 커밋이 없음. 8 | -------------------------------------------------------------------------------- /haskell/frege.md: -------------------------------------------------------------------------------- 1 | # Frege - Haskell for the JVM 2 | 3 | 4 | -------------------------------------------------------------------------------- /hono/README.md: -------------------------------------------------------------------------------- 1 | # Hono Web application framework 2 | 3 | > Fast, lightweight, built on Web Standards. 4 | > Support for any JavaScript runtime. 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /html5/README.md: -------------------------------------------------------------------------------- 1 | # HTML5 2 | 3 | 4 | 5 | 6 | 7 | ## Hypertext 8 | 9 | 10 | 11 | [https://ko.wikipedia.org/wiki/하이퍼텍스트](https://ko.wikipedia.org/wiki/%ED%95%98%EC%9D%B4%ED%8D%BC%ED%85%8D%EC%8A%A4%ED%8A%B8) 12 | 13 | ## HTML 소개 14 | 15 | 16 | 17 | ## HTML5test - How well does your browser support HTML5? 18 | 19 | 20 | -------------------------------------------------------------------------------- /html5/dialog.md: -------------------------------------------------------------------------------- 1 | # `` 2 | 3 | [``: The Dialog element - HTML: HyperText Markup Language | MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) 4 | 5 | [In Defence Of Dialog](https://whistlr.info/2021/in-defence-of-dialog/) 6 | -------------------------------------------------------------------------------- /html5/file-drag-and-drop.md: -------------------------------------------------------------------------------- 1 | # File drag and drop 2 | 3 | ```html 4 |
5 | Drag and drop files. 6 |
7 | 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /identifier/README.md: -------------------------------------------------------------------------------- 1 | # Identifier 2 | 3 | Instagram: [Instagram 에서 ID 샤딩하기](https://charsyam.wordpress.com/2011/12/04/instagram-%ec%97%90%ec%84%9c-id-%ec%83%a4%eb%94%a9%ed%95%98%ea%b8%b0/) 4 | 5 | ## 이상하지만 참고하면 좋은 글 6 | 7 | [UUID or GUID as Primary Keys? Be Careful! | by Tom Harrison | Tom Harrison’s Blog](https://tomharrisonjr.com/uuid-or-guid-as-primary-keys-be-careful-7b2aa3dcb439) 8 | -------------------------------------------------------------------------------- /identifier/tsid.md: -------------------------------------------------------------------------------- 1 | # TSID (Time-Sorted Unique Identifiers) 2 | 3 | 4 | -------------------------------------------------------------------------------- /identifier/ulid.md: -------------------------------------------------------------------------------- 1 | # ULID (Universally Unique Lexicographically Sortable Identifier) 2 | 3 | 4 | 5 | 두 개의 값을 결합해서 ID를 생성. ID의 상위 비트에 Timestamp가 들어가기 때문에, ID를 생성 시각에 따라 정렬할 수 있다. 6 | 7 | - Timestamp (48bits) 8 | - Randomness (80bits) 9 | 10 | ## Node.js `ulid` package 11 | 12 | 13 | -------------------------------------------------------------------------------- /identifier/uuid.md: -------------------------------------------------------------------------------- 1 | # UUID (Universally Unique IDentifier) 2 | 3 | 4 | 5 | ## Node.js `uuid` package 6 | 7 | - 8 | - 9 | 10 | ### Version 7 11 | 12 | - 13 | - [There’s `Math.random()`, and then there’s `Math.random()`](https://v8.dev/blog/math-random) 14 | -------------------------------------------------------------------------------- /image/carbon.md: -------------------------------------------------------------------------------- 1 | # Carbon 2 | 3 | 4 | 5 | > Create and share beautiful images of your source code. 6 | 7 | 이미지 저장용 Twitter 계정: 8 | -------------------------------------------------------------------------------- /ipad/README.md: -------------------------------------------------------------------------------- 1 | # iPad 2 | 3 | ## Develop Environment 4 | 5 | Using an iPad for Coding 6 | 7 | 8 | Mosh 9 | 10 | 11 | Termius 12 | 13 | 14 | Code App 15 | 16 | -------------------------------------------------------------------------------- /j/random.md: -------------------------------------------------------------------------------- 1 | # Random Numbers 2 | 3 | 주사위를 만들어 보자. 4 | 5 | ```j 6 | NB. 6개의 숫자 중 하나를 랜덤으로 얻는다. 즉, 0~5 중 하나. 7 | ? 6 8 | 9 | NB. 1~6 중 하나를 얻는다. 10 | 1 + ? 6 11 | 12 | NB. 정육면체 주사위 2개를 동시에 던진다. 13 | 1 + ? 6 6 14 | 15 | NB. 정사면체 주사위 + 정육면체 주사위 16 | 1 + ? 4 6 17 | 18 | NB. 1~6 중 (중복 없이) 3개를 얻는다. 19 | 1 + 3 ? 6 20 | ``` 21 | 22 | 참고: 23 | -------------------------------------------------------------------------------- /java/README.md: -------------------------------------------------------------------------------- 1 | # Java 2 | 3 | ## `SDKMAN!`으로 설치 4 | 5 | 6 | 7 | ## 공식 튜토리얼 8 | 9 | The Java™ Tutorials 10 | 11 | 12 | ## The Java® Language Specification 13 | 14 | 15 | -------------------------------------------------------------------------------- /java/books.md: -------------------------------------------------------------------------------- 1 | # 관련 서적 2 | 3 | 오브젝트 4 | 5 | 6 | GOOSGBT 7 | 8 | 9 | DDD 10 | 11 | 12 | IDDD 13 | 14 | 15 | PoEAA 16 | 17 | 18 | ## JUnit 19 | 20 | 자바와 JUnit을 활용한 실용주의 단위 테스트 21 | 22 | -------------------------------------------------------------------------------- /java/cobertura.md: -------------------------------------------------------------------------------- 1 | # Cobertura 2 | 3 | Java Test Coverage Tool. 4 | 5 | - https://plugins.gradle.org/plugin/net.saliman.cobertura 6 | - https://github.com/stevesaliman/gradle-cobertura-plugin 7 | - https://github.com/stevesaliman/gradle-cobertura-plugin/wiki 8 | 9 | ```gradle 10 | buildscript { 11 | repositories { 12 | maven { 13 | url 'https://plugins.gradle.org/m2/' 14 | } 15 | } 16 | dependencies { 17 | classpath 'net.saliman:gradle-cobertura-plugin:2.3.1' 18 | } 19 | } 20 | 21 | apply plugin: 'net.saliman.cobertura' 22 | ``` 23 | 24 | ``` 25 | $ ./gradlew cobertura 26 | $ open build/reports/cobertura/index.html 27 | ``` 28 | -------------------------------------------------------------------------------- /java/graalvm.md: -------------------------------------------------------------------------------- 1 | # GraalVM 2 | 3 | 4 | -------------------------------------------------------------------------------- /java/intellij-idea.md: -------------------------------------------------------------------------------- 1 | # IntelliJ IDEA 2 | 3 | ## Install 4 | 5 | ```bash 6 | brew install intellij-idea-ce 7 | ``` 8 | 9 | ## CLI Shell Script 10 | 11 | [Command-line interface | IntelliJ IDEA Documentation](https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html) 12 | 13 | ```bash 14 | mkdir -p ~/.local/bin 15 | touch ~/.local/bin/idea 16 | chmod +x ~/.local/bin/idea 17 | ``` 18 | 19 | ```bash 20 | #!/bin/sh 21 | 22 | open -na "IntelliJ IDEA CE.app" --args "$@" 23 | ``` 24 | 25 | ## Java 버전 지정 26 | 27 | [Spring Boot 3.x 실행이 안될 경우 (feat. IntelliJ)](https://jojoldu.tistory.com/698) \ 28 | 👉 프로젝트 설정에서 SDK 설정하는 방법을 스크린샷과 함께 소개한 글. 29 | -------------------------------------------------------------------------------- /java/stream.md: -------------------------------------------------------------------------------- 1 | # Stream 2 | 3 | Java 8에서 도입됨. 4 | 5 | 6 | 7 | ## 퍼포먼스 8 | 9 | [GeeCon 2015 - The Performance Model of Streams in Java 8 - Angelika Langer](https://j.mp/3AzWZMO) 10 | 11 | [Java Stream API는 왜 for-loop보다 느릴까? | by Jin Hyung Park | Sep, 2021](https://j.mp/3ky1CkU) 12 | -------------------------------------------------------------------------------- /javascript/array.md: -------------------------------------------------------------------------------- 1 | # Array 2 | 3 | [Array - JavaScript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) 4 | 5 | [Arrays - Learn web development | MDN](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Arrays) 6 | 7 | [Sparse vs Dense Arrays in JavaScript](https://dmitripavlutin.com/javascript-sparse-dense-arrays/) 8 | 9 | [How to Fill an Array with Initial Values in JavaScript](https://dmitripavlutin.com/javascript-fill-array/) 10 | 11 | [How to Reverse an Array in JavaScript](https://masteringjs.io/tutorials/fundamentals/reverse-array) 12 | -------------------------------------------------------------------------------- /javascript/cli.md: -------------------------------------------------------------------------------- 1 | # CLI 2 | 3 | ## Chalk 4 | 5 | > Terminal string styling done right 6 | 7 | - 8 | - 9 | 10 | ## Commander.js 11 | 12 | > The complete solution for [node.js])http://nodejs.org/) command-line interfaces, inspired by Ruby's [commander](https://github.com/commander-rb/commander). 13 | 14 | - 15 | - 16 | -------------------------------------------------------------------------------- /javascript/codeceptjs.md: -------------------------------------------------------------------------------- 1 | # CodeceptJS · SuperCharged End 2 End Testing with WebDriver & Puppeteer 2 | 3 | 4 | -------------------------------------------------------------------------------- /javascript/cookie.md: -------------------------------------------------------------------------------- 1 | # Cookie 2 | 3 | [Using HTTP cookies - HTTP | MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies) 4 | 5 | [5 Top JavaScript Cookie Libraries | Bits and Pieces](https://blog.bitsrc.io/5-top-javascript-cookie-libraries-329ae3150cfb) 6 | -------------------------------------------------------------------------------- /javascript/dsl.md: -------------------------------------------------------------------------------- 1 | # DSL 2 | 3 | ## Get Programming with JavaScript Next - Capstone: Building a domain-specific language 4 | 5 | 6 | 7 | ## Javascript DSL Example 8 | 9 | 10 | 11 | ## flutter-style-javascript 12 | 13 | 14 | -------------------------------------------------------------------------------- /javascript/faker.md: -------------------------------------------------------------------------------- 1 | # Faker 2 | 3 | > Generate massive amounts of fake (but realistic) data for testing 4 | > and development. 5 | 6 | 7 | 8 | 9 | 10 | ## duckgen - Fairfield Programming Association's duck generator 11 | 12 | > 🦆 The repository for dealing with all the ducks created and managed 13 | > by the Fairfield Programming Association. 14 | 15 | 16 | -------------------------------------------------------------------------------- /javascript/game.md: -------------------------------------------------------------------------------- 1 | # Game 2 | 3 | ## Stick Champ game in 90 lines of pure JavaScript 4 | 5 | 6 | -------------------------------------------------------------------------------- /javascript/hooks.md: -------------------------------------------------------------------------------- 1 | # hooks 2 | 3 | > configurable decorators for automated observability 4 | > and self-explanatory codebase 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /javascript/imaskjs.md: -------------------------------------------------------------------------------- 1 | # imaskjs - vanilla javascript input mask 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /javascript/internationalization.md: -------------------------------------------------------------------------------- 1 | # Internationalization 2 | 3 | ## `Intl` 4 | 5 | This is the namespace for i18n API. 6 | 7 | https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl 8 | -------------------------------------------------------------------------------- /javascript/let.md: -------------------------------------------------------------------------------- 1 | # let 2 | 3 | JavaScript의 `var`는 function 단위로 scope이 잡힌다. 4 | 5 | 만약 블럭 단위로 scope을 잡아주고 싶다면, `let`을 사용한다(ES6). 6 | 7 | `var`를 사용한 경우: 8 | ```javascript 9 | var a = 3; 10 | if (true) { 11 | var a = 2; 12 | } 13 | console.log(a); 14 | // => 2 출력 15 | ``` 16 | 17 | `let`을 사용한 경우: 18 | ```javascript 19 | var a = 3; 20 | if (true) { 21 | let a = 2; 22 | } 23 | console.log(a); 24 | // => 3 출력 25 | ``` 26 | 27 | `var` 대신 모두 `let`을 사용: 28 | ```javascript 29 | let a = 3; 30 | if (true) { 31 | let a = 2; 32 | } 33 | console.log(a); 34 | // => 3 출력 35 | ``` 36 | -------------------------------------------------------------------------------- /javascript/matter-js.md: -------------------------------------------------------------------------------- 1 | # Matter.js 2 | 3 | > Matter.js is a 2D physics engine for the web 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /javascript/million.md: -------------------------------------------------------------------------------- 1 | # Million 2 | 3 | > <1kb compiler-augmented virtual DOM. It's fast! 4 | 5 | 6 | 7 | 8 | 9 | --- 10 | 11 | [Million.js 1.0.0 Release! - DEV Community](https://dev.to/aidenybai/millionjs-100-release-3pna) 12 | -------------------------------------------------------------------------------- /javascript/number-format.md: -------------------------------------------------------------------------------- 1 | # Number Format 2 | 3 | ## `Intl.NumberFormat` 4 | 5 | https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat 6 | -------------------------------------------------------------------------------- /javascript/pixijs.md: -------------------------------------------------------------------------------- 1 | # PixiJS - The HTML5 Creation Engine 2 | 3 | - 4 | - 5 | -------------------------------------------------------------------------------- /javascript/polyfill.md: -------------------------------------------------------------------------------- 1 | # Pollyfills 2 | 3 | ## Polyfill service 4 | 5 | - https://polyfill.io/ 6 | - https://github.com/Financial-Times/polyfill-service 7 | -------------------------------------------------------------------------------- /javascript/prettier.md: -------------------------------------------------------------------------------- 1 | # Prettier · Opinionated Code Formatter 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /javascript/r-assign.md: -------------------------------------------------------------------------------- 1 | # r-assign 2 | 3 | > `Object.assign()` with super powers 4 | 5 | 6 | -------------------------------------------------------------------------------- /javascript/re-export.md: -------------------------------------------------------------------------------- 1 | # Re-export 2 | 3 | - 4 | - 5 | 6 | ```javascript 7 | import ㅇㅇㅇ from 'ㅇㅇㅇ'; 8 | export ㅇㅇㅇ; 9 | ``` 10 | 11 | ```javascript 12 | export ㅇㅇㅇ from 'ㅇㅇㅇ'; 13 | ``` 14 | -------------------------------------------------------------------------------- /javascript/reflect.md: -------------------------------------------------------------------------------- 1 | # Reflect 2 | 3 | 4 | -------------------------------------------------------------------------------- /javascript/swiper.md: -------------------------------------------------------------------------------- 1 | # Swiper - The Most Modern Mobile Touch Slider 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /javascript/vscode.md: -------------------------------------------------------------------------------- 1 | # Visual Studio Code 2 | 3 | ## 파일 저장할 때마다 ESLint로 검사하고 수정하기 4 | 5 | `.vscode/settings.json` 6 | 7 | ```json 8 | { 9 | "editor.codeActionsOnSave": { 10 | "source.fixAll.eslint": true 11 | }, 12 | "eslint.validate": ["javascript"] 13 | } 14 | ``` 15 | 16 | 참고: [Linting on Save with Visual Studio Code and ESLint](https://www.digitalocean.com/community/tutorials/workflow-auto-eslinting) 17 | -------------------------------------------------------------------------------- /javascript/webmidi.md: -------------------------------------------------------------------------------- 1 | # WEBMIDI.js 2 | 3 | 4 | 5 | 6 | 7 | --- 8 | 9 | [WEBMIDI.js v3 is available now! | WEBMIDI.js](https://webmidijs.org/blog/2021/12/01/version-3-has-been-released/) 10 | -------------------------------------------------------------------------------- /javascript/youtube.md: -------------------------------------------------------------------------------- 1 | # YouTube 관련 2 | 3 | ## lite-youtube-embed 4 | 5 | > A faster youtube embed. 6 | 7 | 8 | 9 | 10 | 11 | ## lite-youtube 12 | 13 | > The fastest little YouTube web component on this side of the internet. 14 | 15 | 16 | -------------------------------------------------------------------------------- /jdbc/README.md: -------------------------------------------------------------------------------- 1 | # JDBC (Java Database Connectivity) 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /jdbc/jasync-sql.md: -------------------------------------------------------------------------------- 1 | # jasync-sql 2 | 3 | 4 | 5 | --- 6 | 7 | [Spring WebFlux는 어떻게 적은 리소스로 많은 트래픽을 감당할까?](https://alwayspr.tistory.com/44) 8 | -------------------------------------------------------------------------------- /jdbc/jdbi.md: -------------------------------------------------------------------------------- 1 | # Jdbi 2 | 3 | 4 | 5 | 6 | 7 | --- 8 | 9 | [JOOQ or JDBI? (2021-08-29)](https://ohadshai.medium.com/jooq-or-jdbi-a882aa96822f) 10 | -------------------------------------------------------------------------------- /jdbc/jooq.md: -------------------------------------------------------------------------------- 1 | # jOOQ: The easiest way to write SQL in Java 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /jdbc/r2dbc.md: -------------------------------------------------------------------------------- 1 | # R2DBC – Reactive Relational Database Connectivity 2 | 3 | 4 | 5 | 6 | 7 | ## Spring Data R2DBC 8 | 9 | 10 | 11 | 12 | 13 | --- 14 | 15 | [JDBC for Spring WebFlux: Spring Data R2DBC | by Wai Loon | w:Logs | Medium](https://medium.com/w-logs/jdbc-for-spring-webflux-spring-data-r2dbc-99690208cfeb) 16 | -------------------------------------------------------------------------------- /jest/axios.md: -------------------------------------------------------------------------------- 1 | # Axios 2 | 3 | ## axios-mock-adapter 4 | 5 | > Axios adapter that allows to easily mock requests 6 | 7 | 8 | 9 | 10 | 11 | [Axios Mocking with ReactJS | by INDRAJITH](https://blog.bitsrc.io/axios-mocking-with-reactjs-85d83d51704f) 12 | -------------------------------------------------------------------------------- /jets/README.md: -------------------------------------------------------------------------------- 1 | # Ruby on Jets 2 | 3 | Jets: The Ruby Serverless Framework 4 | 5 | - 6 | - 7 | -------------------------------------------------------------------------------- /joke/README.md: -------------------------------------------------------------------------------- 1 | # 장난 모음 2 | 3 | ## Works on my Machine 4 | 5 | [![works badge](https://cdn.jsdelivr.net/gh/nikku/works-on-my-machine@v0.2.0/badge.svg)](https://github.com/nikku/works-on-my-machine) 6 | 7 | 8 | 9 | ## Volkswagen 10 | 11 | > Volkswagen detects when your tests are being run in a CI server, 12 | > and makes them pass. 13 | 14 | 15 | 16 | ## Thanos JS 17 | 18 | > Reduce the file size of your project down to 50%, 19 | > by randomly deleting half of the files. 20 | 21 | 22 | -------------------------------------------------------------------------------- /jpa/README.md: -------------------------------------------------------------------------------- 1 | # JPA 2 | 3 | ## JSR-317 4 | 5 | 6 | 7 | ## Jakarta Persistence 8 | 9 | Java EE가 2019년에 Oracle에서 Eclipse Foundation으로 넘어가면서 10 | Jakarta EE로 이름을 바꿨는데, 11 | 이것 때문에 JPA의 약어도 Java Perseitence API에서 Jakarta Persistence로 바뀜. 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /jpa/cascade.md: -------------------------------------------------------------------------------- 1 | # CascadeType 2 | 3 | [A beginner's guide to JPA and Hibernate Cascade Types](https://vladmihalcea.com/a-beginners-guide-to-jpa-and-hibernate-cascade-types/) 4 | -------------------------------------------------------------------------------- /jpa/osiv.md: -------------------------------------------------------------------------------- 1 | # OSIV (Open Session In View) 2 | 3 | 4 | -------------------------------------------------------------------------------- /kafka/README.md: -------------------------------------------------------------------------------- 1 | # Apache Kafka 2 | 3 | 4 | 5 | Mirror of Apache Kafka: 6 | 7 | ## 사례 8 | 9 | [분산디비지만 노출은 하고싶어 - mongo로 노출 전용 DB 만들기](https://d2.naver.com/helloworld/4381253) 10 | 11 | [일 3,000만 건의 네이버페이 주문 메시지를 처리하는 Kafka 시스템의 무중단 전환 사례](https://d2.naver.com/helloworld/9581727) 12 | -------------------------------------------------------------------------------- /kotlin/README.md: -------------------------------------------------------------------------------- 1 | # Kotlin Programming Language 2 | 3 | 4 | 5 | 6 | 7 | ## DI (Dependency Injection) 8 | 9 | ### Koin - The Kotlin Injection Framework 10 | 11 | - 12 | - 13 | 14 | ### Kodein-DI 15 | 16 | - 17 | - 18 | 19 | ### Dagger Hiit 20 | 21 | - 22 | - 23 | -------------------------------------------------------------------------------- /kotlin/klaxon.md: -------------------------------------------------------------------------------- 1 | # Klaxon 2 | 3 | > Klaxon is a library to parse JSON in Kotlin 4 | 5 | 6 | -------------------------------------------------------------------------------- /kotlin/ktor.md: -------------------------------------------------------------------------------- 1 | # Ktor Framework 2 | 3 | > Build Asynchronous Servers and Clients in Kotlin 4 | 5 | 6 | 7 | 8 | 9 | ## Articles 10 | 11 | [Spring 공화국에서 Ktor 사용하기 | 카카오페이 기술 블로그](https://tech.kakaopay.com/post/spring-and-ktor/) 12 | 13 | [Ktor로 팀 환경에 맞는 API 서버 구현하기 | 카카오페이 기술 블로그](https://tech.kakaopay.com/post/ktor-api-server/) 14 | -------------------------------------------------------------------------------- /kubernetes/README.md: -------------------------------------------------------------------------------- 1 | # Kubernetes 2 | 3 | 4 | 5 | ## Ingress 6 | 7 | 8 | 9 | ## Gateway API 10 | 11 | 12 | 13 | [Gateway API v1.0: GA Release](https://kubernetes.io/blog/2023/10/31/gateway-api-ga/) 14 | -------------------------------------------------------------------------------- /kubernetes/k3s.md: -------------------------------------------------------------------------------- 1 | # K3s - Lightweight Kubernetes 2 | 3 | 4 | 5 | Document: 6 | 7 | GitHub Repository: 8 | 9 | [경량 인증 Kubernetes 배포 | K3s | SUSE](https://www.suse.com/ko-kr/products/k3s/) 10 | 11 | ## k3d 12 | 13 | > k3d is a lightweight wrapper to run k3s in docker. 14 | 15 | 16 | 17 | GitHub Repository: 18 | -------------------------------------------------------------------------------- /laravel/README.md: -------------------------------------------------------------------------------- 1 | Laravel - The PHP Framework For Web Artisans 2 | - https://laravel.com/ 3 | 4 | Documentation 5 | - https://laravel.com/docs/5.2 6 | 7 | Mordern PHP 8 | - https://github.com/ahastudio/til/blob/master/php/modern-php.md 9 | -------------------------------------------------------------------------------- /learning/programming.md: -------------------------------------------------------------------------------- 1 | # 프로그래밍 교육 2 | 3 | ## 우아한테크코스 4 | 5 | 6 | 7 | ## Knowre 웹개발 커리큘럼 8 | 9 | 10 | 11 | ## Java, Spring 위주의 Back-end 신입 개발자를 위한 저장소 12 | 13 | 14 | -------------------------------------------------------------------------------- /linux/font.md: -------------------------------------------------------------------------------- 1 | # Amazon Linux에 한글 폰트 설치 2 | 3 | ```bash 4 | sudo yum update -y \ 5 | && sudo yum install -y google-noto-sans-cjk-fonts \ 6 | && fc-list | grep NotoSansCJK 7 | ``` 8 | 9 | VNC 서버를 띄운다면 재부팅 후 10 | 11 | ```bash 12 | vncserver :1 13 | ``` 14 | -------------------------------------------------------------------------------- /llm/aisuite.md: -------------------------------------------------------------------------------- 1 | # aisuite 2 | 3 | > Simple, unified interface to multiple Generative AI providers. 4 | > 5 | > `aisuite` makes it easy for developers to use multiple LLM 6 | > through a standardized interface. 7 | 8 | 9 | -------------------------------------------------------------------------------- /llm/hallucination.md: -------------------------------------------------------------------------------- 1 | # Hallucination 2 | 3 | ## o3, o4-mini에서 더 많이 발생 4 | 5 | [OpenAI's new reasoning AI models hallucinate more | TechCrunch](https://techcrunch.com/2025/04/18/openais-new-reasoning-ai-models-hallucinate-more/) 6 | 7 | [성능 개선됐다더니…챗GPT 새 모델, 환각률 2배 이상 늘어 | 한국경제](https://www.hankyung.com/article/2025042029017) 8 | 9 | ## 편향성 10 | 11 | [새로운 종류의 AI 환각 | kciter.so](https://kciter.so/posts/new-kind-of-hallucination/) 12 | -------------------------------------------------------------------------------- /llm/n8n.md: -------------------------------------------------------------------------------- 1 | # n8n 2 | 3 | > Powerful Workflow Automation Software & Tools - n8n 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /llm/prompt-engineering.md: -------------------------------------------------------------------------------- 1 | # Prompt Engineering 2 | 3 | ## 구글 프롬프트 엔지니어링 백서 4 | 5 | [Prompt Engineering | Kaggle](https://www.kaggle.com/whitepaper-prompt-engineering) 6 | 7 | ## GPT-4.1 프롬프트 가이드 8 | 9 | [GPT-4.1 Prompting Guide | OpenAI Cookbook](https://cookbook.openai.com/examples/gpt4-1_prompting_guide) 10 | -------------------------------------------------------------------------------- /lua/README.md: -------------------------------------------------------------------------------- 1 | # Lua 2 | 3 | 4 | 5 | 6 | 7 | ## LuaRocks 8 | 9 | 10 | 11 | 12 | 13 | ## LuaJIT 14 | 15 | 16 | 17 | 18 | 19 | ## MoonScript 20 | 21 | 22 | 23 | 24 | 25 | ## Squirrel 26 | 27 | 28 | 29 | 30 | 31 | ## Dao 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /machine-learning/ai-fairness-360.md: -------------------------------------------------------------------------------- 1 | # AI Fairness 360 2 | 3 | > The AI Fairness 360 toolkit (AIF360) is an open source software toolkit 4 | > that can help detect and remove bias in machine learning models 5 | 6 | 7 | 8 | --- 9 | 10 | [오픈 소스 소프트웨어 Toolkit을 이용한 AI 공정성 검증](https://devocean.sk.com/blog/techBoardDetail.do?ID=163512) 11 | -------------------------------------------------------------------------------- /machine-learning/annotation.md: -------------------------------------------------------------------------------- 1 | # Annotation 2 | 3 | Awesome data annotation 4 | 5 | 6 | Computer Vision Annotation Formats 7 | 8 | 9 | ## LabelMe 10 | 11 | 12 | 13 | 14 | 15 | ## Computer Vision Annotation Tool (CVAT) 16 | 17 | 18 | 19 | ## Superb AI Suite 20 | 21 | Superb AI Suite - Docs 22 | 23 | -------------------------------------------------------------------------------- /machine-learning/annt.md: -------------------------------------------------------------------------------- 1 | # ANNT 2 | 3 | > Artificial Neural Networks C++ library providing implementation of 4 | > some common architectures of neural networks. 5 | 6 | 7 | -------------------------------------------------------------------------------- /machine-learning/dvc.md: -------------------------------------------------------------------------------- 1 | # Data Version Control · DVC 2 | 3 | > 🦉Data Version Control | Git for Data & Models | ML Experiments Management 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /machine-learning/fairml.md: -------------------------------------------------------------------------------- 1 | # FairML: Auditing Black-Box Predictive Models 2 | 3 | > FairML is a python toolbox auditing the machine learning models for bias. 4 | 5 | 6 | -------------------------------------------------------------------------------- /machine-learning/gradio.md: -------------------------------------------------------------------------------- 1 | # Gradio 2 | 3 | > Generate an easy-to-use demo for your ML model or function 4 | > with only a few lines of code. 5 | 6 | 7 | 8 | 9 | 10 | ## fastgradio 11 | 12 | > Build fast gradio demos of fastai learners 13 | 14 | 15 | -------------------------------------------------------------------------------- /machine-learning/mnist.md: -------------------------------------------------------------------------------- 1 | # MNIST 2 | 3 | MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges 4 | 5 | 6 | 7 | 8 | ## Streamlit MNIST demo (drawable) 9 | 10 | 11 | -------------------------------------------------------------------------------- /machine-learning/sagemaker.md: -------------------------------------------------------------------------------- 1 | # Amazon SageMaker – Machine Learning – Amazon Web Services 2 | 3 | 4 | 5 | ## Amazon SageMaker Canvas 6 | 7 | [Announcing Amazon SageMaker Canvas – a Visual, No Code Machine Learning Capability for Business Analysts | AWS News Blog](https://aws.amazon.com/blogs/aws/announcing-amazon-sagemaker-canvas-a-visual-no-code-machine-learning-capability-for-business-analysts/) 8 | -------------------------------------------------------------------------------- /machine-learning/u2-net.md: -------------------------------------------------------------------------------- 1 | # U^2-Net: Going Deeper with Nested U-Structure for Salient Object Detection 2 | 3 | 4 | 5 | 논문 PDF: 6 | 7 | ![U^2-Net Architecture](https://github.com/xuebinqin/U-2-Net/blob/master/figures/U2NETPR.png?raw=true) 8 | 9 | ![Mask](https://raw.githubusercontent.com/xuebinqin/U-2-Net/master/figures/gradio_web_demo.jpg) 10 | -------------------------------------------------------------------------------- /machine-learning/uncertainty.md: -------------------------------------------------------------------------------- 1 | # Uncertainty 2 | 3 | [Uncertainty: a Tutorial (by Eric Jang)](https://j.mp/39RjwJB) 4 | 5 | → 한국어 번역: [불확실성 (Uncertainty)](https://j.mp/2Y3qRTJ) 6 | -------------------------------------------------------------------------------- /make/README.md: -------------------------------------------------------------------------------- 1 | # Make 2 | 3 | 4 | 5 | 6 | 7 | ## xmake 8 | 9 | 10 | 11 | 12 | 13 | ## Rake 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /management/1-on-1.md: -------------------------------------------------------------------------------- 1 | # 1 on 1 2 | 3 | [How to Make Your One-on-Ones with Employees More Productive](https://hbr.org/2016/08/how-to-make-your-one-on-ones-with-employees-more-productive) 4 | 5 | [One-on-One Meetings (The Complete Guide) | Friday.app](https://friday.app/p/one-on-ones) 6 | 7 | [1:1s Meetings: Your Ultimate Guide to Productive Get-Togethers with Your Manager - Mirro](https://mirro.io/1-1-meetings/) 8 | 9 | [팀장을 위한 1:1 면담 가이드](https://hrbulletin.net/resources/tools/%ed%8c%80%ec%9e%a5%ec%9d%84-%ec%9c%84%ed%95%9c-11-%eb%a9%b4%eb%8b%b4-%ea%b0%80%ec%9d%b4%eb%93%9c/) 10 | -------------------------------------------------------------------------------- /management/README.md: -------------------------------------------------------------------------------- 1 | # Management 2 | 3 | Awesome CTO 4 | 5 | 6 | 좋은 개발팀을 만드는데 도움이 되는 자료 7 | 8 | -------------------------------------------------------------------------------- /management/gowid.md: -------------------------------------------------------------------------------- 1 | # 고위드 2 | 3 | 4 | 5 | --- 6 | 7 | [고위드가 스타트업 전용 법인카드를 만든 이유 - Byline Network](https://byline.network/2020/12/17-113/) 8 | -------------------------------------------------------------------------------- /management/techie-to-tech-lead.md: -------------------------------------------------------------------------------- 1 | # Techie to tech lead: My five biggest mistakes 2 | 3 | > 개발자에서 개발팀장이 되기까지 겪은 다섯가지 큰 실수 4 | 5 | 6 | -------------------------------------------------------------------------------- /marko/README.md: -------------------------------------------------------------------------------- 1 | # Marko 2 | 3 | 4 | 5 | 6 | 7 | ## Marko Testing Library 8 | 9 | 10 | 11 | 12 | 13 | ## Reactive store 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /megaptera/2022-11-18.md: -------------------------------------------------------------------------------- 1 | # 2022-11-18 2 | 3 | ## 4 | 5 | Parcel에선 이거 쓰세요. 6 | 위치도 `public` 대신 `static` 쓰시거나 7 | `staticPath`를 잡아주시고요. 8 | 9 | 10 | -------------------------------------------------------------------------------- /megaptera/2022-11-23.md: -------------------------------------------------------------------------------- 1 | # 2022-11-23 2 | 3 | ## 4 | 5 | 요건 번역서가 있어요. 6 | 7 | 8 | 9 | 워드 커닝햄이 쓴, 툴과 무관하게 읽어보면 좋은 책. 10 | 11 | 12 | 13 | [http://xper.org/wiki/xp/FrameworkForIntegratedTest](https://web.archive.org/web/20061012053240/http://xper.org/wiki/xp/FrameworkForIntegratedTest) 14 | -------------------------------------------------------------------------------- /microservices/bff.md: -------------------------------------------------------------------------------- 1 | # Back-end for Front-end Pattern (BFF) 2 | 3 | [The Back-end for Front-end Pattern (BFF) by Phil Calçado (Sep 18, 2015)](https://j.mp/3imGgWg) 4 | 5 | [BFF @ SoundCloud | Thoughtworks](https://j.mp/3pzDXnk) 6 | 7 | ![Evolution of BFF](https://www.thoughtworks.com/content/dam/thoughtworks/images/photography/inline-image/insights/blog/frontend/blg_inline_bff_soundcloud_03.png) 8 | 9 | [Service Architecture at SoundCloud — Part 1: Backends for Frontends | SoundCloud Backstage Blog](https://developers.soundcloud.com/blog/service-architecture-1) 10 | 11 | [카카오페이지는 BFF(Backend For Frontend)를 어떻게 적용했을까?](https://fe-developers.kakaoent.com/2022/220310-kakaopage-bff/) 12 | -------------------------------------------------------------------------------- /microservices/cqrs.md: -------------------------------------------------------------------------------- 1 | # CQRS (Command Query Responsibility Segregation) 2 | 3 | 4 | 5 | 6 | 7 | [CQRS 패턴 - AWS 규범적 지침](https://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/modernization-data-persistence/cqrs-pattern.html) 8 | -------------------------------------------------------------------------------- /ml/README.md: -------------------------------------------------------------------------------- 1 | # ML (Meta Language) 2 | 3 | 4 | 5 | ## `F#` 6 | 7 | 8 | -------------------------------------------------------------------------------- /ml/yeti.md: -------------------------------------------------------------------------------- 1 | # Yeti - ML-like functional language for the JVM 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /mlops/bentoml.md: -------------------------------------------------------------------------------- 1 | # BentoML 2 | 3 | > The Unified Model Serving Framework 🍱 4 | 5 | 6 | 7 | 8 | 9 | --- 10 | 11 | [BentoML 을 활용하여 딥러닝 모델 API 서빙하기](https://zuminternet.github.io/BentoML/) 12 | 13 | [코드로 이해하는 BentoML](https://blog.lbox.kr/model-serving-bentoml) 14 | -------------------------------------------------------------------------------- /mlops/kserve.md: -------------------------------------------------------------------------------- 1 | # KServe 2 | 3 | > Serverless Inferencing on Kubernetes 4 | 5 | 6 | 7 | Documentation: 8 | 9 | -------------------------------------------------------------------------------- /mlops/made-with-ml.md: -------------------------------------------------------------------------------- 1 | # Made With ML 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /mlops/triton.md: -------------------------------------------------------------------------------- 1 | # NVIDIA Triton Inference Server 2 | 3 | > The Triton Inference Server provides an optimized cloud and edge 4 | > inferencing solution. 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /mock-api/msw.md: -------------------------------------------------------------------------------- 1 | # Mock Service Worker (MSW) 2 | 3 | > Seamless REST/GraphQL API mocking library for browser and Node.js. 4 | 5 | [https://mswjs.io/](https://bit.ly/3QTfGV0) 6 | 7 | [https://github.com/mswjs/msw](https://bit.ly/3GTphoJ) 8 | 9 | ## 예제 10 | 11 | - [https://github.com/ahastudio/CodingLife/tree/main/20220108/msw](https://bit.ly/3fVdB93) 12 | - [https://github.com/ahastudio/CodingLife/tree/main/20211221/react](https://bit.ly/3fNprCb) 13 | -------------------------------------------------------------------------------- /multipass/README.md: -------------------------------------------------------------------------------- 1 | # Multipass orchestrates virtual Ubuntu instances 2 | 3 | 4 | 5 | 6 | 7 | [How to create a VM with Multipass | Ubuntu](https://ubuntu.com/server/docs/how-to-create-a-vm-with-multipass) 8 | -------------------------------------------------------------------------------- /nestjs/README.md: -------------------------------------------------------------------------------- 1 | # NestJS - A progressive Node.js framework 2 | 3 | 4 | 5 | 6 | 7 | ## Testing 8 | 9 | 10 | 11 | [API with NestJS #8. Writing unit tests](https://wanago.io/2020/07/06/api-nestjs-unit-tests/) 12 | 13 | [API with NestJS #9. Testing services and controllers with integration tests](https://wanago.io/2020/07/13/api-nestjs-testing-services-controllers-integration-tests/) 14 | -------------------------------------------------------------------------------- /nextjs/server-action.md: -------------------------------------------------------------------------------- 1 | # Server Action 2 | 3 | > Server Actions are asynchronous functions that are executed on the server. 4 | > They can be called in Server and Client Components to handle form submissions 5 | > and data mutations in Next.js applications. 6 | 7 | [Data Fetching: Server Actions and Mutations | Next.js](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations) 8 | -------------------------------------------------------------------------------- /nft/nftls.md: -------------------------------------------------------------------------------- 1 | # NFTLS (Non-Fungable Token Layer Security) 2 | 3 | > SSL for Web 3.0 4 | 5 | 6 | 7 | ## NFTLS 8 | 9 | > A command-line tool and NodeJS library for working with NFTLS certificates. 10 | 11 | 12 | -------------------------------------------------------------------------------- /nim/README.md: -------------------------------------------------------------------------------- 1 | # Nim Programming Language 2 | 3 | 4 | -------------------------------------------------------------------------------- /nim/karax.md: -------------------------------------------------------------------------------- 1 | # Karax 2 | 3 | > Karax is a framework for developing single page applications in Nim. 4 | 5 | 6 | 7 | 8 | 9 | ## Nitter (Alternative Twitter front-end) 10 | 11 | - 12 | - 13 | - 14 | -------------------------------------------------------------------------------- /nodejs/fastify.md: -------------------------------------------------------------------------------- 1 | # Fastify 2 | 3 | > Fastify, Fast and low overhead web framework, for Node.js 4 | 5 | 6 | 7 | 8 | 9 | ## Articles 10 | 11 | [Speed up your next Node.js API with Fastify instead of Express | by Dominic Tobias | Dec, 2021 | Bits and Pieces](https://blog.bitsrc.io/replacing-express-with-fastify-for-your-next-nodejs-project-ed8add89461d) 12 | -------------------------------------------------------------------------------- /nodejs/fetch.md: -------------------------------------------------------------------------------- 1 | # fetch 2 | 3 | ## whatwg-fetch 4 | 5 | > A `window.fetch` JavaScript polyfill. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ## cross-fetch 14 | 15 | > Universal WHATWG Fetch API for Node, Browsers and React Native. 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /nodejs/memdb-json.md: -------------------------------------------------------------------------------- 1 | # memdb-json - Very fast in memory object DB for Node.JS 2 | 3 | > In-Memory Database For JSON Objects that can be queried like SQL 4 | 5 | 6 | -------------------------------------------------------------------------------- /nodejs/mongoose.md: -------------------------------------------------------------------------------- 1 | # Mongoose ODM - elegant mongodb object modeling for node.js 2 | 3 | 4 | 5 | 6 | 7 | --- 8 | 9 | [The deleteMany() Function in Mongoose - Mastering JS](https://masteringjs.io/tutorials/mongoose/deletemany) 10 | -------------------------------------------------------------------------------- /nodejs/mysql.md: -------------------------------------------------------------------------------- 1 | # Node.js module for MySQL 2 | 3 | > A pure node.js JavaScript Client implementing the MySQL protocol. 4 | 5 | 6 | 7 | 8 | 9 | --- 10 | 11 | [How to connect to MySQL with Node.js | Web Design and Web Development news, javascript, angular, react, vue, php](https://www.ma-no.org/en/programming/javascript/how-to-connect-to-mysql-with-node-js) 12 | -------------------------------------------------------------------------------- /nodejs/mysql2.md: -------------------------------------------------------------------------------- 1 | # Node MySQL 2 2 | 3 | 4 | 5 | ## Promise 6 | 7 | ```javascript 8 | async function main() { 9 | const mysql = require('mysql2/promise'); 10 | const connection = await mysql.createConnection({ 11 | host:'localhost', user: 'root', database: 'test', 12 | }); 13 | const sql = 'SELECT * FROM users WHERE name=?'; 14 | const values = ['John Smith']; 15 | const [results, fields] = await connection.execute(sql, values); 16 | } 17 | ``` 18 | -------------------------------------------------------------------------------- /nodejs/nact.md: -------------------------------------------------------------------------------- 1 | # Nact 2 | 3 | > nact ⇒ node.js + actors 4 | 5 | 6 | 7 | 8 | 9 | ## reason-nact 10 | 11 | > let reason-nact = (node.js, reason, actors) 12 | 13 | 14 | -------------------------------------------------------------------------------- /nodejs/neutralinojs.md: -------------------------------------------------------------------------------- 1 | # Neutralinojs 2 | 3 | > Build lightweight cross-platform desktop apps with JavaScript, HTML, and CSS 4 | 5 | 6 | 7 | 8 | 9 | ## 버전 3 10 | 11 | [Neutralinojs v3.0 release and upcoming features - YouTube](https://www.youtube.com/watch?v=h_0Mmcx5C_M) 12 | -------------------------------------------------------------------------------- /nodejs/npm.md: -------------------------------------------------------------------------------- 1 | # npm 2 | 3 | 4 | 5 | ## semantic-release 6 | 7 | Fully automated version management and package publishing. 8 | 9 | 10 | 11 | Semantic Versioning 12 | 13 | -------------------------------------------------------------------------------- /ocaml/README.md: -------------------------------------------------------------------------------- 1 | # OCaml 2 | 3 | OCaml is an industrial-strength programming language 4 | supporting functional, imperative and object-oriented styles. 5 | 6 | 7 | 8 | ## History 9 | 10 | OCaml Workshop 2021 Keynote - Xavier Leroy: 25 years of OCaml 11 | 12 | 13 | ## `OCaml.org` v3 14 | 15 | The next implementation of ocaml.org, built on 16 | OCaml, ReScript, NextJS, and Tailwind. 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /oop/crc-card.md: -------------------------------------------------------------------------------- 1 | # CRC Card 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /oop/dependency-injection.md: -------------------------------------------------------------------------------- 1 | # Dependency Injection 2 | 3 | [Martin Fowler - Inversion of Control Containers and the Dependency Injection pattern](https://www.martinfowler.com/articles/injection.html) 4 | 5 | ## 번역어 6 | 7 | [KSUG - “Dependency란 무엇인가?”](https://j.mp/2ZGo6Z3) (2009년 논의) 8 | 9 | → 토비님은 “의존객체 주입”이란 표현에 강하게 반대. 10 | “의존관계”(또는 “의존성”)로 번역할 것을 주장. 11 | 12 | ## 다른 견해 13 | 14 | [Dependency injection is not a virtue in Ruby (DHH)](https://dhh.dk/2012/dependency-injection-is-not-a-virtue.html) 15 | 16 | [“나는 왜 Angular 2가 아니라 React를 선택했나?” 중 일부](https://github.com/ahastudio/til/blob/main/react/why-react-why-not-angular-2.md) 17 | -------------------------------------------------------------------------------- /oop/ioc-container.md: -------------------------------------------------------------------------------- 1 | # IoC Container 2 | 3 | ## Write your IoC Container 4 | 5 | A simple inversion of control container written in Java 6 | 7 | -------------------------------------------------------------------------------- /openapi/README.md: -------------------------------------------------------------------------------- 1 | # OpenAPI 2 | 3 | 4 | 5 | ## OpenAPI Specification 6 | 7 | 8 | 9 | 10 | 11 | ## Specification-Driven API Development 12 | 13 | [What Is Specification-Driven API Development? | Nordic APIs |](https://nordicapis.com/what-is-specification-driven-api-development/) 14 | 15 | [The Benefits of Design-First API Development | Nordic APIs |](https://nordicapis.com/the-benefits-of-design-first-api-development/) 16 | -------------------------------------------------------------------------------- /opentelemetry/README.md: -------------------------------------------------------------------------------- 1 | # OpenTelemetry 2 | 3 | 4 | 5 | 6 | 7 | ## MELT: Metrics, Events, Logs, Traces 8 | 9 | 10 | 11 | 12 | 13 | ## OpenLLMetry 14 | 15 | > Open-source Observability for LLMs with OpenTelemetry 16 | 17 | 18 | 19 | 20 | 21 | [OpenLLMetry - LLM 어플리케이션을 위한 오픈소스 Observability | GeekNews](https://news.hada.io/topic?id=13482) 22 | -------------------------------------------------------------------------------- /opentelemetry/opentelemetry-python.md: -------------------------------------------------------------------------------- 1 | # OpenTelemetry Python 2 | 3 | 4 | 5 | 6 | 7 | ## Automatic Instrumentation 8 | 9 | 10 | -------------------------------------------------------------------------------- /orm/README.md: -------------------------------------------------------------------------------- 1 | # ORM (Object-Relational Mapping) 2 | 3 | [https://en.wikipedia.org/wiki/Object–relational_mapping](https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping) 4 | 5 | ## Alternatives to JPA - YouTube 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /orm/data-mapper.md: -------------------------------------------------------------------------------- 1 | # Data Mapper 2 | 3 | 4 | 5 | ## ROM(Ruby Object Mapper) 6 | 7 | Data mapping and persistence toolkit for Ruby. 8 | 9 | 10 | 11 | 12 | 13 | ## MassiveJS - data mapper for Node.js and PostgreSQL 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /orm/prisma.md: -------------------------------------------------------------------------------- 1 | # Prisma - Next-generation Node.js and TypeScript ORM for Databases 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /orm/requery.md: -------------------------------------------------------------------------------- 1 | # requery - modern SQL based query & persistence for Java / Kotlin / Android 2 | 3 | 4 | 5 | 6 | 7 | ## spring-data-requery: Spring Data with Requery 8 | 9 | 10 | -------------------------------------------------------------------------------- /parcel/README.md: -------------------------------------------------------------------------------- 1 | # Parcel - Blazing fast, zero configuration web application bundler 2 | 3 | > Parcel is a zero configuration build tool for the web. 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /pdca/README.md: -------------------------------------------------------------------------------- 1 | # Plan–Do–Check–Act 2 | 3 | - [성공하는 사람들의 비밀, PDCA 노트](http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=144371353) 4 | - [초고속성장의 조건 PDCA](http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=137100933) 5 | -------------------------------------------------------------------------------- /pg/portone.md: -------------------------------------------------------------------------------- 1 | # PortOne 2 | 3 | 4 | 5 | 6 | 7 | ## Articles 8 | 9 | [AI 도구 활용하여 30분 만에 결제 연동 끝내는 방법](https://blog.portone.io/opi_integration_using-ai-tool/) 10 | -------------------------------------------------------------------------------- /php/modern-php-01.md: -------------------------------------------------------------------------------- 1 | # Modern PHP - Chapter 1. The New PHP 2 | 3 | ## Past 4 | 5 | ## Present 6 | 7 | ## Future 8 | 9 | -------------------------------------------------------------------------------- /php/modern-php-04.md: -------------------------------------------------------------------------------- 1 | # Modern PHP - Chapter 4. Components 2 | 3 | ## Why Use Components? 4 | 5 | ## What Are Components? 6 | 7 | ## Components Versus Frameworks 8 | 9 | ## Find Components 10 | 11 | ## Use PHP Components 12 | 13 | ## Create PHP Components 14 | 15 | -------------------------------------------------------------------------------- /postgresql/pgmq.md: -------------------------------------------------------------------------------- 1 | # Postgres Message Queue (PGMQ) 2 | 3 | 4 | -------------------------------------------------------------------------------- /preact/README.md: -------------------------------------------------------------------------------- 1 | # Preact 2 | 3 | > Fast 3kb React alternative with the same ES6 API. 4 | > Components & Virtual DOM. 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /programming-languages/escript.md: -------------------------------------------------------------------------------- 1 | # escript - a scripting language run on top of JavaScript 2 | 3 | > Yet another oversimplified scripting language that used in production 4 | 5 | 6 | 7 | ## Get Started ReactJS 8 | 9 | 10 | 11 | → JSX가 아니라 이걸 왜 써야 하는지 드러나지 않음. 🤔 12 | -------------------------------------------------------------------------------- /prompt/powerlevel10k.md: -------------------------------------------------------------------------------- 1 | # Powerlevel10k: A Zsh theme 2 | 3 | 4 | -------------------------------------------------------------------------------- /prompt/pure.md: -------------------------------------------------------------------------------- 1 | # Pure 2 | 3 | > Pretty, minimal and fast ZSH prompt 4 | 5 | 6 | -------------------------------------------------------------------------------- /prompt/starship.md: -------------------------------------------------------------------------------- 1 | # Starship: Cross-Shell Prompt 2 | 3 | > ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt 4 | > for any shell! 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /prototyping/README.md: -------------------------------------------------------------------------------- 1 | # Prototyping 2 | 3 | [더 많은 일을 하면서 더 빨리 하기](https://web.archive.org/web/20230330024213/http://agile.egloos.com/1762301) 4 | -------------------------------------------------------------------------------- /prototyping/paper-prototyping.md: -------------------------------------------------------------------------------- 1 | # Paper Prototyping 2 | 3 | [What is Paper Prototyping? | Interaction Design Foundation (IxDF)](https://www.interaction-design.org/literature/topics/paper-prototyping) 4 | 5 | ## 사례 6 | 7 | [curriQ 페이퍼 프로토타이핑 - YouTube](https://www.youtube.com/watch?v=mTzKcF3kh6M) 8 | -------------------------------------------------------------------------------- /purescript/README.md: -------------------------------------------------------------------------------- 1 | # PureScript 2 | 3 | > A strongly-typed functional programming language 4 | > that compiles to JavaScript 5 | 6 | 7 | 8 | 9 | 10 | ## PureScript by Example 11 | 12 | 13 | 14 | ## Spago: package manager and build tool 15 | 16 | 17 | -------------------------------------------------------------------------------- /python/continuous-test-runner.md: -------------------------------------------------------------------------------- 1 | # Continuous Test Runner 2 | 3 | ## pytest-watch - Continuous pytest runner 4 | 5 | 6 | 7 | ```bash 8 | ptw 9 | ``` 10 | -------------------------------------------------------------------------------- /python/eval.md: -------------------------------------------------------------------------------- 1 | # Evaluate 2 | 3 | ## `eval(expression)` 4 | 5 | 6 | 7 | ## `ast.literal_eval(node_or_string)` 8 | 9 | 10 | 11 | ## 참고할 수 있는 Ruby 응용 사례 12 | 13 | - [Ruby EDSL(Embedded Domain Specific Language)](https://github.com/ahastudio/til/blob/main/ruby/20161201-edsl.md) 14 | - [Ruby Meta-programming](https://github.com/ahastudio/til/blob/main/ruby/20161207-metaprogramming.md) 15 | -------------------------------------------------------------------------------- /python/facebook.md: -------------------------------------------------------------------------------- 1 | # Facebook SDK 2 | 3 | - 4 | - 5 | -------------------------------------------------------------------------------- /python/geocoder.md: -------------------------------------------------------------------------------- 1 | # Python Geocoder 2 | 3 | - 4 | - 5 | -------------------------------------------------------------------------------- /python/http-status-code.md: -------------------------------------------------------------------------------- 1 | # HTTP Status Code 2 | 3 | Flask 앱: 4 | 5 | ```python 6 | from http import HTTPStatus 7 | from app import app 8 | 9 | @app.route('/posts', methods=['POST']) 10 | def create_post(): 11 | return '', HTTPStatus.CREATED 12 | ``` 13 | 14 | 테스트: 15 | 16 | ```python 17 | import pytest 18 | from http import HTTPStatus 19 | from app import app 20 | 21 | def test_create_post(): 22 | client = app.test_client() 23 | response = client.post('/posts') 24 | assert response.status_code == HTTPStatus.CREATED 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /python/metaprogramming.md: -------------------------------------------------------------------------------- 1 | # Python Metaprogramming 2 | 3 | ## `type`으로 클래스 만들기 4 | 5 | 6 | -------------------------------------------------------------------------------- /python/poetry.md: -------------------------------------------------------------------------------- 1 | # Poetry - Python dependency management and packaging made easy 2 | 3 | 4 | 5 | 6 | 7 | ## 내 작업 추가 8 | 9 | ### `scripts` 사용 10 | 11 | 12 | 13 | ### Poe the Poet 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /python/pydantic.md: -------------------------------------------------------------------------------- 1 | # Pydantic 2 | 3 | 4 | 5 | 6 | 7 | ## camelCase 지원 8 | 9 | 10 | -------------------------------------------------------------------------------- /python/pyenv.md: -------------------------------------------------------------------------------- 1 | ## pyenv 2 | 3 | > Simple Python Version Management 4 | 5 | 6 | 7 | [Pyenv - 간단한 파이썬 버전 관리 도구 | GeekNews](https://news.hada.io/topic?id=14000) 8 | 9 | [Python 프로젝트 시작하기](https://github.com/ahastudio/til/blob/main/python/20181214-setup-python-project.md) 10 | -------------------------------------------------------------------------------- /python/pyinstaller.md: -------------------------------------------------------------------------------- 1 | # PyInstaller 2 | 3 | - 4 | - 5 | -------------------------------------------------------------------------------- /python/pyright.md: -------------------------------------------------------------------------------- 1 | # Pyright 2 | 3 | > Pyright is a full-featured, standards-based static type checker for Python. 4 | > It is designed for high performance and can be used with large Python source 5 | > bases. 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /python/rye.md: -------------------------------------------------------------------------------- 1 | # Rye: a Hassle-Free Python Experience 2 | 3 | \ 4 | → 5 | 6 | 7 | 8 | ## Installation 9 | 10 | 11 | 12 | ### mise 13 | 14 | - 15 | - 16 | 17 | ```bash 18 | mise use --global rye@0.35.0 19 | 20 | mise install rye@0.35.0 21 | 22 | mise list rye 23 | ``` 24 | -------------------------------------------------------------------------------- /python/sanic.md: -------------------------------------------------------------------------------- 1 | # Sanic 2 | 3 | 4 | 5 | 6 | 7 | ## Benchmarks 8 | 9 | 10 | -------------------------------------------------------------------------------- /python/string-case-convert.md: -------------------------------------------------------------------------------- 1 | # 문자열 Case 변환 2 | 3 | ## stringcase 4 | 5 | > String case converter for python. 6 | 7 | 8 | 9 | ## Case Converter 10 | 11 | > A case conversion library for Python. 12 | 13 | 14 | 15 | → 업데이트 없음. 16 | -------------------------------------------------------------------------------- /pytorch/README.md: -------------------------------------------------------------------------------- 1 | # PyTorch 2 | 3 | 4 | 5 | 6 | 7 | --- 8 | 9 | PyTorch vs TensorFlow in 2022 10 | 11 | -------------------------------------------------------------------------------- /pytorch/captum.md: -------------------------------------------------------------------------------- 1 | # Captum 2 | 3 | > Model interpretability and understanding for PyTorch 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /pytorch/pytorch-lightning.md: -------------------------------------------------------------------------------- 1 | # PyTorch Lightning 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /pytorch/timm.md: -------------------------------------------------------------------------------- 1 | # PyTorch Image Models (timm) 2 | 3 | 4 | 5 | ## Utilizing the `timm` Library Inside of `fastai` (Intermediate) 6 | 7 | 8 | -------------------------------------------------------------------------------- /qrcode/generator.md: -------------------------------------------------------------------------------- 1 | # QR Code Image Generation 2 | 3 | ## Google Charts 4 | 5 | https://developers.google.com/chart/infographics/docs/qr_codes 6 | 7 | ### Sample 8 | 9 | `https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=Hello%20world&choe=UTF-8` 10 | 11 | ![Hello world](https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=Hello%20world&choe=UTF-8) 12 | -------------------------------------------------------------------------------- /rails/README.md: -------------------------------------------------------------------------------- 1 | # Ruby on Rails 2 | 3 | A web-application framework that includes everything needed to create 4 | database-backed web applications 5 | according to the Model-View-Controller (MVC) pattern. 6 | 7 | 8 | 9 | 10 | 11 | ## Open-Source Ruby on Rails Applications 12 | 13 | 14 | 15 | ## 인증/인가 16 | 17 | [Five Ruby Gems for Authentication and Authorization](https://auth0.com/blog/five-ruby-gems-for-authentication-and-authorization/) 18 | 19 | ### Devise 20 | 21 | > Flexible authentication solution for Rails with Warden. 22 | 23 | 24 | -------------------------------------------------------------------------------- /rails/find-each.md: -------------------------------------------------------------------------------- 1 | # ActiveRecord::Batches.find_each 2 | 3 | http://api.rubyonrails.org/classes/ActiveRecord/Batches.html#method-i-find_each 4 | -------------------------------------------------------------------------------- /rails/pagination.md: -------------------------------------------------------------------------------- 1 | # Pagination 2 | 3 | ## pagy 4 | 5 | > 🏆 The Best Pagination Ruby Gem 🥇 6 | 7 | 8 | 9 | 10 | 11 | ## will_paginate 12 | 13 | > Pagination library for Rails, Sinatra, Merb, DataMapper, and more 14 | 15 | 16 | 17 | ## Kaminari 18 | 19 | > ⚡ A Scope & Engine based, clean, powerful, customizable and 20 | > sophisticated paginator for Ruby webapps 21 | 22 | 23 | -------------------------------------------------------------------------------- /rails/railsdiff.md: -------------------------------------------------------------------------------- 1 | # RailsDiff 2 | 3 | http://railsdiff.org/ 4 | 5 | Ruby on Rails 버전을 올릴 때마다 설정 파일을 어떻게 바꿔야 하나 고민이라면, 이 사이트를 참고하자. 6 | 7 | Rails 4.2.7에서 5.0.0으로 업그레이드한다면... 8 | http://railsdiff.org/4.2.7/5.0.0 9 | -------------------------------------------------------------------------------- /rails/testopts.md: -------------------------------------------------------------------------------- 1 | # TESTOPTS 2 | 3 | 테스트를 실행할 때 적용할 옵션을 추가하고 싶으면 `TESTOPTS`를 사용하면 된다. 4 | CI 등에서 자세한 로그를 남기고 싶을 때 유용하다. 5 | 6 | ``` 7 | $ bundle exec rails test:db TESTOPTS="-v" 8 | 9 | Run options: -v --seed 12345 10 | 11 | # Running: 12 | 13 | MyTest#test_it = 0.06 s = . 14 | 15 | Finished in 1.234s, 12.34 runs/s, 123.4 assertions/s. 16 | 17 | 12 runs, 123 assertions, 0 failures, 0 errors, 0 skips 18 | ``` 19 | -------------------------------------------------------------------------------- /react-native/README.md: -------------------------------------------------------------------------------- 1 | React Native - A framework for building native apps using React 2 | - https://facebook.github.io/react-native/ 3 | - https://github.com/facebook/react-native 4 | 5 | Create React Native App 6 | - https://github.com/react-community/create-react-native-app 7 | -------------------------------------------------------------------------------- /react-native/expo.md: -------------------------------------------------------------------------------- 1 | # Expo 2 | 3 | 4 | 5 | 6 | 7 | ## React Native 프로젝트 시작하기 8 | 9 | - [정말 가벼운 마음으로 React Native 시작하기](https://www.youtube.com/watch?v=vW1Cs-LVUYU) 10 | - [10분만에 React Native 시작하기](https://www.youtube.com/watch?v=QPjQ6Gh2ZQM) 11 | 12 | ## OTA Update 13 | 14 | [Send over-the-air updates - Expo Documentation](https://docs.expo.dev/deploy/send-over-the-air-updates/) 15 | -------------------------------------------------------------------------------- /react-native/mobx.md: -------------------------------------------------------------------------------- 1 | # MobX 2 | 3 | ``` 4 | $ yarn add mobx 5 | $ yarn add mobx-react 6 | $ yarn add --dev babel-plugin-transform-decorators-legacy 7 | ``` 8 | 9 | `.babelrc`의 `"plugins"`에 `"transform-decorators-legacy"` 추가. 10 | 11 | ```json 12 | { 13 | "presets": ["babel-preset-expo"], 14 | "env": { 15 | "development": { 16 | "plugins": [ 17 | "transform-react-jsx-source", 18 | "transform-decorators-legacy" 19 | ] 20 | } 21 | } 22 | } 23 | ``` 24 | 25 | VS Code를 위해 `tsconfig.js` 작성. 26 | 27 | ```json 28 | { 29 | "compilerOptions": { 30 | "experimentalDecorators": true, 31 | "allowJs": true 32 | } 33 | } 34 | ``` 35 | -------------------------------------------------------------------------------- /react/blitz.md: -------------------------------------------------------------------------------- 1 | # Blitz.js - The Fullstack React Framework 2 | 3 | 4 | -------------------------------------------------------------------------------- /react/chakra-ui.md: -------------------------------------------------------------------------------- 1 | # Chakra UI 2 | 3 | > ⚡️ Simple, Modular & Accessible UI Components for your React Applications 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /react/chart.md: -------------------------------------------------------------------------------- 1 | # Chart 2 | 3 | ## Recharts 4 | 5 | - 6 | - 7 | 8 | ## Chartist - Simple responsive charts 9 | 10 | - 11 | - 12 | 13 | - 14 | -------------------------------------------------------------------------------- /react/create-react-app.md: -------------------------------------------------------------------------------- 1 | # Create React App 2 | 3 | > Create React apps with no build configuration. 4 | 5 | 6 | 7 | ## 웹 브라우저 띄우지 않기 8 | 9 | 환경 변수 `BROWSER`는 사용할 웹 브라우저를 지정하는데 쓰인다. 10 | 이걸 `none`으로 설정하면 웹 브라우저가 뜨지 않는다. 11 | 12 | `.env` 파일에 다음을 추가한다: 13 | 14 | ```txt 15 | BROWSER=none 16 | ``` 17 | 18 | 참고: 19 | [Disabling opening of the browser in server start](https://github.com/facebookincubator/create-react-app/issues/873) 20 | 21 | ## Heroku로 배포 22 | 23 | 24 | -------------------------------------------------------------------------------- /react/default-props.md: -------------------------------------------------------------------------------- 1 | # `defaultProps` 2 | 3 | [Dan Abramov on Twitter: "@hswolff @reactjs Because defaultProps on functions will eventually get deprecated." / Twitter](https://twitter.com/dan_abramov/status/1133878326358171650) 4 | 5 | [Stop using defaultProps | Notes and Anecdotes](https://notes.webutvikling.org/stop-using-defaultprops/) 6 | 7 | ## ESLint 8 | 9 | [require-default-props](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/require-default-props.md) 10 | 11 | `ignoreFunctionalComponents` 옵션 사용. 12 | -------------------------------------------------------------------------------- /react/hookstate.md: -------------------------------------------------------------------------------- 1 | # Hookstate: supercharged React.useState hook 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /react/hot-module-replacement.md: -------------------------------------------------------------------------------- 1 | # Hot Module Replacement 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /react/images/react-is-both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahastudio/til/7d00375d8621c557610bea746d098d569613bc26/react/images/react-is-both.png -------------------------------------------------------------------------------- /react/infinitegrid.md: -------------------------------------------------------------------------------- 1 | # InfiniteGrid 2 | 3 | > A module used to arrange card elements including content infinitely 4 | > on a grid layout. 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /react/mantine.md: -------------------------------------------------------------------------------- 1 | # Mantine 2 | 3 | > React components and hooks library with native dark theme 4 | > support focused on usability, accessibility and developer experience 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react/mdx.md: -------------------------------------------------------------------------------- 1 | # MDX - Markdown for the component era 2 | 3 | ![logo](https://camo.githubusercontent.com/a1ed609909277603e99737322eba7be62d52eea6428f91678f2a74f2180de507/68747470733a2f2f6d64782d6c6f676f2e6e6f772e7368) 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /react/micro-state.md: -------------------------------------------------------------------------------- 1 | # micro-state 2 | 3 | > A really tiny (750 bytes brotli) state manager for React with hooks. 4 | 5 | 6 | 7 | ## 예제 코드 8 | 9 | 10 | -------------------------------------------------------------------------------- /react/mobx.md: -------------------------------------------------------------------------------- 1 | # MobX - Simple, scalable state management 2 | 3 | 4 | 5 | 6 | 7 | ## MobX의 요지 8 | 9 | 10 | 11 | ![uni-directional data flow](https://mobx.js.org/assets/action-state-view.png) 12 | -------------------------------------------------------------------------------- /react/next.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /react/normalizr.md: -------------------------------------------------------------------------------- 1 | # Normalizr 2 | 3 | - 4 | - 5 | 6 | - 7 | -------------------------------------------------------------------------------- /react/poemkit.md: -------------------------------------------------------------------------------- 1 | # poemkit 2 | 3 | > A free web kits with React for fast web design and development via SSR. 4 | 5 | 6 | 7 | Demo: 8 | -------------------------------------------------------------------------------- /react/react-hook-form.md: -------------------------------------------------------------------------------- 1 | # React Hook Form - Simple React forms validation 2 | 3 | 4 | 5 | 6 | 7 | --- 8 | 9 | [Integrating React Hook Form & Redux-Toolkit (rtk) | Orizens](https://orizens.com/blog/integrating-react-hook-form-and-redux-toolkit-rtk/) 10 | -------------------------------------------------------------------------------- /react/react-hot-loader.md: -------------------------------------------------------------------------------- 1 | # React Hot Loader 2 | 3 | 4 | 5 | [Hot Reloading in React – Dan Abramov – Medium](https://medium.com/@dan_abramov/hot-reloading-in-react-1140438583bf) 6 | 7 | [Question: differences between Webpack HMR & React-Hot-Loader ?](https://github.com/facebookincubator/create-react-app/issues/1063) 8 | -------------------------------------------------------------------------------- /react/react-location.md: -------------------------------------------------------------------------------- 1 | # React Location - Enterprise routing for React applications 2 | 3 | 4 | 5 | 6 | 7 | - Table Stakes, but Without the Table 8 | - Asynchronous Routing, Prefetching & Caching 9 | - First-Class Search Params API 10 | 11 | --- 12 | 13 | [Introduction to React Location | by Chameera Dulanga](https://blog.bitsrc.io/introduction-to-react-location-e84a5c19c5d8) 14 | -------------------------------------------------------------------------------- /react/react-query.md: -------------------------------------------------------------------------------- 1 | # React Query 2 | 3 | See . 4 | -------------------------------------------------------------------------------- /react/react-router.md: -------------------------------------------------------------------------------- 1 | # React Router - Declarative routing for React apps at any scale 2 | 3 | 4 | 5 | 6 | 7 | (옛날 주소: ) 8 | 9 | ## Testing 10 | 11 | `MemoryRouter`를 활용한다. 12 | 13 | 14 | 15 | ## React Router v6.4 16 | 17 | 18 | 19 | Data Mode 도입. 20 | 21 | ## React Router v7 22 | 23 | 24 | 25 | Framework Mode 도입. 26 | -------------------------------------------------------------------------------- /react/react-steps.md: -------------------------------------------------------------------------------- 1 | # React Stepper 2 | 3 | 4 | 5 | Demo: 6 | -------------------------------------------------------------------------------- /react/react-three-fiber.md: -------------------------------------------------------------------------------- 1 | # React Three Fiber 2 | 3 | > 🇨🇭 A React renderer for Three.js 4 | 5 | 6 | 7 | Documentation: 8 | 9 | -------------------------------------------------------------------------------- /react/router5.md: -------------------------------------------------------------------------------- 1 | # Router5 - Flexible and powerful universal routing solution 2 | 3 | 4 | 5 | 6 | 7 | React 예제: 8 | 9 | -------------------------------------------------------------------------------- /react/sapling.md: -------------------------------------------------------------------------------- 1 | # Sapling - A convenient way to traverse your React app in VS Code 2 | 3 | 4 | 5 | 6 | 7 | [Introducing Sapling: a VS Code Extension for Traversing React Component Hierarchy](https://javascript.plainenglish.io/introducing-sapling-a-vs-code-extension-for-traversing-your-react-component-hierarchy-3ac94d95887e) 8 | -------------------------------------------------------------------------------- /react/swr.md: -------------------------------------------------------------------------------- 1 | # SWR – React Hooks for Data Fetching 2 | 3 | > 데이터 가져오기를 위한 React Hooks 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /react/tanstack-query.md: -------------------------------------------------------------------------------- 1 | # TanStack Query 2 | 3 | > 🤖 Powerful asynchronous state management, server-state utilities and 4 | > data fetching for the web. 5 | > TS/JS, React Query, Solid Query, Svelte Query and Vue Query. 6 | 7 | 8 | 9 | 10 | 11 | ## dequal 12 | 13 | > A tiny (304B to 489B) utility to check for deep equality 14 | 15 | 16 | -------------------------------------------------------------------------------- /react/tanstack-router.md: -------------------------------------------------------------------------------- 1 | # TanStack Router 2 | 3 | 4 | 5 | 6 | 7 | ## Articles 8 | 9 | [Introducing TanStack Router – Frontend Masters Blog](https://frontendmasters.com/blog/introducing-tanstack-router/) \ 10 | → 한국어 번역: 11 | [\[번역\] TanStack Router를 소개합니다](https://velog.io/@eunbinn/introducing-tanstack-router) 12 | -------------------------------------------------------------------------------- /react/teaful.md: -------------------------------------------------------------------------------- 1 | # Teaful (구: Fragstore) 2 | 3 | > Tiny, easy and powerful React state management library 4 | 5 | 6 | 7 | 8 | 9 | [Teaful: tiny, easy and powerful React state management - DEV Community](https://dev.to/aralroca/teaful-tiny-easy-and-powerful-react-state-management-3j9k) 10 | 11 | ## 예제 12 | 13 | 14 | -------------------------------------------------------------------------------- /react/testing.md: -------------------------------------------------------------------------------- 1 | # Testing 2 | 3 | ## React 4 | 5 | 6 | 7 | ## Mocking 8 | 9 | 10 | -------------------------------------------------------------------------------- /react/use-change.md: -------------------------------------------------------------------------------- 1 | # use-change 2 | 3 | > Application-wide alternative for `React.useState` 4 | 5 | 6 | 7 | ## 예제 8 | 9 | 10 | -------------------------------------------------------------------------------- /react/use-form.md: -------------------------------------------------------------------------------- 1 | # useForm 2 | 3 | > useForm provides a way to create complex forms easily. 4 | 5 | 6 | 7 | 8 | 9 | Demo: 10 | -------------------------------------------------------------------------------- /react/usehooks-ts.md: -------------------------------------------------------------------------------- 1 | # usehooks-ts - React hooks library, written in Typescript 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /react/useid.md: -------------------------------------------------------------------------------- 1 | # `useId` Hook 2 | 3 | 4 | 5 | > **useId를 사용하는 것이 카운터를 증가하는 것보다 나은 이유는 무엇일까요?** 6 | > 7 | > `useId`의 주요 이점은 React가 8 | > [서버 렌더링](https://ko.react.dev/reference/react-dom/server)과 함께 9 | > 작동하도록 보장한다는 것입니다. 10 | > 서버 렌더링을 하는 동안 컴포넌트는 HTML 결과물을 생성합니다. 11 | > 이후, 클라이언트에서 12 | > [hydration](https://ko.react.dev/reference/react-dom/client/hydrateRoot)이 13 | > HTML 결과물에 이벤트 핸들러를 연결합니다. 14 | > hydration이 동작하려면 클라이언트의 출력이 서버 HTML과 일치해야 합니다. 15 | -------------------------------------------------------------------------------- /react/useref.md: -------------------------------------------------------------------------------- 1 | # `useRef` Hook 2 | 3 | 4 | 5 | ## Callbak Ref 6 | 7 | 8 | 9 | 10 | 11 | --- 12 | 13 | Make useRef lazy — 4 ways 14 | 15 | -------------------------------------------------------------------------------- /react/zustand.md: -------------------------------------------------------------------------------- 1 | # Zustand 2 | 3 | > 🐻 Bear necessities for state management in React 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /reactive/README.md: -------------------------------------------------------------------------------- 1 | # Reactive 2 | 3 | 4 | 5 | ## Reactor Pattern 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ## Project Reactor 14 | 15 | 16 | 17 | ## Reactive Spring 18 | 19 | 20 | -------------------------------------------------------------------------------- /reactive/c10k-problem.md: -------------------------------------------------------------------------------- 1 | # The C10K problem 2 | 3 | 4 | 5 | 6 | 7 | [What is the C10k problem? How to solve it? - DanPros](https://www.danpros.com/2021/02/what-is-c10k-problem) 8 | -------------------------------------------------------------------------------- /redux/easy-peasy.md: -------------------------------------------------------------------------------- 1 | # Easy Peasy 2 | 3 | ![Logo](https://easy-peasy.dev/assets/img/logo-small.fa11c63f.png) 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /redux/rematch.md: -------------------------------------------------------------------------------- 1 | # Rematch 2 | 3 | > Rematch is Redux best practices without the boilerplate 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /remote-work/README.md: -------------------------------------------------------------------------------- 1 | # Remote Work 2 | 3 | ## Utiltiy 4 | 5 | ### WindowSwap 6 | 7 | 세계 곳곳의 창 밖을 구경할 수 있는 웹 서비스. 8 | 9 | 10 | 11 | ## HeyTaco 12 | 13 | > Build stronger, happier, more engaged teams on Slack and Microsoft Teams 14 | 15 | 16 | 17 | [리멤버의 타코 문화를 소개합니다 - DRAMA&COMPANY](https://blog.dramancompany.com/2021/12/%EB%A6%AC%EB%A9%A4%EB%B2%84%EC%9D%98-%ED%83%80%EC%BD%94-%EB%AC%B8%ED%99%94%EB%A5%BC-%EC%86%8C%EA%B0%9C%ED%95%A9%EB%8B%88%EB%8B%A4/) 18 | -------------------------------------------------------------------------------- /rescript/README.md: -------------------------------------------------------------------------------- 1 | # ReScript 2 | 3 | 4 | 5 | ## [coc.nvim](https://github.com/neoclide/coc.nvim) 6 | 7 | 8 | 9 | ## React 10 | 11 | - 12 | - 13 | 14 | ## ReScript Ink 15 | 16 | 17 | 18 | ## Start with ReScript Project Template 19 | 20 | ```bash 21 | npx degit https://github.com/rescript-lang/rescript-project-template 22 | ``` 23 | 24 | ## 처음 시작하는 사람을 위한 ReScript 프로젝트 25 | 26 | 27 | -------------------------------------------------------------------------------- /rescript/melange.md: -------------------------------------------------------------------------------- 1 | # Melange 2 | 3 | > This project is a fork of the ReScript compiler 4 | > with a focus on compatibility with the wider OCaml ecosystem. 5 | 6 | 7 | 8 | [On OCaml and the JS platform](https://anmonteiro.com/2021/03/on-ocaml-and-the-js-platform/) 9 | -------------------------------------------------------------------------------- /resume/README.md: -------------------------------------------------------------------------------- 1 | # 이력서 2 | 3 | ## 역량 중심의 이력서 4 | 5 | [김창준 - 2020년 6월 13일](https://www.facebook.com/cjunekim/posts/3477505705611305) 6 | -------------------------------------------------------------------------------- /rollup/README.md: -------------------------------------------------------------------------------- 1 | # Rollup 2 | 3 | 4 | 5 | 6 | 7 | --- 8 | 9 | The Ultimate Guide to Getting Started with the Rollup.js JavaScript Bundler 10 | 11 | -------------------------------------------------------------------------------- /rspack/README.md: -------------------------------------------------------------------------------- 1 | # Rspack 2 | 3 | > The fast Rust-based web bundler 4 | 5 | 6 | 7 | 8 | 9 | ## Releases 10 | 11 | [Announcing Rspack 1.0 - Rspack](https://rspack.dev/blog/announcing-1-0) 12 | → 한국어 요약: 13 | [Rspack 1.0 릴리즈 | GeekNews](https://news.hada.io/topic?id=16546) 14 | 15 | [Announcing Rspack 1.2 - Rspack](https://rspack.dev/blog/announcing-1-2) 16 | -------------------------------------------------------------------------------- /ruby/chunk.md: -------------------------------------------------------------------------------- 1 | # Chunk 2 | 3 | 같은 결과를 내는 요소끼리 모아서 나눠야 할 때가 있는데, `chunk`를 쓰면 깔끔하다. 4 | 5 | 예를 들어 이어지는 문자 중 가장 긴 걸 찾으려면... 6 | 7 | ```ruby 8 | 'aabbbbcdddaacdd'.split('').chunk(&:itself).max_by { |i| i.last.size }.first 9 | ``` 10 | 11 | 단순히 많은 문자를 찾는 건 다음과 같다. 12 | 13 | ```ruby 14 | 'aabbbbcdddaacdd'.split('').group_by(&:itself).max_by { |k, v| v.size }.first 15 | ``` 16 | 17 | 참고: http://ruby-doc.org/core-2.3.1/Enumerable.html#method-i-chunk 18 | -------------------------------------------------------------------------------- /ruby/each-with-object.md: -------------------------------------------------------------------------------- 1 | # Each with Object 2 | 3 | keys를 이용해 Hash를 만든다면 기존엔 `reduce`를 사용했다. 4 | 5 | ```ruby 6 | %i(boy girl).reduce({}) { |a, e| a[e] = params[e]; a } 7 | ``` 8 | 9 | 블럭 안에 불필요한 표현이 들어가는데, `each_with_object`를 쓰면 깔끔하게 된다. 10 | 11 | ```ruby 12 | %i(boy girl).each_with_object({}) { |i, a| a[i] = params[i] } 13 | ``` 14 | 15 | 매개변수는 `each_with_index` 등과 동일하게 각 항목이 먼저 쓰인다. `reduce`와 다른 매개변수 순서에 주의할 것! 16 | 17 | 참고: http://ruby-doc.org/core-2.3.1/Enumerable.html#method-i-each_with_object 18 | -------------------------------------------------------------------------------- /ruby/exception.md: -------------------------------------------------------------------------------- 1 | # Exception Handling 2 | 3 | 4 | 5 | > If you are inside a method, you do not need to use `begin` or `end` 6 | > unless you wish to limit the scope of rescued exceptions. 7 | 8 | ```ruby 9 | def set_user 10 | @user = User.find(params[:id]) 11 | rescue ActiveRecord::RecordNotFound 12 | # ... 13 | end 14 | ``` 15 | -------------------------------------------------------------------------------- /ruby/httparty.md: -------------------------------------------------------------------------------- 1 | # HTTParty 2 | 3 | https://github.com/jnunemaker/httparty 4 | 5 | REST API Client 만들 때 쓰면 편한 라이브러리. 6 | 7 | 간단한 GET 예제: 8 | 9 | ```ruby 10 | posts = HTTParty.get( 11 | 'http://jsonplaceholder.typicode.com/posts', 12 | query: { 13 | userId: 1 14 | } 15 | ) 16 | 17 | posts.each do |post| 18 | puts post.inspect 19 | end 20 | ``` 21 | 22 | API Sample: [JSONPlaceholder - Fake online REST API for developers](http://jsonplaceholder.typicode.com/) 23 | -------------------------------------------------------------------------------- /ruby/keyword-arguments.md: -------------------------------------------------------------------------------- 1 | # Keyword Arguments 2 | 3 | block에도 쓸 수 있다. 4 | 5 | - http://brainspec.com/blog/2012/10/08/keyword-arguments-ruby-2-0/ 6 | - https://robots.thoughtbot.com/ruby-2-keyword-arguments 7 | -------------------------------------------------------------------------------- /ruby/nio4r.md: -------------------------------------------------------------------------------- 1 | # New I/O for Ruby (nio4r) 2 | 3 | https://github.com/socketry/nio4r 4 | -------------------------------------------------------------------------------- /ruby/opal.md: -------------------------------------------------------------------------------- 1 | # Opal: Ruby ♥︎ JavaScript 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ruby/partition.md: -------------------------------------------------------------------------------- 1 | # Partition 2 | 3 | 컬렉션을 둘로 분류할 때 `partition` 메서드를 사용하면 간단하다. 4 | 5 | 1~10 숫자를 짝수와 홀수로 분류한다면... 6 | 7 | select 활용: 8 | ```ruby 9 | a = (1..10).select(&:even?) 10 | b = (1..10).select(&:odd?) 11 | ``` 12 | 13 | partition 활용: 14 | ```ruby 15 | a, b = (1..10).partition(&:even?) 16 | ``` 17 | 18 | 참고: http://ruby-doc.org/core-2.3.1/Enumerable.html#method-i-partition 19 | -------------------------------------------------------------------------------- /ruby/rubocop.md: -------------------------------------------------------------------------------- 1 | # RuboCop 2 | 3 | The Ruby Linter/Formatter that Serves and Protects. 4 | 5 | 6 | 7 | 8 | 9 | ## Relaxed Ruby Style 10 | 11 | 12 | 13 | 14 | 15 | ## Customize 16 | 17 | [Custom "cops" for RuboCop: an emergency service for your Ruby code — Martian Chronicles, Evil Martians’ team blog](https://evilmartians.com/chronicles/custom-cops-for-rubocop-an-emergency-service-for-your-codebase) 18 | -------------------------------------------------------------------------------- /ruby/ruby-3.1.md: -------------------------------------------------------------------------------- 1 | # Ruby 3.1 2 | 3 | Ruby 3.1 – Shorthand Hash Syntax – First Impressions 4 | 5 | 6 | Ruby 3.1 introduces pattern matching pin operator against expression 7 | 8 | -------------------------------------------------------------------------------- /ruby/ruby2js.md: -------------------------------------------------------------------------------- 1 | # Ruby2JS: an extensible Ruby to modern JavaScript transpiler 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ruby/sinatra.md: -------------------------------------------------------------------------------- 1 | # Sinatra - Classy web-development dressed in a DSL 2 | 3 | 4 | 5 | 6 | 7 | ## Lamer News 8 | 9 | > an HN style social news site written in Ruby/Sinatra/Redis/JQuery 10 | 11 | 12 | 13 | ### Echo JS - JavaScript News 14 | 15 | > Lamernews with Echo JS modifications 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ruby/typeprof.md: -------------------------------------------------------------------------------- 1 | # TypeProf: A type analysis tool for Ruby code based on abstract interpretation 2 | 3 | 4 | 5 | TypeProf for IDE: Enrich Development Experience without Annotations 6 | 7 | -------------------------------------------------------------------------------- /ruby/unicorn.md: -------------------------------------------------------------------------------- 1 | # Unicorn 2 | 3 | Rack HTTP server for Unix and fast clients. 4 | 5 | 6 | 7 | 8 | 9 | ## Race Condition Bug 10 | 11 | [How we found and fixed a rare race condition in our session handling](https://github.blog/2021-03-18-how-we-found-and-fixed-a-rare-race-condition-in-our-session-handling/) 12 | -------------------------------------------------------------------------------- /ruby/vcr.md: -------------------------------------------------------------------------------- 1 | # vcr 2 | 3 | > Record your test suite's HTTP interactions and replay them 4 | > during future test runs for fast, deterministic, accurate tests. 5 | 6 | 7 | -------------------------------------------------------------------------------- /rust/tauri.md: -------------------------------------------------------------------------------- 1 | # Tauri 2 | 3 | > Build smaller, faster, and more secure desktop applications 4 | > with a web frontend. 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scala/README.md: -------------------------------------------------------------------------------- 1 | The Scala Programming Language 2 | - http://www.scala-lang.org/ 3 | 4 | Refactoring in Scala 5 | - http://gakuzzzz.github.io/slides/refactoring_in_scala/ 6 | 7 | Coursier - Pure Scala Artifact Fetching 8 | - https://github.com/alexarchambault/coursier 9 | 10 | Stamina - Akka serialization toolkit written specifically for use with Akka Persistence 11 | - https://github.com/scalapenos/stamina 12 | -------------------------------------------------------------------------------- /scala/replace-element-in-list.md: -------------------------------------------------------------------------------- 1 | ```scala 2 | val list = List(1, 2, 3, 4, 5) 3 | list.map { x => if (x == 2) 100 else x } 4 | ``` 5 | -------------------------------------------------------------------------------- /security/browser-fingerprinting.md: -------------------------------------------------------------------------------- 1 | # Browser Fingerprinting 2 | 3 | [How Browser FINGERPRINTING Works (and How to STOP It) | Privacy Angel](https://privacyangel.com/browser-fingerprinting) 4 | 5 | [What Is Browser Fingerprinting & How to Prevent It | Avast](https://www.avast.com/c-what-is-browser-fingerprinting) 6 | 7 | [Privacy Badger - Chrome Web Store](https://chrome.google.com/webstore/detail/privacy-badger/pkehgijcmpdhfbdbbnkijodmdjhbjlgp) 8 | -------------------------------------------------------------------------------- /security/cors.md: -------------------------------------------------------------------------------- 1 | # CORS (Cross-Origin Resource Sharing) 2 | 3 | 4 | 5 | 6 | 7 | [How to win at CORS - JakeArchibald.com](https://jakearchibald.com/2021/cors/) 8 | 9 | [CORS는 왜 이렇게 우리를 힘들게 하는걸까? | Evans Library](https://evan-moon.github.io/2020/05/21/about-cors/) 10 | -------------------------------------------------------------------------------- /security/sso.md: -------------------------------------------------------------------------------- 1 | # SSO (Single Sign-On) 2 | 3 | 4 | 5 | [[SSO] 1편: 오픈소스 SSO를 왜 도입하였나요. :: GS Retail Engineering](https://gsretail.tistory.com/13) 6 | -------------------------------------------------------------------------------- /shapeup/README.md: -------------------------------------------------------------------------------- 1 | # Shape Up: Stop Running in Circles and Ship Work that Matters 2 | 3 | 4 | 5 | ## Articles 6 | 7 | [Shape Up: a complete guide to this new development methodology (2024)](https://agilefirst.io/what-is-shape-up/) 8 | 9 | [Shape Up : 한국어 요약. by 서형일, 와이즐리 웹 프로덕트 팀 리더 | by 느린 저울 | Medium](https://medium.com/@slow_scale/shape-up-%ED%95%9C%EA%B5%AD%EC%96%B4-%EC%9A%94%EC%95%BD-e6436f6eba8a) 10 | 11 | [Shape Up: 스타트업 소프트웨어 제품 개발 및 관리 프로세스](https://www.relate.kr/blog/shape-up-relate/) 12 | 13 | [Shape Up 프로세스에 대한 생각 (Thoughts on Shape Up), Haandol](https://haandol.github.io/2023/07/15/thoughts-on-shape-up.html) 14 | -------------------------------------------------------------------------------- /sicp/README.md: -------------------------------------------------------------------------------- 1 | # SICP (Structure and Interpretation of Computer Programs) 2 | 3 | ![Cover](https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/cover.jpg) 4 | 5 | 6 | 7 | 8 | 9 | ## JavaScript Edition 10 | 11 | 12 | 13 | ## SICP in Python 14 | 15 | 16 | 17 | ## Composing Programs (Python) 18 | 19 | 20 | -------------------------------------------------------------------------------- /solidity/README.md: -------------------------------------------------------------------------------- 1 | # The Solidity Contract-Oriented Programming Language 2 | 3 | > Solidity is a statically-typed curly-braces programming language 4 | > designed for developing smart contracts that run on Ethereum. 5 | 6 | 7 | 8 | 9 | 10 | ## solc-js 11 | 12 | > Javascript bindings for the Solidity compiler 13 | 14 | 15 | 16 | ## solc 17 | 18 | > 💎 Solidity bindings for Deno 19 | 20 | 21 | -------------------------------------------------------------------------------- /solidjs/README.md: -------------------------------------------------------------------------------- 1 | # SolidJS · Reactive Javascript Library 2 | 3 | 4 | 5 | 6 | 7 | ## The State of JS 2021 Front-end Frameworks Ranking 8 | 9 | 10 | 11 | - 만족도: 90% (1위) 12 | - 관심도: 56% (2위) 13 | - 사용량: 3% (😇) 14 | - 인지도: 38% (Lit과 비슷) 15 | -------------------------------------------------------------------------------- /spring/README.md: -------------------------------------------------------------------------------- 1 | # Spring 2 | 3 | ## Spring Boot 4 | 5 | - [Spring Initializr로 프로젝트 만들고 테스트하기](http://j.mp/2XLS4s7) 6 | 7 | ## TDD 8 | 9 | - [TDD on Spring](http://j.mp/21YEgHb) 10 | - [TEST PATTERNS (스프링캠프 2016)](http://j.mp/2br9tQM) 11 | 12 | ## 교육 13 | 14 | - [달랩 자바 백엔드 개발자 교육 “프로자백러”](http://j.mp/35b7KpK) 15 | 16 | ## 온라인 강의 17 | 18 | - [Fast Campus 자바 웹 개발 올인원 패키지](http://j.mp/2A1j3m2) 19 | 20 | ### 수강생 코드 21 | 22 | - [by futuremaker019](http://j.mp/2Bul6zW) 23 | -------------------------------------------------------------------------------- /spring/cors.md: -------------------------------------------------------------------------------- 1 | # CORS 2 | 3 | http://docs.spring.io/spring/docs/current/spring-framework-reference/html/cors.html 4 | 5 | `@CrossOrigin` Annotation을 활용하면 된다. 6 | -------------------------------------------------------------------------------- /spring/kotlin-spring.md: -------------------------------------------------------------------------------- 1 | # Kotlin + Spring 2 | 3 | Kotlin + Spring Boot 맛보기 4 | 5 | 6 | ## 2021년 9월 우아한테크세미나 7 | 8 | 어디 가서 코프링 매우 알은 체하기! 9 | 10 | 11 | 우아한테크코스 지원 관리 프로그램 12 | 13 | 14 | [etff님의 세미나 정리 글](https://j.mp/3useY5G) 15 | -------------------------------------------------------------------------------- /spring/spring-boot-test.md: -------------------------------------------------------------------------------- 1 | # Spring Boot 1.4 Testing 개선사항 2 | 3 | - [Testing improvements in Spring Boot 1.4](https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4) 4 | - [Spring Boot Reference Guide - 40. Testing](http://docs.spring.io/spring-boot/docs/1.4.0.M2/reference/html/boot-features-testing.html) 5 | 6 | 기존 방식: 7 | 8 | ```java 9 | @RunWith(SpringJUnit4ClassRunner.class) 10 | @SpringApplicationConfiguration(MyApp.class) 11 | @WebIntegrationTest 12 | class MyComponentTest { 13 | // ... 14 | ``` 15 | 16 | 새로운 방식: 17 | 18 | ```java 19 | @RunWith(SpringRunner.class) 20 | @SpringBootTest 21 | class MyComponentTest { 22 | // ... 23 | ``` 24 | -------------------------------------------------------------------------------- /spring/spring-native.md: -------------------------------------------------------------------------------- 1 | # Spring Native 2 | 3 | 4 | 5 | ## Announcing Spring Native Beta 6 | 7 | - 8 | - 9 | 10 | ## GraalVM Native Image Support 11 | 12 | 13 | -------------------------------------------------------------------------------- /spring/spring-web-mvc.md: -------------------------------------------------------------------------------- 1 | # Spring Web MVC 2 | 3 | 4 | 5 | 6 | 7 | ## Exception Handling 8 | 9 | 10 | -------------------------------------------------------------------------------- /sqlalchemy/README.md: -------------------------------------------------------------------------------- 1 | # SQLAlchemy - The Database Toolkit for Python 2 | 3 | 4 | 5 | ## Patterns Implemented by SQLAlchemy 6 | 7 | PoEAA 8 | 9 | 10 | 11 | ## Imperative Mapping 12 | 13 | https://docs.sqlalchemy.org/en/20/orm/mapping_styles.html#imperative-mapping 14 | 15 | https://docs.sqlalchemy.org/en/20/orm/mapping_api.html#sqlalchemy.orm.registry.map_imperatively 16 | -------------------------------------------------------------------------------- /sqlalchemy/init_on_load.md: -------------------------------------------------------------------------------- 1 | # reconstructor decorator 2 | 3 | DB에서 가져올 땐 생성자가 실행되지 않음. `@reconstructor` decorator 사용. 4 | 5 | ```python 6 | from sqlalchemy import orm 7 | 8 | class MyMappedClass(object): 9 | def __init__(self, data): 10 | self.data = data 11 | # we need stuff on all instances, but not in the database. 12 | self.stuff = [] 13 | 14 | @orm.reconstructor 15 | def init_on_load(self): 16 | self.stuff = [] 17 | ``` 18 | 19 | (코드 출처: http://docs.sqlalchemy.org/en/latest/orm/constructors.html) 20 | -------------------------------------------------------------------------------- /sqlite/README.md: -------------------------------------------------------------------------------- 1 | # SQLite 2 | 3 | 4 | -------------------------------------------------------------------------------- /ssh/README.md: -------------------------------------------------------------------------------- 1 | # SSH 2 | 3 | SSH Tunnel 4 | 5 | 6 | SSH port forwarding - Example, command, server config 7 | 8 | -------------------------------------------------------------------------------- /ssl/letsencrypt.md: -------------------------------------------------------------------------------- 1 | # Let's Encrypt - Free SSL/TLS Certificates 2 | 3 | https://letsencrypt.org/ 4 | 5 | ## Certbot을 Docker로 실행해 인증서 만들기 6 | 7 | Docker를 이용하면 불필요한 프로그램 설치를 피할 수 있다. 8 | 9 | ``` 10 | docker run -it --rm -p 443:443 -p 80:80 --name certbot \ 11 | -v "/etc/letsencrypt:/etc/letsencrypt" \ 12 | -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \ 13 | -v "/var/log/letsencrypt/:/var/log/letsencrypt/" \ 14 | certbot/certbot certonly --standalone -d 도메인 15 | ``` 16 | -------------------------------------------------------------------------------- /storybook/README.md: -------------------------------------------------------------------------------- 1 | # Storybook 2 | 3 | 4 | 5 | 6 | 7 | ## Storybook Tutorials 8 | 9 | 리액트(React)를 위한 스토리북(Storybook) 튜토리얼: 10 | 11 | 12 | Chromatic's Intro to Storybook React template: 13 | 14 | 15 | ## Chromatic: Storybook deployment, review, and test 16 | 17 | 18 | -------------------------------------------------------------------------------- /swift/README.md: -------------------------------------------------------------------------------- 1 | # Swift 2 | 3 | Introducing Swift on Windows 4 | 5 | -------------------------------------------------------------------------------- /swift/phone-number-kit.md: -------------------------------------------------------------------------------- 1 | PhoneNumberKit https://github.com/marmelroy/PhoneNumberKit 2 | > Swift 3.0 framework for parsing, formatting and validating international phone numbers. Inspired by [Google's libphonenumber](https://github.com/googlei18n/libphonenumber). 3 | -------------------------------------------------------------------------------- /telegram/python.md: -------------------------------------------------------------------------------- 1 | - https://github.com/python-telegram-bot/python-telegram-bot 2 | - https://github.com/nickoala/telepot 3 | -------------------------------------------------------------------------------- /test/checkly.md: -------------------------------------------------------------------------------- 1 | # Checkly - Delightful Active Monitoring for Developers 2 | 3 | 4 | 5 | ## Headless Automation Guide 6 | 7 | > Learn Playwright & Puppeteer 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /test/fit.md: -------------------------------------------------------------------------------- 1 | # Fit: Framework for Integrated Test 2 | 3 | 4 | 5 | [Xper:Framework For Integrated Test](https://web.archive.org/web/20061012053240/http://xper.org/wiki/xp/FrameworkForIntegratedTest) 6 | -------------------------------------------------------------------------------- /test/hoppscotch.md: -------------------------------------------------------------------------------- 1 | # Hoppscotch 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/insomnia.md: -------------------------------------------------------------------------------- 1 | # Insomnia 2 | 3 | 4 | 5 | 6 | 7 | ## Insomnium 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/locust.md: -------------------------------------------------------------------------------- 1 | # Locust - A modern load testing framework 2 | 3 | > Scalable user load testing tool written in Python 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/playwright.md: -------------------------------------------------------------------------------- 1 | # Playwright 2 | 3 | > Fast and reliable end-to-end testing for modern web apps 4 | 5 | 6 | 7 | 8 | 9 | [Microsoft Announces Playwright Alternative to Puppeteer](https://www.infoq.com/news/2020/01/playwright-browser-automation/) 10 | 11 | ## Page 12 | 13 | 14 | 15 | ## Selectors 16 | 17 | 18 | 19 | ## Assertions 20 | 21 | 22 | 23 | ## Continuous Integration 24 | 25 | 26 | -------------------------------------------------------------------------------- /test/puppeteer.md: -------------------------------------------------------------------------------- 1 | # Puppeteer 2 | 3 | > Headless Chrome Node.js API 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/test-pyramid.md: -------------------------------------------------------------------------------- 1 | # Test Pyramid 2 | 3 | [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html) \ 4 | → 한국어 번역: 5 | [실용적인 테스트 피라미드 (번역)](https://www.integer.blog/practical-test-pyramid/) 6 | -------------------------------------------------------------------------------- /test/testcafe.md: -------------------------------------------------------------------------------- 1 | # TestСafe 2 | 3 | > Cross-Browser End-to-End Testing Framework 4 | 5 | - 6 | - 7 | -------------------------------------------------------------------------------- /traefik/README.md: -------------------------------------------------------------------------------- 1 | # Traefik, The Cloud Native Application Proxy 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | --- 10 | 11 | [traefik - 클라우드 네이티브 어플리케이션 프록시 | GeekNews](https://news.hada.io/topic?id=3668) 12 | 13 | [스타트업에 traefik + docker-swarm을 추천하는 이유](https://gist.github.com/rabelais88/a458c1f45eea7d28240c64621853bb64) 14 | -------------------------------------------------------------------------------- /twitter/README.md: -------------------------------------------------------------------------------- 1 | # Twitter 2 | 3 | 전설은 아니고 레전드인 트윗을 모아보자. 😎 4 | 5 | ## 열림교회 닫힘 6 | 7 | 8 | 9 | > BUSY HYUNDAI on Twitter: 10 | > "오늘은 교수님이 양면성 이 드러나는 사진을 찍어오라고 해서 11 | > 열림교회가 닫힘 사진을 발표했다가 개박살났다. . 12 | > 13 | > ![image](https://pbs.twimg.com/media/BFKoxEACUAEyE_O?format=jpg&name=4096x4096) 14 | 15 | 16 | 17 | > ![image](https://pbs.twimg.com/media/FJ1klOKWYAA4Yed?format=jpg&name=medium) 18 | -------------------------------------------------------------------------------- /typescript/function-overloads.md: -------------------------------------------------------------------------------- 1 | # Function Overloads 2 | 3 | 4 | 5 | [A Simple Explanation of Function Overloading in TypeScript](https://dmitripavlutin.com/typescript-function-overloading/) 6 | 7 | [Mastering Function Overloading in TypeScript | by Jose Granja](https://betterprogramming.pub/mastering-function-overloading-in-typescript-97108369570a) 8 | -------------------------------------------------------------------------------- /typescript/mock-framework.md: -------------------------------------------------------------------------------- 1 | # Mock framework 2 | 3 | ## ts-mocks: Typescript Mocking Framework (using Jasmine) 4 | 5 | 6 | 7 | ## ts-mockito: Mocking library for TypeScript 8 | 9 | 10 | 11 | ## TS auto mock 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /typescript/pallad.md: -------------------------------------------------------------------------------- 1 | # Pallad - High quality Typescript libraries 2 | 3 | 4 | 5 | ## `@pallad/config` 6 | 7 | Maintaining and validating app configuration – the easy way 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /typescript/tsed.md: -------------------------------------------------------------------------------- 1 | # Ts.ED - A Node.js and TypeScript Framework on top of Express/Koa.js 2 | 3 | 4 | 5 | 6 | 7 | ## Ts.ED CLI - CLI to bootstrap your Ts.ED project 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /typescript/tsx.md: -------------------------------------------------------------------------------- 1 | # TypeScript Execute (tsx) 2 | 3 | 4 | 5 | 6 | 7 | ```bash 8 | npx tsx 9 | ``` 10 | -------------------------------------------------------------------------------- /typescript/tsyringe.md: -------------------------------------------------------------------------------- 1 | # TSyringe 2 | 3 | 4 | -------------------------------------------------------------------------------- /typescript/typed.md: -------------------------------------------------------------------------------- 1 | # Typed 2 | 3 | > Smallest runtime type-checking library ever made 4 | 5 | 6 | -------------------------------------------------------------------------------- /typescript/typetype.md: -------------------------------------------------------------------------------- 1 | # TypeType - A programming language designed for typescript type generation 2 | 3 | 4 | 5 | [The Art of Type Programming | by mistlog](https://itnext.io/the-art-of-type-programming-cfd933bdfff7) 6 | 7 | [Type Query: jQuery Style Type Manipulation | by mistlog](https://itnext.io/type-query-jquery-style-type-manipulation-497ce26d93f) 8 | 9 | ## Template 10 | 11 | 12 | 13 | ## Examples 14 | 15 | 16 | -------------------------------------------------------------------------------- /unity/README.md: -------------------------------------------------------------------------------- 1 | # Unity 실시간 개발 플랫폼 | 3D, 2D, VR 및 AR 엔진 2 | 3 | 4 | 5 | ```bash 6 | brew install --cask unity-hub 7 | ``` 8 | 9 | > The project is on case sensitive file system. 10 | > Case sensitive file systems are not supported at the moment. 11 | > Please move the project folder to a case insensitive file system. 12 | -------------------------------------------------------------------------------- /unreal-engine/README.md: -------------------------------------------------------------------------------- 1 | # Unreal Engine 2 | 3 | 4 | 5 | 6 | 7 | ## 언리얼 엔진 설치 8 | 9 | 10 | 11 | ```bash 12 | brew install --cask epic-games 13 | ``` 14 | 15 | > Unreal Engine does not support running from case-sensitive file systems. 16 | -------------------------------------------------------------------------------- /utility/README.md: -------------------------------------------------------------------------------- 1 | # Utility 2 | 3 | ## fastmod 4 | 5 | > a tool to assist you with large-scale codebase refactors 6 | 7 | 8 | -------------------------------------------------------------------------------- /versioning/README.md: -------------------------------------------------------------------------------- 1 | # Versioning 2 | 3 | 4 | 5 | Semantic Versioning 6 | 7 | 8 | HeadVer Specification 9 | 10 | 11 | ## semantic-release 12 | 13 | 14 | 15 | 16 | 17 | [컨벤셔널 커밋을 이용한 CHANGELOG 및 시멘틱 버저닝(Semantic Versioning) 자동화 | 딥백수](https://deepbaksu.github.io/2021/05/29/semantic-release/) 18 | -------------------------------------------------------------------------------- /vim/README.md: -------------------------------------------------------------------------------- 1 | # Vim 2 | 3 | - 4 | - 5 | 6 | ## Learn VIM while playing a game 7 | 8 | VIM Adventures 9 | -------------------------------------------------------------------------------- /vim/block.md: -------------------------------------------------------------------------------- 1 | 1. `Ctrl`+`v` 2 | 2. `Shift`+`i` 3 | 3. 입력 4 | 4. `ESC` 5 | -------------------------------------------------------------------------------- /visual-studio-code/README.md: -------------------------------------------------------------------------------- 1 | # Visual Studio Code 2 | 3 | 4 | 5 | 6 | 7 | ## GitHub Codepsaces 8 | 9 | 10 | 11 | ## VSCode Cloud 12 | 13 | 14 | 15 | ## code-server 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /visualization/mermaid.md: -------------------------------------------------------------------------------- 1 | # Mermaid 2 | 3 | > Markdownish syntax for generating flowcharts, sequence diagrams, 4 | > class diagrams, gantt charts and git graphs. 5 | 6 | 7 | 8 | 9 | 10 | ## Live Editor 11 | 12 | 13 | 14 | ## 참고 15 | 16 | [Flowchart로 업무흐름을 한 눈에 파악하기](https://brunch.co.kr/@pletalk/51) 17 | -------------------------------------------------------------------------------- /visualization/sigmajs.md: -------------------------------------------------------------------------------- 1 | # Sigma.js 2 | 3 | > a JavaScript library aimed at visualizing graphs 4 | > of thousands of nodes and edges 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /vitest/README.md: -------------------------------------------------------------------------------- 1 | # Vitest 2 | 3 | > A blazing fast unit-test framework powered by Vite ⚡️ 4 | 5 | 6 | 7 | 8 | 9 | ## 예제 10 | 11 | [https://github.com/ahastudio/CodingLife/tree/main/20220123/vitest](https://bit.ly/3qTTWgk) 12 | -------------------------------------------------------------------------------- /vpn/README.md: -------------------------------------------------------------------------------- 1 | # VPN 2 | -------------------------------------------------------------------------------- /vpn/openfortivpn.md: -------------------------------------------------------------------------------- 1 | # openfortivpn: Client for PPP+TLS VPN tunnel services 2 | 3 | 4 | 5 | ## Homebrew 6 | 7 | 8 | 9 | ```bash 10 | brew install openfortivpn 11 | 12 | mkdir -p ~/.openfortivpn/ 13 | 14 | touch ~/.openfortivpn/my-config 15 | 16 | sudo openfortivpn -c ~/.openfortivpn/my-config 17 | ``` 18 | -------------------------------------------------------------------------------- /vpn/pritunl.md: -------------------------------------------------------------------------------- 1 | # Pritunl - Open Source Enterprise Distributed OpenVPN, IPsec and WireGuard Server 2 | 3 | 4 | 5 | 6 | 7 | ## Pritunl Client - Open Source OpenVPN Client 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /vpn/tailscale.md: -------------------------------------------------------------------------------- 1 | # Tailscale · Best VPN Service for Secure Networks 2 | 3 | 4 | 5 | [Tailscale: How it works](https://tailscale.com/blog/how-tailscale-works) \ 6 | → WireGuard® 기반. 7 | 8 | ## 비용 9 | 10 | 11 | 12 | ## Homebrew Cask 13 | 14 | 15 | 16 | ## 방화벽 설정 17 | 18 | [What firewall ports should I open to use Tailscale? · Tailscale Docs](https://tailscale.com/kb/1082/firewall-ports) 19 | 20 | UDP 41641 21 | 22 | ## Articles 23 | 24 | [간단하게 Tailscale VPN 세팅하기](https://blog.ewq.kr/68) 25 | -------------------------------------------------------------------------------- /vpn/wireguard.md: -------------------------------------------------------------------------------- 1 | # WireGuard: fast, modern, secure VPN tunnel 2 | 3 | 4 | -------------------------------------------------------------------------------- /vue/bootstrap.md: -------------------------------------------------------------------------------- 1 | # Bootstrap + Vue 2 | 3 | - https://bootstrap-vue.js.org/ 4 | - https://github.com/bootstrap-vue/bootstrap-vue 5 | -------------------------------------------------------------------------------- /vue/facebook.md: -------------------------------------------------------------------------------- 1 | # Vue plugin to include a custom Facebook sign-in button 2 | 3 | https://github.com/phanan/vue-facebook-signin-button 4 | 5 | [FB.login](https://developers.facebook.com/docs/facebook-login/web)만 Vue에 녹아들게 만든 플러그인이라 Facebook SDK는 직접 로딩해야 한다. 6 | -------------------------------------------------------------------------------- /vue/google-maps.md: -------------------------------------------------------------------------------- 1 | # Vue2 Google Maps 2 | 3 | - https://github.com/xkjyeah/vue-google-maps 4 | - https://xkjyeah.github.io/vue-google-maps/ 5 | -------------------------------------------------------------------------------- /vue/vue-cli-config.md: -------------------------------------------------------------------------------- 1 | # `vue.config.js` 2 | 3 | 4 | 5 | ```js 6 | module.exports = { 7 | baseUrl: '/app', 8 | }; 9 | ``` 10 | 11 | ## webpack-dev-server 12 | 13 | 14 | 15 | ```js 16 | module.exports = { 17 | devServer: { 18 | public: 'my-host.test', 19 | }, 20 | }; 21 | ``` 22 | 23 | See also: 24 | - 25 | -------------------------------------------------------------------------------- /vue/vuex.md: -------------------------------------------------------------------------------- 1 | # Vuex - 🗃️ Centralized State Management for Vue.js 2 | 3 | > Vuex is a state management pattern + library for Vue.js applications. 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | --- 12 | 13 | [Template literal types in the Vuex | by Przemyslaw Jan Beigert](https://medium.com/@przemyslaw.jan.beigert/template-literal-types-in-the-vuex-e2faf6f0a8a8) 14 | -------------------------------------------------------------------------------- /web-api/README.md: -------------------------------------------------------------------------------- 1 | # Web API 2 | 3 | 4 | 5 | [Designing a Web API | Sandbox for the Web stack](https://templth.wordpress.com/2014/12/15/designing-a-web-api/) 6 | 7 | ## GraphQL 8 | 9 | 10 | -------------------------------------------------------------------------------- /webassembly/README.md: -------------------------------------------------------------------------------- 1 | # WebAssembly 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | [2020년과 이후 JavaScript의 동향 - WebAssembly](https://d2.naver.com/helloworld/8257914) 12 | 13 | [FE개발자의 성장 스토리 08 : WebAssembly 개발기](https://tech.kakao.com/2021/05/17/frontend-growth-08/) 14 | 15 | ## DOOM Rendered via Checkboxes 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /webassembly/webvm.md: -------------------------------------------------------------------------------- 1 | # WebVM 2 | 3 | > WebVM is a server-less virtual Linux environment running fully client-side 4 | > in HTML5/WebAssembly. 5 | 6 | 7 | 8 | [WebVM: server-less x86 virtual machines in the browser | by Alessandro Pignotti | leaningtech | Feb, 2022 | Medium | leaningtech](https://medium.com/leaningtech/webvm-client-side-x86-virtual-machines-in-the-browser-40a60170b361) 9 | -------------------------------------------------------------------------------- /webpack/README.md: -------------------------------------------------------------------------------- 1 | # Webpack module bundler 2 | 3 | 4 | 5 | 6 | 7 | ## Configuration 8 | 9 | 10 | 11 | Zero-configuration 12 | → [Poi](https://github.com/ahastudio/til/blob/main/webpack/poi.md) 13 | 14 | ## Optimization 15 | 16 | Most popular mistake to ruin Webpack bundle optimization 17 | 18 | 19 | ## Example 20 | 21 | 22 | -------------------------------------------------------------------------------- /webpack/dev-server.md: -------------------------------------------------------------------------------- 1 | # DevServer 2 | 3 | 4 | 5 | ## Host Issue 6 | 7 | - 8 | - 9 | -------------------------------------------------------------------------------- /webpack/poi.md: -------------------------------------------------------------------------------- 1 | # Poi - zero-config bundler 2 | 3 | > Poi is a bundler built on the top of webpack, 4 | > trying to make developing and bundling apps 5 | > with webpack as easy as possible. 6 | 7 | 8 | 9 | 10 | 11 | ## 예제 12 | 13 | 14 | -------------------------------------------------------------------------------- /workflow/pyflow.md: -------------------------------------------------------------------------------- 1 | # PyFlow - Visual scripting framework for python 2 | 3 | > PyFlow is a general purpose visual scripting framework for python. 4 | 5 | 6 | -------------------------------------------------------------------------------- /working-effectively-with-legacy-code/README.md: -------------------------------------------------------------------------------- 1 | # Working Effectively with Legacy Code 2 | 3 | “레거시 코드 활용 전략” 재출간판 번역에 대한 생각을 모았습니다. 4 | 5 | 원서: [Working Effectively with Legacy Code](https://www.oreilly.com/library/view/working-effectively-with/0131177052/) 6 | 7 | 번역서: 8 | 9 | - 재출간판: 10 | - 구판: 11 | -------------------------------------------------------------------------------- /zapier/README.md: -------------------------------------------------------------------------------- 1 | # Zapier 2 | 3 | 4 | 5 | [2025년 최고의 Zapier 대안 및 경쟁사 10가지 & 경쟁사](https://clickup.com/ko/blog/114187/zapier-alternatives) 6 | -------------------------------------------------------------------------------- /zep/README.md: -------------------------------------------------------------------------------- 1 | # ZEP 2 | 3 | 4 | 5 | ## ZEP Guidebook (EN) 6 | 7 | 8 | 9 | ## ZEP Guidebook (KR) 10 | 11 | 12 | -------------------------------------------------------------------------------- /zookeeper/README.md: -------------------------------------------------------------------------------- 1 | # Apache ZooKeeper 2 | 3 | > ZooKeeper is a centralized service 4 | > for maintainin configuration information, naming, 5 | > providing distributed synchronization, 6 | > and providing group services. 7 | 8 | 9 | --------------------------------------------------------------------------------