samchon
990
2021-10-04 15:58:20
12
6817

회사의 신입 백엔드 개발자들을 위하여, 예제 프로젝트를 만들었습니다.


https://github.com/samchon/backend


현재 제가 재직 중인 회사 "아키드로우" 에는, 신입 백엔드 개발자들이 많습니다. samchon/backend 는 이들 신입 백엔드 개발자들을 보다 체계적으로 교육하기 위하여 특별히 만든, 일종의 예제 프로젝트입니다.


이 예제 프로젝트는, 요구사항을 분석하여 DB 아키텍처와 API 인터페이스를 설계하고 테스트 자동화 프로그램을 작성한 후 메인 서버 프로그램을 작성하는 등, 일련의 백엔드 설계 및 개발 과정을 모범적으로 보여주기 위하여 제작하였습니다. 동시에 무중단 업데이트나 스케쥴러 구성을 어떻게 하는 지 등, 백엔드의 인프라를 구축함에 있어 특정 벤더에 영향받지 않으며 로컬에서도 재현 가능한, 중립적인 백엔드 환경 구성 등을 다루고 있습니다.


더하여 이 신입 백엔드 개발자들에게 교육을 해 줌에 있어, 본인이 그간 백엔드를 개발하며 느껴왔던 여러 불편하고 비효율적인 점들을 굳이 되물림하지 않았으면 좋겠다는 생각을 하였습니다. 이에 교육 자료를 만듦에 있어, nesita 나 safe-typeorm 등도 함께 개발하게 되었습니다.


  - https://github.com/samchon/nestia

    - NestJS 로 만들어진 백엔드 서버의 소스 코드를 분석

    - API 연동 라이브러리를 자동으로 만들어 줌

    - Swagger 문서를 작성하고 해독하는 일 따위가 불필요

  - https://github.com/samchon/safe-typeorm

    - TypeORM 를 컴파일 수준에서 강화해주는 헬퍼 라이브러리

    - SQL 자동 완성 및 컴파일 타임 검증 가능

    - 출력코자 하는 JSON 구조만 적어줘도

    - SQL 쿼리와 앱 조인 및 퍼포먼스 튜닝을 자동으로 해 줌

31
51
  • 댓글 12

  • Mambo
    6k
    2021-10-04 16:16:54

    회사에서 사용하는 기술 스택에 대한 예제 프로젝트라니 좋은 회사네요 :)

  • 스쿨드
    2k
    2021-10-04 17:32:22

    와우 훌륭한데여..

    netsjs로 작성된거만 되는거죠?

    RestAPI 관리방안이 문제였는데 스웨거 없이 어케 되는건가요 컨셉이 궁금합니다.

  • zenitsu
    49
    2021-10-04 17:38:35

    대단하시네요...개발이 일이자 취미이신 그런 분인가요....

  • samchon
    990
    2021-10-04 18:11:49

    @스쿨드 nestia 가 백엔드 서버 소스 코드를 분석한 후, 해당 서버의 rest api 스펙에 알맞은 클라이언트 sdk 함수들을 만들어줍니다. 저장소 들어가셔서 README 읽어보시면 바로 이해되실 거에요


    https://github.com/samchon/nestia

  • jjun's
    63
    2021-10-06 15:30:47

    오 제가 내일 퇴사하고 나서


    멘탈좀 추스른다음에 한번 봐야겠네요 감사합니다 

  • Rhio Kim
    4
    2021-10-08 13:57:21

    @samchon 

    오 코드를 분석해서 clinet codgen 을 해주는 아이디어 좋네요.

    저도 최근에 백엔드에서 스웨거 문서(Open API 3.0)를 TS 타입 정의랑 client 측 코드 제너레이션을 만들었는데 많이 편하긴 하드라구요.

    저는 이 라이브러리를 참고했습니다. https://github.com/acacode/swagger-typescript-api

    그리고 이미 고민하시고 계실지 모르지만 코드를 분석해서 client 를 만들지 않고 table 구조를 type definition 으로 표현하고 타입정의 파일을 분석해서 server/client 로직을 생성하는 transpiler 를 만들면 더 멋질꺼 같아요. 

    @samchon 님의 무시무시한 오픈소스 활동 눈이 부시네요. 

  • 개나소나고생
    7k
    2021-10-08 15:15:24

    이분 인터뷰 영상 봤는데 유명하시더군요 ㅎㅎ

  • Flex 해서 샀다
    225
    2021-10-08 16:08:06

    nestia 의 경우 nestjs openapi cli plugin 과 비슷해보이는데 혹시 장단점/차이점을 알 수 있을까요?

    safe-typeorm 은 진작에 나왔으면 제 개고생을 덜어줬을 것 같네요ㅠ

  • 사과돌이
    157
    2021-10-08 20:31:15
    와 대박이네요...
  • 김도훈2
    3
    2021-10-08 20:38:30

    [문의] 요즘 신입들에게는 ORM 를 MyBatis 또는 JPA 를 교육하시나요?

    대기업( 네이버,...등등 ) 스프링부트2, JPA 를 사용하는것 같은데요...

    중소기업은 기술 스팩이 어떤가 궁금합니다.

  • 안전라이딩
    1k
    2021-10-09 15:49:00

    멋지네요

  • 갱스터
    5
    2021-10-10 05:40:28

    오! 좋네요!

  • 로그인을 하시면 댓글을 등록할 수 있습니다.