<div id="main-section">
<a href="html-css-basics-summary.pdf" class="button" target="_blank"
footer a:hover,
footer a:active {
background-color: rgb(255, 186, 58);
}
호스팅 & 배포

<link rel="icon" href="images/favicon.ico">
버전관리 깃 & 깃허브
버전제어 시스템(VCS)으로 변경사항을 추적하고, 소스코드 기록을 관리함
로컬에서 작동한다.
레퍼지토리에 있는 모든 추적된 파일과 폴더들을 바탕으로 최근 상태를 비교하고 변경된 부분을 코드 스냅샷에서 작업시 반영
각각의 커밋들은 싱글 코드 스냅샷을 대표
git branch 로 브랜치를 관리
git merge [feature]
git reset --hard HEAD~1
git branch --show-current
git branch -D feature
git checkout -- .

git credential-osxkeychain erase
host=github.com
protocol=https

멘토링 QnA
기본적인 CRUD 개발은 해야하고, 면접질문에서 나오는것들이 최소 역량이야. 예를 들어 'Spring 서블릿까지 처리되는 과정. 스프링의 플로우를 이해하고 쓰는가? '
인증 인가 정도는 구현해봤으면 좋겠다. 필터에서 처리하는 것이 스프링 전체의 과정에서 어느 과정에 있고, 그것이 전체 플로우에 얼마나 영향을 미치는가 등 스프링의 주요 플로우 의도를 파악하는게 중요한거같아.
데이터베이스는 기본적인 쿼리 작성 수준은 되야하고, 인덱스를 어떻게 잡는가에 대한 개념. 그렇지만 기본적인 수준에서의 쿼리들은 작성할 수 있어야한다.
CS 지식은 그 원리를 파악하면서 공부해야해. 원리를 잡기 위해서 CS 지식이 필요한데, 이걸 알고 있는가가 메인 중점.
Ex) 소수점 연산에서 오차가 발생할 수 있는 문제 등, 언더플로우 오버플로우가 왜 발생하는가?
오류를 찾을 수 있는건 CS 깊이와 연관이 있기 때문이야.
프론트엔드에서 문제해결능력이 좋은 사람은 구현 속도가 빠른 사람, 복잡한걸 단순화 잘하는 사람
프론트 엔드에서는 알고리즘능력은 조금 덜필요해. 채용전형에 합격할 정도면 되거든. 로데씨를 도배하는거 만으로도 해결이 가능해서 다루는 개체수가 작기 때문에 아무런 알고리즘을 써도 느리지 않거든.
넓은 프론트 기술스택 이건 별로 안 중요하다고 생각해.
-이 책을 추천합니다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=22740732
토큰이 만료 되었다라는것은 모든 키관련 인증 방식의 보안 이슈. 이 부분은 그냥 발생할 수 있는 상황이라고 보면 좋아. DB 든 어디든 저장하지 않고 해결할 수 없는 방법은 없어.
refresh 토큰을 저장하지 않고 쓰는건 어려워. 또한 탈취도 무조건 발생해.
API 들은 다 허용하고, 특정 액션을 할때만 access 토큰을 재확인. DB의 IO를 최대한 줄이는 전략을 택해.
탈취 되어도 GET 은 마음것해라~. 대신 GET 이 아닌 경우에는 아무것도 할 수 없을 거야.
어떻게 구현했는지 보다는 이걸 구현하면서 '이슈'가 없었을까? 이슈가 더 궁금해. 어떤 구현과정에서 이슈가 없는건 불가능하거든. 그 문제를 숨기는건 좋은 성향이 아냐.
문제가 발생했을때 어떻게 해결했을까를 초점에 맞춰서 본다.
학습한 내용을 위키처럼 정리한 블로그는 좋은 점수를 주기 어려워. 어떤 내용에 대해서 정리한것은 변별력이 없어. => 쓸데 없다.
블로깅 주기는 상관없어.퀄리티가 좋으면 개수는 상관없어.
블로깅 보다는 깃허브가 훨씬 좋아
프로젝트의 수는 안중요하지만 난이도는 중요해. 기술문제를 겪을만한 주제인가가 중요. 진짜 내가 사용하고 싶은 App을 만들었다 보다는 기술 이슈를 겪을 만한
데이터베이스 동시성 이슈를 어떻게 풀어나갈지에 대한지에 대한
엠큐를 써보고 싶었는데 엠큐를 쓸만한 프로젝트.
Spring 에서 디스팩처 서블릿까지 서빙되기 과정. 인터셉트가 어느시점에 처리되는가 원리를 파악을 하고자해야해. 원리에 관심이 없으면 거의 탈락..
면접관과 소통을 하면서 대화를 하는것도 좋은 것같아.
프론트 보다는 훨씬 많이 필요해.
코테를 합격하기 위한 알고리즘을 공부하면서, 코테를 통해 실무역량을 매칭시키려고 노력해야해.
회사의 의도는 알고리즘을 적절히 선택할 수 있는 역량을 기대해. 동작원리를 파악하고. 적절한 선택의 기준이 무엇인가를 파악하는게 중요해. BIG O 표준법의 의미를 이해하는 사람이 좋아.
빅오 표기법이 좋은 알고리즘 쓰면 되는가가 착각이야.
실무는 빅오 보다는 N 이 작아야해. N 을 못줄이면 효율이 안나와. 그래서 그 부분을 이해하기를 기대하면서 코테를 보는거야.
주니어에게 보통 기대하고 전달하는것은 약간 심플한 작업의 경우. 심플한 문제는 알고리즘이 별로 안중요한데, 실제 큰 프로젝트에 무게감있는 일을 맡으면 점점 필요해져.
특정 알고리즘의 원리를 파악하기 보다는 핵심을 파악해서 10억건의 데이터를 처리한다 => 어떤식으로 처리량을 구현하고 배분해야 원하는 성능과 결과물을 낼 수 있을까? 이걸 기대한다. 데이터의 적절한 선택을 하는데 있어서 알고리즘이 필요한거야.
퀵소트를 외우는건 중요X . 매커니즘의 이해가 중요해. 특정 트리가 왜 어떨 때 사용이 되는가가 중요해.
대응책이 얼마나 유의미한지에 대한 설득이 중요해. 퀄리티로 갈 수 있냐가 중요한데, 접근 자체는 재밌게 볼 수 있다. 다만 퀄리티가 중요해.
무조건 후자가 좋아. 원리파악을 하는 수준으로 해봐.
그 상황이 발생한다면 어떻게 할까? 이걸 많이 드러내는 사람한테 좋아.
그래서 다양한 기술을 마음껏 쓰는 프로젝트와, 깊이 있는 프로젝트 두개를 하는게 좋아.
느린 상황을 주는게 좋아. 강제로 지연을 발생하게 하는 기능을 넣어도 좋고, 서버가 느린 응답일때 빠르게 개선하는것.
복잡한 화면을 구현할때 어떤 기준으로 컴포넌트나, 재사용가능하게 코드 관리를 하느냐가 기술이슈는 아니지만 관심있게 볼 수 있어.