전체 글 150

[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의 대해 알아보겠습니다..

[Java] Collection 개념

개요 안녕하세요. 이번 시간에는 Java Collection의 대해 알아보겠습니다. Collection이라는 단어의 뜻을 살펴보면 다음과 같습니다. 수집품, 소장품 우리는 개발을 하다 보면 데이터를 수집하고 원하는 방식으로 데이터를 가공하고 그 데이터를 사용해야 합니다. 이때 사용하는 게 Conllection입니다. 하지만 Collection은 인터페이스(Interface)입니다. 하위 Collection 인터페이스를 사용하고 있는 클래스에 알아야 합니다. 자료 구조 방금 Collection을 알아보면서 데이터를 수집하고 가공 그리고 사용한다고 표현했습니다. 자료구조는 어떤 정보를 담는 것을 의미하며, 하나의 데이터가 아닌 여러 데이터를 효율적으로 관리할 때 표현합니다. 그럼 Java에서는 어떤 자료구조..

[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/..