전체 글 338

오늘 뭐입지? 프로그램 관련 각종 문서

화면설계서https://docs.google.com/presentation/d/1WIGNxzBNQpK3Q4mFGntJpOaWnN3snSJL/edit#slide=id.p3 오늘뭐입지_화면설계서.pptxWHAT SHOULD I WEAR TODAY?docs.google.com 기능명세서https://docs.google.com/spreadsheets/d/1y5I5Gak7hoy_W3KqU3e_zlCesWok3rgTISXhx0KGJ-8/edit#gid=1285253246 WBShttps://docs.google.com/spreadsheets/d/1WQBiTjqb6Jq25A431KKq7AjY8lGHLrmn_FjdtshzCCI/edit#gid=329882389 개발 캘린더https://docs.google.com/s..

20240511_날씨 데이터 출력

https://www.data.go.kr/data/15084084/openapi.do# 기상청_단기예보 ((구)_동네예보) 조회서비스초단기실황, 초단기예보, 단기((구)동네)예보, 예보버전 정보를 조회하는 서비스입니다. 초단기실황정보는 예보 구역에 대한 대표 AWS 관측값을, 초단기예보는 예보시점부터 6시간까지의 예보를,www.data.go.kr 오늘은 공공데이터인 기상청의 단기예보 데이터를 가져와서 사용하기 편하게 가공한 뒤 출력하는 작업을 진행했다. 블로그나 이런 곳의 글을 보고 만든 것이 아니라 공식문서를 보고 직접(Chat GPT와 함께) 작성한 것에 의의를 둔다 아무튼 해당 API에는 초단기 / 단기 / 중기 예보가 있다.초단기인 경우, 1시간 단위로 데이터가 제공되지만 뇌우와 강우 데이터만 제..

20240510_옷 출력/추가/삭제 기능

어제에 이어서 유저가 본인의 옷을 등록/삭제할 수 있는 기능을 추가했다.어려운 기능이라기 보다...entity의 관계 설정이 너무 어렵다;; 컨트롤러package org.member.clothController;import jakarta.servlet.http.HttpSession;import lombok.extern.slf4j.Slf4j;import org.member.ClothDTO;import org.member.ClothVO;import org.member.MemberDTO;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;impor..

20240509_JPA기반 / 로그인 기능 구현

Controllerpackage org.member.memberController;import jakarta.servlet.http.HttpSession;import lombok.extern.slf4j.Slf4j;import org.member.MemberDTO;import org.member.MemberDTO;import org.member.MemberVO;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework..

20240508_React 설정(멀티모듈, Intellij)

이전에 VScode에서 React를 설정한 적은 있지만, Intellij에서는 처음이다.아무튼  1. node.js 설치2. 드라이브\Users\사용자명\AppData(숨김파일)\Roaming 위치에 npm파일 생성3. Command Prompt에서 npm install npm -g4. cd 설치할 위치5. npx create-react-app frontend # npx create-reeact {프로젝트명} 6. 설치 후 App.js가 있는 폴더로 가서 npm run start 5.1 실행 버튼에 등록Configuration에서 npm 등록   npm install -save react-scripts

20240507_jsp 설정&외부파일 설정

멀티모듈에서 jsp 설정은 다소 복잡하다. 1. build.gradle의 dependencies 설정 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'//3.X.X이전 //implementation 'javax.servlet:jstl:1.2'//3.X.X이후 implementation 'jakarta.servlet:jakarta.servlet-api' implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl* Spring Boot 2를 사용할 경우, implement..

20240506_JPA 설정(entity, Repository, Service, Controller, properties)

JPARepository- Spring Data JPA에서 제공하는 인터페이스 중 하나- JPA를 사용하여 데이터베이스를 조작하기 위한 메서드들을 제공- JPARepository 인터페이스를 상속받는 인터페이스를 정의하면, 해당 인터페이스를 구현하는 클래스는 JPA에서 제공하는 메서드들을 사용할 수 있음- 데이터베이스의 추가, 조회, 수정, 삭제의 findAll(), findById(), save() 등의 메서드들이 기본 제공- JPARepository 인터페이스는 제네릭 타입을 사용하여 Entity클래스와 복합키를 사용하고 있다면 해당 Entity의 ID클래스를 명시함--> 이를 통해 해당 인터페이스를 상속받는 구현체는 Entity클래스와 ID클래스에 대한 정보를 알고 있어서, 런타임 시점에 적절한 쿼..

엔티티와 레코드

Entity- sw에서 사용하는 데이터.- 현실에 식별 가능한 개별적인 객체나 데이터ex) 학생이나 제품처럼 실제로 존재 / 추상적인 개념--> 각 엔티티는 해당하는 속성을 갖고 있음==> sw의 클래스 또는 DB의 테이블 Record- 데이터베이스 테이블에서 각각의 행- 진짜 데이터값의 집합ex) 철수 - 17살 - 강남구 거주  Entity와 DTO의 차이1. Entity- DB나 비즈니스 로직에서 사용되는 개체- DB의 Table에 매핑되며 영속성을 가짐--> 데이터를 저장하고 검색할 때 사용 2. DTO- 서비스 간에 데이터를 전송할 때 사용- 특정 객체 형태로 데이터를 묶거나 분리할 때 사용- 클라이언트와 서버 간의 통신에서 사용되며, 네트워크 전송을 최적화하고 데이터의 일관성을 유지하기 위해 ..

이해 2024.05.06

20240505_PostgreSQL 사용하기(지속 업데이트)

1. ERD 만들기2. 쿼리 입력을 통해 테이블 생성3. 데이터 생성하기4. 유저 계정 생성 / DB 생성 / 권한 부여5. intellij와 postgreSQL 연결하기      1. ERD 만들기    2. 쿼리 입력을 통해 테이블 생성  3. 데이터 생성하기postgreSQL은 여러 모듈을 통해 기능을 강화할 수 있다.CREATE EXTENSION IF NOT EXISTS pgcrypto;는 암호화 모듈을 사용(단방향, 해시함수, 솔트)사용 가능한 모듈 보는 쿼리(select * from pg_catalog.pg_available_extensions;)더보기address_standardizer: 주소를 구성 요소로 파싱하여 정규화하는 데 사용됩니다. 일반적으로 지오코딩 주소 정규화 단계를 지원하기 ..

20240505_멀티 모듈

1. 우선 프로젝트 생성(msa)- jdk 17- gradle 2. 모듈 생성- core: 공통 모듈- member: 유저 로그인 / 회원가입 / 개인 정보 입력(?)- board: 간단한 게시판- gpt: 날씨에 따른 유저의 옷차림과 마스크 착용 여부를 알려줄 툴 3. settings. gradle 설정rootProject.name = 'msa'include 'member'include 'msa-member'include 'msa-gpt'include 'msa-board'include 'msa-core'  4. 루트 프로젝트의 build.gradle 세팅plugins { id 'java' id 'org.springframework.boot' version '3.2.4'}subprojects ..