본문 바로가기

분류 전체보기

(48)
[Go] A Tour of Go - Basics (Packages, variables, and functions) A Tour of Go https://go.dev/tour/welcome/1 A Tour of Go go.dev 다음주 수요일까지 이 튜토리얼을 쭉 따라가면서 코드를 따라 쳐보면서 개념을 익혀보기로 했다. 강의를 듣는 것도 좋지만, 강의는 이 튜토리얼을 한 번 쭉 해보고 듣는 것도 나쁘지 않을 것 같다. 일단.. 좀 많이 코드를 쳐보면서 쭉쭉 진도를 빼야 할 것 같다. 오늘 정리하는 부분은 Basics의 Packages, variables, and functions 부분이다. 헷갈리거나 잘 몰랐던 부분만 정리해보도록 하겠다. Package Golang에서 패키지는 코드를 묶는 기본 단위이다. 따라서 모든 코드는 반드시 패키지로 묶어야 한다. 또한 Golang으로 프로그램을 작성한다면, 반드시 main 패..
[Java] 예외처리 예외가 발생하는 프로그램의 실행 순서 package com.company; public class Main { public static void main(String[] args) { int a = 10; int b = 0; int result = a/b; System.out.println(a + "을" + b + "로 나눈 값은 " + result + " 입니다."); } } 1. 예외 상황 발생 2. 에러와 관련된 정보를 가지고 있는 Exception 객체가 생성 3. Exception 객체가 소멸되지 않으면 프로그램은 비정상 종료 Exception 발생시 프로그램이 종료되기 때문에 뒤에 꺼까지 모두 실행되지 않음 예외가 발생하더라도 Exception을 적절하게 처리해서 프로그램을 비정상 종료되지 않..
[Database] Cluster Cluster A database cluster is a collection of databases that is managed by a single instance of a running database server. 데이터베이스 클러스터는 실행 중인 데이터베이스 서버의 단일 인스턴스에서 관리하는 데이터베이스 모음이다. from. postgresql 데이터베이스 클러스터는 한마디로 여러 데이터베이스들의 모음이라고 볼 수 있다. 왜냐하면 1개의 서버가 하나의 데이터베이스를 사용할 경우 서버가 죽으면 서비스가 죽는 현상이 발생하기 때문이다. 따라서 하나의 데이터베이스를 여러 서버가 나눠서 구축하게 되는데, 이러한 것을 클러스터라고 지칭한다. Clustering Database clustering is th..
[Database] RAC, HA High Availability 흔히 "고가용성"이라고 한다. 가용성이란 무엇인가? 서버와 네트워크 또는 프로그램 등의 다양한 정보 시스템이 정상적으로 사용 가능한 정도를 의미한다. 즉, 시스템의 가동률과 비슷한 의미이다. 가용성을 수식으로 표현하면 (정상적인 사용시간) / (전체 사용시간) 이다. 이 값이 높을수록 '가용성이 높다'고 표현한다. 그렇다면, 고가용성이란 무엇인가? 고가용성이란 일반적으로 서버와 네트워크 또는 프로그램 등의 정보 시스템이 상당히 오랜 기간 지속적으로 장애 없이 정상 운영이 가능한 성질을 의미한다. 따라서 DB와 관련하여 이런 고가용성을 위해 설계를 하는데, HA와 RAC 설계 방식 등이 있다. 고가용성을 위해서는 '백업'이나 '장애 극복 처리' 및 '데이터 저장' 및 '엑세..
[SQL] DQL, DML, DDL, DCL, TCL SQL (Structured Query Language) The database language by the use of which we can perform certain operations on the existing database and also we can use this language to create a database. 한마디로 데이터베이스 언어라고 보면 된다. 즉 테이블에 대한 명령어와 같은 것이다. SQL은 일반적으로 5가지 카테고리로 나뉘어진다. 1. DDL – Data Definition Language 2. DQL – Data Query Language 3. DML – Data Manipulation Language 4. DCL – Data Control Language 5. T..
[Java] 컬렉션 프레임워크 (ArrayList, HashMap) 컬렉션 프레임워크 객체를 담을 수 있는 신축성 있는 주머니이다. 객체가 아닌 것 ex. int, double, 등등..은 Wrapper class를 이용해서 객체로 변환 가능 참고로 인터페이스끼리는 상속이 가능하다. 인터페이스끼리 상속할 땐 다중 상속이 가능하다. 당연히 인터페이스끼리 구현은 불가하다. 구현은 일반 클래스에서 implements를 쓰고 구현해야 하기 때문이다. public interface Animals extends IBird, IFlay { // 인터페이스 간 다중 상속 가능 public void go(); public void run(); } 따라서 Collection은 List가 상속하는 구조이고, 인터페이스를 구현해야 하는 클래스 입장(LinkedList)에서는 구현하고 있다고 ..
[Java] 추상클래스 vs. 인터페이스 인터페이스 접근제어자 interface 인터페이스이름 { public static final 타입 상수이름 = 값; // 상수는 선언과 동시에 초기화 필수! ... public abstract 메소드이름(매개변수목록); ... } 인터페이스 내부에 선언하는 변수는 무조건 public static final이다. 인터페이스 변수는 상수로, 반드시 선언 시에 값을 대입해줘야 한다. 인터페이스 내부에 선언하는 메소드는 몸체가 없는 추상메소드이다. 인터페이스 사용 이유 개발 코드 안에서 여러 개의 객체를 변환해서 사용하고 싶을 때 개발코드를 수정하지 않고 사용하기 위해 인터페이스 사용함 개발코드를 수정하지 않고도 여러 객체 받아올 수 있으므로 인터페이스를 참조 변수의 타입으로 설정 class Buyer { //..
[Java] Object 클래스, 다형성 Object 클래스 Object 클래스는 모든 자바 클래스의 최고 조상 클래스가 됩니다. 따라서 자바의 모든 클래스는 Object 클래스의 모든 메소드를 바로 사용할 수 있습니다. 이러한 Object 클래스는 필드를 가지지 않으며, 총 11개의 메소드만으로 구성되어 있습니다. System.out.println(객체명); 만 입력해도 객체명.toString() 메소드가 호출된다. toString()의 리턴 값이 String이어야 한다. System.out.println()을 toString 안에서 하면 안된다. toString()은 문자열을 리턴해야 하는 메소드이므로! http://www.tcpschool.com/java/java_api_object 객체지향 프로그래밍 캡슐화 객체의 실제 구현 내용을 감추..