본문 바로가기

전체 글198

10년만의 남북 정상회담 그 땐, 이러지 않았다.김대중 대통령, 노무현 대통령 때, 남북 정상회담은 당시 20대의 나에게 그렇게 크게 그리고 감동적으로 와닿진 않았다. 모니터 화면으로 본 오늘의 남북 정상의 만남은온 국민들에게 가슴 벅찬 일이었다. 10년이 흘러 40대가 된 지금의 나에게도 남북 정상의 만남은 충분히 감동적이고 가슴 벅찬 일이었다. 이젠 남과 북이 손을 잡고 밝은 미래를 그려야 할 때..부산에서 베를린까지 기차를 타고 여행하는 날도 곧 오겠지.적어도 오늘만큼은 통일이 정말 가깝게 느껴진다. 2018. 4. 27.
Java Synchronized을 이용한 트랜잭션 예제 Java Synchronized(동기화)란 여러 개의 Thread가 한 개의 자원을 사용하고자 할 때, 해당 Thread만 제외하고 나머지는 접근을 못하도록 막는 것이다.이를 응용해서, 은행 ATM 의 Transaction 예를 만들어보자. 시나리오1. User01이 ATM에서 돈을 인출하려 함.2. User02가 User01이 인출하고 있는 도중에, 돈을 인출할 수 없어야 함.3. User01의 인출이 끝날때 까지 기다려야 함.* 인출의 행위는 Thread간 상호 배타적으로 동작해야 함. package com.augustine.threadtest3; import java.util.concurrent.atomic.AtomicInteger; class SyncThreadTest { public static.. 2018. 4. 26.
SQLServer AdventureWorks DB 설치 과거 SQL Server을 설치하면, Test 용 DB 인 pubs, northwind 등이 기본으로 설치되어 있는데, 최근 버전(언제부터인지는 기억 안남)부터는 Test DB가 없다. MS에서 AdventureWorks 라는 database를 제공하는데, SQL Test를 위해 사용하기에는 꽤 괜찮다. 테이블 수도 많고. 먼저, googling으로 Adventureworks2012 sample databases 라고 검색 https://archive.codeplex.com/?p=msftdbprodsamples 로 연결되는데, 과거에는 sample database를 ms에서 링크로 제공했으나, 최근에는 github로 옮겼다.(아마 MicroSoft가 최근 github을 인수한 영향인 듯 하다. 적극적으로.. 2018. 4. 25.
Thread 예제 Runnable Interface를 이용한 Thread 만들기 Thread와 Runnable 의 관계는 일꾼과 작업 사이의 관계와 같다.따라서, Thread가 시작되었을 때, 그 Thread에서 할 작업을 줘야 한다. package com.augustine.threadtest1; class ThreadTest01 { public static void main(String args[]) { Runnable r = new Runnable1(); Thread t1 = new Thread(r); // 생성자 Thread(Runnable target) t1.start(); } } class Runnable1 implements Runnable { @Override public void run() { //threa.. 2018. 4. 25.
반응형