728x90

전체 글 118

[React] MobX

저번 React Query에 이어서 Mobx를 가져와봤다. 솔직히 상태관리 도구 하나만 해도 써야할 얘기가 수두룩 빽빽한데 굳이 여러 개를 다 써두는 이유는, 다 써봐서 그렇다. 학원 수료하고 개발자가 커리어 시작하면 React할거라고 생각도 안했는데, 대뜸 첫회사에서 우리는 MSA로 React 개발한다. 이렇게 말을 할 줄은 나도 몰랐지. 거기다 하필 처음한 프로젝트가 Redux로 만들어진 Legacy 추가기능 개발, 그 다음 프로젝트가 React Query로 전환하는 첫 마루타일줄은 난 몰랐지. 그래서 진짜 초단기로 상태관리 툴 3개를 써버렸는데, 솔직히 하나만 주구장창 써온 나보다 더 경력 있으신 분들 생각하면 난 개똥이겠지만 그래도 괜찮다. 다양하게 얕게 아는거도 일단 당장 내가 할 수 있는 최선..

Dev/React.js 2023.05.30

[원리] 실수 표현 원리

JS 관련 밈을 보면 JS가 어처구니 없는 결과 값을 보여주는 순간들이 있어서 웃긴 것들이 꽤 있는데, 그 중에 1.1+1.2 == 2.3 이 false라는 것도 심심찮게 보이곤 한다. 그걸 보다가 왜 저런 결과가 나오는건지 궁금해져서 조금 찾아보게 됐는데, 이는 비단 JS 만의 문제가 아니라 float, double 형을 쓰는 모든 언어들이 같은 문제를 겪는다고 볼 수 있다. 오늘은 이 이야기를 해보고자 한다. 컴퓨터는 기본적으로 이진법 즉, 0과 1로 모든 말을 알아듣는다. 당연히 실수를 저장할 때도 10진수로 표현된 수를 이진법으로 변환해서 저장을 할텐데, 이 때 소수점 아래 내용을 저장하는 방식이 여러가지로 쓰인다. 여기서는 일단 float, double형에서 사용하게 되는 부동소수점 방식을 다룰..

Dev/JavaScript 2023.05.30

[잡담] 블로그를 써야 하는 이유

오늘은 왜 개발자가 블로그를 써야하는가? 라는 주제로 이야기를 해볼까 한다. 최근에 내 입사동기도 같이 쓰기 시작해서 둘이 서로 블로그 구독해두고 신나게 재밌게 쓰고 있는데, 쓰다보니 이거도 주제도 괜찮다 싶기도 한데다가 많은 신입 개발자들이 개발을 하기 시작하면 주변에서 공부하는걸 얘기하면서 기술 블로그를 써보라는 말을 많이 듣는데, 나도 그런 얘기를 들었었고, 쓰다보니 이거 쓰면 좋다. 라는 생각이 들어서 작성해본다. 솔직히 결론부터 말하면 안써도 되긴 함. 근데 이직하고 싶다는 생각이 있으면 제발 좀 써라. (쓰란 뜻임.) 이유 1. 공부를 하게 된다. 블로그를 작성하려면 내가 뭐 얕게라도 좀 알아야 글이 써진다. 내 블로그만 봐도 솔직히 틀린 내용 진짜 많을 것 같고, 내 뇌피셜로 써제끼는 것도 ..

[React] React Query

기본적인 상태관리에 이어서 상태관리 라이브러리에 대해서 이야기를 시작해보고자 한다. 상태관리 라이브러리라고 하면 React Query를 제외하고라도 상당히 종류가 많은데, 굳이 React Query로 상태관리 라이브러리에 대한 이야기를 시작하는 이유는 그냥 내가 가장 최근에 썼기 때문이다. 나는 다른 분들이 써둔 글처럼 공식 Doc에 근거하기 보다는 일단 내가 이해한 방식대로 정리를 할 예정인데 아마 무조건 틀릴거긴하다. 그래도 일단 기록은 남겨야지 이런 삽질을 했다~ 라는 느낌으로 다가. 1. React Query란? 캐싱 기반의 상태관리를 해주는 라이브러리다. (캐싱 이해 잘해야한다.) useQuery라는 hook을 통해서 querykey라는 고유값의 이름을 가진 글로벌 상태를 만들어두고, query..

Dev/React.js 2023.05.24

[JavaScript] parseInt()

코테 문제 풀다가 parseInt()의 제대로 된 사용법을 알게 돼서 작성한다. 일반적으로 parseInt()는 Number()와 같이 string 타입을 number 타입으로 변환시키는데 주로 사용하게 되는데, 이게 원래 용도가 진수 변환으로 쓰인다는 건 알았지만, 두번째 파라미터가 있다는 사실을 몰랐다. 그냥 당연히 10진법으로 가는건줄.. parseInt의 두번째로는 첫번째 파라미터로 넣은 인자의 진수를 써줄 수 있는데,parseInt(010101010101, 2) 이렇게 써주면 2진수를 10진수로 바꿔준다는 의미다. 문법 공부 착실히 좀 해야겠다. 다 안다고 생각했는데 생각보다 모름..

Dev/JavaScript 2023.05.23

[코딩테스트] 최대공약수와 최소공배수

저번에도 똑같은 게시물을 쓴것 같은데 그때는 솔직히 대충 보고 넘어갔던거라, 이번에 제대로 이해하고 정리해두려고 글을 남긴다. 사실 제일 간단한 방법은 최대공약수를 구하려면 그냥 1부터 주어진 수 중 작은 수까지 있는 애들을 싹 다 나눠보고 나머지가 0인 애들 추린 다음에 그중 제일 큰거 꺼내면 된다. 근데 이렇게 하면 코드도 길어지고, 오류가 꽤 생긴다. 1은 무조건 나눠떨어지니 1이 계속 추가 된다던가 하는 문제가 생기는데, 그거 극복하려면 유클리드 호제법이라고 불리는걸로 계산 하는게 속편하다. 유클리드 호제법 작은 수를 큰 수로 나눠서 나머지가 0이 아니면 그 나머지로 큰 수를 나눈다. 이 과정을 반복하다가 나머지가 0이 되었을 때 큰 수가 최대공약수다. 말로 써두니까 상당히 복잡한 느낌이 드는데 ..

Dev/Algorithm 2023.05.23

[코딩테스트] 옹알이

내가 너무 어렵게 생각하나보다. 그냥 심플하게 풀수 있는 문제도 괜히 꼬다가 문제 못품. 과하게 생각하지 말아야겠다... 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능..

Dev/Algorithm 2023.05.22

[코딩테스트] 평행

실마리는 찾아도 풀지 못하는 나레기.. 평행이면 선들의 기울기가 같을 경우라는거 까진 생각했는데, 1시간 내내 코드로 어캐 만들어낼지가 감이 안잡혀서 그냥 답봤다ㅠ 언젠가는 답 술술 나오면 좋겠다.. 제발.. 문제 설명 점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다. [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요. 제한사항 dots의 길이 = 4 dots의 원소는 [x, y] 형태이며 x, y는 정수입니다. 0 ≤ x, y ≤ 100 서로 다른 두개 이상의 점이 겹치는 경우는 없습니다. 두 ..

Dev/Algorithm 2023.05.22

[코딩테스트] 겹치는 선분의 길이

정답률 내려가니까 그냥 맛이 갔다. 내 뇌에서 처리가 안된다. 솔루션 찾는 방향 자체가 떠오르지가 않는데 이거 진짜 어떻게 해야하지? 풀이 찾아보니까 배열에 선분 길이만큼 인덱스마다 1씩 더해주고 이게 2이상인 부분들 갯수 구하면 된다고 써둔걸 보니까 바로 아.. 그러네... 응용이 안된다 나는.. 라는 허탈함이 몰려와버린다. 주륵.. 문제 설명 선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요. lines가 [[0, 2], [-3, -1], [-2, ..

Dev/Algorithm 2023.05.22

[정보처리기사] 정보처리기사 따? 말아?

오늘은 정보처리기사 이야기를 할건데, 대부분 개발자를 하겠다고 하는 사람들이라면 딸까? 라며 고민을 할거다. 이미 따기로 마음은 먹었으나 SI 다니면서 일하기도 벅차서 못하는 사람들도 있을거고.. 그래서 이거 진짜 뭔 시험인지 왜 따는지 꼭 필요한지 한번 얘기해보기로 했다. 1. 정보처리기사란? 한국산업인력공단에서 주관하는 국가기술자격이다. 소프트웨어 개발에 대한 지식을 평가하는 건데, 대부분 개발 관심 없는 사람들은 이 사실을 모른다. 분명 전공 제한이 없기 때문에 비전공자도 칠 수 있을만한 시험이라고 했는데 준비하겠다고 책 펼쳐보면 어이가 없다. 생전 처음 들어보는 내용이 잔뜩 있기 때문이다. 뭐 소프트웨어 개발 방법론, OS, BigO, ManMonth, DB, SQL, Java, C, Python..

728x90