전체 글282 JS, 프로그래머스 - 나머지 한 점 다양한 문제를 풀어보자!! 다각도로 문제를 보자!! https://school.programmers.co.kr/learn/courses/18/lessons/1878 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제는직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. function solution(v) { let result = [] for(let i=0; i 처음에는 조건문을 이용해서 하드코딩하였는데 이렇게 코드를 작성했을 경우 문제가 복잡해지면 조건문도 많아지고 예외사항이 많아지기 때.. 2024. 5. 5. JS, StructuredClone() 객체를 복사하려고 한다면 깊은 복사와 얕은 복사라는 개념을 알아야 함JS에서 데이터는 두가지 주요 유형으로 나눌 수 있음. 바로 원시값과 참조값임 원시값은 변수에 할당될 때 해당 변수에 직접 값이 저장됨참조값은 객체로 새로운 변수에 원본 객체에 주소가 복사되어 두 변수가 같은 객체를 가리키게 됨따라서 원본 객체를 변경하면 복사본도 영향을 받게 되는 것. 이것을 얕은 복사라고 함복사본의 영향이 가지 않도록 만들기 위해 객체의 내용을 완전히 새로운 메모리에 저장하는 것을 깊은 복사라고 함이렇게 깊은 복사로 복사된 객체는 원본 객체와는 별개의 독립적인 객체로 원본 객체의 영향을 끼치지 않음 객체를 복사할때 단순히 전개연산자(spread operator)를 사용하여 복사해 원본객체의 영향을 끼치지 않도록 복사할.. 2024. 4. 26. JS, 프로그래머스 - K번째수 문제를 한 번으로 푸는 것으로 끝나는 것이 아닌 좀 더 나은 코드로 바꿔보자는 마음으로 하루 한 개씩 꾸준히 풀고 있는 코테문제. 가독성에 대해 느낀 점이 생겨 갱신!! https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제는 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 로 푸는것은 금방 풂 배열을 리턴하는 문제로 map을 사용하고 JS에 내장되어 있는 함수를 이용하여 메서드 체이닝으로.. 2024. 4. 24. 애자일(Agile) 방법론과 TDD & Scrum [ 애자일(Agile) 방법론 ] 소프트웨어 개발 방식의 하나로, 작업 계획을 짧은 단위로 세우고 제품을 만들고 고쳐 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고 신속하게 대응하는 개발 방법론쉽게 말하면, 일정한 주기를 가지고 빠르게 제품을 출시하여 고객의 요구사항, 변화된 환경에 맞게 요구를 더하고 수정해나가는 탄력적인 방법론 Agile는 기민한, 날렵한이라는 뜻으로 좋은 것을 빠르게 취하고 유연하고 효율적으로 개발할 수 있도록 만드는 다양한 방법론을 통칭해 일컫는 말임애자일 프레임 워크애자일 방법론을 따르는 개발 기법ex) Scrum, kanban, XP(eXtreme Programming) 등등 애자일은 어떠한 규정이나 툴이 아니며 개발 업무는 어떤 방식으로 진행되는 것이 좋은지에 대한.. 2024. 4. 12. DX UX(User Experience)는 고객이 이용하는 서비스에 대한 사용자 경험의 만족도를 의미함UX 개선 작업을 통해 고객들의 서비스 만족도를 개선하고 이는 곧 더 많은 사용자 유입으로 이어지며 나아가 해당 비즈니스의 수익 증진으로 이어지게 됨 DX는 이러한 UX에서 U(User)를 D(Developer)를 대입한것으로 개발자들이 본인의 업무 환경에서 서비스를 개발하며 느끼는 경험의 만족도이며, 이를 개선하는 작업을 통해 팀과 프로젝트에 지속적으로 긍정적인 영향을 미치는 것을 말함 SW 개발은 결국 사람(개발자)들의 지적 활동이기 때문에 사람들이 어떤 생각을 가지고 일하고 있으며 동기를 부여하고 더 나은 참여도를 이끌어내는 것이 중요함 심리학의 관점에 따라 개발자 경험(DX)을 세가지 분류로 나눌 수 .. 2024. 4. 3. JS, isNaN(), Number.isNaN() [ isNaN() ]매개변수가 숫자인지 검사하는 함수. NaN은 Not a Number을 뜻함주어진 값이 숫자이면 true, 아니면 false 반환isNaN() 메서드는 매개변수를 강제로 Number()로 바꾸는 문제점이 있음 기본적으로 NaN은 원시타입인 숫자타입의 값으로 number type으로 분류되어있음또한 NaN은 자신과 일치하지 않는 유일한 값임 isNaN(NaN); // 참isNaN(undefined); // 참isNaN({}); // 참isNaN(true); // 거짓isNaN(null); // 거짓isNaN(37); // 거짓// 자신비교NaN === NaN; // falsevar nan = NaN;nan === nan; // falseNaN == NaN; // falsenan == na.. 2024. 3. 29. JS, 프로그래머스 - 수박수박수박수박수박수? 여러 다른 방법으로 코테를 풀고 있는데 여러가지 방법으로 문제를 풀어보자라는 취지로 글을 쓰게 됨원래 코테는 블로그을 안썼는데(코테에 필요한 정보만 업로드) 까먹게 되고 정리가 필요하겠다는 생각이 들어 갱신!! https://school.programmers.co.kr/learn/courses/30/lessons/12922 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제는 간단하게 "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하고 홀수일 경우 "수"로 짝수일경우 "박"으로 끝나게 하는 것이 핵심 처음에는 반복문을 이용하여 간단하게 문제.. 2024. 3. 27. MSA(마이크로서비스 아키텍처) [ MSA(마이크로서비스 아키텍처) ]MSA는 여러 개의 작은 서비스로 구성되어 각 서비스가 독립적으로 개발되고 배포되는 구조즉 하나의 큰 어플리케이션을 여러개의 작은 어플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍쳐 ▶ MSA의 등장배경Monolithic Architecture는 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어있는 형태 아직까지는 많은 소프트웨어가 Monolithic 형태로 구현되어 있음소규모 프로젝트에는 Monolithic Architecture가 훨씬 합리적임 간단한 Architecture이고, 유지보수가 용이하기 때문하지만 규모가 커지게 되면Monolithic Architecture 단점이 명확함서비스/프로젝트가 커지면 커질수록, 영향도 파악 및 전체 시스템 구조의.. 2024. 3. 23. 메모리 관리 [ 메모리 관리 ] 각각의 프로세스는 독립된 메모리 공간을 갖고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있음. 단지, 운영체제 만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않기 때문에 운영체제에서 메모리를 관함. 또한, 멀티프로그래밍 환경으로 변화하면서 한정된 메모리를 효율적으로 사용해야 했고, 운영체제가 이를 어떻게 관리하는지에 대한 관리방법이 중요해짐 즉, 어떤 프로그램이든 프로세스가 되어 프로세서에 적재되기 위해서는 메모리에 적재되어야 실행이 가능함따라서 메모리는 중요한 작업 공간이고 한정된 메모리를 다중 프로그래밍 환경에서 이용하기 위해서는 여러 프로세스가 함께 메모리를 사용하므로 효율적인 관리를 해야함 이러한 메모리 관리를 위해 메모리.. 2024. 3. 10. 이전 1 2 3 4 5 6 7 ··· 32 다음