본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

분류 전체보기484

긍정적으로 살아가는 방법 보호되어 있는 글 입니다. 2024. 11. 9.
[CS] 직렬화(Serializable) 이해하기 직렬화(serialize)란? 컴퓨터 과학의 데이터 스토리지 문맥에서 데이터 구조나 오브젝트 상태를 동일하거나 다른 컴퓨터 환경에 저장하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정이다.오브젝트를 직렬화하는 과정은 오브젝트를 마샬링한다고도 한다조금 더 쉽게 풀어보면, Object 또는 Data를 바이트 스트림(stream of bytes) 형태로 연속전인(serial) 데이터로 변환하는 것을 직렬화(serialize) 라고 한다.그 반대 개념인 역직렬화는(Deserialize)는 바이트로 변환된 데이터를 원래대로 Object 또는 Data로 변환하는 기술이다. [ 바이트 스트림 이란? ]스트림은 클라이언트나 서버 간에 출발지 목적지로 입출력하기 위한 데이터가 흐르는 통로를 말한다.자바는 스트림의 기.. 2024. 10. 2.
[CS] 인증 / 비인증 결제 결제 모듈을 가지고 개발하는데, 인증인지 비인증인지 구분해달라는 요청이 왔다.혹시 이게 고유적인 의미를 가지는 개념인지 궁금해서 검색 해 봤는데, 의미가 있는 개념이어서 정리해둔다.- 인증 결제 ( 본인인증결제)- 비인증 결제 (초회 등록 후 자동 결제)크게 이런 구분이 된다.인증결제 (본인인증결제 3DS)- 본인인증결제(3DS) 서비스​3DS는 3-Domain Security의 약자로, 카드 결제의 주축이 되는 세 주체가 (발급사 영역, 상호 운영 영역, 매입사 영역) 카드와 카드 사용자의 진위성을 인증하는 안전 결제 수단.매 순간 결제가 수행 될 때 마다 인증하는 절차가 들어가다보니, ​우호적 사기, 계정 해킹, 피싱 등을 근본적으로 방지할 수 있음.PG사를 통한 결제가 대표적인 예시비인증결제 - 카.. 2024. 9. 10.
[jpa] @GeneratedValue 전략 살펴보기 PK를 지정할 때 값을 자동으로 증가 시키기 위해 @GeneratedValue를 사용하는 편입니다.여기서 들어갈 수 있는 전략으로 어떤게 있는지 정리해 보겠습니다.1. GenerationType.AUTOJPA가 사용하는 기본 전략입니다. 데이터베이스에 따라 자동으로 적절한 생성 전략을 선택합니다.어떤 데이터베이스에서는 시퀀스를 사용하고, 어떤 데이터베이스에서는 테이블을 사용하게 됩니다.@GeneratedValue(strategy = GenerationType.AUTO)2. GenerationType.IDENTITY데이터베이스의 Auto Increment 기능을 사용하여 기본 키를 생성합니다.주로 MySQL, SQL Server 등에서 사용됩니다.주의점: 배치 삽입 시 성능 저하가 있을 수 있습니다. ID.. 2024. 8. 14.
프로젝트 기록. 01. 개인 프로젝트를 해보자. 나만의 프로젝트를 만들어보고 싶어졌다. 매번 시간이 없고 다른거 하기 바빠서 할 시간을 만들기 어려웠다. 공부할것도 너무 많은데 회사 업무가 더 우선시되다보니 개인프로젝트는 완전히 뒷전이 된 것 같았다. 그래도 틈틈히 시간을 내서 나만의 프로젝트를 완성하고, 개발 스타일을 만들고, 나만의 자료를 만들고 싶다. 왜 그러고 싶은가? 나만의 소스, 작업 라이브러리를 만들고 싶기 때문이다. 앞으로 개발 생활을 이어나가는데 있어 중요한 부분이라 생각하며, 틈틈히 그리고 꾸준히 무언가 만들어 둬야, 이후 나의 무기로써 쓸 수 있을 것이다. 머리로만 외우는데에 한계가 존재하고, 예전 소스들은 쓸모없는 소스가 많아졌다. 이제 내 스타일을 만들고 정의할 수 있어야 할 때가 되었다. 이번걸 기반으로 나만의 프로젝트를 공개.. 2024. 8. 11.
흙수저? 가난한 삶이 되물림 되는 이유 ----가난한 삶이 되물림 되는 이유 1. 경제적 자본 부족 2. 정서적 자본 부족 3. 경험적 자본 부족 4. 문화적 자본 부족 5. 가치적 자본 부족물려받을 경제적 자본이 없다.초 고도 경제 성장 시대를 지나서 태어난 세대에겐 절대적 빈곤, 상대적 빈곤 모두 겪는 세대다. 대부분은 상대적 빈곤을 겪겠지만... 청소년기에 들어가며 잘사는 또래들이 입는 옷의 차이, 패딩 신발 등 브랜드의 차이로 소외감을 느낌 부모들은 이런 마음을 이해하지 못하고 아프리카의 못사는 사람들을 위한 기부를 하면서 우리들보다 못사는 람들도 있는데, 우린 얼마나 행복하니? 라고 하면서 위화감을 느낀다. 이런 빈곤으로 경제적 자본이 없다보니 아껴야되고 배우고 싶은것을 참으며 철이 빨리든다. 가난해도 행복할 수 있다고 하는 것에 공.. 2024. 7. 12.
[CS] UML 정리하기, 개발 과정에서 필요한 모델링 UML(Unified Modeling Language)은 소프트웨어 개발 과정에서 시스템의 구조와 행동을 시각적으로 표현하기 위한 표준 모델링 언어입니다. 다양한 UML 다이어그램이 있으며, 각각은 시스템의 특정 측면을 나타내는 데 사용됩니다.업무를 진행하면서 기본적으로 아는 기준에서 소통하기 위해선 알아 두는게 좋다고 생각되어 이렇게 정리 해보려 합니다.주요 UML 다이어그램의 종류는 다음과 같습니다:클래스 다이어그램 (Class Diagram)유스케이스 다이어그램(Use Case Diagram)시퀀스 다이어그램 (Sequence Diagram)상태 다이어그램(State Diagram)활동 다이어그램(Activity Diagram)컴포넌트 다이어그램(Component Diagram)배치 다이어그램(De.. 2024. 6. 18.
[IntelliJ] vm 옵션 설정하 -server-Xms4096m-Xmx4096m-XX:NewRatio=3-Xss16m-XX:+AlwaysPreTouch-XX:+TieredCompilation-XX:ReservedCodeCacheSize=512m-XX:SoftRefLRUPolicyMSPerMB=50-XX:+UseCodeCacheFlushing-Dsun.io.useCanonCaches=false-ea-XX:CICompilerCount=4-Dsun.io.useCanonPrefixCache=false-XX:+HeapDumpOnOutOfMemoryError-XX:-OmitStackTraceInFastThrow-Djdk.attach.allowAttachSelf=true-Dkotlinx.coroutines.debug=off-Djdk.module.il.. 2024. 6. 18.
[CS] 폭포수(waterfall) 방법론과 에자일(agile) 방법론 언제인지는 정확히 모르겠으나 갑자기 이런 단어가 생기고, 사용되기 시작한 것 같습니다.이걸 늦게 접하던 빨리 접하던 상관은 없는 것 같습니다.제 입장에선 이런 개념 없이도 도메인 주도 개발을 어느정도 적용하고 있었기 때문입니다.다만 개발방법론 적인 측면에서 DDD라는 용어가 누가 왜 정의했고, 기술적인 영역으로 사용하는 부분에 대해 많은 생각을 하게 되었습니다.이런 것 까지 알고 따라야 하나... 누군가 시도하는 것을 계속 따라해야 할까?... 이런 것을 계속 공부해야 하나... 쉽지 않은 것 같습니다.그저 한번 쯤 해볼만 한, 그리고 다른 사람들과 대화가 통하기 위해서? 알아 두기는 해야 할 기술 같습니다.Domain 주도 설계 라고 하는데... "소프트웨어 개발 접근 방법"으로 정의되고 있습니다.방법.. 2024. 5. 29.
[MSA] 마이크로 서비스 아키텍처, 설계 전략, 사례 지난 번에 마이크로 서비스 아키텍처(MSA, Micro Service Architecture)가 무엇인지 정의를 정리 해봤습니다.이번엔 MSA를 활용할 수 있는 전략에 대해 정리 해보려 합니다.MSA 기반으로 설계하는 이유는 운영을 잘 하기 위해서 라고 생각합니다.구체적으로 장애에 치명적인 타격을 예방하고, 확장의 유연성을 고려하며, 운영하는데 인력을 효과적으로 분배하기 위함 이라 생각합니다.이렇게 하려면 어떤 식으로 MSA를 구상해야 할지 한번 고민해보려 합니다.특히 대규모 서비스를 담당하는데 모노리틱 보단 MSA 기반 설계가 유리했습니다.대규모 서비스를 제공하는 기업에선 MSA를 어떤 서비스에 적용했는지 AI로 확인해습니다.Amazon:Amazon은 수많은 마이크로 서비스를 사용하여 규모가 큰 e-c.. 2024. 5. 28.
[MSA] 마이크로서비스 아키텍처, 모노리틱 아키텍처 이해하기 소프트웨어 아키텍처 중에서 크게 두가지 분류가 있습니다.- 모노리틱 아키텍처(Monolithic Architecture)하나의 어플리케이션 안에 모든 소스가 들어있는 구조입니다.(뷰, 컨트롤러, db접근, 핵심로직 등)어플리케이션을 실행파일로 말아서 내보내면, 독립적으로 바로 실행 가능한 어플리케이션이 됩니다.다른 어플리케이션과 연동 없이 단독적으로 수행도 가능합니다.특징 및 장점간편한 개발 : 전체 애플리케이션을 하나로 처리하기 때문에, 개발툴 등에서 하나의 프로젝트로 개발하면 됩니다.간편한 배포 : 테스트 및 배포도 단일 어플리케이션 하나로 수행합니다. 상대적으로 단순합니다.운영 측면에서 다운 되더라도 큰 영향이 없거나 다른 서비스에 영향이 가도 문제가 덜한 프로그램 이라면 유리할 수 있습니다.단점긴.. 2024. 5. 28.
[javascript] 익명함수,즉시실행함수,화살표함수 자바스크립트에서 지원하는 함수의 종류 중에, 자바처럼 함수를 선언해서 사용하거나람다를 선언해서 사용하는 방법 처럼 여러 가지 방법으로 함수를 선언할 수 있다.특히 다양한 기법으로 함수를 선언함으로써 코드 수를 줄이고 아는 사람만 알아볼 수 있도록 하는 것이 목적이다.성능의 목적으로 쓰이기도 하지만, 자바스크립트 특성상 함수를 제대로 불러오지 못하는 경우도 있어서, 그냥 자주 쓰인다고 알아두면 좋다.익명함수말그대로 이름이 없는 함수. 익명 함수를 선언 할 때는 이름을 붙이지 않는다.함수자체가 '식'이기 때문에 함수를 변수에 할당할 수 있다. 또한 다른 함수의 매개변수로 사용할 수 있다.단 한번만 사용되는 함수의 경우, 불필요한 시간동안 메모리를 차지하지 않도록 익명함수로 구현한다면, 정확히 해당 함수가 필.. 2024. 5. 22.