flatMap & concatMap & flatMapSequential

  • flatMap
    • 입력/출력 순서가 일치하지 않는다.
    • 내부 병렬처리
  • concatMap
    • 입력/출력 순서 일치
    • 내부 순차처리
      • 전체적으로 로직이 순서보장이 필요한 경우
  • flatMapSequential
    • 입력/출력 순서 일치
    • 내부 병렬처리
      • 전체적으로 순서가 필요하나, 내부처리가 순서보장이 필요없을 경우



redmine 플러그인 설치

  • apt-get 사용하려면
    • redmine:4.2.4 설치
  • 플러그인 설치
    • 사전 처리
      • apt-get update ; apt-get upgrade
    • DMSf
      • apt-get install -y build-essential
    • ckeditor
      • apt-get install -y imagemagick
      • apt-get install -y shared-mime-info
    • additionals, clipboard_image_paste, clipboard_image_paste, redmine_banner, redmine_comment_only, redmine_custom_css, redmine_image_clipboard_paste, redmine_issue_dynamic_edit, redmine_knowledgebase, redmine_lightbox2, redmine_pivot_table, redmine_preview_inline, redmine_smile_togglesidebar
  • docker 의 경우, 별도 커밋하여 관리 필요
    • docker commit 컨테이너아이디 이미지url
    • docker-compose 파일의 이미지url 을 저장한 url로 변경



돌체구스토 주황색불 해결방법

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=goldhosi&logNo=221250540136

  • 초기화 방법
    • 돌체구스토 코드를 분리했다가 다시 연결해주세요.
    • 전원버튼 5초이상 길게 눌러주세요.
    • 그리고 다시 끈후 전원버튼 키면 초기화완료!
  • 디스케일링 방법
    • https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jelli_ji&logNo=221598013849
    • 유럽은 석회성분이 물에 많아서 디스케일링이 필요하지만, 우리나라는 불필요할 수 있음
      • 초기화만 해도 될 듯



IntelliJ에서 File size exceeds configured limit 오류가 발생하는 경우

참조 : https://blrunner.tistory.com/92

– 경로: C:\Program Files\JetBrains\IntelliJ IDEA xxxx.xx.xx\bin (intellij 설치경로 하위 bin)

– 파일명: idea.properties

– 수정 사항: idea.max.intellisense.filesize=25000

                (기본값은 2500으로 설정되어 있습니다.)

– 참고) help > edit custom properties 에 추가를 해도 안먹힘




개발언어 : 스벨트

  • 참고
    • https://yozm.wishket.com/magazine/detail/1176/
  • 다양한 개발언어를 얻기가 힘드네요.. 빠르게 새로운 언어가 등장하니.. 일단, react 보다는 빠르고 성능도 좋은거 같은데.. 아직까지 도입하기에는 이른듯 함



iRedMail 도커 구축기

  • 구축 목적
    • iRedMail 을 도커로 설치해 손쉽게 업데이트 및 관리하기 위함
    • 인증서를 자동갱신하여 적용
  • 구축 방법
    • iRedMail 설치
      • 이미지 : iredmail/mariadb:stable
      • docker-compose 사용
      • 참고글
        • https://techviewleo.com/how-to-run-iredmail-server-in-docker-containers/
    • 인증서 준비
      • nginxProxyManager 에서 여러 도메인을 하나의 인증서로 생성
      • 도메인, mail.도메인, smtp.도메인, imap.도메인, pop3.도메인, webmail.도메인
      • 인증서 목록에서 오른쪽 … 을 누르면 “certificate #번호” 가 보인다. 이 번호를 적어둔다.
    • nginxProxyManager 로 만든 인증서 파일 적용
      • iRedMail 에 볼륨 연결
      • letsencrypt 폴더를 /opt/iredmail/ssl/letsencrypt 로 연결
      • 컨테이너 내부로 이동
        • docker-compose exec iredmail bash
      • 인증서 링크 연결
        • cd /opt/iredmail/ssl
        • ln -s letsencrypt/live/npm-{번호}/fullchain.pem cert.pem
        • ln -s letsencrypt/live/npm-{번호}/fullchain.pem combined.pem
        • ln -s letsencrypt/live/npm-{번호}/privkey.pem key.pem
      • 참고글
        • https://docs.iredmail.org/letsencrypt.html#renew-the-cert-automatically
    • iRedMail 재시작
  • iRedMail 사용
    • 웹메일 : https://도메인/mail
    • 관리자 : https://도메인/iredadmin
  • iRedMail migration 작업
    • db이동
      • vmail > mailbox 테이블 특정 필드에 (null) 이 아닌 “\n”이 들어가면서 로그인이 안되는 경우가 발생함
    • mailboxes 폴더 이관
  • 특이사항
    • iRedMail 재시작 시 postmaster 계정이 생긴다.
      • 보안을 위해서 삭제해도 생긴다.
      • 재시작 시, 삭제한다. (삭제하지 않아도 비밀번호는 환경설정에 있어 1차 보안은 되긴 한다)
        • 관리자에서 삭제해도 사용자 아이디는 남는다. 사용자 아이디에 가서 삭제하면 한번에 삭제 된다.
    • 인증서 갱신 시, iRedMail을 재시작하지 않으면 반영되지 않을 수 있다.
      • 확인 못함, 3개월 후 확인해 봐야 될 듯
    • iRedMail 설치 시, 도메인이 인증서와 달리 설치한 경우, 인증서가 적용되지 않을 수 있다.
      • 다시 설치한다.
      • 기존 볼륨 데이터는 백업해 두고, 다시 설치한다.
      • 설치 완료 > 종료 후, 기존 볼륨 데이터로 덮어 쓰고 재시작한다.



httpclient 로깅

commons-httpclient-xx.xx.jar 사용 시, 로깅 방법

 <logger name=”httpclient.wire” level=”debug” />

org.apache.commons.httpclient.Wire 안의

public static Wire HEADER_WIRE = new Wire(LogFactory.getLog(“httpclient.wire.header”));

public static Wire CONTENT_WIRE = new Wire(LogFactory.getLog(“httpclient.wire.content”));




흑당 밀크티 만들기

  • 재료
    • 시럽 재료 (1:1), 당도의 개인 선호도에 따라 설탕 비율을 좀더 늘릴 수 있다.
      • 물 200ml
      • 흑설탕 200g
        • 마스코바도 추천
          • 비정제설탕 : 사탕수수 즙을 끓여 불순물만 제거
          • 순수 당이 적고 미네랄/비타민 성분이 있어 몸에는 좋음
  • 흑당시럽 만들기
    • 물과 흑설탕을 넣고 센불에 녹여준다. (3분)
    • 가장자리가 녹기 시작하면 중불로 10분정도 끓인다.
      • 이때, 절대 젓지 않는다. (나중에 굳는 현상이 있다고 함)
    • 가스불을 끄고 옮겨 담는다.
    • 달콤 걸죽한 시럽 완성
    • 잠시 식힌다.
  • 삻아서 얼린 펄 해동
    • 펄 해동
      • 1인분 ) 컵에 50g을 넣고 충분히 잠기게 물을 넣는다.
      • 전자렌지에 2분간 데운다.
    • 해동된 펄을 찬물로 식힌다.
  • 밀크티 만들기
    • 만들어진 흑당시럽을 컵 테두리에 바른다.
    • 펄을 넣고.. 얼음, 우유를 넣는다.
    • 맛있게 먹기



아이스라떼 만들기

  • 펌 : https://lanalin.tistory.com/66
  • 재료
    • 라떼 만들기 참조
    • 각얼음
    • 시나몬 파우더
  • 주의사항
    • 일반 아메리카노와의 차이
      • 우유와 섞이기 때문에 원두양은 늘리고, 물 양은 줄여 좀 더 진하게 추출
      • 따뜻한 라떼와의 차이도 같지 않을까 싶은데?
  • 만드는 방법
    • 우유거품 (밀크폼) 만들기
      • 라떼 만들기 참조
    • 얼음잔에 우유거품을 적당량 부어 줍니다
    • 추출한 커피를 부어줍니다.
      • 커피를 부어주면 우유 거품은 위로 뜨고 커피는 거품 아래에서 우유와 자연스레 희석됨
    • 시나몬 가루를 우유 거품 위에 뿌려 줍니다.
  • 기타
    • 우유 온도
      • 냉장고에서 바로 꺼내서 쓸 경우, 실온의 우유보다 거품이 잘 만들어짐..
        • 너무 거품이 진하지 않게 하려면 좀 데워서 사용해야 될 듯



라떼 만들기

  • 재료
    • 갓 구운 원두
    • 에스프레소 커피머신
    • 그라인더 : 분쇄기
    • 탬핑 도구 : 디스트리뷰터, 탬퍼
    • 스팀 피쳐
  • 만드는 방법
    • 도징 : 커피 갈아 포터필터에 담는 방법
      • 그라인더로 커피스푼으로 2.5스푼의 콩을 30초간 갈아준다.
        • 에스프레소 머신을 사용하기 위해서는 25~30초간 갈아야 함
      • 포터 필터 가득 담아 디스트리뷰터로 평평하게 레벨링 한다.
      • 푸쉬 탬퍼로 탬핑한다.
        • 포터필터 안의 선 이하로 눌러지면 커피를 좀더 넣고 레벨링/탬핑한다.
    • 커피 데우기
      • 1분간 700와트 전자렌지에 우유를 데운다.
    • 커피 내리기 (30초 이내)
      • 머신의 물을 약간 내려 필터 헤더의 온도를 올려준다.
      • 포터필터를 장착한 후, 커피를 내려준다.
        • 9바 정도로 내릴 경우 가장 맛있는 커피가 내려진다고 한다.
          • 9바 잘 안나옴. ㅠㅜ
        • 또는 머신에서 3초 이후에 커피가 내려질 때 맛있다고도 함.
    • 우유거품 (커피 내리기 시작할 때 부터 시작)
      • 프렌치프레스로 3번 거품, 30번 거품쪼개기
        • 거품이 잘 안섞이네… ?
      • 큰 거품을 없애기 위해 프렌치프레스와 스팀피쳐를 이용해서 3-5번 걸러준다.
      • 거품은 시간이 지나면 성질이 바뀌기 때문에 빠른 처리가 필요함
        • 성질이 바뀌면 커피안으로 거품이 파고 들어가지 못함
    • 라떼 아트 하기
      • 내려진 커피에 스팀피처에 담긴 우유거품을 이용해 라떼를 만든다.
  • 청소
    • 커피 찌꺼기는 일반쓰레기
    • 포터필터 헤더는 솔로 청소하고, 약간의 물을 내려 커피 찌꺼기가 없어지게 한다.
    • 그라인더에 남은 커피가루는 밀폐용기에 담아 보관하고, 깨끗이 키친타올 등으로 닦아 놓는다.