카톡방에서 이야기를 하다가, 파이선은 '각'을 유니코드 포인트를 나타내는 정수로 쉽게 변환할 수 있단 걸 알게 되었습니다. 그것을 토대로 규칙을 찾아서 분리한다. 괜찮은 방법입니다. 일단 문자를 문자 번호로 변환하는 것부터 해야 겠는데요. 이럴 때 쓸 수 있는 것은 ord 함수입니다. ord 함수는 유니코드 문자가 하나 주어지면, 그것을 코드 포인트로 바꾸는 함수입니다. 다음을 수행해 보겠습니다. Cpython 3.x대에서 수행하였습니다. 44032가 나옵니다. '가'의 유니코드 포인트는 AC00입니다. 그리고 결과값으로 나온 44032를 2진수로 변환해서 HEX 값으로 보면 AC00임을 알 수 있습니다. 그러면, '각'과 '값' 등은 어떤 값으로 할당이 되어 있을까요? 이 문서를 보시면, 사전순으로 코..
레퍼런스/예제 검색 결과
python에서 string에 append를 할 때, list에 append를 하고, join 메서드를 쓰곤 합니다. (전 귀찮아서 +=을 쓰곤 했습니다.) 간단하게 알아보겠습니다. 이 문서를 보시면 다음과 같이 정의가 되어 있습니다. iterable. 이는 반복될 수 있는 이라는 뜻을 가집니다. 그런데, 사실 이 블로그에서도 몇 번 이야기를 했습니다. 이터레이터. c++ STL 하면서 몇 번 언급을 했는데요. 순회 가능한 무언가라고 보시면 됩니다. 파이선에서는 dict, set, list와 같은 것들이 있습니다. 그러면 앞에 붙는 문자열이 어떤 역할을 하는지 보겠습니다. list li에 'A', 'B', 'C', 'D'가 있습니다. 2번째 줄에 '#'.join(li)가 있습니다. 결과값을 봅시다. A#..
처음 백준을 하시다 보면, 출력하실 때, 개행을 출력하기 위해서 endl을 많이 쓰는 실수를 합니다. 이게 어떤 문제가 있는지 공식 문서를 하나 하나 해석해 보면서 알아보겠습니다. 먼저 링크를 보시면 아래 문구가 눈에 보입니다. 개행을 stream에 insert를 한 다음에, stream을 flush 한다고 해석할 수 있습니다. 그러면, 이게 얼마나 시간을 많이 먹는 작업일까요? 간단하게 테스트 프로그램을 하나 만들어 보겠습니다. 123이라는 문자열을 2000만번 출력하는 프로그램입니다. 그리고, 이 작업을 하기 전에 시간을, 한 후에 시간을 출력함을 알 수 있는데요. 간단하게 시간을 측정하기 위해서, 이 방법도 나름 쓸만합니다. 저는 ex를 실행시켜서 출력된 결과를 1.txt에 넣겠습니다. 그리고, 1..
요새 jsch를 유튜브 보면서 공부하고, 샘플 프로그램을 작성하고 있습니다. 유튜브에서, java의 properties 클래스를 이용해서 셋팅값을 넣는 것을 보았습니다. put 함수를 넣으니까 새삼 편하구나. 이렇게 느꼈습니다. 그러다가 문득, 이런 생각을 하게 되었습니다. Jdbc에서, 데이터베이스에 접근하기 위해서는, connection을 생성해야 합니다. 위 프로그램에서는 getConn 메서드가 그러한 역할을 수행합니다. getConn 내부를 보겠습니다. Connection을 얻기 위해서, 3개의 정보를 넘겨줍니다. 접속할 주소, 유저 이름, 패스워드. 이렇게 3개입니다. 그런데, 이것을 java 파일 내에 하드코딩을 하고 있습니다. 이 방법은 그렇게 좋아보이지는 않습니다. 파일로 저장하고, 그 파..
System의 arrayCopy는 생각보다 레퍼런스 내에서 상당히 많이 보이는 메서드입니다. 배열을 복사하는 것은 상당히 많이 쓰이기 때문입니다. 이것이 어떤 함수인지 간단하게만 언급하도록 하겠습니다. 분석까지는 하지 않겠습니다. 먼저, src는 source를 의미합니다. 원본이 들어있는 배열과, 복사를 시작할 위치를 받습니다. 그리고, 복사된 값을 넣을 배열과, 넣기 시작할 위치를 받습니다. 그리고 얼마나 넣을 것인지를 받습니다. 여기까지만 보면 도무지 무슨 이야기인지 잘 모르겠어요. 예제를 보도록 하겠습니다. 예를 들어서, 1번째 인자가 arr, 2번째 인자가 0, 3번째 인자가 brr, 4번째 인자가 10, 5번째 인자가 10이라고 해 보겠습니다. 이 경우에는, 배열 arr의 0번째 원소부터 x개를..
최근댓글