좋은 코드 3

디자인 패턴

디자인패턴이란 디자인..? 패턴..? 간단히 정리하자면, 해결책인데..! 이 글을 읽고 있는 당신은 소프트웨어 개발을 하면서 한번쯤 문제에 직면한 적이 있다. 똑같은 클래스 객체를 무진장 많이 생성해야 했다거나.. 문제 해결을 위해 똑같은 코드를 무진장 많이 복사했다거나.. 나는 문제를 왜 이렇게 일으키는 것일까 고민했겠지만 사실 대다수의 개발자들이 위와 같은 문제에 직면했었고 대부분의 문제에 대한 해결책들이 이미 정리되어 있다. 디자인 패턴은 라이브러리와 같이 코드 조각을 재사용하는 것은 아니지만, 패턴의 세부 개념들을 공부해서 프로젝트 코드에 적용할 수 있다. 알고리즘 vs 디자인 패턴 어떤 목표를 달성하기 위해 따라야할 일련의 절차를 제시하는 알고리즘, 레시피에 비유 목표와 세부 기능에 대해서는 제..

좋은 코드 2022.11.10

MySQL 곱씹기

MySQL에 대해 궁금했던 점들 위주로 공부하였다. MySQL은 세계에서 가장 널리 쓰이고 있는 관계형 데이터베이스 관리 시스템이다. 관계형 데이터베이스 관리 시스템은 Relational Database Management System이라고 해서 흔히 RDBMS라고 불린다. MySQL은 오픈소스이며 다중 사용자, 다중 스레드를 지원한다. 또한, C, Java, PHP 등의 여러 프로그래밍 언어를 위한 다양한 API 서비스를 제공한다. MySQL의 장점은 아래와 같은데 널리 사용되는 SQL을 사용하고 있고, 오픈 소스이기 때문에 무료로 사용할 수 있다. 또한, 다양한 운영체제에서 사용할 수 있고 여러 프로그래밍 언어를 지원한다. 데이터베이스란 무엇일까 = 데이터의 집합체 + 통합 관리되고 있는 데이터베이스..

좋은 코드 2022.10.31

String과 char

알고리즘 문제를 풀다가 String으로 풀었을 때, char로 풀었을 때의 갭이 꽤 커서 머릿속에만 있는 개념을 정리하려고 한다. (물론 형만 바꾼 것은 아니고 구현 방식도 조금 바뀌었기 때문에 완전히 형(format)차이라고만 말할 수는 없지만.. 어떤 형을 선택해서 문제를 푸느냐에 따라 시간 차이가 꽤 커진다면.. 형 문제 때문이라고도 할 수 있지 않을까하는 구구절절한 마음..) char은 문자다! 자바에서 선언하려면 이렇게 써야한다. 'a', 'B', 'c' String은 문자열이다! 문자의 배열..! 문자열! "a", "aB", "c" 컴공 수업을 처음 듣던 나는 문자 하나면 문자! 문자 여러개면 문자열! 이라고만 생각했다. 그렇지 않다는 것은 꽤 이후에 깨달았다.. Java에서는 크게 형을 두 ..

좋은 코드 2022.10.14