분류 전체보기
-
[개발지식] 애자일 방법론개발지식 2022. 3. 15. 18:34
애자일 방법론? 기민한, 날렵한이라는 뜻으로 좋은 것을 빠르게 취하고, 낭비 없게 만드는 다양한 방법론을 통칭해서 일컫는 말이다. 앞을 예측하여 개발하지 않고, 일정한 주기를 가지고 계속 검토해 나가며 필요할 때마다 요구사항을 더하고 수정하여 커다랗게 살을 붙히며 개발해 프로세스 모델 방식이다. 미리 정해진 몇 개의 단계에 따라서 엄격한 순서대로 이루어지는 일직선의 과정인 폭포수의 프로세스와 반대되는 개념이다. 애자일 방법론 진행 과정 계획 -> 설계(디자인) -> 개발(발전) -> 테스트 -> 검토(피드백) 순으로 반복적으로 진행된다. 계획을 세운 후 다음 단계까지 기다려서 절차대로 진행하는 폭포수 모델과 다르게 진행 후 분석, 시험, 피드백을 통해 개선해 나가는 진행 모델이다. 계획 및 분석: 고객과..
-
[Backend] 객체 지향 프로그래밍 OOP(object oriented programming)Back-End 2022. 3. 15. 18:00
객체 지향 프로그래밍 OOP(object oriented programming) 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜서 상태와 행위를 가진 객체를 만들고, 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 객체 지향 프로그래밍 장점과 단점 장점 코드 재사용성 다른 개발자가 만든 클래스를 이용할 수 있으며, 상속을 통하여 확장해서 사용이 가능하다. 쉬운 유지보수 절차 지향 프로그래밍에서는 코드를 수정해야할 때 일일이 찾아서 수정해야하는 반면에 객체 지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부에 멤버 변수 혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 된다. 대형 프로젝트에 적합 클래스 단위로 모듈화를 시켜서 개발할 수 있..
-
[개발지식] AWS EC2 배포하기 (mongoDB)개발지식 2022. 3. 15. 14:53
EC2 서버 구매하기 SSH (Secure Shell Protocol) 다른 컴퓨터에 접속할 때 쓰는 프로그램으로, 다른 것들 보다 보안이 상대적으로 뛰어나다. 접속할 컴퓨터가 22번 포트가 열려있어야 접속이 가능하다. AWS EC2의 경우에는 이미 22번 포트가 열려있다. AWS EC2 접속하기 (Mac OS 기준 - Mac은 ssh가 있어서, 명령어로 바로 접근이 가능하다.) 1. 터미널 실행 2. AWS EC2 서버 구매 시 받은 Keypair의 접근 권한을 바꿔주기 sudo chmod 400 받은 키페어를 끌어다 놓기 3. SSH로 접속하기 ssh -i 받은 키페어 끌어다놓기 ubuntu@AWS에 적힌 내 아이피 4. EC2에 Node.js 설치하기 curl -sL https://deb.nodes..
-
[개발지식] 자주 쓰이는 리눅스 명령어개발지식 2022. 3. 15. 14:20
리눅스는 쉘 명령어를 통해서 OS를 조작한다. ls: 내 위치의 모든 파일을 보여준다. pwd: 내 위치(폴더의 경로)를 알려준다. mkdir: 내 위치 아래에 폴더를 하나 만든다. cd [폴더 이름]: [폴더 이름] 폴더로 이동한다. cd ..: 상위 폴더로 이동한다. cd -r [복사할 것] [붙여넣기 할 것]: 복사 붙여넣기 rm -rf [지울 것]: 지우기 sudo [실행 명령어]: 명령어를 관리자 권한으로 실행한다. sudo su: 관리자 권한으로 들어간다. (나올때는 exit로 나옴)
-
[Backend] DDD(Domain-Driven-Design) - 도메인 주도 설계Back-End 2022. 3. 15. 13:57
도메인 (Domain)? 사전적인 의미는 영역과 집합이다. DDD에서 말하는 도메인은 비즈니스 도메인이다. 비즈니스 도메인은 유사한 업무의 집합이다. 애플리케이션은 비즈니스 도메인 별로 나누어서 설계와 개발할 수 있다. DDD(Domain-Driven-Design) 비즈니스 도메인 별로 나누어서 설계하는 방식이다. 기존 애플리케이션 설계가 비즈니스 도메인에 대한 이해가 부족한 상태에서 개발되었다는 점에서 시작되었다. DDD에서는 기존의 협업에서 IT로의 일방향 소통구조를 탈피하여 현업과 IT의 쌍방향 커뮤니케이션을 중요하게 생각한다. DDD의 목표는 loosly coupling과 High cohesion이다. 애플리케이션 또는 그 안의 모듈간의 의존성은 최소화하고, 응집성은 최대화한다. DDD는 Stra..
-
[Backend] 도메인이란Back-End 2022. 3. 15. 13:37
IP 인터넷에 연결되어 있는 장치들은 각각의 장치를 식별할 수 있는 주소를 가지고 있는 것을 IP라고 한다. 도메인 IP는 사람이 이해하고 기억하기 어려워서 각 IP에 이름을 부여하는 것을 도메인이라고 한다. 도메인 이름 도메인 이름 3단계 www.은 도메인 이름에 포함되지 않은 호스트명이다. com과 co.kr의 차이점은 최상위 도메인 com을 사용한 것이고 co.kr은 국가 정책에 따른 국가 최상위 도메인을 사용한 것이다. 1단계 = 국가 도메인 (kr) 2단계 = 도메인의 성격 (해당 도메인이 사업체의 도메인이라는 것을 알려주는 co) 3단계 = 도메인 이름을 등록하는 사람이 원하는 이름 1단계 도메인을 TLD(Top-Level Domain) 2단계 도메인을 SLD(Second-Level Domai..
-
[TIL] 22년 3월 14일 회고록TIL 2022. 3. 15. 13:14
Today I Learned 2022. 3. 14. 월 오늘은 백엔드 로드맵을 보면서 내가 부족한게 어떤 것인지 파익을 하며, 공부를 했다. 주말에 알고리즘 코딩테스트가 있지만 이번 주에 면접도 있어서 공부가 필요하다 생각했다. 로드맵을 보면서 처음 들어보는 것들과 알아도 제대로 모르는 것들이 많았다. 진짜 이론 지식이 없다고 느꼈다. 읽어보면서 내가 개발을 했을 때, 왜 이런 것을 썼는지 조금 더 알아볼 수 있었다. 테스트 코드도 중요해서 공부를 했지만 막상 알아도 어떻게 코드를 구현해야할지 감이 안잡힌다... 구직을하면서 많이 봤던게 TDD였는데, 이론을 알아도 코드를 구현해서 이걸 어떻게 재사용을 하는지 좀 이해가 안갔다. 만약 입사 확정이 돼서 현업에 뛰어들었을 때, 되게 고생할 것 같은 느낌 ㅜ..
-