전체 글

초보 개발자의 지식 공유의 장
JAVA 네트워크 프로그래밍 네트워킹의 개념은 컴퓨터들을 서로 연결하여 데이터를 손쉽게 주고받거나 또는 자원을 함께 공유하고자 하는 노력에서 시작되었다. 자바에서 제공하는 java.net패키지를 사용하면 이러한 네트워크 어플리케이션의 데이터 통신 부분을 쉽게 작성할 수 있다. InetAddress Ip주소를 다루기 위한 클래스 URL(Uniform Resource Location) URL은 인터넷에 존재하는 여러 서버들이 제공하는 자원에 접근할 수 있는 주소를 표현하기 위한 것 ‘프로토콜://호스트명:포트번호/경로명/파일명?쿼리스트링' URLConnection 어플리케이션과 URL간의 통신연결을 나타내는 클래스의 최상위 클래스로 추상클래스 HttpUrlConnection과 JarURLConnection이..
try-with-resource문은 무엇인가? 자바7은 try/catch/finally문과 함께 유용하게 사용할 수 있는 문법을 제공한다. AutoCloseable 인터페이스를 구현한 FilReader 클래스를 이용하면 아래와 같이 자원 종료를 걱정할 필요가 없다. => 자원 해제 자동처리 기능 public void resourceHandling(){ try(final FileReader reader = new FileReader("/test/test.txt")){ final char[] buffer = new char[128]; reader.read(buffer); }catch(IOException e){ } }​ try-with-resources문이 도입되기 전에는 reader 인스턴스를 명시적으로 ..
local에서 commit 후 remote repository로 push를 하는 과정에서 에러가 났다.에러로그메시지는 아래와 같다.Updates were rejected because the remote contains work that you do not have locally.(무척당황했었음..) 구글링 결과 에러의 이유는 아래와 같았다.=> gitHub 레파지토리에서 README.md를 생성한적이 있는데, 이 파일때문에 에러가 난 것이다.When you created your repository on GitHub, you created a README.md, which is a new commit.your local repository doesn't know about this commit yet...
대화Make it delivery.* 배달해 주세요. Where do you want it delivered?* 어디로 배달해 드릴까요? To the Hilton Hotel. How much is it?* 힐튼호텔로 배달해 주세요. 얼마인가요? Fifty dollars.* 오십 달러입니다. How do I play you?* 비용은 어떻게 드려야 해요? You can pay the delivery boy.* 배달원에게 결제하시면 됩니다. => pay 4형식 동사 (~에게 얼마를 지불하다.) => 3형식 (내다/지불하다) 문장I'd like to cancel my order. if possible.* 아직 출발 안 했으면 주문 취소하고 싶어요.
대화It was so fast that I freaked out.* 너무 빨라서 정신이 없었어요.=> so 형 + that 절 : 너무 ~해서 ~하다. I have a sore throat. May be I screamed too much.* 전 목이 아파요. 소리를 너무 질렀나 봐요.=> sore : 아픈 문장It was really fun* 너무 재밌었어요.It's really magnificent.* 정말 어마어마하군요.There are so many people today.* 오늘 사람들이 참 많아요.It's magnificent.* 장엄하네요.oh, I feel dizzy.* 아, 어지러워요.I felt like I was going to die.* 죽을 것 같았어요.
정수로된 배열이 주어지면, 각 원소가 자신을 뺀 나머지 원소들의 곱셈이 되게하라.단, 나누기 사용 금지, O(n) 시간복잡도 예제)input: [1, 2, 3, 4, 5]output: [120, 60, 40, 30, 24] 문제를 보자마자 쉽다 라고 생각했는데 시간복잡도가 O(n)에다가, 나누기를 사용할 수 없다..공간을 활용해서 풀어야한다.input과 output의 관계를 살펴보자.input array = [ array[0]. array[1], array[2], array[3], array[4] ];output answer = [ array[1] * array[2] * array[3] * array[4] , array[0] * array[2] * array[3] * array[4], array[0] *..
Git으로 형상 관리하기 기본용어 이해커밋하는 단위에는 다음과 같은 내용이 포함되어 있다.스냅샷(snapshot)git에서 커밋할 때마다 발생하며 커밋한 시점의 형상관리 상태를 의미. 버전이라는 의미도 내포하고 있다.트리(Tree)파일과 디렉터리의 구조 정보를 저장하고 있다. 일반적으로 파일 시스템이 트리구조를 가지고 있기 때문에 형상 관리 역시 트리 형태로 스냅샷을 저장한다.저작자(Author)git에서 관리하고 있는 파일 혹은 디렉터리를 최초로 생성한 사람의 정보이다.커미터(Committer)최초 파일이 저장소에 반영되면 저작자와 커미터가 동일하지만 이후 해당 파일을 다른 사람이 수정하게 되면 커미터가 변경된다. 저작자는 파일을 생성한 사람. 커미터는 파일을 수정한 사람커밋 메시지(Commit Mes..
컬렉션 프레임워크자바에서는 많은 수의 다양한 패키지(Java API)를 제공하여 개발자들이 자바 어플리케이션을 쉽게 개발할 수 있도록 도와준다.그 중 컬렉션 프레임워크에 대해 알아보겠다.컬렉션 프레임워크는 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스이다. 컬렉션 프레임워크의 핵심 인터페이스- List, Set, Map각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스르 정의하고, 인터페이스 List와 Set의 공통된 부분을 다시 뽑아서 새로운 인터페이스인 Collection을 추가로 정의하였다. List순서가 있는 데이터의 집합, 데이터의 중복을 허용한다.ArrayList, LinkedList, Stack, Vector 등Set순서를 유지하지 않는 데이터의 집합. 데이터의..
형상관리를 해야하는 이유실수, 고의로 파일을 삭제시, 복구할 방법이 없음하나의 파일을 여러 사람이 동시에 작업 불가이전 데이터로 복구 불가 형상관리의 장점소스코드 변경 이력 관리프로젝트 팀원 및 관계자들이 서로 공유 가능장애 혹은 기능상 필요할 때 이전 버전으로 복구 가능동일한 소스 코드를 공유해서 개발 가능, 버전 충돌 문제 관리 가능 요즘 형상 관리 도구에서는 동시 작업을 위한 처리 방식으로 Copy-Modify-Merge 방식을 사용한다.=> 다른 개발자가 소스 코드에 접근 하지 못하도록 Lock을 거는 방식이 아니고, 수정을 원하는 개발자가 소스 코드를 다운로드해서 수정한 다음 형상 관리에 커밋을 하되 버전에 충돌이 생길 경우 머지 명령을 통합해서 이를 해결하는 방식이다.다른 개발자의 수정 작업이..
메이븐(maven) 의존성 관리pom.xml에 lib관련 내용을 추가하면 maven repositoy에서 라이브러리를 다운받아서 로컬의 메이븐 저장소에 저장(기본 위치는 사용자 홈 디렉터리 하위의 .m2 디렉터리에 저장되며 설정에 따라서 위치 변경 가능)ex) maven Repositoy(http://search.maven.org/) 의존성 관리를 하면서 빼놓을 수 없는 것이 관련 라이브러리를 메이븐에서 어느 범위까지 적용해서 사용할 것인지 정의하는 부분이다.메이븐에서 사용가능한 5가지 범위 존재Compile- 기본값, 컴파일 범위는 모든 단계. - 즉, 컴파일, 테스트, 실행, 배포 전체에 클래스 패스로 사용되며 현재 프로젝트와 연관된 다른 프로젝트에도 영향을 준다.Provided- Compile 범위..
깡냉쓰
평범한 개발자 노트