전체 글 (110) 썸네일형 리스트형 [Swift] 전처리 매크로 Swift에서도 C/C++ 처럼 컴파일러 전처리기를 사용하여 매크로를 정의 할 수 있다. #if DEBUG // 디버그 모드에서 실행할 코드 #else // 릴리즈 모드에서 실행할 코드 #endif Xcode에서는 기본적으로 디버그 모드에서만 DEBUG를 선언하면 된다. 디버그 모드와 릴리즈 모드를 구분할 수 있다. 참조 swift — #ifdef Swift 언어로 대체 많은 경우에 조건부가 필요하지 않습니다. {compilation; 당신은 on/off 할 수있는 조건부 behavior 만 있으면됩니다. 이를 위해 환경 변수를 사용할 수 있습니다. 이것은 실제로 재 컴파일 할 필요가 없다는 큰 이점이 있습니다. 체계 변수에서 환경 변수를 설정하고 쉽게 전환 할 수 있습니다. NSProcessInfo를 .. [Xcode] LLDB Debugger http://minsone.github.io/ios/mac/xcode-lldb-debugging-with-xcode-and-lldb [Xcode][LLDB]Debugging With Xcode and LLDB iOS 개발을 좀 더 잘하기 위해, 편하게 버그를 추적하기 위해 LLDB를 이용한 디버깅 방법을 기록합니다. Thread의 Stack, Frame Thread가 생겨날 때, 해당 Thread를 위한 Stack이 만들어지며, 해당 Stack에는 Frame이 들어갑니다. Execution Commands Continue - 정지된 프로그램 실행을 재개함. Step Over - 현재 선택된 Frame에서 소스 수준의 한 단계를 진행. (lldb) thread minsone.github.io Xcode 단축키 ⌘ = Command ⇧ = Shift ⌥ = Option/Alt ⌃ = Control ⇠ ⇢ = Left/Right Arrow Keys ⇡⇣ = Up/Down Arrow Keys Navigating in the Editor ⌘ + ⇧ + O ⌘ + ⇧ + F ⌘ + F ⌘ + E ⌘ + G ⌘ + ⇧ + G ⌘ + click on a variable/type ⌃ + ⌘ + ⇡ OR ⇣ ⌃ + ⌘ + ⇠ OR ⇢ ⌃ + ⌘ + E ⌘ + T ⌘ + W ⇧ + ⌘ + [ OR ] ⌘ + ⌥ + Enter ⌘ + Enter ⌘ + 0 ⌘ + 1 ⌘ + 2 ⌘ + 3 ⌘ + 4 ⌘ + 5 ⌘ + 6 ⌘ + 7 ⌘ + 8 ⌘ + 9 프로젝트 내 검색 이동 (Open Quickly) 프로젝트 내 검색 현재 파일 .. 자바 코딩 규칙(Java Code Conventions) 사소하다 생각할 수 있지만 협업을 하려면 반드시 알아야하는 코딩규칙! https://myeonguni.tistory.com/1596 [코딩규칙] 자바 코딩 규칙(Java Code Conventions) [코딩 규칙] 자바코딩 규칙(Java Code Conventions) 자바 프로그래밍 언어 코딩 규칙 원문 : Oracle / Code Conventions for JavaTM Programming Language / 1999-4-20 번역 : Kwangshin's Positive Blog, Java Co.. myeonguni.tistory.com [Spring Data JPA] Query Methods - @Query 어노테이션을 이용한 쿼리 직접 정의 스프링 데이터 JPA가 제공하는 쿼리 메소드 기능 중 @Query 어노테이션을 이용한 쿼리 직접 정의에 대해 알아보자. 스프링 데이터 JPA가 제공하는 쿼리 메소드 기능 메소드 이름으로 쿼리 생성 메소드 이름으로 JPA NamedQuery 호출 @Query 어노테이션을 이용한 쿼리 직접 정의 @Query 어노테이션을 이용한 쿼리 직접 정의 @Query 어노테이션을 사용해서 리파지토리 인터페이스 메소드에 쿼리 직접 정의하는 것이다. @org.springframework.data.jpa.repository.Query 어노테이션을 사용 메소드 이름 vs. @Query 쿼리 생성 비교 메소드 이름으로 쿼리 생성 public interface MemberRepository extends JpaRepository .. [Spring Data JPA] Query Methods - 메소드 이름으로 쿼리 생성 스프링 데이터 JPA가 제공하는 쿼리 메소드 기능 중 메소드 이름으로 쿼리 생성에 대해 알아보자. 스프링 데이터 JPA가 제공하는 쿼리 메소드 기능 메소드 이름으로 쿼리 생성 메소드 이름으로 JPA NamedQuery 호출 @Query 어노테이션을 이용한 쿼리 직접 정의 메소드 이름으로 쿼리 생성이란? 메소드 이름을 분석해서 JPQL 쿼리 실행하는 것 JPA vs. Spring Data JPA 비교 순수 JPA public List findByUsernameAndAgeGreaterThan(String username, int age) { return em.createQuery("select m from Member m where m.username = :username and m.age > :age") .. OSIV란? OSIV란? Open Session In View: 하이버네이트 Open EntityManager In View: JPA OSIV ON spring.jpa.open-in-view : true 기본값 0 1 2 3 4 요청 → Filter Interceptor → Controller → Service → Repository ↖ View ↙ 트랜잭션 범위 (3~4) 영속성 컨텍스트 생존 범위 (1~4) 영속 상태, 수정 불가능 영속 상태, 수정 가능 Q. 언제 JPA(영속성 컨텍스트)가 데이터베이스 커넥션을 획득? A. 데이터베이스 트랜잭션 시작할 때 장점 OSIV 전략은 최초 데이터베이스 커넥션 시작 시점부터 API 응답이 끝날 때 까지 영속성 컨텍스트와 데이터베이스 커넥션을 유지한다. → 지연 로딩이 가.. [JPA] 연관관계 매핑 다중성 다대일: @ManyToOne 일대다: @OneToMany 일대일: @OneToOne 다대다: @ManyToMany (실무에서 쓰면 안됨) 단방향, 양방향 테이블 외래 키 하나로 양쪽 조인 가능 사실 방향이라는 개념이 없음 객체 참조용 필드가 있는 쪽으로만 참조 가능 한쪽만 참조하면 단방향 양쪽이 서로 참조하면 양방향 (사실 양방향이 아닌 단방향 2개) 연관관계의 주인 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음 객체 양방향 관계는 A->B, B->A 처럼 참조가 2군데 둘중 테이블의 외래 키를 관리할 곳을 지정해야함 연관관계의 주인: 외래 키를 관리하는 참조 주인의 반대편: 외래 키에 영향을 주지 않음, 단순 조회만 가능 참조 - 자바 ORM 표준 JPA 프로그래밍 이전 1 2 3 4 5 ··· 14 다음