닥치고 코딩 84

도메인, DNS, A레코드, CNAME ??

도메인이란 숫자로 이루어진 인터넷 주소를 알기 쉽게 영문으로 표현한 것이다. DNS(도메인 이름 시스템)는 도메인 이름의 웹사이트 및 이메일 설정을 제어한다. 도메인 이름으로 이동하면 DNS 설정에 따라 어느 회사의 서버에 도달할지 결정된다. 예를 들어, A사의 DNS 설정을 사용하는 경우 방문자는 해당 도메인 이름을 사용할 때 A사의 서버에 도달한다. 사용자의 다른 회사 서버로 해당 설정을 변경하는 경우, 방문자들이 사용자의 도메인을 방문할 때 당사 대신 해당 회사로 도달하게 됨. DNS 요소설명 네임서버 네임서버는 도메인 이름을 DNS 설정을 제어하는 회사로 "연결"합니다. 일반적으로 이는 사용자가 도메인 이름을 등록한 회사가 됩니다. 하지만 사용자의 웹사이트가 다른 회사를 통해 호스팅되는 경우, 해..

기타 2020.02.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

SMTP, POP3, IMAP 메일관련 프로토콜 개념

IMAP와 POP3는 아웃룩(Outlook), 썬더버드(Thunderbird), 안드로이드 기본 이메일 앱과 같은 메일 클라이언트에서 이메일에 접속하고자 할 때 사용하는 프로토콜. 사용하는 포트번호가 다르며 방식도 다르게 설정되어 있습니다. 물론 회사 보안을 위해 포트번호는 변경될 수 있지만 방식은 변경되지 않음. SMTP(Simple Mail Transfer Protocol) Port 25 - default, non-encrypted port Port 465 - using SMTP securely 이메일을 보낼 때 사용되는 기본 프로토콜. 클라이언트-서버간 통신, 서버-서버간 통신을 모두 담당한다. 아래 POP3, IMAP은 둘다 메일을 받아 오는 역할이고, SMTP는 메일을 발신하는 역할을 한다. s..

기타 2019.12.27

자바스크립트 배열 선언 및 사용법 정리

어떤 언어든 배열은 필수이다. 언어마다 선언방법이 조금씩 다를 수 있어 자주 헷갈리니 정리함. 자바스크립트 배열 선언 방법 var arr = new Array(); var arr = new Array(1,2,3,4); var arr = []; var arr = [1,2,3,4]; 자바스크립트 배열에 값 넣기 var arr = new Array(); arr[0] = 1; arr[1] = 2; 자바스크립트 배열관련 함수 1. psuh() : 배열끝에 값 추가 > arr.push('a'); 2. pop() : 배열끝에 값 제거 > arr.pop(); 3. shift() : 배열의 첫번째 값 제거 > arr.shift(); 4. length : 배열의 길이출력 > arr.length; 5. concat() : ..

javascript 2019.12.07

외부에서 root계정 사용하기(ssh이용하여 root계정연결)

보안상의 이유로 SSH에서는 되도록 root 계정으로 접속하는 것을 활성화 시키기 보다는 "su" 명령어를 이용해서 일시적으로 최고 관리자 권한을 얻는 것을 추천. 전제조건 1. apt-get install openssh-server 2. sudo passwd root 로 root비밀번호 설정 전제조건이 끝나면 sudo vi /etc/ssh/sshd_config 접속 PermitRootLogin을 yes로 변경후 :wq sudo reboot후 putty or xshell 등 root로 접속확인 끝.

리눅스 2019.12.04

외부pc에서 VirtualBox 접속하기

개통되고 신나서 까먹기전에 급히 싸지르는 글 virtualBox와 우분투설치는 간단하여 패스. openssh-server까지 설치됐다면 1. 설정을 눌러서 네트워크에 들어간다. 2. NAT설정후 포트포워딩 설정한다.(NAT를 설정하는 이유를 자세히 모르지만 대략적인 이해로는 아래와 같다.) 3. 다음과같이 추가함 호스트ip는 윈도우의 내부ip window+r => cmd => ipconfig입력 게스트ip는 우분투의 터미널에서 ifconfig입력후 나오는 ip(별다른 설정 안했으면 10.0.2.15고정임.) 포트번호는 잘 모르면 기본22(내가 잘모름) 여기까지 설정하였다면 내컴퓨터 ---(포트포워딩)--- VirtualBox 이렇게 연결된거임. 확인은 윈도우 cmd창에 ssh abc123@172.30.1..

리눅스 2019.12.04

게이트웨이-gateway

게이트웨이(gateway, 문화어: 망관문)는 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어, 즉 다른 네트워크로 들어가는 입구 역할을 하는 네트워크 포인트 게이트웨이는 서로 다른 네트워크 상의 통신 프로토콜(protocol,통신규약)을 적절히 변환해주는 역할을 한다. 게이트웨이는 하나 이상의 프로토콜을 사용하여 통신한다는 면에서 라우터, 스위치와는 구별되며[1][2] OSI 참조 모델의 7계층 가운데 어느 곳에서도 동작이 가능하므로 전송방식이 다른 통신망도 흡수함으로써 서로 다른 기종끼리도 접속을 가능하게 한다. 게이트웨이는 또한 라우터와 동일한 개념으로 이해할 수 있다. 라우터는 네트워크 장비의 일종으로,패킷을 다..

용어정리 2019.11.28