개발 흉내
-
파이썬의 range는 게으른 연산(lazy evaluation)이다.개발 흉내 2022. 2. 21. 17:56
range 는 항상 같은 메모리를 차지한다. range 는 lazy evaluation 이기 때문에 범위가 커진다고 메모리가 커지진 않는다. >>> from sys import getsizeof >>> getsizeof(range(1_000_000_000_000_000)) 48정수값을 천조개를 미리 연산해서 갖고 있으려면 메모리가 적어도 1PB 는 있어야하지만 lazy 하게 연산하기 때문에 항상 일정한 메모리를 차지하게 된다. 1_000_000_000_000_000 in range(1_000_000_000_000_001) 는 빠르다. range 에 포함되어있는지를 계산하는 in 연산은 매우 빠르다. >>> from timeit import timeit >>> expr = """ ... 1_000_000_..
-
Embedded Redis 를 쓰면서 겪은 문제와 해결방안개발 흉내 2021. 12. 24. 13:33
key-value의 데이터 베이스가 필요할 때 redis를 사용한다. 스프링에서 Embedded Redis를 의존하여 쓸 일이 있었는데 문제와 해결을 몇가지 기록하려고 한다. 1. 의존성 문제 - slf4j logger 중복 구현으로 인한 컴파일 에러 2. 메모리 관련 플래그를 주지않아 실행 시 에러 3. 스프링 비정상 종료 시 레디스 서버가 꺼지지 않음 - 재시작 시 포트 중복으로 인한 에러 1. 의존성 문제 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/C:/Users/ROGAL/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-simple/1.7.32..
-
개수를 뜻하는 변수는 어떻게 지어야할까? count? number?개발 흉내 2021. 3. 31. 11:04
객체가 있고 그 객체를 세어서 저장해야할 때가 있다. 보통 countOfItem 을 많이 사용했는데 오늘 JPA의 응답을 보니 numberOfElements 라는 속성이 보여서 당황스러웠다. cntOfItem 이나 numOfItem 같은 보편적인 줄임말도 지양하라는 글을 어디선가 봤는데 또 다른 고민이 생겼다. 개수를 표현하는 말로써 count와 number 중에 어떤게 더 타당할까? https://stackoverflow.com/questions/6358588/how-to-name-a-variable-numitems-or-itemcount How to name a variable: numItems or itemCount? What is the right way to name a variable int ..
-
[자바스크립트] presignedUrl 다운로드개발 흉내 2021. 3. 30. 18:52
how to download s3 presignedUrl in javascript 최신 브라우저는 다음 코드로 충분하다. // download in modern browser function download (url) { const link = document.createElement('a'); link.href = url; link.click(); } a 태그를 생성하고 url를 잡아준 뒤 클릭한 것같은 효과를 낸다. 클릭에서 다운로드가 시작될 것이다. 근데 IE에서는 아무런 반응이 없다. DOM에서 로딩되지않으면 실체가 없다고 판단하는 모양이다. DOM에 추가한 뒤 바로 토끼자. // download in IE function download (url) { const link = document.cr..