전체 글 131

커뮤니케이션1 - 용어와 발음

"온 땅의 구음(口音)이 하나이요 언어(言語)가 하나이었더라 이에 그들이 동방으로 옮기다가 시날 평지를 만나 거기 거하고 ....... 서로 말하되 자, 성과 대를 쌓아 대 꼭대기를 하늘에 닿게 하여 우리 이름을 내고 온 지면에 흩어짐을 면하자 하였더니 ..... 여호와 께서 가라사대 이 무리가 한 족속이요 언어도 하나이므로 이같이 시작하였으니 이 후로는 그 경영하는 일을 금지할 수 없으리로다 ..... 자, 우리가 내려가서 거기서 그들의 언어를 혼잡케 하여 그들로 서로 알아듣지 못하게 하자 하시고 여호와께서 거기서 그들을 온 지면에 흩으신 고로 그들이 성 쌓기를 그쳤더라 그러므로 그 이름을 바벨이라 하니 이는 여호와 께서 거기서 온 땅의 언어를 혼잡케 하셨음이라 여호와께서 거기서 그들을 온 지면에 흩으..

개발자 Life 2013.01.30

행복한 개발자

나의 학부 전공은 컴퓨터 공학이나 멀티미디어 공학이 아니라 기계공학이다. 기계공학과 학생들도 프로그래밍을 해야할 때가 있다. 새내기 때에는 교양과목으로 컴퓨터 프로그래밍을 배우고, 고학년이 되면 수치계산이나 전공과목에서의 과제를 위해 프로그래밍을 해야 할 일이 있다. 하지만 내가 SW 개발을 본격적으로 배우기 시작한 것은 대학원 입학 전 직업교육학교 때이니, 그 때 부터를 내 SW경력이라고 하면 10년 반 정도 개발자로서 살아왔다고 할 수 있다. 삶의 목표는 사람마다 다르겠지만 결국은 행복해 지기 위한 것이라고 생각한다. 그렇다면 개발자로서 행복한 삶을 살기 위해 행복한 개발자가 어떤 것인지 부터 정리할 필요가 있다. 10년이 지났지만 더 늦기 전에 정의부터 해 보기로 했다. 행복이라는 단어를 국립국어원..

개발자 Life 2013.01.20

[펌] [B급 프로그래머] 하루 안에 배울 수 있는 몇 가지 유용한 (컴퓨터) 기술이 무엇일까요?

출처: http://jhrogue.blogspot.kr/2012/12/b.html Git(또는 Hg)와 Github 활용법 배우기SVN 활용법 배우기간단한 정규 표현식 배우기프로그래밍 면접 질문이 담긴 사이트 방문하기. 답을 제대로 할 수 있도록 연습하자.웹 페이즐 방문해 기초 자료를 추출하도록 크라울러(웹 로봇)을 설정하자.선형 대수 라이브러리를 프로그램하기(행렬, 벡터, 곱셈)특이값 분해(SVD) 기능 추가하기역행렬 기능 추가하기최소 자승법으로 회귀 기능 추가하기흩어진(sparse) 자료를 효율적으로 다루도록 라이브러리 구축하기파이썬(또는 루비)으로 리스트 표현법 익이기좋아하는 프로그래밍 언어의 멋진 매뉴얼을 읽자. 과거에 파이썬 때문에 시간을 날렸는데, Counter 자료 구조가 존재한다는 사실을 ..

변화에 대처하는 방법

얼마 전에 공무원이라는 영화를 봤다.일상에 변화가 없다는 게 가장 큰 장점이라고 생각하는 7급 공무원이 그 주인공이다. 하지만 공무원이라고 업무에서 가정에서 그리고 자신의 인생에서 변화가 생기지 않을까? 회사 업무를 하다 보면 주위에 모든 것이 변한다. 조직개편이 되서 몸담고 있던 조직이 이동되기도 한다. 신입사원이 들어오고, 주위에 누가 퇴사했더라 하는 소식이 들려온다. 조직개편 되서 조직책임자가 바뀌면 무언가 이전에 있던 프로세스가 사라지고 새로운 프로세스가 생기기도 한다. 그런데 이게 그분이 처음에 의도했던 데로 항상 좋은 방향으로만 흐르지 않는 게 문제이긴 하다. 이건 다음 기회에 다시 이야기 하기로 하고 오늘 주제로 다시 돌아가자. 소프트웨어 개발 업무 중에도 역시 많은 것이 변경된다. -. 고..

[Eclipse] .classpath (Access is denied) 해결 방법

출처: http://chocopie_o.blog.me/140171509971 자바 개발시 다른 프로젝트를 eclipse 에서 추가하여 사용할 경우library가 맞지 않아 에러가 나는 경우가 있다.그래서 library를 추가하거나 path를 수정하여야 하는데, 그때 .class 에 Access denied 가 발생하게 되면해당 프로젝트가 있는 폴더로 이동하여 보면 .classpath 파일의 속성이 hidden 으로 되어 있는 경우가 있다.이것의 hidden 을 풀어주면 library의 변경이 가능하다.

Tips/Eclipse 2012.11.01

디자인 패턴 강좌 - Builder

이번 강좌에서는 GoF의 분류에 따라 생성(Creational) 디자인 패턴 중 하나인 Builder 패턴을 소개합니다. Builder패턴은 여러 개의 복잡한 객체를 모아 합성을 하는 공정이 있고, 복합 객체의 생성알고리즘이 요소 객체들 각각의 생성방법과 조립방법에 독립적일 때 쓰입니다. 도대체 이게 무슨 소릴까요? 좀 더 쉽게 이야기 하면 객체들을 조립하는 인터페이스만 외부에 공개하고 내부에 실제 생성되는 객체들을 숨기자~ 하는 것이지요. 예제를 한 번 볼까요? 요구사항이 다음과 같이 주어졌습니다. 어떤 내용을 포함하는 문서를 Text와 HTML 포맷으로 작성하도록 하여, HTML을 지원하지 않는 디바이스에서도 내용을 볼 수 있도록 한다. 즉, 다음과 같은 출력결과를 가지도록 하는 게 목표입니다. ==..

디자인 패턴 강좌 - Abstract Factory

이번 강좌에서는 GoF의 분류에 따라 생성(Creational) 디자인 패턴 중 하나인 Abstract Factory 패턴을 소개합니다. Factory Method 패턴에서는 상속을 이용하여 객체 생성을 파생클래스에게 위임하여 실제 생성되는 객체는 파생 클래스가 결정하도록 하였습니다. 이와 유사한 디자인 패턴으로 Abstract Factory 패턴이 있습니다.Abstract Factory 패턴은 Factory와 Product를 추상화 시켜 Abstract 클래스를 선언하고,실제 구현은 그 하위 클래스에게 위임하도록 합니다. 예를 들어 다음과 같은 요구사항을 구현해 봅시다. 아이스크림을 만드는 공장(IcecreamFactory)이 있습니다.이 공장에는 딱딱한 하드(Hard)를 만드는 라인과 부드러운(Sof..

디자인 패턴 강좌 - Factory Method

GoF의 분류에 따라 생성(Creational) 디자인 패턴 중 하나인 Factory Method 패턴을 소개합니다. 다음과 같이 문제상황이 주어졌습니다. 사용자 이름을 멤버 변수로 가진 CreditCard클래스가 있고, CreditCard 객체가 사용될 때 어떤 operation(use())을 하고자 합니다. 처음에는 이렇게 간단히 구현할 겁니다. Main.java public class Main { public static void main(String[] args) { CreditCard card = new CreditCard("홍길동"); card.use(); } } CreditCard.java public class CreditCard { public static final String USED..