[스위프 웹 11기]NCP 활용 프로젝트 소개 - 써봄
·
Projects
Q1. 프로젝트를 소개해 주세요.프로젝트 소개써봄은 AI 시대에 나만의 언어와 사고력을 키울 수 있는 글쓰기 루틴 서비스입니다. 생성형 AI 활용이 일상화되면서 대학생의 60.2%가 "AI에 의존하며 사고력이 낮아질까 봐 두렵다"고 응답하는 등, AI 의존도 증가에 따른 사고력 저하 우려가 커지고 있습니다. 이러한 문제를 해결하기 위해 매일 논리적/확장적 사고로 구분된 5가지 주제 중 하나를 선택하여 글을 쓰고, AI 코치의 구체적인 피드백을 받아 사고력을 키울 수 있는 서비스를 기획했습니다.핵심 가치실효성: 동국대 국어학 교수 2인의 자문을 받아 학문적으로 검증된 사고력 훈련 구조지속성: 캘린더, 캐릭터, 피드 기능 등을 통해 루틴을 유지할 수 있는 UX 설계개발 정보개발 기간: 2024.10.04 ~..
[BOJ] 7579. 앱
·
algorithm
[BOJ]7579.앱문제우리는 스마트폰을 사용하면서 여러 가지 앱(App)을 실행하게 된다. 대개의 경우 화면에 보이는 ‘실행 중’인 앱은 하나뿐이지만 보이지 않는 상태로 많은 앱이 '활성화'되어 있다. 앱들이 활성화 되어 있다는 것은 화면에 보이지 않더라도 메인 메모리에 직전의 상태가 기록되어 있는 것을 말한다. 현재 실행 중이 아니더라도 이렇게 메모리에 남겨두는 이유는 사용자가 이전에 실행하던 앱을 다시 불러올 때에 직전의 상태를 메인 메모리로부터 읽어 들여 실행 준비를 빠르게 마치기 위해서이다.하지만 스마트폰의 메모리는 제한적이기 때문에 한번이라도 실행했던 모든 앱을 활성화된 채로 메인 메모리에 남겨두다 보면 메모리 부족 상태가 오기 쉽다. 새로운 앱을 실행시키기 위해 필요한 메모리가 부족해지면 스..
[BOJ] 10971. 외판원 순회2
·
algorithm
[BOJ]10971. 외판원 순회2문제외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러 가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제를 살펴보자.1번부터 N번까지 번호가 매겨져 있는 도시들이 있고, 도시들 사이에는 길이 있다. (길이 없을 수도 있다) 이제 한 외판원이 어느 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획하려고 한다. 단, 한 번 갔던 도시로는 다시 갈 수 없다. (맨 마지막에 여행을 출발했던 도시로 돌아오는 것은 예외) 이런 여행 경로는 여러 가지가 있을 수 있는데, 가장 적은 비용..
JDK, JRE, JVM
·
Java
JDK(Java Development Kit)JDK는 Java Development Kit의 약자로 자바 개발자들이 개발할 때 필요한 도구 모임입니다. JDK에는 대표적으로 javac(자바 컴파일러, 자바 소스 코드를 바이트 코드로 컴파일), JRE(Java Runtime Environment, jdb(Java 디버거), javadoc(문서 생성기, 자바 소스 코드에서 API문서를 생성), jar(Java 아카이브 도구)가 있습니다.즉, JDK는 자바 애플리케이션을 개발하고 실행하는 데 필요한 모든 도구를 제공합니다. Oracle, OpenJDK, Amazon Corretto 등 여러 배포판이 존재합니다.JRE(Java Runtime Environment)JRE는 Java Runtime Environm..
Git & Github를 활용한 협업 프로세스
·
Projects
1. Commit, Branch, PR 등 컨벤션을 정합니다.양식이 통일되어야 원활하게 확인할 수 있기 때문에 컨벤션을 미리 정하고 협업을 하는 것이 권장됩니다.1) Commit Message Convention많이 사용하는 commit convention은 아래와 같습니다.type: subjectbodyfooter필수type : 변경 사항의 유형, 소문자subject : 간결한 변경 사항 설명, 첫 글자는 소문자로 작성선택body : 변경 사항에 대한 자세한 설명footer : 추가적인 메타데이터, 관련 이슈 참조 등타입feat : 새로운 기능 추가fix : 버그 수정docs : 문서 수정style : 코드의 의미에 영향을 미치지 않는 변경사항refactor : 코드 리팩토링(기능은 그대로지만 코드 재..
[JazzMeet]Cookie & Session vs. JWT
·
Projects
Jazz Meet 프로젝트를 진행하면서 관리자 계정을 어떻게 구현해야 할지 고민한 내용입니다.⭐ 첫 번째 고민: Cookie & Session vs. JWT🛠️ Cookie & Session 기반 인증Cookie와 Session 기반 인증 로직은 다음과 같습니다.사용자 로그인 요청서버에서 인증 처리1) 받은 아이디와 비밀번호 검증2) 인증이 성공하면, 서버는 이 사용자에 대한 세션 생성서버는 생성된 세션 ID를 사용자의 웹 브라우저에 쿠키 형태로 전송브라우저가 서버에 요청을 보낼 때마다 세션 ID를 쿠키로 같이 전송사용자가 로그아웃을 요청하면, 서버는 해당 사용자의 세션을 종료(삭제)하고, 사용자의 브라우저에 저장된 쿠키(세션ID)를 무효화1) 이후 사용자가 다시 인증이 필요한 페이지에 접근하려고 하면..
[JazzMeet] 도메인 간 쿠키 공유 되지 않는 문제 해결
·
Projects
❓문제Refresh Token을 http only 쿠키로 사용하려고 다음과 같이 서버 코드를 작성해서 배포했습니다./** * 관리자 로그인 API */@PostMapping("/api/admins/login")public ResponseEntity login(@RequestBody @Valid LoginAdminRequest loginAdminRequest) { Jwt jwt = adminService.login(loginAdminRequest); return ResponseEntity.ok() .header(HttpHeaders.SET_COOKIE, getRefreshToken(jwt).toString()) .body(AdminMapper.INSTANCE.toLogi..
[BOJ] 22252. 정보 상인 호석
·
algorithm
문제암흑가의 권력은 주먹과 정보에서 나온다. 주먹은 한 명에게 강하고, 정보는 세계를 가지고 놀 수 있기 때문에 호석이는 세상 모든 정보를 모으는 "정보 상인"이 되고 싶다. 정보 상인은 정보를 사고파는 사람을 의미한다.호석이는 아직 상인계의 새싹이기 때문에, 초기 투자를 통해서 여러 명의 "정보 고릴라"들로부터 정보를 모으려고 한다. 정보 고릴라란 여기저기서 정보를 수집하는 사람들을 의미한다. 일단 정보를 긁어모으기 위해서 호석이는 여러 정보 고릴라들에게 정보를 구매하려고 한다.암흑가의 연락망은 빼곡하기 때문에 누가 어떤 정보를 얻었는지에 대한 찌라시들이 수시로 퍼진다. 찌라시로 알 수 있는 것은, 어떤 이름을 가진 고릴라가 C1, C2, ..., Ck 만큼의 가치가 있는 정보 k 개를 얻었다는 점이다..