자바에서는 문자열 대소문자 변환에 대해 함수를 지원해줍니다. 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이다. 그..
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/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에 대해 설정해주면 된다.
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..
이전에 작성한 다른 블로그에서 가져왔습니다. 실은 이게 불법인것 같긴 한데 너무 인터넷에 프로그램도 많고 심지어 pypi에 라이브러리도 있어서 그냥 장난삼아 만들고 간단한 제작 방법 및 후기 남기고자 글을 작성합니다. 코드를 매우 못생기게 작성했고 이런 라이브러리가 있다는 정도로만 이해해주시면 될 것 같습니다. 1. 우선 가장 중요한 pytube 라이브러리를 먼저 설치합니다. pip install pytube 2. 파일 필터링 pytube.YouTube(url).streams.filter(subtype='mp4').all() url에는 원하는 링크를 넣어주시고 저 코드를 실행하여 출력하게 되면 mp4의 확장자로 된 동영상 파일에 대해 각 화질, 프레임 수 등 다운받을 수 있는 내용들을 보여줍니다. ..