본문 바로가기

분류 전체보기145

[TIL] IT 5분 잡학사전 챌린지 2일차 에피소드6 ~ 에피소드10 오늘 읽은 범위 06. 왜 나만 오류가 자주 생길까? 07. 파이썬은 왜 이렇게 인기가 많을까? 08. 파이썬이 C언어보다 느린 이유는? 09. 자바스크립트는 웹 개발에만 쓰이는 언어일까? 10. 코틀린은 정말로 자바와 100% 호환될까? 책에서 기억하고 싶은 내용 프로그래밍 초보자가 하기 쉬운 실수 -> (강의나 이론 공부만 하고) 코딩 안하기 2가지 방법으로 번역되는 프로그래밍 언어 1. 동시 번역처럼 해석하는 인터프리터 언어 2. 한번에 해석하는 컴파일 언어 코틀린은 자바와 100% 호환이 된다. 코틀린의 장점은 2가지, null에서 안전하다, 코루틴을 지원한다. 오늘 읽은 소감? 나는 아직도 프로그래밍 뉴비인가보다, 실제로 코딩을 치는 시간보다 이론을 공부하고 강의를 듣는 시간이 훨씬 길다. 하루.. 2024. 3. 17.
[TIL] IT 5분 잡학사전 1일차 에피소드1 ~ 에피소드5 오늘 읽은 범위 1. 개발자에 대한 오해 5가지! 2. 어떤 언어부터 공부해야할까? 3. 새 언어를 쉽게 배우는 노하우? 4. 언어 이름은 왜 그렇게 지었을까? 5. C, C++, C#은 이름처럼 비슷할까? 책에서 기억하고 싶은 내용 - 좋은 개발자는 개발과정을 잘 이해해야한다! 개발에서는 재능이 아니라 포기하지 않음이 더 중요하다! - 새 언어를 배우는 6가지 방법. 방법1: 공식 문서 확인. 언어의 철학, 누가 해당 언어를 사용해야 하는지, 올바르게 사용한 예시를 확인 방법2: 문법 확인. 방법3: 다른 언어와 비슷한 특징을 정리하기 방법4: 새 언어로 코딩 시작하기. 공식 문서를 그만 읽고 이제는 직접 코드를 만들때! 마치 새로운 수학 개념을 알고 연습문제를 푸는 과정! 방법5: 튜토리얼 시작하기... 2024. 3. 16.
노마드 코더 - 노개북 챌린지 2024. 3. 15.
[HTML/CSS/Javascript] no-more-algorithm 회고 이번에는 아주아주아주아주아주아주아주아주아주 간단한 프로젝트를 해보았다. 이건 별로 뭐 어디다 말하기도 부끄러운 그런 프로젝트이지만 매우 개인적인 이유로 시작한 토이 프로젝트이다. 나는 쉴때 유튜브를 많이 본다. 그렇기에 다양한 영상 시청 덕분에 알고리즘은 아주 재미있는 영상들을 추천영상으로 띄워주고는 한다. 그런데 코딩을 하기 위해 유튜브를 볼때 유튜브의 추천 영상은 너무나도 짜증이난다. 막 이 영상을 보라고 유혹하는 듯하다. 이외에도 단순히 내가 얻고자 하는 지식이외에도 영상에 집중하지 못하게 하는 요소들이 너무 많다라고 생각했다. 그래서 코딩 공부를 할때는 영상에만 집중할 수 있고 이외의 부차적인 정보들을 닫을 수 있는 기능의 extension을 제작해봐야겠다 라고 생각했다. 일단 크롬 익스텐션을 만.. 2024. 3. 15.
useEffect의존성에 ref사용해서 발생하는 문제 (feat. useCallback, useMemo) 저번 프로젝트에 무한 스크롤을 구현하면서 마주친 문제가 있었다. 바로 useRef와 useEffect를 사용하면서 발생한 문제였다. 1. 발단 무한 스크롤 기능을 구현하기 위해서는 트리거가 되는 DOM을 가져와야 한다. 즉 바닐라JS에서 document.querySelector()와 같은 메소드로 무한 스크롤을 하게 하는 트리거가 필요했다. (예, 보여지는 영화리스트중 마지막 영화가 사용자 window화면에 보이면 무한 스크롤을 통해 다음 영화들을 로드하기 위해서 마지막 영화에 트리거를 놓는 것) 구글링을 통해서 useRef을 사용하면 JSX의 DOM을 가져올 수 있다고 하여 그것만 보고 과감하게 useRef()를 사용하였다. 당시 작성했던 주요 코드를 보면 아래와 같음 const imageRef = u.. 2024. 3. 14.
[2020 카카오 신입 공채] 자물쇠와 열쇠 1. 문제 고고학자인 "튜브"는 고대 유적지에서 보물과 유적이 가득할 것으로 추정되는 비밀의 문을 발견하였습니다. 그런데 문을 열려고 살펴보니 특이한 형태의 자물쇠로 잠겨 있었고 문 앞에는 특이한 형태의 열쇠와 함께 자물쇠를 푸는 방법에 대해 다음과 같이 설명해 주는 종이가 발견되었습니다. 잠겨있는 자물쇠는 격자 한 칸의 크기가 1 x 1인 N x N 크기의 정사각 격자 형태이고 특이한 모양의 열쇠는 M x M 크기인 정사각 격자 형태로 되어 있습니다. 자물쇠에는 홈이 파여 있고 열쇠 또한 홈과 돌기 부분이 있습니다. 열쇠는 회전과 이동이 가능하며 열쇠의 돌기 부분을 자물쇠의 홈 부분에 딱 맞게 채우면 자물쇠가 열리게 되는 구조입니다. 자물쇠 영역을 벗어난 부분에 있는 열쇠의 홈과 돌기는 자물쇠를 여는 .. 2024. 3. 12.
[2020 카카오 신입 공채] 문자열 압축 https://school.programmers.co.kr/learn/courses/30/lessons/60057 1. 문제 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 "aabbaccc"의 경우 "2a2ba3c"(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, "abcabcdede".. 2024. 3. 11.
useEffect썼는데 왜 두번 실행되요? useEffect야 한번만 실행한다면서...두번 실행이 된다. 왜 그런가? index.js의 이다. 이 친구가 디버깅을 하면서 한번더 렌더하는건가 보다. 해결법은 해당 태그를 삭제하면 된다.... 2024. 3. 9.
프로젝트 방향성, 결과물 쌓기 방식 변경 프론트엔드 공부를 해오면서 포트폴리오 즉 프로젝트를 완성시키는 데에 내 나름대로의 기준은 하나를 배우면, 그것에 바탕으로 규모에 상관없이 프로젝트를 완성하고 또 새로운 걸 배우고 프로젝트를 하고의 반복이었다. 그래서 지금까지 html,css배우고 프로젝트, js, ES6배우고 프로젝트, reactJS배우고 프로젝트 이런걸 반복하고 있었는데 사실 토이 프로젝트의 규모는 계속 반복하고 있었는데 지금 만들고 있는 퀴즈 사이트는 css와 js실력 향상을 목표로 처음부터 끝까지 바닐라js로만 구현을 하려고 했는데 그렇게해서 얻는 이득이 적다고 생각이 들었다. reactJS, typescript, expressJS, nextJS, redux다 자격요건에서 요구하는 스택들이고 이 스택들은 하나하나 순차적으로 진화해온.. 2024. 3. 5.