소프트웨어 기술 블로그

React, JavaScript 및 기술에 대한 지식 기사 페이지인 소프트웨어 기술 블로그에 오신 것을 환영합니다. monorepo에 대한 기술, zustand에 대한 상태 관리 팁을 찾고 있거나 프런트엔드 개발에 대한 이해를 높이고 싶다면 여기에 풍부한 리소스가 있습니다. 각 기사는 모든 사람이 필요한 정보를 빠르게 찾을 수 있도록 명확하고 이해하기 쉬운 콘텐츠를 제공하기 위해 신중하게 작성되었습니다. 기본 개념부터 고급 기술까지, 초보자부터 고급 플레이어까지 누구나 즐길 수 있는 콘텐츠가 있습니다.그래픽 콘텐츠에 관심이 있으시면 저희에게 문의해 주세요. 인스 타 그램.

Cursor AI: 초보자부터 전문 엔지니어까지 모두에게 적합한 AI 편집기입니다.

프로그램을 작성하는 과정은 다양한 수준의 사람들에게 다양한 과제를 제시합니다. 예를 들면 다음과 같습니다.
초보자는 문법에 얽매일 수도 있고, 간단한 실수를 찾는 데 많은 시간을 할애할 수도 있으며, 시작하는 방법조차 모를 수도 있습니다.
엔지니어가 추구하는 것은 효율적인 개발, 반복 작업 감소, 진행 속도를 늦추는 사소한 오류 방지입니다.
제품 디자이너와 제품 관리자는 아이디어를 신속하게 검증하기를 원하지만 프로그래밍 구문은 그들에게 더 높은 기준점입니다.
기존 코드 편집기에는 이미 특정 기능이 있지만 이러한 문제에도 불구하고 여전히 개선의 여지가 많습니다. AI와 결합된 코드 편집기인 Cursor는 이러한 문제점을 해결하여 프로그래밍을 보다 효율적이고 직관적이며 배우기 쉽게 만들기 위해 탄생했습니다.
이 기사에서는 Cursor의 개발 동기, 사용 방법, 다른 편집기와의 비교, 한계 및 최상의 사용 시나리오, 그리고 향후 AI 편집기의 개발 동향을 읽어보겠습니다.

더 읽어보세요"

[리트코드] 0057. 삽입 간격

Intervals[i] = [starti, endi]가 i번째 간격의 시작과 끝을 나타내고 간격이 starti를 기준으로 오름차순으로 정렬되는 중첩되지 않는 간격의 배열이 제공됩니다. 간격 newInterval =도 제공됩니다. [start, end]는 다른 간격의 시작과 끝을 나타냅니다.

간격이 여전히 starti에 의해 오름차순으로 정렬되고 간격에 겹치는 간격이 없도록 간격에 newInterval을 삽입합니다(필요한 경우 겹치는 간격 병합).

삽입 후 반환 간격입니다.

내부에서 간격을 수정할 필요는 없습니다. 새 배열을 만들어 반환할 수 있습니다.

더 읽어보세요"

[Leetcode] 0261. 그래프 유효 트리

0부터 n – 1까지 레이블이 지정된 n개 노드의 그래프가 있습니다. 정수 n이 주어지고 edge[i] = [ai, bi]는 노드 ai와 bi 사이에 방향이 지정되지 않은 간선이 있음을 나타내는 간선 목록이 있습니다. 그래프.

주어진 그래프의 간선이 유효한 트리를 구성하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

더 읽어보세요"

[리트코드] 0269. 외계인 사전

영어 알파벳을 사용하는 새로운 외계 언어가 있습니다. 그러나 글자의 순서는 당신에게 알려져 있지 않습니다.

외계어 사전에서 문자열 단어 목록이 제공됩니다. 이제 단어의 문자열은 이 새로운 언어의 규칙에 따라 사전순으로 정렬된다고 주장됩니다.

이 주장이 올바르지 않고 주어진 단어 문자열 배열이 문자 순서와 일치할 수 없는 경우 ""를 반환합니다.

그렇지 않으면 새 언어의 규칙에 따라 사전순으로 정렬된 새 외계 언어의 고유 문자 문자열을 반환합니다. 솔루션이 여러 개인 경우 그 중 하나를 반환합니다.

더 읽어보세요"

[리트코드] 0305. 섬수II

mx n 크기의 빈 2D 이진 그리드 그리드가 제공됩니다. 그리드는 0이 물을 나타내고 1이 땅을 나타내는 지도를 나타냅니다. 처음에는 그리드의 모든 셀이 물 셀입니다(즉, 모든 셀이 0입니다).

위치에 있는 물을 육지로 바꾸는 추가 토지 작업을 수행할 수 있습니다. 여기서 position[i] = [ri, ci]는 i번째 작업을 수행해야 하는 위치(ri, ci)입니다. .

답변[i]가 셀(ri, ci)을 토지로 변환한 후의 섬 수인 정수 응답 배열을 반환합니다.

섬은 물로 둘러싸여 있으며 인접한 토지를 수평 또는 수직으로 연결하여 형성됩니다. 그리드의 네 모서리가 모두 물로 둘러싸여 있다고 가정할 수 있습니다.

더 읽어보세요"

[리트코드] 0200. 섬 수

'1'(땅)과 '0'(물)의 지도를 나타내는 mxn 2D 이진 그리드 그리드가 주어지면 섬의 수를 반환합니다.

섬은 물로 둘러싸여 있으며 인접한 토지를 수평 또는 수직으로 연결하여 형성됩니다. 그리드의 네 모서리가 모두 물로 둘러싸여 있다고 가정할 수 있습니다.

더 읽어보세요"

[Leetcode] 0417. 태평양 대서양 수류

태평양과 대서양 모두에 접해 있는 mxn 직사각형 섬이 있습니다. 태평양은 섬의 왼쪽과 위쪽 가장자리에 닿고, 대서양은 섬의 오른쪽과 아래쪽 가장자리에 닿습니다.

섬은 정사각형 셀의 격자로 분할됩니다. 높이[r][c]는 좌표(r, c)에서 셀의 해발 높이를 나타내는 mxn 정수 행렬 높이가 제공됩니다.

섬에는 비가 많이 내리는데, 이웃 셀의 높이가 현재 셀의 높이보다 작거나 같으면 빗물은 바로 북쪽, 남쪽, 동쪽, 서쪽으로 이웃 셀로 흐를 수 있습니다. 바다 속 바다.

그리드 좌표 결과의 2D 목록을 반환합니다. 여기서 result[i] = [ri, ci]는 빗물이 셀 (ri, ci)에서 태평양과 대서양 모두로 흐를 수 있음을 나타냅니다.

더 읽어보세요"

[리트코드] 0213. 집도둑 ii

당신은 거리의 집을 털려는 전문 강도입니다. 각 집에는 일정 금액의 돈이 숨겨져 있습니다. 이 곳의 모든 집은 첫 번째 집이 마지막 집의 이웃이라는 것을 의미합니다. 집에는 보안 시스템이 연결되어 있으며, 같은 밤에 인접한 두 집에 침입하면 자동으로 경찰에 신고됩니다.

각 집의 돈 금액을 나타내는 정수 배열 숫자가 주어지면, 오늘 밤 경찰에 신고하지 않고 도둑질할 수 있는 최대 돈 금액을 반환하십시오.

더 읽어보세요"

[LeetCode] 0140. 워드 브레이크 ii

문자열 s와 문자열 wordDict 사전이 주어지면 s에 공백을 추가하여 각 단어가 유효한 사전 단어인 문장을 구성합니다. 가능한 모든 문장을 순서에 관계없이 반환합니다.

사전에 있는 동일한 단어가 분할 시 여러 번 재사용될 수 있다는 점에 유의하세요.

더 읽어보세요"

[LeetCode] 0139. 단어 끊김 문제

문자열 s와 문자열 wordDict 사전이 주어지면 s가 공백으로 구분된 하나 이상의 사전 단어 시퀀스로 분할될 수 있으면 true를 반환합니다.

사전에 있는 동일한 단어가 분할 시 여러 번 재사용될 수 있습니다.

더 읽어보세요"

[LeetCode] 0322. 코인체인지

다양한 액면가의 동전을 나타내는 정수 배열 동전과 총 금액을 나타내는 정수 금액이 제공됩니다.

해당 금액을 구성하는 데 필요한 최소 개수의 동전을 반환합니다. 해당 금액을 동전 조합으로 채울 수 없는 경우 -1을 반환합니다.

당신은 각 종류의 동전이 무한히 많다고 가정할 수 있습니다.

더 읽어보세요"

[LeetCode] 0207. 강좌일정

수강해야 하는 총 numCourses 강좌가 있으며 0에서 numCourses - 1까지 레이블이 지정됩니다. prerequisites[i] = [ai, bi]는 수강하려는 경우 bi 강좌를 먼저 수강해야 함을 나타내는 배열 전제 조건이 제공됩니다. 물론이지.

예를 들어, [0, 1] 쌍은 코스 0을 수강하려면 먼저 코스 1을 수강해야 함을 나타냅니다.
모든 과정을 완료할 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

더 읽어보세요"

[LeetCode] 0133. 그래프 복제

연결된 무방향 그래프의 노드에 대한 참조가 제공됩니다.

그래프의 전체 복사본(클론)을 반환합니다.

그래프의 각 노드에는 이웃 노드의 값(int)과 목록(List[Node])이 포함되어 있습니다.

더 읽어보세요"

[LeetCode] 0062. 고유 경로

mxn 그리드에 로봇이 있습니다. 로봇은 처음에 왼쪽 상단 모서리(즉, 그리드[0][0])에 있습니다. 로봇은 오른쪽 하단 모서리(즉, 그리드[m – 1][n – 1]) 로봇은 언제든지 아래 또는 오른쪽으로만 이동할 수 있습니다.

두 개의 정수 m과 n이 주어지면 로봇이 오른쪽 하단 모서리에 도달하기 위해 취할 수 있는 가능한 고유 경로의 수를 반환합니다.

테스트 케이스는 답이 2 * 109보다 작거나 같도록 생성됩니다.

더 읽어보세요"

[LeetCode] 0091. 디코드 방법

AZ의 문자가 포함된 메시지는 다음 매핑을 사용하여 숫자로 인코딩될 수 있습니다.

'A' -> "1"
'B' -> "2"

'Z' -> "26"
인코딩된 메시지를 디코딩하려면 모든 숫자를 그룹화한 다음 위의 매핑과 반대로 문자로 다시 매핑해야 합니다(여러 가지 방법이 있을 수 있음). 예를 들어 "11106"은 다음과 같이 매핑될 수 있습니다.

그룹화(1 1 10 6)가 포함된 "AAJF"
그룹화(11 10 6)가 포함된 “KJF”
"6"은 "06"과 다르기 때문에 "06"은 'F'에 매핑될 수 없으므로 그룹화(1 11 06)는 유효하지 않습니다.

숫자만 포함된 문자열 s가 주어지면 이를 디코딩하는 방법의 수를 반환합니다.

테스트 케이스는 답변이 32비트 정수에 맞도록 생성됩니다.

더 읽어보세요"

[LeetCode] 0198. 집도둑

당신은 거리에 있는 집을 털려는 전문 강도입니다. 각 집에는 일정 금액의 돈이 숨겨져 있으며, 각각의 집을 털지 못하게 하는 유일한 제약은 인접한 집에 보안 시스템이 연결되어 있고 두 집이 있으면 자동으로 경찰에 연락한다는 것입니다. 같은 날 밤에 인접한 집들이 무너졌습니다.

각 집의 돈 금액을 나타내는 정수 배열 숫자가 주어지면, 오늘 밤 경찰에 신고하지 않고 도둑질할 수 있는 최대 돈 금액을 반환하십시오.

더 읽어보세요"