이 글은 내 1년차 개발자 회고 이다. 0. 들어가며 올해는 내가 회사에 입사해서 개발자로 일을 한 첫해로 모든 게 낯설고 신선했다. 그때 내 마음은 다음 문장으로 표현할 수 있었다. "내가 학교가 아니라 현업 실무에 투입된다고? 기능이 아니라 버그를 만들 것 같은데ㅎㅎ" 그리고 예상은 벗어나지 않았다. 1. Hello Wor.. 아니 Company! 정확히는 12월부터 입사해서 한 달 동안 교육을 받고 1월부터 실무에 투입되었다. 내가 배치된 팀에서 사용하는 주 언어는 JAVA였고 주 프레임워크는 Eclipse RCP를 사용했다. 얕게 공부를 해왔던 탓에 사용할 줄만 알지 JAVA가 어떤 언어인지는 하나도 모르고 객체지향 프로그래밍도 못하는 상태(디자인 패턴도 몰랐다.)에서 실무에 적응하는 과정은 재미..
개발자
자바에서는 문자열 대소문자 변환에 대해 함수를 지원해줍니다. toUpperCase() javadoc에서 가장 첫 문장을 가져왔습니다. Converts all of the characters in this String to upper case using the rules of the default locale. String에 있는 모든 문자를 default locale의 규칙을 기반해 대문자로 변환해줍니다. 즉 모든 문자를 대문자로 바꿔준다는겁니다. toUpperCase함수의 반환값은 String입니다. 사용법은 다음과 같습니다. String testStr = "PeterJames"; String testStrUpperCase = testStr.toUpperCase(); testStrUpperCase에는 ..
blogs.sap.com/2019/10/07/does-32-bit-or-64-bit-jvm-matter-anymore/ Does 32-Bit or 64-Bit JVM matter anymore? | SAP Blogs 0 Likes 1,907 View 0 Comments blogs.sap.com 위 블로그에 정리가 잘 되어있다고 생각해 나름 요약하며 번역을 해 보았다. 일단 대부분 사람들은 64비트가 32비트보다 크다고 생각해서 64bit JVM의 성능이 32bit JVM보다 훨씬 성능이 좋다고 생각한다. 아쉽게도 64bit JVM이 32bit JVM보다 성능 저하를 보일 수 있다. 퍼포먼스에 대한 문제점이 있다면 왜 64bit JVM을 사용하는가? 32bit JVM 의 최대 메모리 공간은 4gb이다. 그..
프로그래머스 문제 중 가운데 글자 가져오기 문제를 풀어보았습니다. programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 비교적 쉬운 문제라 제가 생각한 풀이 방법은 문장의 길이가 2로 나누어 떨어지는 경우와 나누어 떨어지지 않는 경우로 나누어 가운데 글자만 가져오는 방식으로 풀었습니다. def solution(s): answer = '' word_len = len(s) if word_len..
동일한 데이터 타입을 가진 것들은 모은 집합을 컬렉션이라 부른다. 컬렉션은 알아두면 정말 잘 쓰는 것들이고 그러기 때문에 기본적인 것들이다. 자료구조를 어느 정도 공부한 후 보면 이해가 빨리 된다. 자료구조를 쉽게 쓰라고 만들어 놓은 것들이기 때문에... 아래 표를 살펴보자. 출처 : https://www.javatpoint.com/collections-in-java이고 상당히 정리가 잘 되어있는 사이트이다. 자바에서 제공하는 컬렉션 프레임워크는 아래와 같은 구조를 가진다. 위 표를 말로 풀어 쓰면 아래와 같이 정리가 된다. Collection인터페이스는 Collection을 순회(탐색)하기 위한 Iterable 인터페이스를 상속받고 있다.(인터페이스가 인터페이스를 상속받는 경우는 구현이 아닌 상속으로 ..
SWT를 사용하여 GUI를 만들다 보면 마우스 스크롤 이벤트를 막아야할 때가 있습니다. 막기 위한 코드는 아래와 같습니다. swtObject.addListener(SWT.MouseVerticalWheel, new Listener() { @Override public void handleEvent(Event event) { // TODO Auto-generated method stub event.doit = false; } }); 막아야 하는 객체(swtObject)에 대해 리스너를 등록하고 막아야 하는 이벤트인 SWT.MouseVerticalWheel에 대해 설정해줍니다.
알고리즘을 조금씩 공부하며 제가 공부하거나 작성한 풀이에 대해 공유하고자 합니다. 물론 더 효율적인 방법이 많겠지만 이렇게 코드를 작성하는 사람도 있구나 하고 봐주시면 될 것 같습니다. 코드에 대해 최적화나 컨벤션은 맞지 않습니다. 아래 링크는 프로그래머스에서 풀 수 있는 모의고사 라는 이름의 문제입니다. https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr 문제를 풀기 위해서는 리스트를 순회하며 각 패턴을 ..
SWT를 이용하여 개발을 하면 종종 막히는 부분들이 있다. 그 중 하나는 방향키의 입력을 사용자로부터 막아야하는데 그 코드는 아래와 같다. swtObject.addListener(SWT.KeyDown, new Listener() { @Override public void handleEvent(Event event) { event.doit = false; } }); 막아야 하는 객체에 대해 listener를 붙여주고 SWT.KeyDown에 대해 설정해주면 된다.
ctrl + shift + t : class 검색 ctrl + h : 전체 검색 (hint 라고 생각하면 금방 외움) ctrl + l : 해당 라인으로 이동(line의 약자인듯) 함수나 변수를 클릭하고 ctrl + shift + h : call hiererchy (해당 변수, 함수가 어디서 호출되고 있는지 확인) ctrl + shift + r : open resource (리소스 검색) (resource의 약자?) ctrl + shift + f : 자동정렬 ctrl + shift + o : import 정리(아직 import안된 것들은 import해주고 미사용 import는 제거)
StringBuffer를 사용하는 이유 Q. StringBuffer가 뭐고 String 과 무슨 차이가 있어요? A. 둘다 문자열 만들어줍니다. 차이점은 String은 immutable 객체입니다. StringBuffer는 아닙니다. Q. 그게 뭔데요 A. String은 immutable(불변적인) 객체입니다. 즉 공간에 한번 잡히면 더이상 그 값이 변하지 않아요. Q. 이렇게 하면 잘 변하는데요? Stringtmp = "abcd"; tmp += "efg"; System.out.println(tmp); A. 그거 내부적으로는 이렇게 진행됩니다. Stringtmp = "abcd"; tmp = newStringBuffer(tmp).append("efg").toString(); System.out.printl..