개발이 취미인 사람 139

[MySQL] - 트랜잭션

개요 안녕하세요. 이번 시간에는 트랜잭션(Transaction)에 대해 알아보겠습니다. 트랜잭션은 관계형 데이터에비스에서 작업의 완정성을 보장하기 위한 단위입니다. (여기서 작업은 SQL 구문(Select, Insert, Update, Delete)을 말합니다.) 여러 작업을 하나의 트랜잭션 단위로 만들 수 있고, 반대로 하나의 작업을 트랜잭션 단위로 만들 수 있습니다. 위 설명이 이해가 가지 않을 것 같아요! 바로 예시를 통해 알아보도록 하겠습니다. 준비 기본적으로 MySQL 설치 및 데이버테이스와 테이블 생성하는 개념은 어느 정도 있다고 생각하고 진행하도록 하겠습니다. - 예시 테이블 -- InnoDB 테이블 생성 SQL CREATE TABLE user_innodb ( `user_id` BIGINT ..

[Java] fork/join framework 란?

개요 안녕하세요. 이번 시간에는 fork/join framework에 대해 알아보겠습니다. framework라고 해서 우리가 생각하는 spring framework와 같은 개념은 아닙니다. 기존에 ThreadPool 방식을 사용하는 게 아니라 ForkJoinPool이라는 방식을 사용해서 멀티스레드 작업을 처리합니다. 그래서 fork/join이 무엇인지 설명드리겠습니다. 개념 Oracle 공식 문서 튜토리얼 내용을 확인하면 다음과 같은 내용이 있습니다. Fork/Join The fork/join framework is an implementation of the ExecutorService interface that helps you take advantage of multiple processors. I..

[Java] Callable과 Runnable 및 ExecutorService 그리고 Executors, Executor

개요 안녕하세요. 이번 시간에는 Callable과 Runnable에 대해 알아보겠습니다. 그리고 더 나아가 ExecutorSerivce, Executors, Executor까지 알아보는 시간을 갖겠습니다. 기본적으로 Runnable에 대해 잘 모르시는 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. [Java] Thread 클래스와 Runnable 인터페이스 개념 및 사용법 [Java] Thread 클래스와 Runnable 인터페이스 개념 및 사용법 package Access; //사람 스래드 public class Person extends Thread { @Override public void run() { for (int i=0; i< 10; i++){ System.out.printl..

[Java] synchronized 키워드와 Thread의 관계...

개요 안녕하세요. 이번 시간에는 synchronized키워드와 Thread에 대해 알아보겠습니다. 혹시 Thread가 무엇인지 모르시는 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. [Java] Thread 클래스와 Runnable 인터페이스 개념 및 사용법 [Java] Thread 클래스와 Runnable 인터페이스 개념 및 사용법 package Access; //사람 스래드 public class Person extends Thread { @Override public void run() { for (int i=0; i< 10; i++){ System.out.println("Sub Thread 일 시작: "+ i); } } } - 지난 시간 안녕하세요. 지난 시간에는 자바 인터페 an..

[CS] Blocking/Non-blocking & Sync/Async 에 대해서

개요 안녕하세요. 이번 시간에는 Blocking/Non-blocking과 Sync/Async에 대해 알아보겠습니다. 이전에 공부하면서 이해하고 어느 정도 실무에 잘 반영하고 있다고 생각하고 있었는데 다시 공부하는 시점에 잘못 이해하고 있었던 부분과 시간에 지남에 따라 까먹은 부분들이 많아서 해당 주제를 다시 한번 학습하는 시간을 만들었습니다. Blocking/Non-blocking & Sync/Async 개념과 예시 상황으로 커피 매장에서 손님이 직원에게 커피 주문하는 상황을 설명하겠습니다. 개념 및 사용법 Blocking Blocking이라는 단어를 확인해 보면 다음과 같이 설명하고 있습니다. 상황에 따라 다양한 뜻이 존재합니다. 하지만 우리가 사용하는 상황에서 blocking이라는 뜻은 “블로킹(막다..

컴퓨터공학 2023.11.27

[Java] List... 그리고 ArrayList, LinkedList, Vector 데이터 추가

개요 안녕하세요. 이번시간에는 List 자료구조에 대해 알아보겠습니다. 기본적으로 List 인터페이스를 구현받아 사용하는 대표적인 클래스는 ArrayList, LinkedLIst 그리고 Vector가 존재합니다. 이번시간에는 각 클래스에 차이점과 활용방법에 대해 알아보겠습니다. 또한 List 인터페이스는 기본적으로 Collection 인터페이스 확장하여 사용합니다. Collection 인터페이스에 대한 개념이 없거나 놓치고 오신 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. [언어(Programming Language)/Java] - [Java] Collection 개념 [Java] Collection 개념 개요 안녕하세요. 이번 시간에는 Java Collection의 대해 알아보겠습니다..

[Spring Boot] 구조 분석 (7) - @Configuration vs @Component 차이

- 개요 안녕하세요. 이번 시간에는 @Configuration과 @Component 차이의 대해 알아보겠습니다. 혹시 @Configuration과 @Component의 대한 개념을 놓치고 오신 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. [Spring Boot] 구조 분석(1) - @SpringBootApplication 이란? [Spring Boot] 구조 분석(1) - @SpringBootApplication 이란? - 지난 시간 안녕하세요. 지난 시간에는 아주 간단하게 Spring Boot API 서버를 만들어 봤습니다. 처음 Spring Boot를 접하시는 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. [Spring Boo any-ting.tistory.com -..

[Go] - Mac 개발환경 설정

- 개요 안녕하세요. 이번 시간에는 구글에서 개발한 Go라는 언어를 Mac OS의 설치하는 시간을 가져보도록 하겠습니다. - 설치 현재 운영체제의 Go를 설치여부를 확인하겠습니다. $ go version 위와 같은 결과가 나오면 현재 Go를 설치하지 않았다는 것입니다. 아래 공식홈페이지에서 Go를 설치해 보겠습니다. https://go.dev/doc/install Download and install - The Go Programming Language Documentation Download and install Download and install Download and install Go quickly with the steps described here. For other content on in..

[Spring Boot] 구조분석 (6) - Custom Annotation 개념(@interface)

- 개요 안녕하세요. 이번 시간에는 Annotation의 대해 알아보겠습니다. Java로 개발을 하다 보면 해당 Annotataion을 볼 수 있습니다. 간혹 @Orerride Annotation을 보실 수 있습니다. @Orerride의 대해 모르시는 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. [Java] 오버로딩(Overloading)과 오버라이딩(Overriding) 개념 및 사용법 [Java] 오버로딩(Overloading)과 오버라이딩(Overriding) 개념 및 사용법 - 지난 시간 안녕하세요. 지난 시간에는 클래스 상속에 대해 알아봤습니다. 혹시 놓치신 분들은 아래 링크를 통해 상속에 대한 개념을 학습하고 오시는 걸 추천드리겠습니다. any-ting.tistory.com/..

[Spring Boot] 구조 분석 (5) - 두개 이상 Bean을 등록시 문제 및 해결

- 지난 시간 안녕하세요. 지난 시간에는 의존관계 주입 방식에 대해 알아봤습니다. 혹시 놓치고 오신 분들은 학습하고 오시는 걸 추천드리겠습니다. [Spring Boot] 구조 분석 (4) - 의존관계 주입 방식 [Spring Boot] 구조 분석 (4) - 의존관계 주입 방식 - 지난 시간 안녕하세요. 지난 시간에는 @Autowired 어노테이션에 대해 알아봤습니다. 놓고 오신 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. [Spring Boot] 구조 분석 (3) - @Autowired any-ting.tistory.com - 개요 이번 시간에는 Spring Container의 두 개 이상의 Bean을 등록 시 발생하는 문제점에 대해 알아보고 해결방법에 대해 알아보겠습니다. Spirn..