분류 전체보기 7

숫자형 Data Type. 그리고 변수와 상수

Kotlin은 매우 실용적인 프로그래밍 언어이다. 현대의 프로그래밍 언어가 지향하는 방향성은 크게 4가지 정도가 있다. 첫번째가 실용성이다. 프로그래머에게 친숙하고 편리한 언어를 만드는 것을 가장 큰 목적으로 삼는다. 두번째는 엄격성이다. 어찌보면 실용주의적 프로그래밍 언어와 정 반대의 위치를 고수한다고도 볼 수 있다. 모든 것을 가능한 엄격하게 준수해야만 컴파일이 가능하도록 제하하는 언어이다. 이 엄격함 때문에 프로그램이 가져오는 잠재적 오류를 방지할 수 있다는 입장을 표명하는 언어이다. Scala 같은 언어가 대표적으로 엄격성을 지향하고 있다. 세번째는 특정 목적을 위한 언어이다. R과 같은 언어가 대표적이다. 마지막으로 쉬움 그 자체를 지향하는 언어들이 등장하고 있다. 주로 로우코드 개발 프레임워크..

Package와 Import

Java에서 소스 파일(*.java)의 첫 줄은 보통 package라는 단어로 시작한다. (사실 소스 파일의 첫 줄은 주석이어야 한다) Kotlin도 Java와 동일하게 첫 줄은 보통 package로 시작한다. 사용법도 동일해 보인다. 그렇다면 Package 정의 방법은 Java와 동일하다고 언급하고 다음으로 넘어가면 되겠다. 하지만, 다행스럽게도 Java와 다르다. Package가 다르면 얼마나 다르겠냐 싶지만 생각보다 꽤 많이 다르다. 아니 사실 다른 점이 그리 크지는 않다. 하지만, 그 크지 않은 차이점이 생각보다 많은 차이를 만들어낸다. 기본적인 정의 방법은 Java와 완전히 동일하다. ‘org.momo’라는 package를 선언해보자. package org.momo 숙련된 Java 개발자라면 이..

Java 따위는 버리고 Kotlin

1999년에 Java 개발을 시작했다. 막연히 Java를 사용해온지 오래 되었다고 생각하고 있었는데, 정확한 시간을 떠올려 보니 20년이 훌쩍 넘어선다. 이번에 들어온 풋풋함이 넘치는 신입사원이 20대 중반이다. 그 친구의 평생이라는 시간과 얼추 비슷한 시간만큼 Java와 지내왔다. 여러가지 상황과 유행으로 Java를 사용해왔지만, 나는 자신 있게 이야기할 수 있다. Java는 좋지 못하다. 나와 어느정도 같이 일을 해온 사람들은 잘 알겄이다. 내가 Java에 대해서 좀 과격한 표현으로 성토해왔다는 것을. Java는 한국의 SI 환경에서는 지금도 매우 확고한 위치를 차지하고 있다. 솔직히 그 강력한 영향력을 가지고 있다는 것 때문에 더 마음에 들지 않는 것 같다. 내가 더 Java를 싫어하게 된 가장 큰..

Grails 3 hsql datasource 설정

Grails 3 에서 hsqldb 를 사용하기 위한 설정 방법. 1. build.gradle의 dependencies 에 runtime 추가dependencies { ... runtime "org.hsqldb:hsqldb" ... } 2. application.yml 에 jdbc 설정 변경dataSource: ... driverClassName: org.hsqldb.jdbc.JDBCDriver dialect: org.hibernate.dialect.HSQLDialect username: sa password:environments: development: dataSource: dbCreate: ... url: jdbc:hsqldb:file:파일명jdbc url 은 hsqldb 의 online guide ..

인터넷으로부터의 공격 - 해킹시도?

얼마전에 Hacking 시도로 의심되는 무수한 Network 접근 시도가 사무실에서 사용 중인 Linux 장비에 포착되었다. 사실, 별 생각 없이. 그리고 별 탈 없이 잘 사용하고 있던 장비였는데, 어느날 문득 역시 별 생각 없이 Firewall의 Log를 살펴보았다. 이 때 부터 갑작스럽게 머리 회전이 빨라지기 시작하였다. Log에는 상당히 생뚱맞은 Network 접근 시도들이 무수히 기록되어 있었다. 생각하는 속도가 빨라짐과 거의 동시에 손가락을 움직이는 속도도 빨라지기 시작하였다. ("드르륵"은 마우스 휠을 굴리는 소리이다.) 타다다다닥. 타다다다닥. 타다다닥. 드르륵. 드르륵. 타다다닥. 타다다다닥... 이 Linux 장비는 공용(Public) IP Address 영역에 놓여있기 때문에 피부로 느..

Log 2007.08.20

JDK 6 update 2 (Java 1.6.0_02) 발표 내용 정리

몇 주 전에 JDK 6 (Java 1.6.0) 의 수정 버전인 update 2 가 발표 되었다. 사실, 발표 된 당일에 간단하게라도 내용을 정리하려고 마음을 먹었었지만, 이런 저런 핑계거리와 게으름에 발목을 잡혀 지금에서야 끄적거린다. Release note를 살펴보면 기대에 부합되게도 새롭게 추가 된 기능은 단 한 개도 찾아 볼 수 없다. 솔직히 이야기 하면 Release note의 상당히 앞 쪽에 위치한 "Java DB"에 대한 부분에서 이번 update에 새로 추가된 것인 줄로 착각을 했었다. 사실 여부를 확인하기 위해 싸이트를 여기 저기 뒤적거리다 JDK 6의 초기 버전에 Early access 버전의 Java DB가 포함되어 있다는 것을 발견했다. 머리가 나쁘면 손발이 고생한다는 말이 떠오른다...