분류 전체보기 124

[Java] 멀티스레드

Thread(스레드) - 영어 사전으로는 실, 흐름 등을 의미합니다. - 프로그램의 흐름으로 생각해볼 수 있습니다. - OS는 프로그램 하나를 처리할 때 프로세스라는 단위로 처리합니다. 멀티태스킹 멀티스레드 프로그램을 동시에 여러 개 사용할 때 프로세스가 각각의 프로그램에 하나씩 배정되어 멀티 프로세스로 처리합니다. 프로그램의 내부에서 멀티태스킹이 이루어질 때 사용. - 멀티태스킹 ≠ 멀티프로세스? 1) 하나의 프로긂이 동시에 두 작업을 합니다. 2) 단일 프로세스만 할당이 되고, 두 작업을 동시에 진행 가능하게 해주는 개념은? "멀티 스레드" 프로세스 vs 스레드 프로세스 스레드 여러 개가 독립적으로 존재합니다. 프로세스 내에 포함되어 있습니다. 하나가 문제되어도 다른 프로그램에 영향을 주지 않습니다...

[Java] 상수의 할당

☑️하나만 할당 상수는 선언시 모든 상수가 동일한 타입을 가져야 합니다. 지정된 상수 값의 타입이 있다면, 변수를 생성할 때 아래처럼 생성할 수 있습니다. private static final + 정해진 타입 + 변수명; 기본 생성자를 하나 추가해서, 위에서 만든 변수에 호출된 상수의 값을 대입합니다. 변수가 private로 선언되므로, 접근하려면 getter 와 setter를 사용해야합니다. 값의 할당은 상수명(모두 동일한 타입을 갖는 상수값) 의 형식으로 수행됩니다. 상수명1(상수값), 상수명2(상수값), ... ☑️ 여러개 할당 여러개 상수값 중 첫째 상수와 나머지 상수는 각각의 상수값 수가 동일해야 합니다. 상수값이 선언된 위치별로 타입을 다르게 하지만, 같은 위치의 상수는 모두 같은 타입을 가져..

[Java] enum 열거형 정리

Enum 열거형? 1) 이넘(enum)은 열거형을 의미합니다. 상수를 모아서 클래스같이 만들어주는 멋진 기능입니다. 상수가 가지는 특징이 값이 한번 정해지면 변하지 않는 것입니다. 따라서, 열거형에 있는 상수도 값의 변경이 불가능합니다. 2) 인터페이스와 클래스의 중간 단계 형태를 가집니다. 인터페이스 : 추상자료형으로 구현할 동작을 지정합니다. 클래스 : 객체들을 모은 설계도이고, 실제 구현이 이루어집니다. 3) 객체처럼 선언하고 사용가능합니다. 4) 열거형을 사용하지 않는다면? - 관련된 상수를 하나씩 모두 정의해야하고, 사용하더라도 Value로서 역할만 합니다. - 가령 1년에 속한 월 이름에 대해 상수로 값을 넣어준다고 하면, 아래와 같이 코드를 작성합니다. - 번거롭고 불편합니다. public ..

[Java] Collections

많은 양의 데이터 혹은 데이터 그룹에 대해서 표준화된 프로그래밍 방식을 제공해주는 클래스의 집합 다양한 종류의 데이터들을 다룰 수 있게 클래스를 제공해줍니다. (List, Map, Set 등) 핵심 인터페이스 1. List : 순서가 있는 데이터의 집합입니다. 데이터의 중복을 허용합니다. ArrayList, LinkedList, Vector(구버전 원형), Stack 등이 있습니다. 2. Map : Key와 Value의 쌍으로 구성된 데이터의 집합입니다. Key의 중복이 허용되지 않습니다. Value는 중복이 가능합니다. HashMap, HashTable, TreeMap 등이 있습니다. 3. Set : 순서도 없지만 Value의 중복을 허용하지 않는 데이터의 집합입니다. HashSet, TreeSet 등..

[Java] 인스턴스화

"인스턴스화란 무엇인가?" 설계도에 대한 부품을 만들어주는 작업입니다. new + 생성자 형태로 만들 수 있습니다. 생성자도 메소드 중 하나이며, 메소드 오버로딩을 통해 다양한 생성자를 정의할 수 있습니다. 생성자의 명칭은 클래스명과 동일해야 하고, 이를 제외한 메소드는 클래스명과 달라야 합니다. 같으면 에러가 발생합니다. 또한, 생성자는 기본생성자와 매개변수가 있는 생성자로 나누어집니다. 1. 기본생성자 Bird bird = new Bird(); 매개변수가 없는 생성자가 기본생성자이고, 따로 정의하지 않아도 바로 사용할 수 있습니다. 2. 매개변수가 있는 생성자 public 클래스명(타입 매개변수1, 타입 매개변수2, ...) { //매개변수로 멤버변수를 초기화 } 생성자는 객체를 만들고 멤버변수를 초..

[Java] 클래스와 상속

클래스 (class) 클래스는 설계도입니다. 자바는 객체지향언어로, 설계도를 잘 만들고, 그대로 부품을 만들고 조립해서 프로그램을 만듭니다. 그러나 이걸 실질적으로 사용하는 데에는 약간의 어려움이 있습니다. 이해를 위해서는 직접 만들어보는게 좋았습니다. 1. Animal 클래스 만들기 이 클래스에는 멤버변수로 age, size, legCnt, hasWing을 만들었습니다. 부모클래스로 생성하고, 하위 클래스(자식클래스)도 만듭니다. public class Animal { public int age; public int size; public int legCnt; public boolean hasWing; public Animal() { } public Animal(int age, int size, int..

[Java] Unhandled exception type IOException

Java 컴파일 에러1. IOException 주로 System.in.read(); 메서드를 사용하면 나타나는 에러이다. Exception in thread "main" java.lang.Error: Unresolved compilation problem: Unhandled exception type IOException at javaclass.main(javaclass.java:9) 이를 수정하는 방법은 다음과 같다. 1. 예외허용 라이브러리 추가 java.io.IOException 라이브러리를 추가 throws IOException import java.io.IOException; public class javaclass { public static void main(String[] args) thr..

[Java] 기초

자바(Java) - Java는 썬 마이크로 시스템즈에서 개발한 언어로, 객체지향 언어라고 할 수 있다. - 클래스를 만들고, 클래스에서 요구하는 객체를 만들어 프로그램을 조립해서 완성하는 방식을 가진다. 자바와 관련된 용어 JDK(Java Development Kit): 자바로 개발할 수 있는 환경을 제공해주는 키트 Java Compiler, JRE 포함 JRE(Java Runtime Environment): 자바 프로그램을 실행할 수 있는 환경 자바 클래스 라이브러리 : 자바에서 제공해주는 클래스들의 집합, 자바에서 기본으로 제공하는 설계도 모음 자바 클래스 로더(Java Class Loader) : 자바 프로그램을 구동할 때 필요한 클래스를 JVM에 올린다. JVM (Java Virtual Machi..

멋진 졸업, 그리고 다음을 준비하며!

이번에는, 지금까지 진행했던 스터디 및 논문 이야기를 담아보았다. 크게 분류해보면, 1) Clinical application 임상/의료 응용, 2) Cloud, 3) 데이터 분석 정도로 볼 수 있다. 최근 1년간 공부한 걸로 따지면, 놀랍게도 "Cloud 컴퓨팅"이 대부분이다. 그리고 가장 많이 안쓰다보니 망각한 부분이기도 하다. 제일 처음 이 클라우드를 접한 것은 AWS, Azure, NCP도 아닌 GCP (구글 클라우드) 였다. 처음에는 이 플랫폼은 무엇인가 하다가, 캐글로 공부하다가 이 GCP에서는 가입하면, 제공하는 $300 무료 크레딧이 있는데, 이 크레딧으로 소위 비싸서 못싸는 GPU 서버(당시 기준 Tesla V100)를 적극 활용해볼 수 있다는 글을 보고 눈이 번쩍 뜨였다. 그 후로, 머..

일기장 2023.01.18

5th Pseudo-con: 함께할 의지와 혼자의 힘

수도콘(pseudo-con)을 묻는다면, 함께할 의지와 혼자의 힘이라 답하겠다. 들어가며 처음 이 행사에 참여했을 때, 참 많은 사람들이 고생했다는 느낌을 받았다. 네트워킹 데이 이후로, 가짜연구소(가짜연)이라는 비영리 기업이 120명 정원의 행사를 운영하려면 정말 금전적으로, 시간적으로도 많은 투자가 필요할 것이라 예상을 했다. 아래 포스터를 보니, Google cloud, MakinaRocks, nipa 의 후원을 받았다고 한다. 후원과 많은 봉사자들의 도움으로 개최될 수 있는 비영리 단체의 행사였다. 성장이라는 것을 표현하려고 태양이 크게 떠오르는 듯한 느낌의 연출이다. 후원해주신 마키나락스 사의 도시락과 커피, 그리고 가장 오른쪽에 노란 병은 오렌지주스이다. 가운데 검은 것이 포도주스로 알았으나,..

세미나 후기 2022.11.27