본문 바로가기

전체 글149

[Algorithm]프로그래머스 - 바탕화면 정리(Javascript) 코딩테스트를 준비하는 머쓱이는 프로그래머스에서 문제를 풀고 나중에 다시 코드를 보면서 공부하려고 작성한 코드를 컴퓨터 바탕화면에 아무 위치에나 저장해 둡니다. 저장한 코드가 많아지면서 머쓱이는 본인의 컴퓨터 바탕화면이 너무 지저분하다고 생각했습니다. 프로그래머스에서 작성했던 코드는 그 문제에 가서 다시 볼 수 있기 때문에 저장해 둔 파일들을 전부 삭제하기로 했습니다.컴퓨터 바탕화면은 각 칸이 정사각형인 격자판입니다. 이때 컴퓨터 바탕화면의 상태를 나타낸 문자열 배열 wallpaper가 주어집니다. 파일들은 바탕화면의 격자칸에 위치하고 바탕화면의 격자점들은 바탕화면의 가장 왼쪽 위를 (0, 0)으로 시작해 (세로 좌표, 가로 좌표)로 표현합니다. 빈칸은 ".", 파일이 있는 칸은 "#"의 값을 가집니다. .. 2024. 9. 12.
[Algorithm]프로그래머스 - 대충 만든 자판(Javascript) 휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다.예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다.같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 할당된 경우도 있습니다. 심지어 아예.. 2024. 9. 11.
[Pattern]React Query 동작원리 및 Observer 패턴과 Pub-Sub Pattern 1.React Query 동작원리2. Observer 패턴3. Pub-Sub 패턴 2024. 9. 11.
[Javascript]Synchronous Processing(동기) 와 Asynchronous(비동기)에 관하여 1.Synchronous Processing 동기요청을 보내고, 응답이 올 때까지 대기한 후 응답이 오면 작업 진행일의 순서가 중요한 경우 동기 처리를 진행하면 된다.처리 순서가 보장되지만, 다음 응답이 오기까지 다른 작업을 수행할 수 없기에 비효율적일 수 있다.    console.log("첫 번째");  for (let i = 0; i 1000000000; i++) {    // 무거운 작업  }    console.log("두 번째");2. Asynchronous Processing 비동기 요청을 보내고, 응답을 기다리지 않고 다음 작업을 계속 해서 진행일의 순서가 중요하지 않을 경우 효율적인 작업의 처리를 위하여 활용할 수 있다.   function sendTextMessage(message, .. 2024. 9. 5.
[CS Knowledge] 협업에 관하여.. 좋은 코드 리뷰, 좋은 PR, 좋은 PR Review... 코딩 컨벤션 참조하기 좋은 사이트https://ui.toast.com/fe-guide/ko_CODING-CONVENTION 코딩컨벤션코딩 컨벤션은 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약이다. 특히 자바스크립트는 다른 언어에 비해 유연한 문법구조(동적 타입, this 바인딩, 네이티브 객체 조작 가ui.toast.com 전 게시물에서도 언급을 했지만 개발자로써의 협업의 목표는 1. 안전한 개발2. 개발 생산성 증대좋은 협업 프로세스가 갖춰진 집단이나 조직은 -> 안정성과 생산성을 증대시킨다. 1. 코딩 스탠다드 정하기 5가지 원칙1. 실수하지 않게끔 예방2. 실수했더라도 최대한 빨리 찾아야함3. 시간을 너무 낭비하지 않기 4. 인간의 평균 지적 수준으로 잘 이해할 수 있는가5... 2024. 8. 30.
[CS Knowledge] Clean code 클린코드 정리 1. 개요수많은 회사 , 수많은 사람들 개발 과정에서 좋은 코드 리뷰를 driven하는 방법과 클린 코드는 어떤 것일까?.개발자로써의 협업의 목표는 여러가지가 있을 것이다.1. 안전한 개발2. 개발 생산성 증대 좋은 협업 프로세스가 완성되면 -> 안정성 + 생산성이 증대된다.질서와 규칙이 있기 때문에, 협업 구성원 모두가 conventions와 rules를 지키면서 코드를 작성해야, 남이 보아도 이해가 쉽다. 클린 코드는 그냥 깔끔한 코드, 보기 쉬운 코드라고도 볼 수 있다. 쉽게 요약하자면 그렇다.. 여기서 좀 더 복잡하게 들어가면 , 내가 적은 코드와 변수에 의도를 담고, 그 의도를 남들이 봐도 "아.. 이 개발자는 이렇게 작성했구나 이해는 된다 이렇게 로직 작성했구나" 하는게 보이도록 설계, 납득 .. 2024. 8. 30.