본문 바로가기
컨퍼런스 및 교육

2024 Youthcon 참석 세션 1부

by 백엔드 개발자 2024. 8. 31.

 

1. 효율적으로 성장하기 - 한우석님


더보기

요약 : 4년간 자동차 정비 업무를 맡고 있었던 우석님.

정비업무 개발업무 공통점 및 비교를 통해 어떻게 성장하셨는지 가볍고 재미있게 풀어낸 이야기. 

 

효율적으로 성장을 할 수 있었던 이유

  • 정비와 개발업무의 유사성
    • 문제해결
    • 유지보수
    • 지속적인 학습 
    • 둘 다 기계로 이루어져 있음 

성장 요소

  • 하드 스킬
    • 테스트 : 코드 신뢰성 향상과 좋은 코드 구현이 도움이 되므로.(테스트하기 좋은 코드를 작성하려는 과정에서 역할과 책임이 분리됨.)
    • 다양한 실패 : 메타인지, 실패해도 안다치는 장점이 있다.
    • 이론 공부 : 이론은 인덱스다 주장하심.
  • 소프트 스킬
    • 질문하기 : 다른 사람의 지식을 얻을 수 있다. 많은 질문 대신 좋은 질문하는 방법 고민해보기.
    • 커뮤니케이션 : 비개발자와의 소통
    • 협업시 정확한 상황공유 
    • 손을 다쳐 정비를 못하게 된게 기회가 되었다.
    • 하지만 그 운을 잡기위해 최선을 다했었으므로, 운이 왔을때 기회를 잡을 수 있었다.

 

 

2. 깊게 파고들어야 한다고요? 왜요?


 

요약 :

  • 내용 :맹목적인 학자형의 깊이있는 공부법에 대한 저항, 그리고 깊게 공부하는 방법에 대한 재이해 
  • 자신에 맞는 학습법을 찾아 공부하세요. 그러기 위해, 자신을 이해하고 파악하는 것이 가장 중요해요.
  • 깊게 공부하는 학자형 공부법만이 정답은 아니에요. 야생형의 장점도 고민해보세요!
  • 나를 올바르게 판단하기 위해 주변사람들의 피드백등을 이용하는 방법도 있어요!

 

깊게 기술을 파고들어서 써야 하는 말에 거부감이 든 이유

  • 이유가 빠져 있음.
  • 불안감만 자극했다.
  • 하기 싫다

 

깊게 파야하는 이유에 대한 주변 분들과의 토의

1. 언젠가 도움이 된다. -> 설득력이 없었음.
2. 개발자라면 그정도는 해야 한다. -> 완벽주의 조장
3. 문제를 잘 해결하기 위해서 -> 깊게 파는 방법만 있는걸까?

 

깊게 파는 것의 단점

  1. 생각지 못한 기회비용.
    한가지에만 몰두하면 흥미,적성을 찾을 기회가 줄어든다고 생각했음
  2. 학습효과가 떨어진다.
    완전히 익힐때까지 한번에 한가지씩 집중연습은 틀린 믿음.
    뇌과학 연구결과 시간간격을 두고 이뤄지는 분산된 연습이 더 효과적.
    운영체제 -네트워크 보다 둘다 조금씩 스위칭해서 공부
  3.  불필요한 것에 시간을 많이 쓸 수 있음.
    • 예시1 :css은 현업에서 컨벤션을 안씀. 카프카는 현업에서 사용했어야 해서 짧은 시간동안 실용적으로 익힘.
    • 예시2 : 아키텍처를 정확히 다알고 찾아야 하나 고민 - > 그냥 한폴더에 다 넣고 시작하라는 조언을 받음
      처음에는 응집도 있게 하고 점진적으로 리팩토링하는게 실용적이라는 사실을 깨달을 수 있었음.

화자가 생각한 깊게 파는 것의 의미고찰

  • 화자가 생각한것
    인프라,로우레벨, 프레임워크 디테일 전부 아는것.
  • 실제의도
    알맞은 기술을 적재적소에 사용하기 위해 철학과 사용법 익히기.

 

그래서.. 어떻게 해야 하나요?

  • 개개인의 환경과 상황이 다르므로 본인의 판단에 맞는 학습법이 필요합니다.

 

내판단은 어떻게 믿을 수 있나요?

  • 가고 있는 방향에 피드백받기
    • 면접, 멘토링, 피드백
    • 시도와 피드백의 잦은 루프
    • 긍정 피드백을 받을 수 있을 만큼 개선하기.
  •  좋은 동료되기
    • 동료만들기(동아리, 토이,취업)
    • 동료들에게 좋은 피드백 받기

FIN

깊이 파야하는 것은 자기 자신입니다.

향로님을 존경하여 온종일 공부방식을 시도해보았으나, 더 짧은 단위로 집중을 하는 타입이셨던 화자분께는 맞지 않았습니다.

그래서 몇십분씩 자주 개발공부하는 방향으로 진행해서 성장하셨다고 합니다.

 

 

 

자바퀴즈로 함께 자라기 - 윤종민


들으면 좋은 대상

  • 성장방법 고민중인 사람
  • 퀴즈성장 방법 궁금한 사람.

 

요약 

  • 퀴즈를 통해서 성장과 재미 둘다 잡을 수 있었던 윤종민 연사님의 이야기.
  • 주변 사람들에게 퀴즈를 점진적으로, 칭찬해주는 자세로 퀴즈를 내보자.

 

퀴즈를 낼 때는 쉬운것부터 어려운 것까지 차근차근 가는 방식을 한다.

 

퀴즈를 통해 얻은것

  1. 학습강화
  2. 설명하기 위해 더 공부
  3. 잘못된 부분 교정
  4. 주변환경 개선
  5. 호기심 유발로 형성되는 학습 분위기
  6. 자연스러운 지식 공유로 이뤄지는 소통
  7. 성장시너지 발생

 

주의점

  • 너무 어렵지 않은 이야기로 시작하기 -> 점진적 퀴즈 타임
  • 이것도 모른다고 말고, 아는 것을 칭찬하기.
  • 두려워하지 않기

 

 

퀴즈 내용

더보기

-자료구조
HashMap : kvp 자료구조,내부적으로 배열로 구현되어 있음.

 

Q 일반적으로 데이터 접근시 매우 빠르게 접근 가능한데 이유는?

정답 : 키를 해싱+배열 크키로 나머지 연산한 결과를 배열의 인덱스로 사용함.

-왜 일반적으로일까?
해시 충돌때문에.


HashSet 데이터 중복x 순서보장안됨.

Q 순서대로 (3,1,2,5,10) add하고 출력했을때 결과

정답은 1,2,3,5,10이.
내부가 해시로 구현되어 있는데, 16보다 큰수가 들어오거나,12개 이상들어오면 정렬이 바로 깨진다.

Q HashSet.add의 반환값은 무엇일까?

3번 boolean (신기하다 ㅋㅋㅋ)

 

 

Q HashMap.put()의 반환값은?

가지고 있던 값이 나온다.


Stream 데이터의 연속된 흐름을 처리할 수 있는 기술

 

관련 문제

1. 루프퓨전
2. short curcit

3. sorted연산







CDC 네가 뭘 할 수 있는데- 


얻을 수 있는 것

  • 타시스템으로 데이터변경 전파방법
  • 데이터 일관성 유지방법
  • CDC

요약

  • 데이터 변경을 감지하거나 타시스템으로 전파가 필요한 경우 ,CDC를 고려해볼 수 있다.
  • 반드시 필요한 상황에 사용하자. 관리포인트 증가 및 복잡도가 증가하므로.

 

CDC

  • 변경 데이터 캡쳐
  • DB의 데이터변경을 감지하고 대응.
  • 구현: DB로그 활용방식이 주된 방식.

 

 

로그사용방식

Mysql binlog 사용

 

 

 

 

 

 

문제상황

  • 결제가 취소되면 결제테이블의 금액을 변경한다.
  • 히스토리가 필요한데 금액만 변경되는 상황
  • 결제 데이터 변경시 정산시스템 api 호출불가된 상황

 

해결

  • CDC만 추가하여 mysql의 binlog를 확인하여 정산DB의 히스토리를 가져와 결제 DB에 히스토리 추가하는 방식.

 

CDC 적용효과

  • 데이터 제공자의 소스 변경 없음
  • 변경된 데이터 실시간 전파
  • 로그에서 조회한 데이터 용도에 맞게 활용

 


CDC 활용사례

더보기

 

IDC -> CLOUD 이관사례
cloud 응답시간이 훨씬 느린 문제.

1.해결시도 : DB 레플리카

 

IDC의 데이터를 직접 호출안함.

 

CDC가 죽었을때의 대응

mysql 포지션 사용

 

CDC로 데이터 전달 실패했을 경우 대처

실패시 따로 저장하고 다음 데이터 전달.
따로 저장한 건 스케줄링후 3번 실패시 슬렉 알람

CDC 활용사례 2

 

더보기

 

데이터 감지와 타시스템으로 전파하는 로직을 분리하기 위해서 카프카를 사용했다.
변경감지후 전파를 위해서 CDC를 도입한 사례. 1번과는 다르다.

카프카 중복 메세지 전달 대처

컨슈머에서의 멱등한 처리 or 중복처리 방지로직 추가

 

메세지 순서

변경된 데이터의 시간데이터로 순서가 꼬이지 않도록 조절.

 

도입시 고려사항

  • 관리포인트 증가 ( CDC 헬스체크 등)
  • 복잡도 증가
  • 재처리 방법 고려
    • 재시도 : 바로, 무시, 전파 차단을 위한 재시작 등
    • 후보정 : 회원DB정보가 안맞을때 그 정보만 보정하는 api등등

 

 

출처 

 

YOUTHCON'24 | Notion

유스콘은 👨‍🎓 젊은 개발자와 👨‍🏫 선배 개발자가 함께 가치 있는 기술에 관한 정보와 경험을 공유하는 콘퍼런스입니다. 여기서 발표하는 사람들을 잘 기억해 주세요. 가까운 미래에는 D

frost-witch-afb.notion.site

 

'컨퍼런스 및 교육' 카테고리의 다른 글

토스뱅크 밋업  (0) 2024.08.09
2022 인프콘 김영한 연사님의 세션 영상 내용  (0) 2024.07.28
GDG 송도 2024 07-26  (0) 2024.07.28