분류 전체보기
[한국경제 천자 칼럼] 아프간의 '당나라군' / 고두현 논설위원
아프가니스탄 수도 카불이 ‘최후의 순간’을 맞았다. 이슬람 무장단체 탈레반이 주요 도시를 차례로 점령하고 카불까지 밀어닥치자 아프간 정부는 항전을 포기하고 항복을 선언했다. 이달 말로 예정된 미군 철수가 채 끝나기도 전에 일어난 일이다. 그동안 정부군은 무기를 버린 채 앞다퉈 도주했다. 인구 4000만 명인 아프간의 정부군 숫자가 30만 명이 넘는데도 7만5000여 명에 불과한 탈레반 앞에 맥을 못 췄다. 뉴욕타임스는 월급을 받으려고 장부에만 이름을 올린 ‘유령 병사’ 때문이라고 설명한다. 실제는 5만 명에도 못 미친다고 한다. 미국과 국제사회의 지원금이 엄청났지만 이 돈도 줄줄 샜다. 미국이 20년간 쏟아부은 돈만 2조달러(약 2340조원)에 이른다. 자금줄로 따지면 게임이 안 되지만 정부군은 속수무책..
![입력(Scanner)받기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5i8VO%2FbtrcGjVK0KQ%2FGuKr0YqJ5NNyVHl4AJXbtk%2Fimg.jpg)
입력(Scanner)받기
Scanner 화면으로부터 데이터를 입력받는 기능을 제공해주는 클래스 화면뿐만 아니라 파일로부터 입력 가능 사용순서 import문 추가 Scanner 객체 생성 Scanner 객체 사용 Scanner 메소드 문자: .charAt() - String 문자열 해당 인덱스를 문자로 변환 정수: .nextInt() 실수: .nextFloat(), .nextDouble() 한 행: .nextLine(), .next() // import import java.util.*; // 리터럴 초기화 int nData = 0; double dData = 0; String str = ""; String str1 = ""; char ch = ' ';// '\u0000' or ' '(빈공백) 으로 초기화 // Scanner 객체..
![오버플로우(Overflow)란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLQofG%2FbtrcGrskUcc%2FVlqjl98EixAvalraQHdjKK%2Fimg.webp)
오버플로우(Overflow)란?
오버플로우(overflow) 500ml 물컵에 물을 501ml이상 담으면 물이 컵에서 흘러 넘치게 되는데 이를 오버플로우라고 한다. 자료형에서 확인 가능하듯 각각의 정해놓은 byte와 값의 허용범위가 있다. 이를 넘게 되면 정해놓은 메모리영역을 넘어 다른 메모리공간을 침범하기 때문에 에러가 발생한다. 오버플로우 에러를 악용하여 해킹에서 사용된다. 자바에서는 최소값 - 1 = 최대값, 최대값 + 1 = 최소값이 나온다. 허용범위 확인 MIN_VALUE, MAX_VALUE는 최소 허용범위와 최대 허용범위를 알려주는 메소드다. System.out.println("char: " + (int)Character.MIN_VALUE + " ~ " + (int)Character.MAX_VALUE); System.out...
KH정보교육원 JAVA 개발자 과정 1~4일차
1일 차 OT 및 자기소개 코로나 4단계로 격상되면서 강의가 온라인 Zoom으로 대체되었다. 오프라인으로 해서 의욕이나 습관 그리고 나에게 정말 부족한 인맥형성을 기대했지만 그럴 수 없게 됐다. 시작은 앱으로 QR코드를 찍어 입실과 퇴실 그리고 매 시간마다 출석을 체크하게 된다. 이러한 정보와 함께 학원에 대한 정보와 국비에 대한 정보에 대해 설명하는 OT 시간을 가졌다. 국룰, 바로 자기소개 시간이다. 카메라와 마이크를 켜고 이름, 나이, 취미 등을 소개한다. 그리고 강사님이 주시는 양식에 자기소개서를 작성해서 이메일로 보냈다. 2일 차 환경설정(1) 자바 프로그래밍을 하기 위해 간단한 설명과 함께 다운로드하고 설치한다. 컴퓨터에 대해 잘 모르거나 이러한 경험이 처음인 사람을 위해 정말 상세하게 잘 설..
![상수(Constant)란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq9hKX%2FbtrcEv9RfLh%2FOzUgGohcRKXeUPzKHPWX7k%2Fimg.jpg)
상수(Constant)란?
상수(Constant) 값이 확정되어 앞으로 변할 가능성이 없는 수 초기화 이후 프로그램 실행 중 값을 변경할 수 없다. final 키워드 사용 상수 선언 // 상수 선언 final int nAge; 상수 초기화 // 선언과 동시에 초기화 final int nAge = 330; // 선언 후 초기화 final int nAge nAge = 330;
![문자열이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqh2a1%2FbtrcHFQ9TRF%2FwfQ24lwoaJoCisG40zRiVK%2Fimg.jpg)
문자열이란?
문자열 여러 개의 문자들로 이루어진 구성을 문자열이라고 표현 " "안에 값을 입력하면 문자열로 인식 자바에서 제공하는 String 클래스를 사용하여 표현 클래스는 new를 사용하여 생성해야 하지만 자주 사용하는 관계로 1번처럼 사용 가능하다. 문자열 초기화 // 초기화 방법 1번 String str = "HelloWorld"; // 초기화 방법 2번 String str = new String("HelloWorld"); 문자열 예제 // 문자 1개를 가진 문자열 String str = "A"; // 빈문자열 String str = ""; // char는 빈문자를 가질 수 없다. char ch = '';//ERROR char 빈문자 에러 문자열 결합과 문자열 변환 any type + 문자열 = 문자열 문자열..
![기본형과 참조형, 자료형(Data Type), 값 대입, 리터럴(Literal), 접미사 접두사](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbI01Nk%2FbtrcLB1KQUu%2FhZtbfFK4hrNZdaABonSmx1%2Fimg.jpg)
기본형과 참조형, 자료형(Data Type), 값 대입, 리터럴(Literal), 접미사 접두사
기본형과 참조형 기본형 boolean, char, byte, short, int, long, float, double로 8개 각각 정해진 byte 크기에 실제 값을 저장 참조형 String, System 등 기본형 8개를 제외한 나머지 사용자가 생성 가능 4byte(32bit JVM) or 8byte(64bit JVM) 인 메모리 주소를 저장 String str;// 참조형 String str = new String();//String 객체 생성 Date today;// 참조형 Date today = new Date();//Date 객체 생성 자료형(Data Type) 일정 크기의 메모리에 저장된 정보를 해석하는 방법 Data의 본질은 숫자 Type은 서로 약속된 구조 자료형 분류 분류 자료형 범위 크기..
![변수(Variable)란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD6qR7%2FbtrcFYp8syH%2F91jGXEoOqb4s55HTSEruJk%2Fimg.jpg)
변수(Variable)란?
변수 구체화되지 않았거나 앞으로 변경될 가능성이 있는 수 하나의 값을 저장할 수 있는 메모리 공간 사용 목적 가독성이 좋아진다. 재사용성 증가한다. 코드량이 감소하고 유지보수가 용이하다. 예제 코드 변수를 사용하지 않은 코드 public class A_Variable { public void printValue1() { System.out.println(2 * 3.14159265 * 10); System.out.println(3.14159265 * 10 * 10); System.out.println(3.14159265 * 10 * 10 * 20); System.out.println(4 * 3.14159265 * 10 * 10); } 변수를 사용한 코드 public void printValue2() { d..
[경향신문 여적] 홍범도의 귀환 / 안호기 논설위원
“내가 죽은 뒤 나의 뼈를 하얼빈 공원 곁에 묻어 두었다가 우리 국권이 회복되거든 고국으로 반장해 다오.” 1910년 중국 뤼순 감옥에서 순국한 안중근 의사가 남긴 유언이다. 반장(返葬)은 객지에서 죽은 이의 시신을 고향으로 옮겨 장사 지내는 것을 뜻한다. 고향은 죽어서라도 돌아가고 싶은 곳이다. 6·25 때 북녘을 떠나온 실향민 상당수가 세상을 떠났다. 그들의 2~3세는 대부분 ‘나중에 통일되면 고향땅에 이장해 달라’는 유언을 듣는다. 독립운동가 홍범도 장군의 유해가 광복절인 15일 국내로 봉환된다. 홍 장군은 1907년 8월 일제가 대한제국 군대를 해산시키자 함경도에서 의병부대를 조직해 싸웠다. 1910년 두만강 건너편 간도로 근거를 옮긴 뒤 1919년 3·1운동 직후 가장 먼저 대한독립군을 조직했다..
[한겨레 유레카] 실언과 사탕 / 정남구 논설위원
미국의 과학저술가 샹커 베단텀은 (Hidden Brain)라는 제목의 책에서 ‘의식적인 뇌’에 대비되는 ‘숨겨진 뇌’라는 개념을 새로 내놓았다. 우리가 깨닫지 못하지만 우리를 조종하고 있는 다양한 영향력, 즉 무의식, 잠재의식, 암시성 같은 개념들을 포괄하는 말이다. 의식적인 뇌는 합리적이고, 신중하고, 분석적이다. 이와 달리 숨겨진 뇌는 일상적이고, 평범하고, 반복적인 일들을 하기 위해 마음의 지름길을 사용한다. 어린이가 세상에 널리 퍼진 편견, 편향을 곧장 학습하는 건 숨겨진 뇌의 작용이다. 의식적인 뇌가 그것을 통제하는 능력을 갖게 되면서 사람은 ‘어른’이 된다. 그런데 의식적인 뇌가 통제력을 제대로 발휘하지 못하는 때가 있다. 첫째, ‘압박감’에 시달릴 때다. 사람들의 관심이 집중된 정치인이 연설..
SQL과 C/S Tier
SQL(Structured Query Language)은 데이터베이스에 질의하여 데이터를 조회, 추가, 수정, 삭제를 할 수 있는 절차형 언어다. 기업에서 많이 사용되고 있으며 금융권, 모바일, 병원, 대학교 등 사용 분야도 넓다. Client/Server Tier 티어의 변화는 대략적으로 3단계로 나누어 볼 수 있다. 초기단계(Mainframe, Terminal) 메인프레임과 터미널로 이루어져 있는 유형이 1단계다. 특징은 해당 기업의 메인프레임 위주로 호환이 되기 때문에 폐쇄적이며 터미널 만으로는 딱히 할 수 있는게 제한적이다. 2단계(Unix, PC) OS가 Unix로 바뀌면서 개방적으로 변하고 터미널이 PC로 교체되면서 성능도 올라가 여러가지 다른 작업들도 가능해졌다. 3단계(Webserver, ..
[서울신문 씨줄날줄] 랜섬웨어2.0 / 전경하 논설위원
하버드대 출신 진화생물학자 조지프 포프 박사는 1989년 90여 개국의 후천성면역결핍증후군(AIDS) 관련 시민단체, 연구자 등 2만여명에게 ‘에이즈 정보 소개’라는 플로피디스크를 보냈다. 이 디스크는 PC에 저장된 파일들을 암호화했고 암호를 풀려면 189달러를 보내라는 메시지를 띄웠다. 189달러 사용처는 에이즈 관련 사업이었다. 그 디스크에는 ‘AIDS.trojan’이라는 소프트웨어가 있었다. ‘트로전’(trojan)은 정상 파일 형태로 위장한 악성코드를 뜻한다. 포프 박사의 행위는 공격 대상 내부에 침입해 파일을 암호화한 뒤 해당 파일을 이용하고 싶다면 돈을 내라고 요구하는 랜섬웨어의 시초로 평가받는다. 랜섬웨어는 ‘몸값’(Ransom)과 ‘소프트웨어’(Software)의 합성어다. 해커들은 과거에..