본문 바로가기

All

(50)
[개발생각] 리더의 역할이 구성원에 대한 기대와 어떤 관계가 있을까? 요즘 가장 많이 드는 생각이 있다. 리더의 역할이 구성원에 대한 기대와 어떤 관계가 있을까? 리더는 기본적으로 구성원을 잘 이끌어야한다고 누구나 생각한다. 이건 누구나 알고있는 만고의 진리같은것이라고 생각된다.하지만, 실제로 리더의 생활(?)을 경험을 해보면, 여기서 많은 괴리감이 생김을 알수있다.바로, 리더가 어미새, 코치, 선생님이 되어야하는가? 라는 생각이다. 구성원들의 모든 부분에 대해 파악을 하고, 누구와 사이가 좋은지, 좋지않은지를 알고, 어떤 업무를 싫어하는지 알아야하고, 왜 기분이 좋지않는지를 파악해야하는것... 이런것을 리더의 역할이라고 생각을 하는 구성원들이 많다는 것이다. 이런 부분을 해결해주지 않는 리더는 리더의 역할을 잘하지 못한다고 판단을 실제로 많이한다.(참 무섭지... ) 물..
[개발생각] ActiveMq에서 Topic을 Queue방식으로 컨슘하기 이번주에 삽질을 한부분을 글로 남겨둔다.ㅠ 셋팅문제긴했지만, ActiveMq는 사실 십몇년전에 레포트만들때 잠깐 사용한게 전부, ActiveMq에 Topic을 컨슘을 해야했다. 컨슘을 했고, 컨슈머를 이제 늘려서 성능을 높이려고 늘려서 테스트를 하는데,같은 데이터가 컨슈머 갯수만큼 들어왔다. 이상하다라고 생각이 들어서, 확인해보니,ActiveMq에서의 Topic은 Fan-Out방식으로 동작을 한다는것을 알았다.(하나의 이벤트를 여러 컨슈머가 동일하고 소비하는 방식)즉, 같은 이벤트를 동일하게 컨슘하는 방식이고, 여러 컨슈머가 서로 다른 이벤트를 소비하려면,Queue방식으로 컨슘을 해야한다는것을 알았다. 참... 토픽, 큐 정의 명확히 통일좀 시켜주면 안될까..ㅋㅋ카프카, 레빗엠큐, 액티브엠큐에서 의미하는..
[개발생각] Bloomfilter에서 삭제가 가능하다면? BloomFilter는 확률적으로 원소가 존재하는지를 확인하는 확률기반 알고리즘이다. 작은 메모리로 원소 존재여부를 확인할수있다. BloomFilter는 많은곳에서 활용이 가능하다. 공지/글등의 읽음표시여부에 사용할수도 있고 (내가 적용했지 후후..),디비의 조회를 줄이기위한 필터링으로도 사용가능하다 (HBASE가 정말 BloomFilter를 적극적으로 사용했지..) 하지만 이런 좋은 기능이지만, 단점이 하나있다.바로!!! 한번 저장한 원소(값)은 삭제를 할수없다는 것이다.이게 당연한것이,BloomFilter는 해시값을 비트버킷에 저장을 하는 방식이기에, 원본 데이터를 저장하지 않는다.따라서 원본 데이터를 알수없기에 삭제도 할수없는 것이다.따라서, 삭제가 필요하다면,BloomFilter 버킷을 새롭게..
[개발생각] jpa에서 조인 Entity를 사용하는 신박한 방법 JPA에서 엔티티에 관계설정을 하지 않고, 조인을 유연하게 사용하는 방법은 뭐가있을까? 정답은 아니지만, 오늘 좀 신박한 방법을 하나 생각해내서, 공유를 해본다. User, Group 엔티티가 존재한다고 해보자!User의 id와 Group의 userId로 조인해서, User정보와 Group정보를 합쳐서 사용해야한다.(Jpa에서 관계설정 방법은 지양하는 전제조건이다) 이럴때, 아래와 같이도 할수있겠다고 생각했다.(이런생각 한사람이 많을까? ㅋ.. 좀 정상아닌것 같기도 하지만.. 구현해보니 나름 장점이 많다)//UserRepository.ktinterface UserRepository : JpaRepository { @Query(" SELECT u, g FROM User u, Group g..
[개발생각] API 패키지를 어떻게 관리하면 될까? 클린코드에서든 레거시에서든, 어떻게 해야할까?라는 생각이 잠깐씩 들때가 있다. 바로 API패키지를 어떻게 가져가야하지? 생각이다. UserGetUsecase, OrderGetUsecase, ProfileGetUsecase가 있다고 하자!앱내의 My탭에서 정보조회를 해야하는데, 여러 이유때문에 User, Order, Profile정보를 하나의 API로 제공을 해야한다.또는 앱에서의 여러번의 API호출을 줄이기위해, API를 묶어서 한번에 조회하는 API를 제공해야한다면..이런경우, Facade를 만들거나, 컴포지트 Service를 만들어서 여러개를 조회해서, DTO로 내려주면 되기에, 큰 고민은 없는뎅... 고민은 DTO와 Package명, api경로가 영 너무 맘에 안들게 된다.예를 들면) /api/v..
[개발생각] SSS 암호화 대해서 Sharmir’s Secret Sharing 암호화 방법 있는데, 일명 트리플 S... 요즘 알고리즘 공부를 하고있어서, 생각난 암호화기술이긴한데, 생각보다 재미도 있고, 예전직장에서 이 암화화방법을 이용해서 아이디어를 냈다가, 까인적도 있어서..기억에 많이 남는다.(그런데, 왜 까였을까? ㅋ 아직도 모르겠다..) 예를 들면, "Hello Word"라는 문장을 암호화한다고 할때복호화 키를 몇개를 만들것이고, 해당 복호화키중에 몇개의 키가 있으면 복호화를 할수있는지를 미리 정해서 암호화를 할수있다. 예를 들면)평문 : 123 있다고 하자.함수: f(x)=123 + 2x + x² 암호화후 결과 값 :x=1 → 126x=2 → 131x=3 → 138 사람들에게:(1,126)(2,131)(3,138) 위..
[개발생각] PostgreSQL의 하이퍼테이블 사용 기존에 통계 데이터를 minute, hour, day, month등의 테이블로 나누고, 테이블에 날짜키로 Insert를 했었다... 일반적인 데이터의 크기라면 상관이 없지만, 데이터가 빅데이터 수준으로 늘어나게 되면, 여러가지 문제가 생긴다. 인덱스가 커지게 되고, 해당 인덱스을 메모리상에 올리지 못하게 될때는, 디스크 IO가 폭발적으로 발생할수있다.로우 삭제가 있는 테이블이라면, 추후에 VACUUM 오버헤드가 엄청나게 들어나게 된다.(VACUUM 작업은 그냥 디스크 정리 같은거라고 생각하면 쉽다.)삭제된 로우를 실제적으로 정리하면서, 인덱스도 지우고, 디스크도 정리하고 하는 작업인데,테이블의 데이터가 빅데이터라면, cpu 오버헤드가 상당해진다. 이런 단점을 극복하기위해서 PostgreSQL은 exte..
[개발생각] 애자일방법론에 대해서.. 애자일을 모든 사람들은 이야기하지만, 정작 애자일이 무엇인지를 정확히 알고있는 사람은 많지않다...아니..없는것같기도.. IT개발에서 가장 많이 하는 방식은 프로젝트팀을 구성하고,해당 프로젝트팀에 여러 파트 (기획, 디자이너, 프론트, 서버개발등등) 인원들이 멤버가 되어,어떤 목표를 가지고 서비스를 만드는 방식을 많이 사용한다.이렇게 목적 조직을 만들고, 운영하고, 서비스가 완성되면, 다시 해체하는 과정을 반복한다. 여기서, 이런 조직을 원활하게 운영하기 위한 방법으로 애자일 방식 활용을 많이 한다. 특히 IT조직에서는... 애자일의 뜻은 "긴밀하고, 민첩한"의 뜻이다.민첩하게 움직이려면, 수행해야하는것이 가벼워야하고, 긴밀하게 움직이려면, 수행해야하는것이 계획적이고 세밀해야한다. 민첩과 긴밀함은 사실..
[개발생각] 아파치 카멜 사용 후기 아파치 카멜을 본격적으로 써봤다. 스프링배치를 사용하려고 했는데, 이런저런 이유로 아파치 카멜을 사용하게 됐고, 후기를 남겨본다 카멜 vs 스프링배치 카멜은 DSL방식의 이벤트의 흐름을 정의하고, 이벤트의 라우팅을 쉽게 해주는 여러 컴포넌트를 제공하기에, 실시간성 이벤트 처리에 적합하다. 스프링배치는 청크단위 배치사이즈단위의 롤백처리라던가 재처리등을 할수있고, 이런 기능등을 활용하여 좀더 대용량처리에 적합하게 사용할수있다는 장점이 있지만, 실시간성 처리 (즉, 실시간으로 바로바로 처리를 해야하고, 최악의 경우는 문제가 되는 데이터처리는 스킵하면서, 실시간 처리를 해야할수도있는 경우)에는 다소 무거운, 그리고 러닝커브가 많은 솔류션으로 이해했다. 내가 카멜을 도입한 부분은 위에 말한 장점을 살리기 위한..
[개발 생각] 양자컴퓨터에 대해서.. 양자컴퓨터 주식을 예전부터 모으고 있다... 5년내에 유의미한 발전이 있을것이라는 결론과 함께 ㅋㅋ 예전에 양자역학과 양자컴퓨터에 관심이 있었고, 결국은 술좋아하면, 알콜중독으로 가듯이.. 양자역학, 양자컴퓨터 좋아하면, 관련 주식들을 사게 되더라는 ㅋ이미 주식은 많이 보유하고 있지만, 꾸준하게 사모을 예정이긴하다. (여윳돈이 생기면ㅎ) 최근에는 양자컴퓨터에 대해서 너무 러프하게만 알고있다고 생각이 들어서, 책한권을 도서관에서 빌려서 읽게 되었다.꽤 내용이 상세하면서 그간 궁금했던부분에 대해서, 이야기를 다루고 있어서 도움이 많이 된것 같다.책 제목은 "처음 읽는 양자컴퓨터 이야기"라는 책이다. (참 유익한 책이다. 추천!!!) 주의!!! 책팔이 아님!!!!! 너무나 궁금했던 부분이 있었는데, 이책을..