3/3 TIL

큰모래·2023년 3월 3일
0
post-custom-banner

카카오뱅크 도메인 특강


업무 프로세스

  • 기획 + 디자인
  • 개발
    • Jira를 사용한 Task 분배
      • 짧은 주기의 개발단위를 반복하여 프로젝트를 완성시켜나가는 에자일 방식의 프로젝트 관리 협업 툴
    • GitFlow 전략
      • 프로젝트를 진행할 때 GitFlow 전략을 한번쯤은 꼭 경험해보기!
    • Code Review
  • QA
  • 배포

핀테크 도메인

  • Finance(금융) + Technology(기술) = 핀테크(FinTech)
  • 즉, IT 기술을 사용해 금융 도메인을 다루는 산업
  • 망분리 환경으로 인한 별도 시스템 사용
    • 망분리 → 인터넷 사용 가능 또는 불가능 환경으로 나눈다.
  • eCAMS : 망분리 환경에서 사용하는 배포 시스템
  • 도메인 지식이 쓰이는 파트
    • 채널계 - 스프링 개발자
    • 계정계 - SQL, DB 쿼리
    • 정보계

개발 스택

  • Spring
    • Spring MVC
    • Spring Boot - Config 설정 자동화의 장점을 가짐, 젤 중요함
    • Spring Security - 깊게 보진 않아도 된다.
    • Spring Batch - 시간 되면 볼 것
  • Kotilin
    • 요즘 프로젝트에서 많이 사용하는 언어
  • DB
    • MyBatis
      • 쿼리 직접 작성 → 유연하게 작성 가능
    • JPA
    • Oracle
    • MySQL
  • E.T.C
    • 서버가 많은 부하를 받음 → 쿼리가 더뎌짐 → 대용량 트래픽 처리해야됨 → MQ(메시지큐)를 사용
      • RabitMQ
      • Kafka
    • 주기적인 자동화 시스템 설정, 스케줄러를 매크로 돌리는 느낌?
      • JenKins
    • 코드 관리
      • GitHub / GitLab
    • 정적인 코드 분석, 테스트 코드가 몇 라인을 커버하는지 등등
      • SonarQube
    • Kibana / NELO2

갖추었으면 하는 역량

  • 트랜잭션
    • 돈과 관련해선 트랜잭션 처리가 굉장히 중요
  • 꼼꼼함
    • 요청의 일관성 + 정합성을 맞추는 작업이 많음
    • ex) 외부 컴포넌트 통신 중 Exception이 발생한다면?
    • 실수가 곧 크리티컬한 상황을 불러일으킬 수 있다.
  • 끈기
    • 비단 핀테크 개발자 뿐만 아니라 개발자라면 갖춰야하는 역량
    • 현업 프로젝트의 규모는 굉장히 크고 그 큰 곳에서 우리는 바늘을 찾아야한다.
    • 끝까지 파고들어 디버깅 하는 끈기
    • if / else 로 코드를 짜는 개발자가 될 것인가? → 편한 길
  • 기술스택 이해도
  • 질문 할 수 있는 용기

Q&A

  • 블로그가 양날의 검이 될 수 있다.
    • 블로그를 열심히하고 쌓이면 쌓일수록 나중에 면접가서 정리한 내용에 대해 질문이 들어왔을 때 모든걱 기억할 수 없을 수도 있음.
  • 현업에서 개발 예상기간 산출은 어떻게 하나요? 감으로 하나요? 아니면 공식같은게 있나요?
    • 감이 크다. (생각하는 예상 기간의 1.5배~2배)
    • 실제로 개발 하다보면 예상치 못한 상황을 엄청 많이 겪는다.
  • 하나에 대해서 깊게 아는 것이 더 중요함. 다양한 개념에 대해 얕게 알아서 나열하는 사람들은 대부분 떨어짐.
  • 도커와 aws에 대해서는 어느정도를 알아야 하나요? 기본적인 정도로는 많이 부족한가요?
    • 데브옵스 개발자는 깊게 알아야함.
    • 백엔드 api 개발자는 깊게까진 알 필요 없다.
  • 요새 채용공고들을 둘러보면 자바+스프링 스택 채용도 많지만 코틀린+스프링 스택 채용이 많아지고 있는 것같습니다. 코틀린+스프링 스택의 전망을 어떻게 보시고 계신가요??
    • 5~10년 뒤면 거의 99퍼센트 코틀린으로 바뀔 것 같다.
  • 포트폴리오에 프로젝트를 정리하고자 할때, 프로젝트에 대한 설명 이외에
    어떤 내용이 중점적으로 들어가야 잘 정리됬다고 할 수 있을까요?
    - 시각화했을때 큰 메리트가 있는 자료들
    - 텍스트 위주는 자소서, 포폴은 시각화 자료 추천
  • 어느정도 규모가 있는 팀프로젝트와 개인적으로 진행한 미니프로젝트 여러개중에 어떤게 더 스펙이 될까요
    • 전자 후자 모두 장단점이 있음.
    • 두개다 할 수 있으면 좋다.
  • 강사님께서 신입 개발자를 뽑는다면 어떤 부분을 가장 중요하게 생각해 신입 개발자를 뽑으실지 궁금합니다
    • 자기가 해왔던 프로젝트에 대해서 깊게 설명할 수 있는 사람!
  • 백엔드 개발자에게 있어서 취업을 준비할 때 대용량 트래픽 처리 경험은 큰 메리트가 있는 것으로 알고 있습니다. 실무 경험이 없더라도 대용량 트래픽 처리를 경험할 수 있는 방법이 있을까요??
    • 솔직히 경험하기 힘들다.
    • 대용량 트래픽을 핸들링할 수 있는 방법론들에 대해 구글링하면서 많이 찾아볼 것!

GIT


리베이스

  • 머지는 히스토리를 보존하고, 리베이스는 히스토리를 재작성한다.
  • 히스토리가 깔끔하게 나온다.
  • 명령어
    • git merge main
      • 현재 checkoutbranchmain을 흡수
    • git rebase main
      • main 으로 이사
    • git rebase main bugFix
      • bugFix에 달린 커밋을 main으로 이사

협업

  • Git Flow
  • GitHub Flow
profile
큰모래
post-custom-banner

0개의 댓글