item2 정말 마음에 드는 테마


ZSH2000

git clone https://github.com/maverick2000/zsh2000.git

https://github.com/inspectahstack/zsh2000



Color THEME

https://beomi.github.io/2017/07/07/Beautify-ZSH/







'Devlopment' 카테고리의 다른 글

iterm2 Theme - zsh2000  (0) 2018.09.19
[MAC] Intelij vmoption 값 수정  (0) 2018.07.24
텍스트를 로고로 만들어주는 사이트  (0) 2018.06.21

Leave a Comment

DCC

  • Dynamic Currency Conversion

  • 자국 통화 결제, 해외 원화 결제

  • 신용카드 해외 원환 결제 서비스

  • 10%대의 고율 수수료가 붙음

  • 카드 결제 후 원화가 표시된다면 DCC로 결제되었음을 의미

  • 해외고객이 자주 방문하는 오프라인 가맹점을 대상으로 고객이 해외신용카드(VISA & Master & JCB)로 결제 시 당일 고정환율로 환전된 자국통화를 확인하고 결제가 가능하도록 하는 것


MCP

  • Multi Currency Pricing

  • 해외 다중통화결제

  • 해외신용카드(VISA & MasterCard & JCB)로 결제 시 원하는 통화로 결제가 가능하도록 하는 것

  • 소비자 입장에서는 환차익에 따른 손해를 보지 않음


Reference



Leave a Comment

PG(payment gateway)

  • 전자지불 서비스

  • 전자지불 서비스를 대행하는 회사

  • 인터넷을 통한 전자지불 결제를 처리

  • PG는 VAN을 통해 전자지불 결제를 대행하고, 일부 다른 PG를 통해서 결제대행을 함

  • 전자 지불(인터넷 결제)의 종류

    • 신용카드

    • 핸드폰

    • 800ARS

    • 폰빌

    • 계좌이체

  • 보통 1 ~ 2개 정도만 전문적으로 자체 서비스하고 나머지는 해당 지불회사와 제휴함


VAN(value-added network)

  • 부가 가치 통신망 VAN

  • 가맹점과 카드사 간 네트워크망을 구축하여 카드사용 및 카드전표 매입 업무를 하는 부가통신 사업자

  • 카드 결제 단말기들은 VAN을 통해서 카드사에게 결제를 요청

  • VAN을 구성하는 회사들을 VAN사라고 부름

  • VAN은 전화망을 통해 구성 (요즘은 인터넷망으로도 사용)

  • 주 수입원 :가맹점과 신용카드사에게서 수수료

  • 우리나라의 VAN사

    • 한국신용정보(KICC)

    • 스마트로(SMTR)

    • 금융결제원(KFTC)

    • 케이에스밴(KSVAN)

    • 퍼스트데이타(FDIK)

    • KIS

    • 나이스정보통신(NICE)

    • 등 13군데

  • 신용카드 그리고 신용카드 회사와의 중간에서 전화선 혹은 전용선 통해서 카드승인 및 기타 VAN 서비스를 수행하는 기관


한국의 카드결제 구조

  • 오프라인 카드결제 : 카드가맹점 -> VAN -> 카드사

  • 온라인 카드결제 : 온라인 카드 가맹점 -> PG -> (PG) -> VAN -> 카드사


Reference


Leave a Comment

맥에서 기동 옵션 수정시 위치는 아래와 같다.


위치 : /Users/atinh/Library/Preferences/{IntelliJI}


초기에 파일이 없기 때문에 원하는 파일 idea.vmoptions 또는 idea.properties를 복사해서 넣어준 후 원하는 옵션으로 수정해주면 된다.
기본 파일 위치 : /Applications/InteliJ IDEA.app/Contents/bin/


Reference
[1] https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties
[2] http://ddoong2.com/939





'Devlopment' 카테고리의 다른 글

iterm2 Theme - zsh2000  (0) 2018.09.19
[MAC] Intelij vmoption 값 수정  (0) 2018.07.24
텍스트를 로고로 만들어주는 사이트  (0) 2018.06.21

Leave a Comment

Intelij를 사용하다가 갑자기 자꾸 먹통이 되는 상황이 되었다.

이유를 찾다보니 플러그인 문제다.

나는 "Handlebars / Mustache" 관련 플러그인의 문제였는데 다른 문제가 있는 플러그인도 있는 모양이다.


참고 : https://blog.naver.com/eunjuee2/221291967595


플러그인 설치하고 Indexing이 너무 오래 돌면 참고하자.


Leave a Comment

Spring Boot.

스프링 부트(Spring Boot)

  • 공식 홈 - https://spring.io/projects/spring-boot
  • 스프링 기반으로 상용제품 수준의 단독 실행형 애플리케이션을 복잡한 과정없이 개발할 수 있도록 하는 것

History


기능

  • 단독실행가능한 스프링어플리케이션 생성
  • 기본 설정된 스타터 컴포넌트
  • 내장형 WAS(톰캣, 제티, 언더토우)
  • AutoConfiguration 으로 기본 설정이 제공
  • 상용화에 필요한 통계, 상태 점검 및 외부설정을 제공
  • XML 코드를 생성하거나 요구하지 않음


특징

  • Spring CoC(Convention-over-Configuration) Version (Wikipedia)
  • 최적의 Dependency(라이브러리, 버전) 관리
  • 관례에 따른 기본 Bean 설정(@Configuration)을 미리 제공
  • 상용화를 위한 기능(Actuator 등)
  • Micro Service(Application With Single Responsbility) 구현에 최적화
  • 보안, 모니터링 구현을 프레임워크 레벨에서 지원


Leave a Comment


Spring Boot를 뛰울 때 나오는 로고처럼 텍스트 로고를 만들어주는 사이트
커스텀 로고를 만들 때 유용하겠다.

http://patorjk.com/software/taag/


          _____                _____                    _____                    _____          
         /\    \              /\    \                  /\    \                  /\    \         
        /::\    \            /::\    \                /::\    \                /::\____\        
       /::::\    \           \:::\    \               \:::\    \              /::::|   |        
      /::::::\    \           \:::\    \               \:::\    \            /:::::|   |        
     /:::/\:::\    \           \:::\    \               \:::\    \          /::::::|   |        
    /:::/__\:::\    \           \:::\    \               \:::\    \        /:::/|::|   |        
   /::::\   \:::\    \          /::::\    \              /::::\    \      /:::/ |::|   |        
  /::::::\   \:::\    \        /::::::\    \    ____    /::::::\    \    /:::/  |::|   | _____  
 /:::/\:::\   \:::\    \      /:::/\:::\    \  /\   \  /:::/\:::\    \  /:::/   |::|   |/\    \ 
/:::/  \:::\   \:::\____\    /:::/  \:::\____\/::\   \/:::/  \:::\____\/:: /    |::|   /::\____\
\::/    \:::\  /:::/    /   /:::/    \::/    /\:::\  /:::/    \::/    /\::/    /|::|  /:::/    /
 \/____/ \:::\/:::/    /   /:::/    / \/____/  \:::\/:::/    / \/____/  \/____/ |::| /:::/    / 
          \::::::/    /   /:::/    /            \::::::/    /                   |::|/:::/    /  
           \::::/    /   /:::/    /              \::::/____/                    |::::::/    /   
           /:::/    /    \::/    /                \:::\    \                    |:::::/    /    
          /:::/    /      \/____/                  \:::\    \                   |::::/    /     
         /:::/    /                                 \:::\    \                  /:::/    /      
        /:::/    /                                   \:::\____\                /:::/    /       
        \::/    /                                     \::/    /                \::/    /        
         \/____/                                       \/____/                  \/____/         
                                                                                                
   /\  \     /\  \     /\  \     /\__\          /\  \     /\  \     /\  \     /\  \     /\__\     /\  \     /\  \     /\__\  
  /::\  \    \:\  \   _\:\  \   /:| _|_        /::\  \    \:\  \   /::\  \   /::\  \   |::L__L   /::\  \   /::\  \   /::L_L_ 
 /::\:\__\   /::\__\ /\/::\__\ /::|/\__\      /\:\:\__\   /::\__\ /:/\:\__\ /::\:\__\  |:::\__\ /:/\:\__\ /:/\:\__\ /:/L:\__\
 \/\::/  /  /:/\/__/ \::/\/__/ \/|::/  /      \:\:\/__/  /:/\/__/ \:\/:/  / \;:::/  /  /:;;/__/ \:\ \/__/ \:\/:/  / \/_/:/  /
   /:/  /   \/__/     \:\__\     |:/  /        \::/  /   \/__/     \::/  /   |:\/__/   \/__/     \:\__\    \::/  /    /:/  / 
   \/__/               \/__/     \/__/          \/__/               \/__/     \|__|               \/__/     \/__/     \/__/  


 █████╗ ████████╗██╗███╗   ██╗    ███████╗████████╗ ██████╗ ██████╗ ██╗   ██╗ ██████╗ ██████╗ ███╗   ███╗
██╔══██╗╚══██╔══╝██║████╗  ██║    ██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗╚██╗ ██╔╝██╔════╝██╔═══██╗████╗ ████║
███████║   ██║   ██║██╔██╗ ██║    ███████╗   ██║   ██║   ██║██████╔╝ ╚████╔╝ ██║     ██║   ██║██╔████╔██║
██╔══██║   ██║   ██║██║╚██╗██║    ╚════██║   ██║   ██║   ██║██╔══██╗  ╚██╔╝  ██║     ██║   ██║██║╚██╔╝██║
██║  ██║   ██║   ██║██║ ╚████║    ███████║   ██║   ╚██████╔╝██║  ██║   ██║██╗╚██████╗╚██████╔╝██║ ╚═╝ ██║
╚═╝  ╚═╝   ╚═╝   ╚═╝╚═╝  ╚═══╝    ╚══════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝   ╚═╝╚═╝ ╚═════╝ ╚═════╝ ╚═╝     ╚═╝
                                                                                                         


'Devlopment' 카테고리의 다른 글

iterm2 Theme - zsh2000  (0) 2018.09.19
[MAC] Intelij vmoption 값 수정  (0) 2018.07.24
텍스트를 로고로 만들어주는 사이트  (0) 2018.06.21

Leave a Comment

오늘 회사 PC에서 작업을 하다가 크롬이 먹통이 되었다.
얼마 전 집에서 크롬이 문제가 생겨서 애를 먹었는데 회사 피씨도 동일한 증상을 보였다.

상당히 어이없는 문제는 다음과 같다.

  • 인터넷은 문제가 없다.
  • 프록시 설정도 문제가 없다.
  • IE는 되는데 크롬만 안된다.
  • 크롬 설정도 안 들어가진다.
  • 호환성 설정도 쓸모 없다.
  • --no-sandbox를 쓰면 되긴 된다.

인터넷에 나온 모두 해결 방법을 써보았으나 해결이 되지 않았다.
"--no-sandbox" 방법을 통해서 일단 쓸 수 있었지만 이것은 완벽한 해결책이 아니었다.

일단 "--no-sandbox"를 통해서 급한 업무를 처리하다가 퇴근 전에 이 문제를 다시 해결해보려고 구글링을 하는 도중 아래와 같은 해결 방법이 머리에 남았다.

  • 백신을 돌려서 PC를 검사하고 악성 코드나 바이러스를 제거한다.
  • 특정 프로세스를 끄고 해당 디렉토리를 삭제한다.

이것은 꽤 웃긴 일이다. 크롬이 안되는데 그 이유가 다른 프로세스(악성 코드나 바이러스일 수도 있는..) 때문인 것이다.
해당 특정 프로세스를 찾아보았지만 내 PC의 프로세스에는 그런 프로세스가 존재하지 않았다.
바이러스는 아닐 수 있지만 특정 프로세스때문에 크롬이 문제가 생기는 경우도 있는 듯하다.

그래서 "시스템 구성"에 "시작 프로그램"에 들어가서 수상하다 싶거나 내가 모르는 프로그램의 경우는 시작 프로그램에서 제외해버렸다.
그리고 재부팅을 하였더니 놀랍게도 해결이 되었다.

실행 > msconfig > 시스템 구성 > 시작 프로그램 > 수상한 프로그램 체크박스 해제


나의 경우는 보안 관련 프로그램으로 생각되는 것들을 모두 제외했었다.

이 별거 아닌 문제로 정말 일 못하고 쓸데없이 시간을 날렸다.
구글링에서는 나오지 않아서 다른 분들은 삽질 안하길 바라며 글을 남긴다.


Comments

  1. 지나가던크롬장인 2018.04.07 00:32 신고 Permalink Modify/Delete Reply

    그냥 alt+ctrl+del 누른 뒤에 작업 관리자 들어가서

    프로세스 항목에 chrome 라고 남아있는 모든 프로세스 다 강제 종료 하고 다시 크롬 켜면 정상 작동 됩니다...

  2. 남자 2018.04.09 12:29 신고 Permalink Modify/Delete Reply

    저와 증상이 같군요..혹시 크롬에서 "앗 이런"이라는 오류 메시지가 빈 화면에 뜨지 않습니까??
    저도 이 증상으로 몇 달을 고생했는데 Fasoo DRM이 문제더군요..삭제하니 바로 해결됐습니다.

  3. 아틴 2018.05.15 21:28 신고 Permalink Modify/Delete Reply

    와! 남자님 감사합니다.
    Fasoo DRM 문제 맞았습니다.
    삭제되니 바로 해결되네요 ㅠㅠ

    삭제도 바로 안되서 엄청 애먹었네요. 아래 블로그 참고했습니다.
    http://infofrag.tistory.com/161

  4. 플로르 2018.08.11 18:42 신고 Permalink Modify/Delete Reply

    아 감사합니당
    딴데서 알려주는거 해도 다 안되던데 이거 보고 하니 잘되네여

Leave a Comment

코드리뷰를 하다보면 늘 반복적으로 나오는 내용이 있다.
기능상 문제가 되는 것은 아니지만 걸고 넘어갈만한 내용인데 매번 설명하기가 힘들어서 정리를 해본다.

오늘 코드리뷰를 하면서 나온 내용중에 하나가 아래와 같은 선언이다.

일단 LOGGER라는 네이밍이 걸렸지만 그 외에도 리뷰할만한 말이 있는데 설명하자니 이 간단한 한줄이 길어지게 되었다.


참고 소스 [1] - DefaultRedirectStrategy.java


참고 소스 [2] - DefaultSecurityFilterChain.java



1. 왜 private으로 하였는가?
해당 클래스를 다른 클래스가 상속받아 사용하지 않게 하는 경우라면 private으로 사용하는 것이 맞습니다.
상속을 통한 재사용을 고려한다면 protected로 선언할 수 있겠습니다.
[1]과 [2]의 차이인데 [1]에서는 상속을 처리하기 위해서 static을 사용하지 않고 protected final만을 사용해서 선언하였습니다. 선언시에도 상속한 클래스명을 받기 위해 생성자의 메서드를 호출하고 있습니다. 
[2]의 경우는 상속을 허용하지 않는 경우여서 private static final로 선언이 되어 있고 class도 final로 되어 있습니다.

2. 왜 static으로 하였는가?
static으로 선언하는 이유는 객체가 생성이 될 때마다 해당 객체를 매번 생성하지 않고 초기 클래스 로딩시 한번만 생성해서 사용을 하기 위함입니다.
이전의 자바 클래스 코딩 스타일은 static을 많이 사용하는 추세였다고 생각되고 저도 많이 사용했었ㅅ습니다.
그러나 Spring을 사용하게 되면서 객체를 굳이 싱글턴 형태로 디자인하지 않아도 객체를 싱글턴과 같이 한번만 생성해서 사용을 하게 되었습니다.
애플리케이션에서 해당 클래스의 생성 방식이나 사용 형태에 따라서 무조건적인 static을 선언해서 Perm 영역의 공간을 소비할 필요가 없게 되었습니다.
Spring 소스에서도 Logger 사용시 [1]과 같이 static으로 선언하지 않은 경우가 있고 [2]와 같이 static으로 선언하는 경우가 있습니다.


3. 왜 fianl로 하였는가?
로그를 찍는 Logger는 초기 생성된 이후에 변경될 필요가 없습니다.
특별한 경우가 아니라면 변경되는 경우는 거의 없다고 보입니다. 
final로 선언하지 않더라도 이 Logger에 대해 변경하는 경우는 거의 없겠지만 유지보수와 가독성을 위해 final로 선언하는 것이 좋습니다.


4. 왜 LOGGER라는 이름으로 하였는가?
LOGGER라는 이름으로 선언된 이유에 대해서 다른 소스에서도 그렇게 사용되는 것을 보아서 그랬다는 답변을 들은 적이 있다.
내 생각에는 JAVA에서 상수 선언시 이름을 대문자로 많이 쓴다. 통상 static final의 멤버 변수의 경우는 상수 선언시 많이 쓰게 되고 static final은 대문자라는 공식이라는 생각에 대문자로 선언한 분이 있지 않을까 한다.

하지만 static final로 선언한다고 무조건 상수는 아니며, static final로 선언한 객체는 당연히 소문자로 해줘야 된다.
Spring 소스에서도 Logger는 static final을 쓰더라도 소문자를 사용하고 있다.


Reference

[1] https://github.com/spring-projects/spring-security/blob/master/web/src/main/java/org/springframework/security/web/DefaultRedirectStrategy.java

[2] https://github.com/spring-projects/spring-security/blob/master/web/src/main/java/org/springframework/security/web/DefaultSecurityFilterChain.java


(글을 본 선배가 의견을 카톡으로 줘서 업데이트했습니다;ㅋ)


Leave a Comment

java에서 기본으로 제공해주는 MessageFormat을 이용하면 {0}, {1}, {2} 이런 값에 대해 변수를 대입해줄 수 있지만,
문제는 숫자로만 가능한다는 점이다.

숫자가 아닌 특정 템플릿 형태로 값을 주입하고 싶다면 common lang에서 제공해주는 StrSubstitutor을 이용하면 된다.
기본값은 "${name}"과 같은 형태이다. prefix가 "${"이고 suffix가 "}"이다.

이 외에 다른 형태로 값을 넣고 싶으면 메서드 호출시에 prefix와 suffix를 넣어주면 원하는 형태로 사용이 가능하다.


Test.java



Leave a Comment


to Top