반응형 개발134 트랜잭션 본 게시글은 인프런 김영한 선생님 강의 스프링 DB 1편을 완강하고 배운 것을 남기고자 적은 포스팅입니다. 강의 링크는 아래와 같습니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 이번에는 트랜잭션에 관해 알아보겠다. 쓰다가 전부 날라가서 다시 쓰는데 이토록 슬플수가 ㅠㅠ 트랜잭션 데이터를 저장할 때 파일 시스템이 아닌 데이터.. 개발/Spring DB 2022. 6. 15. DataSource 본 게시글은 인프런 김영한 선생님 강의 스프링 DB 1편을 완강하고 배운 것을 남기고자 적은 포스팅입니다. 강의 링크는 아래와 같습니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com Connection Pool 우리는 이전 시간에 Dirver Manager가 사용할 수 있는 JDBC DB Driver를 찾고 이를 통해 데이터베이.. 개발/Spring DB 2022. 6. 15. JDBC 본 게시글은 인프런 김영한 선생님 강의 스프링 DB 1편을 완강하고 배운 것을 남기고자 적은 포스팅입니다. 강의 링크는 아래와 같습니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com JDBC란 JDBC는 Java Database Connectivity의 약어로 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API다. JDB.. 개발/Spring DB 2022. 6. 14. Room Library, Paging Library Android SQLite Database 안드로이드에서는 SQLite 데이터베이스를 임베디드 데이터베이스로 제공한다. SQLite DB는 경량급(Light-weight) 관계형 데이터베이스다. 표준 SQL을 지원할 뿐만 아니라 데이터 조회 속도가 빨라 안드로이드, 아이폰 등에서 널리 사용한다. Android Architecture Components Google I/O 2017에서 안드로이드 개발에 필요한 새로운 라이브러리들을 Android Architecture Components(AAC)로 묶어 발표 구글은 안드로이드 앱을 개발하면서 자주 만날 수 있는 문제들을 쉽게 해결할 수 있는 가이드를 개발자들에게 제공하기 위해 AAC를 제공한다. AAC는 5개의 라이브러리로 구성한다. Lifecycles L.. 개발/Android 2022. 6. 2. 코루틴 Coroutine 안드로이드에서 프로세스 애플리케이션이 시작되면 안드로이드 시스템은 애플리케이션을 위한 새로운 프로세스와 스레드를 생성한다. 기본적으로 애플리케이션 안의 모든 컴포넌트들은 동일한 프로세스의 동일한 스레드에서 실행한다. 이 기본적인 스레드를 메인 스레드라고 하며, 메인 스레드는 위젯에게 이벤트를 전달하거나 화면을 그리는 등 UI 관련 모든 작업을 담당한다. 문제점 애플리케이션에서 많은 작업을 해야 한다면 이와 같은 단일 스레드 모델은 애플리케이션의 성능을 저하시킨다. 대기 시간이 길어지는 네트워크 요청 등의 기능을 수행할 때는 화면에 보이는 UI도 멈춤 상태인 ANR(Application Not Responding) 오류가 발생한다. 해결방안으로는 하나의 프로세스 안에서 여러 개의 작업을 동시에 할 수 있는.. 개발/Android 2022. 6. 1. 네비게이션 컴포넌트 네비게이션 컴포넌트 네비게이션 컴포넌트는 앱의 화면 전환을 쉽게 구현하고 화면 흐름을 시각화해서 보여주는 라이브러리다. 개발자가 정의한 UI Graph를 기반으로 하면 간의 관계를 한 눈에 볼 수 있다. Back Stack 안드로이드에서는 액티비티를 백 스택을 통해 관리 - 백 스택은 네비게이션의 상태를 나타낸다. 액티비티의 백 스택은 시작점을 가지며, open된 순서대로 스택을 쌓이고, 현재 화면은 스택의 최상단에 위치한다. 새로 액티비티가 생성이 되면 백 스택에 Push가 되면서 기존에 있던 액티비티는 아래로 감춰지게 되고, 뒤로가기를 눌러서 현재 액티비티를 종료시키면, 종료된 액티비티가 pop되면서 그 아래에 있던 액티비티가 push되어 포그라운드되는 구조다. 네비게이션 네비게이션은 사용자가 앱 내.. 개발/Android 2022. 6. 1. ViewModel, LiveData ViewModel ViewModel은 Activity 및 Fragment의 생명주기를 고려하여 UI 관련 데이터를 저장하고 관리한다. Activity는 Activity가 끝날 때까지 그리고 Fragment는 Fragment가 분리될 때까지 데이터를 메모리에서 유지한다. Activity 및 Fragment의 생명 주기와 관계없이 데이터를 유지한다. 화면 회전과 같이 구성을 변경 할때도 데이터를 유지할 수 있다. ViewModel lifecycle Activity의 onCreate()메서드에 처음 호출할 때 ViewModel을 요청 및 생성한다. 시스템은 액티비티 기간 내내(예: 기기 화면이 회전될 때) onCreate() 메서드를 여러 번 호출한다. ViewModel은 액티비티가 소멸될 때까지 존재한다. .. 개발/Android 2022. 6. 1. Fragment 프래그먼트 Fragment (프래그먼트) 프래그먼트 는 일종의 컴포넌트 같은 개념이다. 여러 개의 프래그먼트를 하나의 액티비티에 결합하여 창이 여러 개인 UI를 빌드할 수 있다. 그리고 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있습니다. 프래그먼트는 액티비티처럼 레이아웃을 가진 독립적인 개체로서, 자체적인 생명주기를 가지고 액티비티 실행 중에 화면에 동적으로 추가되거나 다른 프래그먼트로 교체가 가능하다. 한 개의 액티비티에 들어가는 화면 요소를 프래그먼트 단위로 나누어 관리하기 때문에 레이아웃을 분리 관리할 수 있고, 액티비티의 화면 구성을 위한 레이아웃의 복잡도도 줄일 수 있다. 프래그먼트는 항상 액티비티 내에서 호스팅되어야 하며, 해당 프래그먼트의 생명주기는 호스트 액티비티의 생명주기에 직접적으로 영향.. 개발/Android 2022. 5. 31. 자바 애노테이션 백기선님이 과거에 진행했던 Java 스터디 12주차 스터디 입니다. 애노테이션 정의하는 방법 애노테이션이란 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종이다. 보통 @ 기호를 앞에 붙여서 사용한다. JDK 1.5 버전 이상에서 사용 가능하다. 자바 애너테이션은 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동한다. 새로운 애노테이션을 정의하는 방법은 아래와 같다. '@' 기호를 붙이는 것을 제외하면 인터페이스를 정의하는 것과 동일하다. 엄밀히 말해서 @Override는 애노테이션이고 Override는 애노테이션의 타입이다. @interface 애노테이션 이름{ 타입 요소이름(); //애노테이션의 요소를 선언한다. .. } 메타 에노테이션이란? 메타 에노테이.. 개발/Java 2022. 5. 27. Java I/O 백기선님이 과거에 진행했던 Java 스터디 13주차 스터디 입니다. Stream, Buffer Stream이란? 자바에서 입출력을 수행하려면, 즉 어느 한쪽에서 다른 쪽으로 데이터를 전달하려면, 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림이라고 정의한다 스트림이란 데이터를 운반하는데 사용되는 연결통로다 스트림은 단방향통시만 가능하기 때문에 하나의 스트림으로 입력과 출력을 동시에 처리할 수 없다. 그래서 입력과 출력을 동시에 수행하려면 입력을 위한 입력스트림과 출력을 위한 출력스트림, 총 2개의 스트림이 필요하다. 스트림은 먼저 보낸 데이터를 먼저 받게 되어 있으며 중간에 건너뜀 없이 연속적으로 데이터를 주고받는다. 큐와 같은 FIFO구조로 되어 있다고 생각하면 된다. Bu.. 개발/Java 2022. 5. 27. Java enum (열거형) 백기선님이 과거에 진행했던 Java 스터디 11주차 스터디 입니다. enum 정의하는 방법 enum(열거형)은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 여러 상수를 정의할 때 사용하면 유용하다. 열거형을 정의하는 방법은 아래와 같다. enum 열거형이름 { 상수명1, 상수명2, ... } 열거형에 정의된 상수를 사용하는 방법은 '열거형이름.상수명'이다. 클래스의 static 변수를 참조하는 것과 동일하다. enum Direction{ EAST, SOUTH, WEST, NORTH } class Unit{ int x, y; Direction dir; void init(){ this.dir = Direction.WEST; //유닛의 방향을 WEST로 초기화한다. } } 열겨형 상수간의 비교에는 ==을.. 개발/Java 2022. 5. 26. Java Thread 백기선님이 과거에 진행했던 Java 스터디 10주차 스터디 입니다. Thread 클래스와 Runnable 인터페이스 자바에서 쓰레드를 구현하는 방법은 2가지가 있다. Thread클래스를 상속받는 방법과 Runnable 인터페이스를 구현하는 방법이다. 일반적으로 Runnalbe 인터페이스를 구현해 쓰레드를 구현한다. class MyThread extends Thread{ public void run(){ //Thread클래스의 run메서드를 오버라이딩해 코드를 작성 } } class MyThread implements Runnable{ public void run(){ //Runnable인터페이스의 run메서드를 오버라이딩해 코드를 작성 } } 쓰레드를 구현한다는 것은, 위의 두 방법 중 어떤 것을 선택하.. 개발/Java 2022. 5. 25. 이전 1 2 3 4 5 6 7 8 ··· 12 다음 반응형