전체 글
-
GitHub Pages + 커스텀 도메인 배포 트러블슈팅 (feat. Vercel 네임서버 충돌)💥Trouble Shooting 2026. 6. 15. 15:06
React + Vite + pnpm 프로젝트를 GitHub Pages에 배포하고 커스텀 도메인을 연결하는 과정에서 겪은 이슈들을 정리합니다.📌 프로젝트 환경React + TypeScript + Vite패키지 매니저: pnpm배포: GitHub Pages (GitHub Actions)도메인: 가비아에서 구매한 커스텀 도메인1. GitHub Pages 배포 설정deploy.yml 작성.github/workflows/deploy.yml 파일을 아래와 같이 작성합니다.name: Deploy static content to Pageson: push: branches: ["main"] workflow_dispatch:permissions: contents: read pages: write id-to..
-
Status code 422 error: Unprocessable Entity💥Trouble Shooting 2025. 10. 27. 22:45
회사에서 담당한 프로젝트를 진행하던 중 마주한 422 에러 !입사 후 처음 보는 에러였고 오늘 꽤 많은 시간을 할애해서 해결하려고 했으나..결국 퇴근시간이 다 되었을 때 쯤 옆자리 선임분이 봐주셔서 결국 해답을 얻었다. 결론은 서버에 요청은 잘 보냈으나, 서버가 원하는 입맛대로 요청을 안 줘서 발생한 에러라는 것. 내 경우에는 필드명, 타입 등 모든 것을 다 잘 갖춰서 요청을 보냈으나여러 가지 필드명 중, 특정 옵션에 따라 아예 해당 필드가 없어야 하는 것도 있었어서 해당 오류가 났던 것 같다. 이렇게 말하면.. 오늘의 나만 기억할 것 같아서 예시를 써보자면, name:age:sex:height:weight:footSize: 대충 데이터 필드가 이렇게 있다고 가정하면 sex의 경우 male, female..
-
[네트워크] 기술면접 스터디 예상 질문 및 답변취업준비/기술면접 스터디 2024. 5. 11. 16:21
1. HTTP 메서드 중 GET과 POST의 차이점은 무엇인가요?→ GET 방식은 클라이언트에서 서버로 어떤 자원을 요청하기 위해 사용하는 메서드이며, POST방식은 클라이언트에서 서버로 자원을 저장하기 위해 데이터를 보낼 때 사용하는 메서드 입니다.GET은 요청 메시지에 body가 없지만, POST는 body에 데이터를 담아 보냅니다. 이러한 GET 요청은 몇번을 요청해도 결과가 똑같지만, POST는 여러 번 요청하면 리소스가 새로 생성되거나 업데이트 되기 때문에 멱등이 아닙니다. 2. HTTP와 HTTPS에 대해 설명하세요.→ HTTP란 인터넷 상에서 클라이언트와 서버가 자원을 주고받을 때 사용하는 통신 규약입니다. HTTP는 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안이슈가 발생할 수..
-
[Data Structure] Tree, BST(Binary Search Tree; 이진 탐색 트리) / Hash Table(해시 테이블), 해시 함수, 해시 충돌과 해결 방법취업준비/기술면접 스터디 2024. 4. 29. 12:47
3. Tree 자료구조에 대해 설명하세요.트리는 계층적 데이터를 나타내는 노드들의 집합입니다. 노드와 간선으로 이루어진 비선형 자료구조로 무방향이면서 사이클이 없는 그래프입니다. 트리의 가장 중요한 속성은 ‘루트노드를 제외한 모든 노드는 단 하나의 부모노드를 갖는다.’는 것입니다. 각 노드가 갖는 자식의 수를 차수(degree)라고 하는데, 이때 모든 노드의 차수가 n이하인 트리를 n진 트리라고 합니다. 만약 모든 노드의 자식이 2개 이하면 이진 트리입니다.3-1. 이진 탐색 트리(BST, Binary Search Tree)의 특징과 시간 복잡도에 대해 설명하세요.이진 탐색 트리는 노드 기반의 이진 트리 자료구조로, 각 노드는 키와 최대 두 개의 자식 노드를 가집니다. 모든 노드는 왼쪽 자식 트리에 있는..
-
[Data Structure] Array, LinkedList / Stack, Queue, Priority Queue(우선순위 큐) / Heap(힙), heapq 모듈취업준비/기술면접 스터디 2024. 4. 29. 12:44
1. Array와 LinkedList에 대해 설명하세요배열 (Array): 배열은 동일한 타입의 요소들을 연속적인 메모리 공간에 저장하는 자료구조입니다. 배열은 고정된 크기를 가지며, 배열의 각 요소는 인덱스를 통해 직접 접근할 수 있습니다. 이러한 특성 때문에 배열에서의 요소 접근(검색)은 매우 빠르게 이루어져 O(1)의 시간복잡도를 가집니다. 그러나 배열은 크기가 고정되어 있어, 배열의 크기를 변경하려면 전체 배열을 새로운 크기의 배열로 복사하는 과정이 필요하며, 이는 비용이 많이 드는 작업입니다. 또한, 배열의 중간에 요소를 삽입하거나 삭제하는 경우, 해당 요소 이후의 모든 요소들을 이동시켜야 하므로 비효율적입니다.연결 리스트 (Linked List): 연결 리스트는 요소들이 메모리상에서 연속적으로..
-
[Python] 백준 1339 단어 수학 - 그리디 알고리즘 / enumerate(), set(), extend(), Counter()Algorithm 2024. 4. 28. 17:56
enumerate(): 파이썬에서 for문을 사용할 때 인덱스와 원소의 값을 같이 얻을 수 있는 내장함수 set(): 파이썬에서 배열(리스트)에서 중복된 원소를 제거하고, 각 원소의 고유값을 얻으려면 set 데이터 타입을 사용할 수 있습니다. set은 중복을 허용하지 않으므로, 리스트를 set으로 변환하면 자동으로 중복된 원소가 제거됩니다. 그 후, 필요에 따라 다시 리스트로 변환할 수 있습니다. extend(): 파이썬의 extend() 메소드는 리스트에 다른 iterable(예: 리스트, 튜플, 집합 등)의 모든 항목을 추가하는 데 사용됩니다. 이 메소드는 원본 리스트를 직접 수정합니다. Counter(): Counter는 Python의 collections 모듈에서 제공하는 특수한 딕셔너리 서..
-
[Data Structure] Array vs LinkedList취업준비/기술면접 스터디 2024. 4. 23. 19:47
배열 (Array) : 배열은 동일한 타입의 요소들을 연속적인 메모리 공간에 저장하는 자료구조입니다. 배열은 고정된 크기를 가지며, 배열의 각 요소는 인덱스를 통해 직접 접근할 수 있습니다. 이러한 특성 때문에 배열에서의 요소 접근(검색)은 매우 빠르게 이루어집니다. O(1)의 시간복잡도를 가집니다. 그러나 배열은 크기가 고정되어 있어, 배열의 크기를 변경하려면 전체 배열을 새로운 크기의 배열로 복사하는 과정이 필요하며, 이는 비용이 많이 드는 작업입니다. 또한, 배열의 중간에 요소를 삽입하거나 삭제하는 경우, 해당 요소 이후의 모든 요소들을 이동시켜야 하므로 비효율적입니다. 연결 리스트 (Linked List) : 연결 리스트는 요소들이 메모리상에서 연속적으로 위치하지 않고, 각 요소가 당므 요소의 주..
-
[Design Pattern] 개발 디자인 패턴취업준비/기술면접 스터디 2024. 4. 17. 16:24
Design Pattern 개발 디자인 패턴이란? : 개발 디자인 패턴은 소프트웨어 설계 과정에서 자주 발생하는 문제들을 해결하기 위해 일반화된 재사용 가능한 솔루션을 제공한다. 이러한 패턴은 특정 문제를 해결하는 방법론으로, 코드를 더욱 유지보수하기 쉽고 확장 가능하며 효율적으로 만들 수 있도록 도와준다. 디자인 패턴은 소프트웨어 엔지니어링의 베스트 프랙티스로 여겨지며 개발 과정을 가속화하고 복잡한 설계 문제를 보다 쉽게 해결할 수 있게 한다. 생성 패턴 (Creational Patterns) 생성 패턴은 객체 생성 메커니즘을 중심으로 한다, 즉 객체 생성과 관련된 복잡성을 캡슐화하고 클라이언트 코드가 특정 인스턴스가 아닌 인터페이스에 의존하도록 만든다. 이로 인해 시스템의 유연성과 재사용성이 향상된다..