본문 바로가기

반응형

전체 글

(53)
Item 17. 변경 가능성을 최소화하라 (불변(immutable) 객체) 정의 객체 생성 이후에는 객체의 상태가 바뀌지 않는 객체 장점 이해하기 쉽고 안정적인 서비스 개발에 도움이 된다. immutable 객체는 map, set, cache에 쓰기에 적절하다. (일반적으로) thread-safe 하다. race condition 없이 여러 스레드에서 공유해서 사용할 수 있다. 불변 객체를 필드로 쓰면 방어적 복사를 할 필요가 없다. String 은 java의 대표적인 불변 객체 사용 방식 public final class Test { private final int parameter1; private final RGB rgb; public Test(String paramter1, RGB rgb) { this.parameter1 = parameter1; this.rgb = ne..
단방향 알고리즘 MD5는 왜 Deprecated 되었을까? 암호화를 왜 쓸까? 개인정보와 같은 민감한 내용을 데이터베이스에 저장을 하거나 제공을 해줄 때에 있어서 공격에 취약한 상황에서 바로 노출되지 않도록 하는 역할을 가진다. 특히나 LINE Pay 서비스 특성상 민감한 개인정보를 다루거나 사용하는 일들이 많은데, 이 때 사용되는 암복호화 방식을 학습하기 위해 정리해본다. 단방향 알고리즘 (One-Way Encryption) Background 평문(Plain Text) 암호화는 가능하지만, 암호문을 평문으로 복호화가 불가능한 알고리즘. 암호화만 가능하기 때문에 단방향 암호화라고 부른다. 이렇게 복호화가 불가능하기 때문에 무결성(Data Integrity: 데이터의 정확성, 일관성, 유효성이 유지) 하다고 말 할 수 있다. 단방향 알고리즘은 Hash 암호화 방..
심심해서 해보는 로컬 웹서버 이걸 왜 하는가? 사실 이유는 간단하다. 웹서버 실습을 위해서 이것 만큼 쉽게 와닿는 방법이 없다고 생각한다. 예전에 대학교 3학년이었나 "컴퓨터 네트워크" 라는 수업이 있었는데, 그 때 처음 네트워크에 대해서 공부를 했던거 같다. 물론 수업이 끝나고 내 머릿속은 모든게 리셋이 되었다... 근데 요새 일을 하면서 신규 장비에 대한 서버 설정이나 WAS 설정 등을 하면서 예전에 배웠던 공부들이 헛되이지만은 않았겠다 싶었다. 물론 학교에서 배운걸 토대로 현재 써먹었으면 좋겠지만, 사실 공부했던건 전혀 기억이 나지 않는다. 단지 여러 대의 컴퓨터를 직접 랜선으로 연결해서 중간에 와이어샤크로 인입 되어오는 ping 요청을 읽어와서 라우터 실습을 했던것 만 기억이 알음 알음 난다. 라떼 시절 주저리 주저리 내용은..
당근마켓 - 당근페이 도입, 간편송금·결제 서비스 출시 - 과연 성공할까? https://newsis.com/view/?id=NISX20220214_0001757562&cID=13001&pID=13000 "현금 필요 없어요"…당근마켓, 당근페이 전국 확대 [서울=뉴시스] 이국현 기자 = 앞으로는 당근마켓에서 중고거래를 할 때 현금을 준비하거나 길거리에서 계좌번호나 예금주 등 개인 정보를 주고받지 않아도 될 전망이다 www.newsis.com "현금 필요 없어요"…당근마켓, 당근페이 전국 확대 중고거래 시 송금 수수료 무료… 개인정보 노출 無 국내 대표 지역생활 커뮤니티 당근마켓이 지역 기반 간편결제 서비스인 '당근페이'를 전국 서비스로 확대 오픈한다고 (2월) 14일 밝혔다. 당근페이는 당근마켓의 자회사인 당근페이가 개발한 간편송금·결제 서비스다. 당근페이는 지난해 11월 제주..
Spring Transaction 기본 원리와 TransactionSynchronizationManager 사용기 Background Transaction에 대한 내용은 열심히 들어왔었지만, 정작 프로젝트 내의 레거시 코드에서 내 의도대로 사용 되지 못하는 경우가 많았다. 매번 Transaction 에 대한 설명은 구글링 해보면 "철수와 영희의 돈 거래 과정"을 예시로 알려 준다. 하지만 위의 예시를 이해 했더라도 레거시 코드에서는 어떻게 사용하고 있는지 감이 잡히지 않는다. Transaction 처리가 필요한 순간 @Transactional annotation 이 마법처럼 해결해주지 않는다. ex) @Transactional annotation 남발하는 메서드들..(Propagation 이 원하는대로 이루어지지 않는 경우가 다반사) 과거에 작정 했던 코드(+ 다른 사람이 짰던 코드)에 갑자기 Transaction ..
가트너, 2022 전략기술 트렌드 톱12 발표 가트너의 2022 전략기술, AI 트렌드 http://www.nextdaily.co.kr/news/articleView.html?idxno=200342 가트너, 2022 전략기술 트렌드 톱12 발표 - 넥스트데일리 연말이 다가오면서 내년 테크놀로지 시장에 대한 전망이 앞다퉈 쏟아지고 있다. 이 중 가트너는 최근 자사 심포지엄에서 ‘2022 톱 전략 테크놀로지 트렌드(Top Strategic Technology Trends for 2022)’라는 www.nextdaily.co.kr 가트너는 ‘2022년 톱 전략 테크놀로지 트렌드’라는 주제로 향후 지속될 전략 기술 트렌드 12가지를 소개했다. 가트너는 2022년 CEO들의 우선순위 3가지로 성장, 디지털화 그리고 효율성을 뽑았다. 신뢰 설계, 변화 구축, ..
Logback 사용하기 SLF4J SLF4J - Simple Logging Facade For Java 의 약자로 다양한 로깅 프레임 워크에 대한 추상화 역할을 하는 라이브러리이다. 추상화된 프레임워크이기 때문에 위와 같이 SLF4J 로 구현한 Logback이나 log4j 를 많이 사용한다. API - 로깅 인터페이스 Binding 여러 Logger로 연경해주는 일을 함 Slf4j api를 구현한 클래스에서 Binding으로 연결된 Logger의 API를 호출함 Binding은 한 개만 추가해야 함 Bridge 레거시의 기존 로깅 프레임워크들의 호출을 결국 Slf4j 호출로 변경해줌으로 서 위의 Binding에 지정한 로그 프레임워크로 실행되게끔 할 수 있음 런타임에서 레거시 로깅 프레임워크 사용 -> 로거 호출을 Slf4j ..
AWS Amplify AWS Amplify는 안전하고 확장 가능한 모바일 및 웹 애플리케이션을 구축하기 위한 개발 플랫폼입니다. 쉬운 사용자 인증, 안전한 데이터 및 사용자 메타 데이터 저장, 데이터에 대한 선택적 액세스 권한 부여, 또한 기계 학습을 통합하고, ... 출처 : https://aws.amazon.com/ko/amplify/ 모바일 및 웹 앱을 빠르게 구축 | AWS Amplify | Amazon Web Services Internet Explorer에 대한 AWS 지원이 07/31/2022에 종료됩니다. 지원되는 브라우저는 Chrome, Firefox, Edge 및 Safari입니다. 자세히 알아보기 aws.amazon.com EC2, RDS, Cognito, Lambda 같은 독립적인 서비스는 아니다. Am..

반응형