전체 글

흔한 컴공 출신 개발자입니다. 제가 경험하고 공부하고 아는 것을 적어둡니다.
· JAVA
이 글을 쓰면서 너무 중구난방 한 글을 작성하지 않나 하는 생각이 머릿속을 계속 접근하고 있습니다.. class 파일의 내부 정의 키워드를 넣지 않는 등 일부 당장 필요가 없다고 판단되는 부분들을 임의로 삭제한다고 삭제하였는데 과연 좋은 판단이었는지에 대해서는 더 생각해보고 이 글을 수정하겠습니다. 0. 들어가며 JVM은 Java Virtual Machine의 약자이다. Virtual Machine이라는 단어에 주목해야한다. VM이라는 건 프로그램을 실행하기 위해 물리적 머신(즉, 컴퓨터)과 유사한 머신을 소프트웨어로 구현한 것을 말한다고 할 수 있다. 요즈음에 와서는 JAVA의 목적성에서 변색된 개념(왜 변색되었다고 말하는지는 추후 조사하여 작성하도록 하겠다..)이긴 하지만 자바는 원래 WORA(Wri..
알 수 없는 알고리즘으로 해당 사이트로 접근했다면 바로 전 글을 읽고 오시기 바랍니다. developer-youn.tistory.com/35 눈물없이는 볼 수 없는 회사 딥러닝 프레임워크 업데이트 모험기(1) 0. 들어가며 회사에서 맡은 제품 중 딥러닝으로 Objet Detection을 이용하는 제품이 있다. 이번에 성능 개선을 위해 tensorflow2.x버전으로 업데이트를 하려고 한다. 단순히 tensorflow버전을 올린다고 성능 developer-youn.tistory.com 4. protobuf 설치 내가 참고했다던 사이트를 따라하면서 했는데 protobuf에서 정상동작을 하지 않았다. 기존 tf1환경에서는 튜토리얼에 있는 proto보다 더 낮은 버전을 사용했던 기억이 나서 해당 버전으로 설치를..
0. 들어가며 회사에서 맡은 제품 중 딥러닝으로 Objet Detection을 이용하는 제품이 있다. 이번에 성능 개선을 위해 tensorflow2.x버전으로 업데이트를 하려고 한다. 단순히 tensorflow버전을 올린다고 성능이 좋아지지는 않겠지만 Tensorflow object detection model zoo에 있는 모델 중 성능이 괜찮은 것들은 tensorflow2로 되어있어 이번에 업데이트를 하려고 한다. 서버도 없고 그래픽카드도 없고 딥러닝 지식도 거의 없는 상황에서 맨땅에 헤딩하며 업데이트한 모험기 지금 시작합니다. 1. 그래서 어떻게 시작하라고요? 일단 가장 큰 문제는 서버였다. 내 컴퓨터에 그래픽 카드를 추가하면 되지 않냐 라고 할 수 있겠지만 라이젠 그래픽카드 소켓이여서 CUDA가 ..
· 책 리뷰
이번에 길벗출판사 14차 리뷰어에 선정되어 [자바 코딩의 기술] 책을 받고 리뷰를 하게 되었다. 1. 책의 크기 실은 책의 페이지 수와 크기가 생각보다 중요하다고 생각한다. 너무 크고 양이 많으면 부담스럽고 너무 작고 양이 적어도 내용이 부실할 수 있는데 적당한 크기에 부담 없이 읽을 수 있는 양이였다. 2. 책의 내용 작년에 회사에 입사하여 1년동안 자바 개발자로 지내면서 느낀 점을 이번에 이 책과 비교해보려는 목적이 강했다. 책 표지의 아래에 적혀있는 문구 "현장에서 뽑은 70가지 예제로 배우는 코드 잘 짜는 법" 이란 말처럼 자바 언어로 코딩을 하는 데 있어 코드를 깨끗하게 짜는 방법과 여러 팁을 알려주고 있다. 책의 내용에서 '아니 이걸 적어놨네?' 라고 감탄하며 봤던 부분은 java doc 부분..
이 글은 내 1년차 개발자 회고 이다. 0. 들어가며 올해는 내가 회사에 입사해서 개발자로 일을 한 첫해로 모든 게 낯설고 신선했다. 그때 내 마음은 다음 문장으로 표현할 수 있었다. "내가 학교가 아니라 현업 실무에 투입된다고? 기능이 아니라 버그를 만들 것 같은데ㅎㅎ" 그리고 예상은 벗어나지 않았다. 1. Hello Wor.. 아니 Company! 정확히는 12월부터 입사해서 한 달 동안 교육을 받고 1월부터 실무에 투입되었다. 내가 배치된 팀에서 사용하는 주 언어는 JAVA였고 주 프레임워크는 Eclipse RCP를 사용했다. 얕게 공부를 해왔던 탓에 사용할 줄만 알지 JAVA가 어떤 언어인지는 하나도 모르고 객체지향 프로그래밍도 못하는 상태(디자인 패턴도 몰랐다.)에서 실무에 적응하는 과정은 재미..
· JAVA
org.eclipse.ui.internal.console.IOConsolePartitioner 자바로 GUI프로그램(SWT, JFace, RCP)을 만들 때 IOConsole을 붙여 사용하는 경우가 있는데 해당 버퍼사이즈가 초과되면 OOM(Out Of Memory)가 나타난다. 이를 설정하기 위해 해당 클래스에는 setWaterMarks라는 함수가 있다. 해당 함수의 javadoc과 함수 형태는 다음과 같다. /** * Sets the text buffer size for this console. The high water mark indicates * the maximum number of characters stored in the buffer. The low water mark * indicates..
· 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에는 ..
· JAVA
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이다. 그..
· JAVA
1. 타임스탬프란? 특정 시간에 대해 일정한 포맷으로 기록을 한 문자열을 말한다. 일반적이라고 하면 애매하지만 YYYYMMDDHHmmss 포맷을 생각한다면 2019년 4월 18일 15시 30분 23초는 20190418153023 로 기록될 수 있다. 2. 그렇다면 자바에서는 어떻게? Date today = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddhhmmss"); String timeStamp = formatter.format(today); SimpleDateFormat의 생성자 파라미터에 원하는 포맷을 넣어준다. Oracle의 공식 문서에서 말하는 포맷은 다음과 같다. ※ HH는 24시, hh 는 12시로 나온다.
programmers.co.kr/learn/courses/30/lessons/12939 코딩테스트 연습 - 최댓값과 최솟값 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를�� programmers.co.kr 단순 최대 최소 구하는거면 빨리 끝나는데 문제는 각 값들이 하나의 문자열로 들어오고 부호까지 달려있다. 일단 split으로 공백 기준으로 나눠주고 다시 각 요소들을 int형 변환 후 정렬을 해주었다. 그 후 맨 앞 + 공백 + 맨 뒤 를 출력해주었다. def solution(s): answer = '' num_str_list = sorted(s.sp..
Berno
흔한 컴공 출신 개발자