분류 전체보기 19

mkcert로 Next.js 프로젝트에 HTTPS 적용하기

왜 로컬 개발 환경에서 HTTPS가 필요했을까?프로젝트를 진행하면서 백엔드와의 API 연동 과정에서 예상치 못한 문제에 부딪혔다. 바로 쿠키 기반 인증과 도메인 불일치 문제였다.문제 상황백엔드에서는 보안상의 이유로 로그인 후 accessToken을 쿠키로 전달해 주는 방식을 채택했다. 이 쿠키의 존재 여부를 확인해서 로그인된 사용자와 로그인하지 않은 사용자를 구분하는 것이 목표였다.하지만 여기서 문제가 발생했다:프론트엔드 개발 환경: http://localhost:3000백엔드 배포 환경: https://yetda.kro.kr이렇게 프로토콜(http vs https)과 도메인이 다르면 쿠키가 제대로 전달되지 않는다. 특히 SameSite 정책과 Secure 플래그 때문에 HTTPS 환경에서 설정된 쿠키는..

PROJECT 2025.07.17

[코딩테스트] 구명 보트

나의 코드function solution(people, limit) { var answer = 0; for (i = 0; i a + num 실패.... 케이스 테스트는 성공했지만, 효율성 검사에서 실패...function solution(people, limit) { var answer = 0; while (people.length > 0) { var num = Math.max(...people); // 가장 무거운 사람 var index = people.indexOf(num); // 해당 사람을 먼저 제거하고 people.splice(index, 1); // 짝이 될 수 있는 사람을 찾아본다 var..

[코딩테스트] 스택/큐 괄호 맞추기

스택에 대해 공부할 때, 스택 관련 문제 예시로 나왔던 괄호 맞추기 문제가 프로그래머스에 있어서 풀어보았다!기존에 풀이 방식을 한 번 봤음에도 불구하고, 막상 코딩 테스트 형식으로 접하니 엄청 쉽게 풀리진 않았다.덕분에 내가 놓치고 있었던 스택의 작동 방식과 예외 케이스 처리의 중요성을 확실히 체감할 수 있었다! 처음 풀어봤던 코드function solution(s){ var answer = true; var arr = []; s = s.split(""); for(i = 0; i 채점 결과정확성: 61.8효율성: 30.5합계: 92.3 / 100.0 처음에는 단순히 여는 괄호는 스택에 넣고, 나머지는 꺼내는 방식으로만 처리했다.근데, 닫힌 괄호가 먼저 오는 경우에 대한 예외..

[코딩테스트] 최댓값과 최솟값

문제 설명문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.제한사항- s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.입출력 예sreturn"1 2 3 4""1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" 나의 코드 (메모리 & 시간 & 문제 링크와 같은 자세한 정보는 해당 링크를 통해 확인해 주세요! )function solution(s) { var answer = ""; let numbe..

[JavaScript] 자바스크립트 내장 함수

직접 구현하는 것도 좋지만, 가장 좋은 건 자바스크립트 내장 함수를 사용하는 것!일단 코드의 길이도 짧아져서 가독성이 좋아질 뿐더러, 메모리와 시간이 줄어드는 걸 보니 더욱 잘 사용해야겠다는 생각이 들었다..그래서 이번 포스팅에서는 자바스크립트에서 자주 사용되는 내장 함수들을 몽땅 정리해 보려고 가져왔다! 분류함수 이름설명문자열charAt()문자열에서 특정 위치의 문자 반환 concat()여러 문자열 결합 includes()특정 문자열 포함 여부 확인 indexOf()특정 문자열의 첫 위치 인덱스 반환 slice()문자열 일부 잘라 반환 split()문자열을 특정 구분자로 나누어 배열로 반환 toLowerCase() / toUpperCase()소문자/대문자 변환 padStart() / padEnd()지정..

STUDY/JavaScript 2025.06.27

[코딩테스트] 문자열 섞기

문제 설명길이가 같은 두 문자열 str1과 str2가 주어집니다.두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.제한사항- 1 ≤ str1의 길이 = str2의 길이 ≤ 10 - str1과 str2는 알파벳 소문자로 이루어진 문자열입니다.입출력 예srt1srt2result"aaaaa""bbbbb""ababababab" 나의 코드 (메모리 & 시간 & 문제 링크와 같은 자세한 정보는 해당 링크를 통해 확인해 주세요! )function solution(str1, str2) { var answer = ''; const answerArr = []; const str1Arr = [...str1]; ..

[코딩테스트] 큐 문제 1. 요세푸스 문제

개념정리큐(queue)는 '줄을 서다'라는 뜻을 가지고 있다.먼저 들어간 데이터가 먼저 나오는 구조이기 때문에, 이를 선입선출 또는 FIFO(First In First Out)이라고 부른다. 큐의 기본 동작도 스택과 마찬가지로 삽입 연산을 푸시, 꺼내는 연산을 팝이라고 한다. 큐의 ADT구분정의설명연산boolean isFull()큐에 들어 있는 데이터 개수가 maxsize인지 확인해 boolean 값을 반환합니다.연산boolean isEmpty()큐에 들어 있는 데이터가 하나도 없는지 확인해 boolean 값을 반환합니다.연산void push(ItemType item)큐에 데이터를 푸시합니다.연산ItemType pop()큐에서 처음에 푸시한 데이터를 팝하고, 그 데이터를 반환합니다.상태int front큐..

[코딩테스트] 배열 두 배 만들기

문제 설명정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.제한사항-10,000 ≤ numbers의 원소 ≤ 10,0001 ≤ numbers의 길이 ≤ 1,000입출력 예 numbersresult [1, 2, 3, 4, 5][2, 4, 6, 8, 10][1, 2, 100, -99, 1, 2, 3][2, 4, 200, -198, 2, 4, 6]입출력 예 설명입출력 예 #1[1, 2, 3, 4, 5]의 각 원소에 두배를 한 배열 [2, 4, 6, 8, 10]을 return합니다.입출력 예 #2[1, 2, 100, -99, 1, 2, 3]의 각 원소에 두배를 한 배열 [2, 4, 200, -198, 2,..

[코딩테스트] 스택 문제 1. 괄호 짝 맞추기

개념 정리프로그래밍에서 스택(Stack)은 말 그대로 데이터를 "쌓는" 자료구조 이다.가장 나중에 넣은 데이터가 가장 먼저 나오는 구조이기 때문에, 이를 후입선출 또는 LIFO(Last In First Out)이라고 부른다. 스택의 기본동작push데이터를 추가pop가장 최근에 추가한 데이터를 제거하고 반환top가장 위의 데이터를 확인 (제거하지 않음)inEmpty스택이 비어 있는지 확인isFull스택이 가득 찼는지 확인 스택의 ADT (추상 자료형)스택은 흔히 ADT로 정의된다.ADT란 인터페이스만 정의되어 있고, 구현은 숨겨진 자료형을 뜻한다.쉽게 말해서, 스택이 어떤 동작을 해야 하는지는 정해져 있지만, 그 구현 방식은 사용자에게 감춰져 있다는 것이다.어떻게 동작해야 하는지의 명세만 제공하고, 실제 ..

[GitHub] Branch 전략

개발을 진행하면서 항상 메인 브랜치만 사용해 오다가, 어느 순간 “이렇게 해도 괜찮은 걸까?”하는 의문이 들었다..실제로 협업 과정에서 메인 브랜치만 사용하다 보니 코드 충돌이 빈번하게 발생하는 문제를 겪었고이런 경험을 바탕으로, 더 나은 협업 방법에 대해 고민해 보고자 해당 내용을 정리해 보았다! 1. Branch?여러 개발자가 하나의 저장소에서 함께 작업할 때, 각자 다른 기능을 독립적으로 개발하고 수정할 수 있는 환경을 마련하는 것이 정말 중요하다. Git branch 전략은 바로 이런 협업 환경을 위해 팀원들이 일정한 규칙에 따라 브랜치를 생성하고 사용하도록 도와준다.1-1. Git Branch 전략이 왜 필요하지?개발 작업의 분리각자 맡은 기능이나 수정 사항을 별도의 브랜치에서 진행하면, 서로의..

STUDY/GitHub 2025.06.24