HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🐣
프론트엔드 데브코스 3기 교육생
/
🙂
동근팀
🙂

동근팀

🫂 우리 팀


이동근 멘토님
박민형 팀원 - ParkMH
안재관 팀원 - jaekwanAHN
우대현 팀원 - WooDaeHyun
유지영 팀원 - YJZero
조예지 팀원 - yezyvibe

⏰ 팀 규칙


🕗 코어 타임
    🗣 스크럼 - 코어타임 시작 전후로 하루 2번, 30분 진행

    진행 방식

    시작 스크럼 어제 진행한 내용 및 오늘 코어 타임에 진행할 내용 공유하기
    마무리 스크럼 오늘 진행했던 내용 및 어려운점 공유하기
     

    🌠 역할


    • 팀장 지영
    • 노션 관리 예지
    • 공지사항 및 일정 리마인드 대현
    • 코어타임 인증 재관
    • 스크럼 진행 민형
     

    팀 프로젝트


    🐢
    사전 아이디어 회의
    💭
    회의록
    💡
    프로젝트 개인 회고
    👨‍👨‍👧‍👦
    팀 회고
    👩‍💻 스크럼
    👜
    API 및 요구사항
    UnsungHero Project
    UnsungHero Project
    🌟
    UnsungHero Project 중간발표
    🖊️
    프로젝트 스타일 노트
    🕶️
    프로젝트 최종 발표
    아마도 발표 대본

    🎆
    데일리 스크럼
     

    💡기술 공유


    📚
    학습 주제 목록
     
     
     
    동근팀 일정
     
     
    특강
    특강
    GitHub 특강(10월 20일) -진유림 개발자님
    실무에서 자주 사용하는 명령어
    • amend: 깜빡하고 수정 못한 파일이 있어요, 방금 만든 커밋에 살짝 추가하고 싶어요
    • stash: 변경사항을 잠시 킵해두고 싶어요, 아지 커밋은 안 만들래요
    • reset: 옛날 커밋으로 브랜치를 되돌리고 싶어요
    • revert: 이 커밋의 변경사항을 되돌리고 싶어요
    • cherry-pick: 저 커밋 하나만 떼서 지금 브랜치에 붙이고 싶어요
    JavaScript 주요 문법의 문제 라이브 코딩과 개발자의 학습과 성장(10월 25일) - 이선협 강사님
    알고리즘을 잘공부하는 법
    필수로 해야할 것
    1. 항상 여러가지 풀이 방법 이 있을 수 있다는 것을 기억
    1. 항상 예외가 있을 수 있다는 것 을 기억
    1. 내가 풀어낸 답이 베스트인지 의심
    1. 문제를 풀었다면 시행착오를 모두 기록 하자
    1. 다른 사람의 코드 를 많이보자. 생각하지 못했던 방법을 발견할 수 있다.
    1. 쉽게 포기하지 말자. 하지만 도저히 모르겠다면(3시간) 답을 보는 것 도 좋은 방법
    그나마 재밌게 공부하는 법
    1. 시각적인 사이트의 도움을 받자
    1. 공부하는 자료구조 / 알고리즘이 어디에 쓰일지 생각해보면서 공부
    마음 가짐
    1. 알고리즘 마스터가 될 필요는 없다.
        • 회시는 기초 능력 확인
        • 문제 해결 능력
    1. 즉, 어디까지 공부할지가 중요
    코딩테스트 잘 준비하는 법
    자신의 성향을 파악
    • 내가 어떤 사람인지
    • 미리 생각하고 의사 코드를 작성해야 더 잘 풀리는 사람
    • 일단 코드를 작성하면서 생각해야 더 잘 풀리는 사람
    메모하기
    • 긴장하면 풀다가 내가 무엇을 하려했는지 잊을 수 있으므로 코드에 주석을 달거나 노트에 메모하면서 풀자
    • 알고리즘은 논리적으로 표현할 수 있다. 헷갈리면 순서도를 그려
    디버깅
    • 내가 예상한대로 동작이 안된다면 꼭 디버깅
    • cnosole.log 사용
    익숙해지기
    • 문제를 잘 읽는 것에 익숙
    • 시간복잡도를 계산하는 것에 익수해져야 한다
    • 자잘잘한 성능보다 시간복잡도가 훨씬 중요
    • 항상 엣지 케이스를 생각하는 것에 익숙해져야 한다
    좋은 코드 만드는 방법
    간결하고 가독성 좋은 코드
    • 변수, 함수의 이름을 잘 정했는가
    • 중복 코드를 제거했는가
    • 함수형 프로그래밍도 좋은 방법 ⇒ map, filter, reduce(성능이 안 좋을 때도 있음)
    가지치기를 했는가?
    • 사소한 로직이라면 성능이 크게 개선되지는 않지만 코드 리뷰에서 좋은 평가를 받을 수 있음
    JS를 잘 이용했는가?
    • 문법 활용 ⇒ 구조 분해 할당, …오퍼레이터
    일관성을 유지 했는가?
    • var와 let 혼용, 카멜이랑 스네이크 혼용, 변수나 함수명을 줄임말과 전부 적는 경우를 섞을 때
    문제 유형 파악 방법
    접근 방법
    • 문제 유형을 바로 파악하는 것보다 가능성 있는 방법을 좁혀나가는 것이 중요
    • 좁힐 수 있는 힌트 ⇒ 입출력 제한, 문제 키워드, 이미지, 문제 순서
    알고리즘 대회에서 많이 쓰는 꿀팁!
    • 문제를 읽기전에 입출력 제한부터 확인
    • 입력이 x00 이하인 경우 ⇒ 완전 탐색, 백트래킹
    • 입력이 x0,000 이하인 경우 ⇒ 최대 n ^ 2, 문제에 따라 n ^ 2 * logN
    • 입력이 x,000,000 이하인 경우 ⇒ 최대 nlogN 이내로
      • 힙, 우선 순위큐, 정렬, 동적 계획법, 위상 정렬, 다익스트라
    • 입력이 x00,000,000 이하인 경우 ⇒ 최대 O(n)으로 끝내야하는 문제(DP, 그리디)
    유형을 한 눈에 파악하기 힘든 경우
    • 동적 계획법 ⇒ 규칙을 찾을 수있다면 이 유형일 가능성 높음
    • 백트래킹 ⇒ 아무리 생각해도 모두 탐색해야하면 이 유형일 가능성 높음
    • 그리디 ⇒ 사람이 직관적으로 풀어낼 수 있다면 이 유형일 가능성 높음
    선협님 강의 자료
    • Day8 2번째, 3번쨰, 4번째 참고
    개발자의 학습과 성장
    시간 대비 고효율
    진단 ⇒ 내가 어떤 공부를 해야 할까?
    • 개발에 필요한 세가지 요소(사고, 기술, 과학)
    • 사고 ⇒ 논리적 사고 또는 추상적 사고
    • 기술 ⇒ 프로그래밍 언어, 방법론, 프레임워크
    • 과학 ⇒ 네트워크, 메모리, OS, 시스템
    사고하는 방법
    단계적 추상화에 익숙해지자
    • 추상적으로 생각한 것을 도식화 하면 좋음
    다양한 관점에서 바라보자
    • 시스템, 도메인, 데이터, UI 관점
    논리사고를 정리하고 기록
    • 비슷한 문제를 해결할 때 큰 도움
    기술 공부하는 방법
    시작하면 웬만하면 공식 문서
     
    심화 내용은 혼자 학습하지 말고 도움을 받는 것이 좋다
    • 잘하는 사람의 도움을 받자
    • 오픈 소스를 분석하는 것도 좋은 방법
    • 타인의 지식을 빠르게 나의 것으로 만드는 것이 가장 효율적
    과학 공부하는 방법
    제일 좋은 방법은 열심히 외우는 것
     
    사용 사레도 같이 알아두면 좋다
     
    패턴
    패턴을 발견하면 그 즉시 정리해서 기록하자
    • 컴포넌트, 설계 패턴들을 정리
    안해봤던 것을 해보자
    • 어렵더라도 안해봤던 경험ㅇ르 가리지 않고 많이 쌓는 것이 중요
    공개된 소스를 많이 참고
    • 소스를 분석하는 것이 어렵다면 따라치는 것부터 시작해도 좋다.
    • 익숙해지면 내 방식으로 리팩토링 하면서 만들어보자.
    실제로 적용해보자
     
    산출물에 대해
    • 블로그, 오픈소스, 프로젝트, 발표 등등
    가장 중요한 것은 시간 투자
    좋은 개발자로 성장하기(11월 5일) - 마광휘 개발자님
    우리가 성장해야 하는이유
    • 왜 성장하고 싶은지, 구체적이고 명확하게
    • 시장에서 도태되지 않기 위해서
    실무를 알아야 면접에 붙을 수 있음
    • 애자일은 환상
    • 애자일의 탈을 쓴 워터폴 이 기다림
    • 사용자의 입장에서 항상 생각하며 개발을 해야함(마인드셋)
    • 고객에게 가치를 자료구조, 알고리즘, 기술, 패턴, 아키텍처 등을 이용해 정해진 기간안에 최대한 훌륭하게 만드는게 잘하는 개발자
    주니어때 생각해보면 좋을 몇 가지
    기록과 함께 성장
    • 공부한 모든 내용
    • 논의/논쟁한 모든 내용
    • 도메인 지식
    • 짧은 단상, 아이디어, 오늘 한 일들과 같은 회고글
    • 작성한 것을 그대로 두지 말고 공유해서 검증을 받아야 함(내 얘기), 잘한다고 착각 할 수 있음
    • 별 거 아닌것도 블로그에 작성하는 것이 좋음
    • 블로그 장점
      • 대외적으로 보이는 글이므로, 신경을 써서 글을 작성
      • 점진적으로 글의 성장
      • 여러 사람들에게 보여지므로써, 피드백을 받을 수 있는 창구를 마련하여 이야기를 진행할 수 있음
    • 회고도 블로그에 올리면 좋음
    블로그를 통해 성장
    • 꾸준함은 결국 자신을 성장시키는 가장 쉬우면서 가장 어려운, 그렇지만 명확한 성장수단
    • 그냥 개발만 하는 것이아니라 의도와 목표 를 항상 생각하며 공부
    왜? 라고 생각
    • 개발자의 길을 걸으면서 “왜” 라고 깊게 파고든 문제가 있었는지?
    • 이해의 넓이, 깊이 ⇒ 깊이가 깊어질수록, 이해의 넓이는 한정, 따라서 어려워 질수록 설명하기 어려워진다. ⇒ 한 단계 더 내려가고, 옆으로 움직여 보자.
      • 상대방이 이해를 쉽게 하려면, 이해의 넓이가 넓어야 한다
      • 상배방보다 더 잘하고, 유니크하려면 깊어야 한다
    • 어떠한 개념에 있어 한단계씩 내려가며 깊이 있게 공부 해야함
    • 이해의 범주를 인지
    • "왜"는 수평적, 수직적 이해를 하기 위함
      • 추천: 어떤 지식을 고웁한다고 했을때, 그 지식에 대해서 “3뎁스` 이상 고민을 해보는 것
      • 실제: 배민에서 신입 면저블 약 100명 가까이 봤는데, “반드시 합격할 인재”로 뽑힌 사람의 대부분은 질문을 하면 알아서 “2뎁스” 이상의 지식까지 꺼내옴.
      • 회사측에서는 단순한 지식을 아는지를 궁금한것이 아니라 이 지식을 사용할 수 있나?
      • 질문에 대해서만 답변하지 말고, 주체적으로 찾아본 내용들도 함께 이야기
    • 주니어 개발자는 즉시 전력보다 “성장 가능성”을 본다
    정리
    • 왜 라는 물음을 공부하면서 항상
    커리어 방향성
    • 주니어 개발자의 성장 방향성
      • 3, 5, 7, 10년 의 미래를 구상
    • 주요한 5가지
      • 취업이 되면 이제부터 시작
      • 각자의 도메인 업무만 생각하지 않기
      • 도메인 전문가가 되도록 노력하기
      • “서비스 개발자”는 곡객에게 제공되는 가치가 최우선
      • 커리어 3년 안으로, 좋은 시니어들의 좋은 습관을 자신에게 함양
    • 정말 중요 ⇒ 서로를 경쟁자라고 생각하지 마세요!
      • 프로그래머는 장거리 마라톤으로써 지금 잘한다고 연봉이 수천만원 차이나지 않음
      • 개발 업계는 모르면 모른다고 할 수록, 빠르게 알수록 스노우볼이 커진다.
      • 시니어가 없어도, 좋은 ㅣㅁ원이 있다면 빠르게 성장할 수 있어요.
    strapi.io로 시작하는 토이 프로젝트(11월 22일) - 로토 강사님
    • 프로젝트 진행 시에 데이터 구조나 데이터 흐름을 파악하는 것이 좋다.
    • 모델 정의 > 모델 설계 > 권한 허가
    • chakra ⇒ React 컴포넌트 제공, 커스트 마이징 유리
    • js 프로젝트를 ts로 바꿔서 해봐라