목록CS (2)
발전하는 춘배
개요객체 지향 프로그래밍(OOP: Object-Oriented Programing)은 컴퓨터 프로그램을 메시지를 주고받고 데이터를 처리할 수 있는 여러 개의 독립된 단위, 즉 "객체"들의 집합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임이다.객체 지향 프로그래밍을 적용하면 확장 및 보수가 용이한 대규모 소프트웨어를 개발하기에 유리하며, 또한 인간의 사고 방식과 유사하기 때문에 보다 직관적인 코드 분석이 가능하게 된다.이러한 객체 지향 프로그래밍의 장점은 추상화, 상속, 다형성, 캡슐화의 4가지 특성에 의해 극대화 된다. 각각의 특성이 무엇인지 알아보도록 하자.추상화 Abstration자료의 추상화란 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만드는 것이다. 다시 말하면 객체..
개요프로젝트를 진행하던 중, `crypto.randomBytes(64).toString("base64");` 로 생성한 salt를 mysql 데이터베이스의 CHAR(64)에 insesrt하려 했더니 Data too long for column 'salt'라면서 에러가 났다. chat-gpt에게 원인을 물어보니 다음과 같았다. `crypto.randomBytes(64)`는 64 바이트의 랜덤 데이터를 생성한다. 바이트 데이터를 base64로 인코딩하면, 일반적으로 인코딩된 문자열의 길이는 원본 데이터 크기의 약 1.33배가 된다. 따라서, 64 바이트의 데이터를 base64로 인코딩하면, 결과 문자열의 길이는 약 86자(ceil(64 * 4 / 3) = 86)가 된다. CHAR(64)는 최대 64자의 문..
