hoo's 개발일지
close
프로필 배경
프로필 로고

hoo's 개발일지

  • 분류 전체보기 (152)
    • 웹(Web) (3)
    • 스프링부트(Spring Boot) (9)
    • 자바(Java) (1)
    • 데이터베이스(DB) (1)
    • 자바스크립트, 타입스크립트(JavaScript, .. (1)
    • 장고(DJango) (17)
    • 알고리즘(Algorithm) (95)
    • 보안(Security) (5)
    • 파이썬(Python) (2)
    • 취업 준비 (5)
    • algo-with-me (6)
    • 회고 (1)
    • 안드로이드(Android) (1)
    • 네트워크(Network) (1)
    • C++ (1)
  • 홈
  • 태그
  • 방명록

[C++] DNA 비밀번호 (12891번)

https://www.acmicpc.net/problem/12891문제풀이 핵심 고려사항- 연속된 부분문자열- 동일한 부분문자열이더라도 그 위치가 다르다면 다른 부분문자열로 본다.- 부분 문자열의 길이는 반드시 주어진값의 길이어야 한다. -> 이부분을 고려하지 못해서 틀렸었다. 1. 시작지점 위치값을 갖는 변수, 체크할 부분 문자열에 있는 ACGT의 각 개수를 담을 map을 사용한다.2. 문자열의 index를 하나씩 늘려가며 map에 해당하는 문자 개수 숫자를 늘려준다.3. 만약 시작 지점 위치값과 현재 index 까지의 길이가 부분문자열보다 크다면, 시작지점 위치값을 1 증가시켜 주고, 제외되는 ACGT 값을 감소시킨다.4. 부분문자열의 길이가 입력으로 받은 길이와 동일한지 확인하고, 각 ACGT값이 ..

  • format_list_bulleted 알고리즘(Algorithm)
  • · 2025. 10. 11.
  • textsms

[C++] 숫자고르기 (2668번)

https://www.acmicpc.net/problem/2668문제풀이 첫째 줄과 둘째 줄은 매핑되어 있다.적절한 열(column) 을 선택해서, 첫째 줄에 선택한 숫자의 집합과, 둘째 줄에 선택한 숫자의 집합이 일치해야 한다. 어떤 열을 선택해야 일치하는 집합의 최대를 구할 수 있을지 고민해야 하는 문제다.집합에 추가할 열이 본인을 포함해 순환하는지를 확인하면 된다.12345673115546 예시를 보고 첫 번째 열을 뽑아야 할지 말아야할지 확인해보자.첫째 줄은 1, 둘째 줄은 3이다. 그럼 각각 집합은 {1}, {3} 이 된다.두 집합이 일치하기 위해선, 각각 3과 1이 추가되어야 한다.그러므로 첫째 행의 값이 3인 열을 확인해본다. 첫째 줄은 3, 둘째 줄은 1이다. 그럼 각각 집합은 {1, 3}..

  • format_list_bulleted 알고리즘(Algorithm)
  • · 2025. 10. 8.
  • textsms
[Web][Next.js] turbopack

[Web][Next.js] turbopack

이번 포스트에서는 Next.js 에서 사용하는 turbopack 이 무엇인지, 어떤 특징을 갖고 있고 왜 빠르게 동작하는지 알아본다.공식문서 app router 15.5.4 버전을 기준으로 작성하였다. 미리 알아두면 좋은 것들더보기bundlerwebpack turbopack 이란?turbopack 이란 JS, TS 위해 최적화된 번들러이다. Rust로 작성되었고, Next.js 에 내장되어 있다. 로컬 개발 환경에서 훨씬 빠른 개발 경험을 제공해 준다.라고 공식 문서에 설명되어 있다. 참고 번들러에는 webpack, rollup, vite ... 등등 많은 종류가 있고 각각 장단점이 있다. 그중에 turbopack 은 next.js 에서 공식적으로 제공해 주고 있는 next.js 에 특화된 번들러이다. ..

  • format_list_bulleted 웹(Web)
  • · 2025. 9. 27.
  • textsms

[JS, TS] Barrel Export Pattern

JS에서 사용하는 export pattern이다.import 문을 단순화할 수 있다.바로 예시를 확인해 보자. 예시를 보면 한 번에 이해할 수 있다.일반적인 구조📂 sample 📄 foo.ts 📄 bar.ts📄 test.ts위와 같은 폴더구조가 있다고 가정한다. // sample/foo.tsexport const foo = 'foo';export const foo2 = 'foo2';// sample/bar.tsexport const bar = 'bar';// test.tsimport {foo, foo2} from "./sample/foo";import {bar} from "./sample/bar";const test = () => { console.log(foo); console.l..

  • format_list_bulleted 자바스크립트, 타입스크립트(JavaScript, TypeScript)
  • · 2025. 9. 15.
  • textsms

[Spring 6.2] HTTP Interface

Spring 6 이 release 되면서 새롭게 HTTP Interface 라는 방식의 HTTP request/response 를 주고 받을 수 있는 방법이 생겼다.마이너 버전이 새로 release 되면서 약간 변경된 점들도 있어서 6.2 기준으로 사용법에 대해 정리해보았다. HTTP Interface 가 무엇인지 정확히 이해하기 위해선 팩토리 메서드 패턴, 프록시 패턴에 대한 이해를 우선 하고 있어야 한다.사용 방법 자체는 매우 간단하다. 예시를 통해 알아보자. 예시로 https://news.naver.com/section/105 url 을 사용해 보자. JPA 레포지토리 만들듯이 interface 를 구현해주어야 한다. HTTP Interface 라는 말에서 알 수 있듯이, Interface 를 구현..

  • format_list_bulleted 스프링부트(Spring Boot)
  • · 2025. 3. 2.
  • textsms
[spring boot] 애플 로그인 완전 정복 (apple login oauth2)

[spring boot] 애플 로그인 완전 정복 (apple login oauth2)

사이드 프로젝트를 앱스토어에 배포하기로 결정하면서, 애플로그인 구현이 필요하게 되었다. 과정이 생각보다 까다로워서 다음에 구현할 일이 있을 때 삽질하지 않기 위해 기록해둔다. 애플 공식문서에 나와있는 글을 보면, 타사 또는 소셜 로그인 서비스를 사용하는 앱은 특정 기능이 있는 기타 로그인 서비스를 함께 제공해야 한다. (https://developer.apple.com/kr/app-store/review/guidelines/#login-services)뭔말인지 잘 이해 안되는데, 이런 저런 글들을 찾아보니 여튼 소셜 로그인 쓸거면 애플로그인 달아야되는듯 하다. 1. 애플 개발자 사이트에서 애플 로그인에 필요한 설정 하기https://developer.apple.com/account/resources/id..

  • format_list_bulleted 스프링부트(Spring Boot)
  • · 2024. 11. 11.
  • textsms
[Spring Boot] OAuth 카카오 연동 인증과 로그인 (with next.js)

[Spring Boot] OAuth 카카오 연동 인증과 로그인 (with next.js)

사이드 프로젝트를 하면서, 카카오 로그인을 구현하게 되어 다음에 또 헤매지 않도록 정리해 둔다.spring security는 사용하지 않고, spring boot 기반으로 구현하였다. 아래는 카카오 개발자 공식 문서에 나와있는 oauth 기반 인증 과정이다.https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api과정을 간단하게 요약해보면,1. 카카오 인증서버로부터 인가 코드를 받는다.2. 받은 코드로 access, refresh Token을 받는다.3. 받은 토큰으로 카카오 유저 정보를 가져온다.4. 유저정보를 이용해 내 서비스에서 로그인/회원가입을 처리한다. (선택) Resource Server - OAuth 2.0 서비스를 제공하고 Resour..

  • format_list_bulleted 스프링부트(Spring Boot)
  • · 2024. 10. 5.
  • textsms

DNS Cache TTL(Time To Live)

failover 관련된 학습을 하면서 추가로 공부한 설정값이다. DNS는 도메인 이름과 매핑된 IP 주소를 저장해 놓고 요청이 오면 해당 도메인에 맞는 IP를 반환해 주는 역할을 한다. (CNAME으로 도메인과 도메인을 매핑해주기도 함) 그리고 어플리케이션에서는 도메인에 해당하는 IP를 가져오기 위해 DNS 에 요청을 보내고 이 과정을 dns lookup 이라고 한다.IP를 가져오는 과정은 비용이 많이 들기 때문에, JVM의 경우 가져온 IP를 캐싱하고 있는데, 이 캐싱 유지 시간을 DNS Cache TTL 이라고 한다.AWS 에서는 캐싱 시간을 5초 정도로 설정해 둘것을 권장하고 있다. (https://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-..

  • format_list_bulleted 네트워크(Network)
  • · 2024. 8. 13.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 19
  • navigate_next
전체 카테고리
  • 분류 전체보기 (152)
    • 웹(Web) (3)
    • 스프링부트(Spring Boot) (9)
    • 자바(Java) (1)
    • 데이터베이스(DB) (1)
    • 자바스크립트, 타입스크립트(JavaScript, .. (1)
    • 장고(DJango) (17)
    • 알고리즘(Algorithm) (95)
    • 보안(Security) (5)
    • 파이썬(Python) (2)
    • 취업 준비 (5)
    • algo-with-me (6)
    • 회고 (1)
    • 안드로이드(Android) (1)
    • 네트워크(Network) (1)
    • C++ (1)
최근 글
인기 글
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바