분류 전체보기 (72) 썸네일형 리스트형 [JPA] @Transient 과 엔티티 접근 방식 @Transient 해당 데이터를 테이블의 컬럼과 매핑 시키지 않는다. 영속 대상에서 제외시키기 위해 사용한다. @Tansient 사용방법 ElementType.METHOD : 메서드 위에 애노테이션을 붙여서 사용 ElementType.FIELD : 필드 위에 애노테이션을 붙여서 사용 엔티티 접근방식 프로퍼티 방식 (getter/setter Method, JavaBeans Property 스타일) 필드 방식 (Instance Fileds) JPA의 엔티티의 접근 방식은 @Id 애노테이션의 위치에 의해 결정된다. 엔티티의 모든 필드 또는 상속된 엔티티의 계층에 대해서도 일관성 있게 적용해줘야 한다. [1] @Id 애노테이션 위치가 getter메서드인지, 필드인지 확인 [2] getter메서드위에 있을경우,.. [Java/SpringBoot] 멀티 스레드 & static 테스트 static은 클래스에 고정된다. static멤버(static변수, static메서드) = 정적멤버 인스턴스에 소속되지 않고, 클래스에 고정되어 있다. static 영역의 메모리에 저장되기 때문에 가비지 콜렉터의 관리 대상이 아니다. 테스트1. 두개의 instance에서 static 사용 plus, minus 메서드를 사용해서 static변수 `balance` 의 값이 어떻게 변하는지 관찰 단일 스레드에서 실행 // application 실행 @Slf4j @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, a.. [Swagger] 스웨거 사용하기 (설정 및 적용) 1. Swagger 설정 (config) gradle설정 // build.gradle // actuator 설정 implementation 'org.springframework.boot:spring-boot-starter-actuator' property설정 actuator, swagger 설정 ### application.properties # actuator management.endpoints.web.base-path=/api/actuator # endpoint health만 노출 management.endpoints.web.exposure.include=health # detail (안보여줘도 됨) #management.endpoint.health.show-details=always # swagg.. [Back-End] API 개발 시 작업 순서 (설정 이후) 1. API 정의 개발할 기능 및 API 정의 / list up - note에 별도로 작성해서 저장 2. API 문서(Swagger) 작성 front-end 개발자가 개발할때 참고할 수 있는 API 문서 작성 및 제공 - Controller (method name 및 api url 정의) - Request용 dto - Response용 dto - Swagger 정보 - Docker Server 띄우기 - Front-End 개발자에게 Swagger url 전달 3. 설계 개발에 필요한 DB 및 Class 설계 & 생성 - DB 테이블 - Entity (Model) - Repository 4. 비지니스 로직 작성 실제 기능을 담당하는 비지니스 로직 작성 - Service - Test Code [JPA] save() vs saveAndFlush() 차이 배경 @Transactional 이 있는 메소드에서 set을 여러번할때 차이가 나타나는데, 같은 컬럼을 여러번 set할 경우(update쿼리), (*다른컬럼일때 확인해볼것) save() 마지막 set에 대해서만 update 쿼리가 출력되고, 트랜잭션메소드가 다 끝난 후에 DB에 반영 saveAndFlush() set할때마다 update쿼리가 출력되고, DB에는 트랜잭션메소드가 다 끝난 후에 한번만 반영. update쿼리가 출력된 것은 JPA내부적으로 저장된것으로 보임. flush는 DB가 아니라 SQL 저장소 내로 flush를 하는 과정. [Python&Django] PyCharm에서 가상환경 서버 실행하기 PyCharm은 IntelliJ의 파이썬 버젼. 배경 파이썬으로 가상환경(Vittusl environment)을 만들어서 그 안에서 장고를 설치 목표 PyCharm에서 서버를 실행하고자 함 PyCharm에서 가상환경 생성하기 File -> Settings -> Project: ... -> Python Interpreter -> 톱니바퀴 -> add -> New environment 선택 가상환경에 장고 설치 가상환경에 장고가 설치되어 있어야 함. 새로 만든 가상환경이라면 [Python Interpreter] 메뉴에서 장고패키지 설치 필요. 사용할 Interpreter 선택 후, Django Pacjage install 가상환경에서 서버 실행하기 - 장고 프로젝트 서버 실행 명령어(가상환경에 터미널 접속 .. [ESLint - Airbnb] ESlint와 Prettier 적용하기 (with VS Code) ESlint와 Prettier 적용하기 (with VS Code) 방법은 다른 블로그에 많이 나오니까 크게 순서에 대해서 짚어보기!!! 1. ESlint & Prettir 설치 터미널에서 yarn, npm 등으로 설치 아래 블로그 참고 참고. - https://velog.io/@mayinjanuary/Next.js-%EC%84%B8%ED%8C%85%ED%95%98%EA%B8%B0-ESLint-Prettier-%EC%84%A4%EC%A0%95 - https://feynubrick.github.io/2019/05/20/eslint-prettier.html 2. ESlint & Prettier 설정 설정파일 작성. .eslintrc (또는 .eslintrc.js 또는 .eslintrc.json) 2-1. si.. React - 네트워크 통신 주의할 점! 1. api key는 코드에 작성하지 말것. (No git upload) (1) 환경설정파일(.env)을 생성해서 key를 관리한다. REACT_APP_YOUTUBE_API_KEY = ~~~~ REACT_APP을 항상 prefix로 붙여야 한다. create react app을 에서 만들어 놓은 규칙이다. (2) .gitignore 파일에 추가하여 트래킹을 막는다. 2. 컴포넌트에서 네트워크 통신을 하지말것. 비지니스로직은 별도로 .js파일을 만들어 관리한다. 리액트의 경우 class로 관리 --------------------------------------------- class Youtube { constructor(key){ this.key = key; this.option = { ~~~ } } .. 이전 1 2 3 4 5 6 ··· 9 다음