전체 글 썸네일형 리스트형 Redis 개요 대충 레디스 캐시 관련하여 많이들 이야기를 들었을 것이다. 하지만 막상 레디스 관련 명확하게 정리된 서적이나 글이 많지 않고, (내용이 많지 않아서 일까?) 유용한 정보들은 유투브에 관련 내용이 많은 것을 보았다. 따라서 오늘 내용은 레디스 지식을 간단히 글로 정리해보려고 한다. Redis Remote dictionary server DB의 역할도 하고(No sql DB), 캐시의 역할도 하고, 메세지 브로커의 역할도 한다(!) 메세지 브로커가 생소할 수 있지만, 흔히 알고 계시는 Rabit MQ, Kafka 같은 친구들과 묶인다고 생각하면 된다. 왜 Redis를 사용할까? 인메모리 기준으로 정보를 가져오는 경우 쓸 수 있다. 컴터의 Main memory는 휘발성인데, 레디스는 여기에 저장하는 개념.. 더보기 Kotlin : NPE에서 자유로운가? 안녕하세요. 지난번 코틀린 5분정복 포스트를 마치고 JAVA언어와의 큰 차이점이라 볼 수 있는 Null처리에 대하여 다루어보려고 합니다. NullPointerException(NPE) 자바 개발자분들 이시면 로그에 이게 찍혀있으면 보기만해도 아찔한 오류인데요. 인텔리제이가 개발을 할때 어느정도 잡아주고는 있지만, (null 체크가 필요한다고 Warn 해준다 던지..) 실제 개발에서는 모든 코드에 if (varList == null){} 와 같은 널체크 코드를 넣어서 체크를 하기가 까다로운것이 현실입니다. 그러면 코틀린은 이와 같은 null 완전히 해결해주고 있을까요? Null safety | Kotlin (kotlinlang.org) 코틀린에서는 변수에 null을 허용하지 않습니다. 그렇지만 null의 .. 더보기 Kotlin이란 ? 5분 정복 코틀린.. 더이상 미룰 수 없는 언어가 되었다. 본인이 Java base 개발자라면 팀에서 코틀린을 사용하지 않을 이유가 없다. JVM기반이라 learing curve가 짧다는 이유로 자의든 타의든 이제는... 알아야 한다. 하지만 우리는 시간이 많아도 시간이 없으니 (ㅎㅎ 유툽봐야징) 다른거 다 생략하고 필요한 정보들만 간단하게 정리해본 포스팅이다. 1. Java와 비슷한건알겠는데 어떤것이 비슷할까? jvm 기반 JAVA와 코드 상호 운용이 100퍼 지원 (인텔리제이에서 코드를 바꿔주는 기능이 있음) 나머지는 코드를 보면서 알자 2. 여기까지 알았으면 바로 개발환경 설정 고 준비물 jdk (깔려있겠죠? 버전달라도 인텔리제이가 알려줌 ㄱㅊ 일단 인텔리제이키셈) intelliJ 인텔리제이에서 new pro.. 더보기 백엔드 기술 질문 정리 안녕하세요. 오늘은 이게 뭔지 들어보기는 했지만,.. 막상 친구에게 질문을 듣거나 누가 설명해봐! 라고하면 막혔던 질문들을 간결하게 정리해보는 글 입니다. 글을 길고 자세하게 쓸 여유도 없고 시간도 없어서 (카페가 9시에 문을 닫네요..) 간결하게 설명 할 수있는 핵심만 정리해보았습니다. 1. Rest api란 무엇인가? - representational State Transfer API : 즉 자원을 이름으로 구분하여 자원의 상태를 주고받는 모든것. - HTTP 웹의 장점을 최대한 활용할 수 있는 api 아키텍처 - (자원, 행위 , 표현) 3가지로 구성되며 각각 앞에서부터 차례로 (자원을 구분하는 ID로URL, [GET,POST같은 메소드], JSON) 를 예로 들수 있다. 2. Gradle과 Mav.. 더보기 [파이썬][HackerRank]Luck Balance .python 문제 풀이 1. 문제 해석 레나가 코테에서 떨어질때마다.. 운이 쌓이는데 그것을 최대 스택으로 쌓고싶다는 내용이다. 행운 스택에는 음수도 있다는게 마음이 아팠다.. 레나의 모든 contest에 행운이 함깨하길 바란다. L은 시험에 떨어질때 얻는 행운수이고T는 중요한 시험 여부이다. k는 중요한 시험에서 더이상 질수없는 횟수이다. 한국말이라 이상한데 she cannot lose more than k 이렇게 보면 된다. 따라서 피통이 k=4이면 T가 1인(중요한시험에서) L을 얻을때마다(질때마다) 피가 까인다고 생각하자. 영어라 문제를 이해하는데 시간이 좀 걸렸다.. 2. 접근 방법 행운을 최대로 모아야 하므로.. 일단 최대한 져야한다. T를 보면...~ 0 : 안중요한 시험 일때는 무조건 지면된다. 1: 중요한 시험.. 더보기 [파이썬][HackerRank] Minimum Absolute Difference in an Array . python 문제 풀이 1. 문제 이해 제목과 같다. 배열의 숫자 두개중에 절대차가 가장 작은거를 찾으면 된다. 2. 풀이 접근 3 -7 0 일때는 완전탐색 해야겠다고 생각했다. 3과 7의 차를 저장하고~ 0과 3의 차를 저장하고 그것을 리스트에 넣어서 min 써야겠다~ 하지만.. -59 -36 -13 1 -53 -92 -2 -96 -54 75 완전탐색을 하려면 -59와 75까지 n번,,, -36과 75까지 n번.. n^2번이 걸리겠구나 뒤늦게 깨닳았다. 거기에다가 min 까지쓰면 n^2을 한번 더 실행.... 주어진 n의 개수를 떠나서 5개만 넘어가도 알 수 있는 완전탐색을 하면... 안되겠는 문제다... 어쨌든.. 여러생각끝에 정렬을 해야하는 문제겠거니 했다. 저번에 포스팅 했듯이.. https://jellysbin.tis.. 더보기 [python][HackerRank] Making Anagrams 문제 풀이 파이썬 1. 문제 해석 어떠한 학생이 아나그램..? 을 배웠다는 스토리로 시작한다.. 각 문자의 중복이 없게 삭제할 문자(알파벳)의 개수 구하기 2. 접근 방법 python의 collections 모듈의 유용한 함수인 Counter 객체가 있다. 알고리즘 문제를 풀다보면.. 고수분들이 저 모듈로 한줄에 풀어버리는 경우가 있었다. 일단 알파벳이 몇개있는지 알아야하니깐.. (순서 상관없이) 해당 모듈을 사용할 수 있다. 사용법은 다음과 같다. import collections 한 후, collections.Counter(arr) #리스트의 개수만 카운트한다.. 따라서 문자열을 list로 변환하는게 우선일것이다. 그다음 알파벳이 몇개씩있는 딕셔너리를 얻었으므로, 중복된 문자를빼준다. 그리고 남아있는 친구들의 출현횟수.. 더보기 [파이썬]코딩테스트 문제 유형 - 정렬 : Tim sort 정렬하거나, 탐색을 해야하는 문제를 접하면 출제자가 의도적으로 삽입정렬이나, 기타 특정 정렬을 사용하라고 하는것이 아니면 (정렬과정을 출력해야하는 경우는 대부분 특정 정렬을 직접 구현하는게 알맞는 방법일것이다.) arr = [정렬할 친구들..] arr.sort(조건들..) #또는. sarr = sorted(arr,조건들) 낮은 레벨의 문제들은 위와같은 python의 sort함수들로 풀린다. (정렬된 배열을 바탕으로 풀이시작) 왜나면 내가 아무리 코드를 구현해봐도 전체 정렬은 저게 제일 빠를것이다. 이유는 아래.. 아이러니하게도 가져다 쓰는게 제일 편하면서 빠르다...(코드치는 시간도 빠르고, 정렬도 빠르고..) 해당 sort함수와 sorted함수는 팀이라는 사람이 만든 Tim sort 알고리즘을 토대로 .. 더보기 이전 1 2 다음