본문 바로가기

IT/개발15

(자바) Surrogate Pair에 대해 정규식 검사가 되지 않는 버그 2021.07.27 - [IT/개발] - 유니코드를 활용한 개발 일지 유니코드를 활용한 개발 일지 유니코드라는 단어는 많이들 들어봤지만 실제로 어떻게 사용되고 있고 어떤 존재인지 자세히 아는 경우는 드물다. (사실 내가 그랬다.) 현재 데이터를 다루는 일을 하고 있다보니까 문자열을 다 ggtan.tistory.com 위 글에서 나타났던 원인을 드디어 발견했다! 환경에 따라 Supplementary Character에 대해 replaceAll()이 수행이 되지 않는 경우가 존재해서 계속 원인이 무엇일까 하며 JDK 별 / 버전 별 자바 구현체 코드를 뜯어보았다. 뜯어본 JDK는 Oracle, OpenJDK - 8/11/16이며 정확히 16버전에서 자바 정규식 검사를 위한 Pattern 클래스 내 사소한 변.. 2021. 8. 5.
유니코드를 활용한 개발 일지 유니코드라는 단어는 많이들 들어봤지만 실제로 어떻게 사용되고 있고 어떤 존재인지 자세히 아는 경우는 드물다. (사실 내가 그랬다.) 현재 데이터를 다루는 일을 하고 있다보니까 문자열을 다루게 되는 경우가 많은데 이번에 내가 맞닥뜨린 경우는 바로 이모지 😀😀😀 사실 우리가 입력하는 모든 문자열들, 심지어는 널문자와 개행 문자들은 구분되기 위해 각자의 고유 번호가 존재하는데 이를 '유니코드'라고 한다. 이러한 유니코드는 과거에는 U+0000 ~ U+FFFF (앞에 U+를 접두로 유니코드임을 나타낸다)의 범위였지만 구분되어야하는 새로운 문자들이 등장함에 따라 현재는 U+10FFFF까지 존재하게 되었다. (참고: https://unicode-table.com/en/blocks/) U+0000 ~ U+FFFF의 .. 2021. 7. 27.
뻘짓 개발 일기 이번 여름 전에 취업에 대한 불안감으로 여러가지 일들을 벌려 놓았는데 그 중에서도 가장 진전이 없던 것이 바로 한이음 프로젝트 인턴하랴 창업지원사업 참여하랴 살인적인 여름 일정에 7-9월이 날아가고 학기가 시작되면서 생긴 또 다른 전공 프로젝트가 겹쳐 한이음은 끝날 시작할 기미가 안보였다. 25일까지 결과보고서를 제출해달라는 충격적인 소식에 다급하게 시작된 프로젝트 해야하는 프로젝트는 그냥 트럭에 적재된 소금의 양을 카메라로 인식해서 어느정도 꽉 차게 되면 알람을 해주면 된다. 그래서 나는 요로코롬 적절하게 소금이 올라간 사진들로 트레이닝 시키면 되지 않을까 해서 바로 실천으로 옮겼다. 중간 중간에 비어있거나 적정량 미만으로 적재된 트럭의 사진을 넣으면 얘가 똑똑해지지 않을까 해서 함정카드들도 넣어봤다... 2020. 11. 23.
[Ubuntu 16.04] Kafka 2.6.0 설치하기 새롭게 시작되는 EFK 프로젝트에서 스트림한 데이터 처리를 위해 Kafka를 사용하기로 했다. 나도 처음 써보지만 나와 같은 상황을 겪을 사람들을 위해서 고난을 겪는 과정을 남겨보려고 한다. 시작을 대표하는 마법의 주문 sudo apt-get update 여기서 카프카를 관리해줄 주키퍼가 필요한데 주키퍼는 JVM기반으로 돌아가기 때문에 JDK이 필요하다. JDK 설치 여부 확인 java -version 만약 다음과 같은 문구가 뜨지 않는다면 JDK를 설치하자 apt-get install openjdk-8-jdk JDK 설치후 아까와 같이 설치 여부를 확인하여 잘 됐는지 확인 후 이제 Kafka를 설치해보자. 참고로 이번 프로젝트는 소형으로 진행되고 지원금이 일체없는 무급 프로젝트이기 때문에 CPU 1개 .. 2020. 10. 8.
EFK Stack을 이용한 프로젝트 시작! 일단 대략적인 취준이 끝났지만 학업이 끝난 것은 아니기에 여전히 일을 하고 있다.. 인턴 때 데이터 플랫폼을 다루는 개발, 특히 하둡, 스파크, 드루이드 등을 다루면서 대용량의 데이터를 가지고 분석하는 프로젝트를 더 해보고 싶었는데 이번 학교 전공으로 병렬처리 시스템을 수강하게 되면서 그 기회가 왔다. 사실 인턴 업무 때 끝자락에 EFK 스택을 적용해볼 기회가 있었는데 스칼라 입문과 동시에 스파크까지 다루려고 하다보니 시간이 부족해서 하질 못했다. 그래서 참 많은 아쉬움이 있었는데 요번에 전공 프로젝트를 진행하며 드디어 EFK스택을 적용한 시스템을 개발해볼 기회가 생겼다. 앞으로 귀차니즘만 도지지 않는다면 관련글들을 작성하지 않을까싶다!! 2020. 10. 8.
누가 자꾸 디비를 삭제해요 기상 창업 아이템 프로젝트를 하면서 진짜 작은 날씨 데이터들(강수확률, 기온, 미세먼지 전국 데이터)를 크론으로 등록해 매 갱신시간마다 API 호출해서 몽고에 저장하고 있는데 자꾸 데이터가 계속 날아가버리는 현상이 발생했다. 처음에는 내가 업데이트하는 코드를 잘못짰나? 라는 생각을 해서 코드도 이리저리 바라보고 바꿔봤는데 곰곰히 생각해보니까 한 번 서버 이전을 한 적이 있었는데 동일한 코드로 그때는 없던 현상이 지금 나타나는게 말이 안됐다. 따라서 /var/log/mongodb에 존재하는 로그를 확인해보니까 웬걸 저 이상한 놈이 자꾸 서버에 들어와서 몽고에 존재하는 모든 디비를 날려버렸다. 처음에는 설마 아무것도 없는 서버를 건드릴까? 그리고 분명 gitignore 잘 해놔서 config파일들은 안올라갔.. 2020. 8. 30.
주먹구구식 개발 일기 한국기상산업기술원의 2020 기상기후 청년창업지원사업에 선정되어 현재 프로젝트를 진행하고 있는데 인턴하랴 한이음하랴 도무지 제대로 집중할 시간이 안나지만 그래도 팀장이기 때문에 어떻게든 완성시켜야한다 프로젝트 기한이 8/20까지 인지라 개발은 끝마쳐야겠고... 지금까지 만든 것도 거의 없는지라 설계고 뭐고 그냥 생산성에 몰빵한 개발을 진행중 필요할 때마다 그때 그때 모듈과 함수를 만들어서 사용하고 있다. 서버 프레임워크는 역시 생산성의 쟝고를 DB로는 MySQL과 기상데이터 저장은 별개로 MongoDB를 이용해 저장하고 있다. 기상청의 Open API 전국 도시(육상지점코드)의 날씨를 데이터로 받아와 이를 이쁘게 잘 만들어서 저장을 해야하는데 1일 단위, 2~3일, 그 이후부터 ~10일까지 모두 다른 A.. 2020. 7. 3.
반응형