전체 글
-
북촌 한옥의 서막한옥 2024. 7. 30. 14:32
2023년 3월 25일, 드디어 북촌에 있는 한옥을 소유하게 되었다.흔히 말하는 '영끌'로 내 인생 두 번째 집을 손에 넣은 것이다.첫 번째 집은 부동산 폭등이 시작하기 전인 2020년 3월에 매각했는데, 지금도 가끔은...? 후회가 스멀스멀 올라온다. "그때 조금만 더 버텼더라면..." 하는 아쉬움이 남아있지만, 인생은 늘 앞으로 나아가는 법 아니겠는가.새로운 집을 매수하는 이야기도 드라마틱하기 그지없다. 두번째 집은 한옥을 사고 싶어서 많은 집들을 보고 다녔다.서울시에서 한옥 지원금도 굉장히 크게? 지원을 해주고 ( 사실 이 부분은 배보다 배꼽이 크다는것을 나중에 알게되었다.) 전통의 매력을 갖춘집을 서울 중심가에 갖는다는건 투자 가치로써도 큰 매력으로 다가왔다. 그래서 명륜동, 삼청동, 가회동, ..
-
spark write to parquet 를 빠르게 해보자.카테고리 없음 2020. 4. 22. 16:48
지금 진행중인 프로젝트에서는 parquet 를 사용해서 데이터를 저장한다. 근데... 초기 parquet로 저장하는 시간이 너무 오래걸린다.... 더더욱 문제는 300G짜리 데이터를 쓰는데...메모리에 한꺼번에 올려서 처리하는지... outofmemory 스러운 문제가 발생된다. 그래서 writing 하는 여러가지 방법을 테스트 해볼까 한다. 테스트에 사용되는 파일은 1억건짜리(1G) 데이터를 활용한다. 기존 write 방식 로직 수행시간 20~25분가량... orgDf.write.parquet( path=주소, mode="overwrite" ) 첫번째 partition을 사용하는 방법 데이터는 partition을 위핸 컬럼을 생성하여 준비 한다. 1억건을 1000개씩 자르는 간단한 코드를 준비한다. t..
-
Spark 성능 튜닝 ( inferSchema )개발 2020. 4. 20. 15:28
CSV 파일을 read 할경우 inferSchema=False 만해줘도 속도가 매우 향상됨 이렇게 쓸경우 schema 를 사전에 정의해줘야 하는 단계가 필요함. Spark 성능 튜닝 ( read, write 속도 올리기) CSV 파일을 read 할 경우 스키마를 사전에 정의하기만 해도 속도가 매우 향상됨 read 옵션 중에 inferSchema 가 있는데 해당 값을 False 로 셋팅해주면됨... ( inferSchema=False ) infer schema는 데이터의 스키마를 찾아주는 옵션입니다. infer schema 적용 전 1억건의 테스트 샘플 (csv 를 read 할경우 ) DEBUG 2020-04-20 15:16:41,883 : ### read csv start DEBUG 2020-04-20 ..
-
Sherlock and the Valid String 해석 및 풀이The HackerRank Interview Preparation Kit 2020. 3. 8. 21:55
문제 : https://www.hackerrank.com/challenges/sherlock-and-valid-string/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=strings Sherlock and the Valid String | HackerRank Remove some characters from the string such that the new string's characters have the same frequency. www.hackerrank.com 원문 : Sherlock considers a string to be valid if all characters of t..
-
Count Triplets 해석 및 풀이The HackerRank Interview Preparation Kit 2020. 3. 8. 17:56
문제: https://www.hackerrank.com/challenges/count-triplets-1/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=dictionaries-hashmaps 불러오는 중입니다... 원문 : You are given an array and you need to find number of Triplets of indices (i, j, k) such that the elements at those indices are in geometric progression for a given common ratio r and i < j < k For example, ar..
-
Sock Merchant 해석 및 풀이The HackerRank Interview Preparation Kit 2020. 3. 7. 16:17
문제 : https://www.hackerrank.com/challenges/sock-merchant/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=warmup 원문 : John works at a clothing store. He has a large pile of socks that he must pair by color for sale. Given an array of integers representing the color of each sock, determine how many pairs of socks with matching colors there are. For example..
-
순서 보존 암호화카테고리 없음 2019. 12. 19. 17:54
숫자형 범주에 대하여 그 대소가 유지되도록 다른 숫자형으로 암호화 하는 방식 예를 들어 20이라는 수를 300으로 암호화할 경우 20이상의 수는 300이상의 수로 암호화하고, 20이하의 수는 300이하로 하여야 한다. FFX(Format-preserving, Feistel-based Encryption) 모드를 구현한 파이썬 라이브러리 Github Source URL https://github.com/emulbreh/pyffx 관련 논문 The FFX Mode of Operation for Format-Preserving Encryption Addendum to “The FFX Mode of Operation for Format-Preserving Encryption”
-
S사 백엔드 코딩테스트 및 면접 내용일상 2019. 8. 11. 14:58
통신관련 S사 백엔드 개발자로 지원했던 내용을 정리해보았다. 코딩테스트 코딜리티(https://app.codility.com/programmers/)에 초대되서 3문제를 풀었다. 1. rather, harder 와 같이 키워드를 주면 해당 단어에서 틀린 스펠링의 갯수를 세는문제 public class test1_1 { public static void main(String[] args) { System.out.println(solution("a","z")); } public static int solution(String A, String B) { int[] resultArrayA = createCntArr(A); int[] resultArrayB = createCntArr(B); int result =..