기술블로그 4

qmail

qmail은 메일링 리스트에서 논의되고 있다. 새로운 버전 공지는 qmail 알림 메일링 리스트에서 받아볼수 있다. 현재 qmail의 마지막 버전은 qmail-1.03.tar.gz 이며 다음에서 받을 수 있다. 관련 패키지: djbdns, qmail과 사용하기를 권장하는 DNS 소프트웨어; ezmlm, 사용하기 쉽고, 빠른 메일링 리스트 관리 도구; ucspi-tcp, SMTP 서버를 위한 매우 빠른 inetd의 대체 프로그램과 RBL-목록 사이트를 사용해 스팸 메일 거부에 이용할 수 있는 도구가 포함되어 있다; serialmail, 시리얼 연결을 통해 메일을 전달하는 도구들 (AutoTURN을 지원함); qmailanalog, qmail의 로그를 분석할 수 있는 로그 분석기; dot-forward, q..

기술블로그 2020.07.08

php,CodeIgniter4로 객체지향프로그래밍 설계

회사에 들어온지 1년 정도 되면서 개발할 때 어떻게 하면 유지 보수하기 쉽게 개발할 지 고민하던 중 api개발에 투입하게 되었다. 우아한 형제들 기술 블로그나 웹서핑 등을 통해 찾아본 객체지향 프로그래밍이 절차지향보다 어떻게 유지보수에 도움이 될 지, 현재 우리의 php, Codeigniter4에 녹아들지 생각해 보았다. 지금부터 아래에서 언급하는 내용은 제가 이해한 내용과 업무를 진행하면서 적용한 내용이기 때문에 틀린 부분이 있을 수 있음. 대부분의 아키텍처는 세부적인 차이는 있어도 공통적인 목표는 계층을 분리하여 관심사의 분리하는 것, 이런 아키텍처가 동작하기 위해서는 의존성 규칙을 지켜야 한다고 한다. 모든 소스코드 의존성은 반드시 외부에서 내부로, 고수준 정책을 향해야 한다. 업무 로직(고수준 정..

기술블로그 2020.01.12

인터페이스와 추상클래스 공통점 및 차이점

인터페이스와 추상클래스의 공통점 - 추상클래스와 인터페이스는 선언만 있고 구현 내용이 없다. - 그래서 자기 자신이 new를 통해 객체를 생성할 수 없으며, 상속받은 자식만이 객체를 생성할 수 있다. - 상속받은 자식이 구현을 반드시 하도록 해야할 때 사용한다. - JAVA에서는 type이 지정되있기 때문에 선언된 type과 자식의 type이 같아야만 한다. 인터페이스와 추상클래스의 차이점 인터페이스(Interface) 추상클래스(Abstract Class) 구현 객체의 같은 동작을 보장하기 위함 추상클래스를 상속받아 기능을 이용하고, 확장시키기 위함 다중 상속 가능 다중 상속 불가능 추상메서드만 가능 일반메서드+추상메서드 가능 상수+추상메서드 형태 일반변수(가능)+일반메서드(가능)+추상메서드 형태 생성..

기술블로그 2020.01.12

객체지향 프로그래밍이란? (OOP 정리)

객체 지향 프로그래밍(Object Oriented Programming) 객체 지향 프로그래밍은 컴퓨터 프로그래밍 패러다임중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고, 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 객체 지향 프로그래밍의 장, 단점 - 장점 ◆ 코드 재사용이 용이 남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용할 수 있음. ◆ 유지보수가 쉬움 절차 지향 프로그래밍에서는 코드를 수정해야할 때 일일이 찾아 수정해야하는 반면 객체 지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부에 멤버 변수혹은 메서드로 있기 때문에 해당 부분만 수정하면 됨. ◆ 대형 프로젝트에 적합 클래스단위로 모듈화시켜서 ..

기술블로그 2020.01.12