🪩/기타 26

계층형 아키텍처 패턴 (Layered Architecture Pattern)

아키텍처 패턴은 소프트웨어의 구조를 구성하기 위한 가장 기본적인 토대를 제시한다. 각각의 시스템들과 그 역할이 정의되어 있고, 여러 시스템 사이의 관계와 규칙 등이 포함된다. 그중에서 계층형 아키텍처 패턴이란, 시스템을 여러 계층으로 분리하여 관리하는 방법으로 현재 가장 많이 쓰인다고 한다. 목표는 각 계층을 명확하게 분리하여 유지하고, 각 계층이 자신의 바로 아래 계층에만 의존하게 만드는 것이다. 클라이언트가 서버에 요청 - 프레젠테이션 ⬇️ 서버는 해당 요청을 바탕으로 비즈니스 로직 처리 - 비즈니스 로직 ⬇️ 비즈니스 로직에서 데이터베이스가 필요하면 - 데이터베이스 ⬇️ 데이터베이스를 가져옴 컨트롤러: 클라이언트의 요청을 받고 응답 반환 서비스: 클라이언트의 요구사항 처리, DB정보가 필요하면 리..

🪩/기타 2024.02.21

클래스, 상속, 추상 클래스, 인터페이스

오늘은 객체지향에서 중요한 부분이라고 강조해주신 네가지를 내가 이해할 수 있는 정도로 정리해봤다. 객체지향 프로그래밍이란 정말 간단하게 압축해서 말하면 클래스로 코드를 짜는 것 클래스 이전 글 참고 상속 a 클래스의 속성과 메서드를 b 클래스가 물려받는 행위를 상속이라고 함 불필요한 코드 반복을 줄일 수 있음 extends 키워드를 사용하여 부모클래스(=슈퍼클래스)를 확장 상속 오버라이딩은 덮어 쓰는 행위를 뜻함 자식클래스가 부모클래스 함수의 동작을 새롭게 정의하는 것 서브타입 -> 슈퍼타입 : upcasting 슈퍼타입 -> 서브타입 : downcasting 추상 클래스 인스턴스화를 할수없는 클래스 상속을 통해 자식클래스에서 메서드를 강제로 제각각 구현하는 용도 abstract 를 사용하여 정의 (e..

🪩/기타 2024.02.20

객체(object), 클래스(class), 인스턴스(instance)

~오늘의 수강 과목~ 1. Node.js 심화 (이용우 튜터님) _ 객체 지향 프로그래밍(OOP) 공부하다보니 낯선 용어가 많이 나오는데 머릿속에서 구조가 잘 안 잡히는 느낌이라 이걸 먼저 잡고 다시 시작했다. 개인적으로 처음 공부하는 개념들은 연관관계를 파악하고 시작하는게 제일 효율적으로 공부할 수 있는 방법인 것 같다. 객체(object)는 소프트웨어로 구현할 대상(물체나 개념..) 그 자체 구성 요소 정보(data) 그 정보를 처리하는 행동(function 혹은 method) 클래스(class)는 객체를 만들기 위한 템플릿 구성 요소 속성(attribute) : 객체의 성질을 결정함 (ex: 팥 붕어빵의 "팥"이라는 속성) 메서드(method) : 객체의 성질을 변화시키거나, 객체에서 제공하는 기..

🪩/기타 2024.02.16

🔥💖스파르타 코딩클럽 가족돌봄청년지원 캠페인💖🔥

https://spartacodingclub.kr/csr_youngcarer?origin=shared 가족돌봄청년 지원 캠페인 | 스파르타코딩클럽 모든 바쁨이 희망이 될 수 있도록 spartacodingclub.kr 현재 열심히 공부중인 스파르타 코딩클럽에서 굿네이버스와 함께 너무! 좋은! 이벤트를 진행하고 있길래 소개하는 차원에서 글을 올리게 되었다. 이벤트 페이지에 방문해보면 알겠지만 몇 초만 시간을 내서 버튼 한 번 누르면 스파르타 코딩클럽에서 나의 이름으로 대신 기부를 해준다! 참여 방법 자체가 쉽기도 했고, 무엇보다 이렇게 뜻깊게 쓰인다고 하여 주변 친구들에게도 조금씩 소개하고 다녔다. (해줬는지는 모르겠지만..) 나의 이름으로 된 기부증서.. 갖고싶지 않으신가요 여러분 이렇게 대감집 곳간 털어..

🪩/기타 2024.02.13

[AWS] ec2 ssh 터미널 진입 방법

먼저 터미널을 켜고 키페어가 있는 폴더 경로로 들어간다. 나같은 경우는 다운로드 폴더에 pem 파일을 받아놨기 때문에 cd Downloads 다운로드 폴더로 이동했다. sudo chmod 400 sparta_keypair.pem 먼저 키페어 파일의 권한을 읽기만 가능하도록 수정한다. ssh -i 키페어파일명.pem ubuntu@aws에서 확인한 ip번호 그리고 해당 명령어를 입력하면 환경이 바뀌며 ssh로 접속이 가능하다. 그후에는 git clone을 이용하여 프로젝트를 다운받고 똑같이 cd 명령어로 경로를 변경한 뒤 sudo -s 명령어를 입력하여 루트계정으로 전환하고 yarn 패키지, pm2 등을 설치하는 과정 등이 있다. pm2 start app.js pm2를 이용하면 서버가 꺼지지 않도록 유지가 ..

🪩/기타 2024.02.13

[mysql] mac m1Homebrew, mysql 설치 방법

Homebrew 설치 mysql을 설치하려면 먼저 homebrew가 깔려있어야 한다. 터미널을 열고 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 해당 명령어로 설치를 해준다. 근데 이 글의 제목을 검색하고 들어오신 분이라면 맥북 m1을 사용하고 계신거겠죠... 그럼 여기서 끝이 아니고 입력해야할 명령어가 조금 더 있다. (설치 직후 터미널을 통해 관련 안내가 나온다) echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/{사용자명}/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv..

🪩/기타 2024.02.07

[SQL] 제약 조건 연습 문제

~오늘의 수강 과목~ 1. Node.js 숙련 1주차 (이용우 튜터님) _ SQL 제약 조건 1 : N -- 1 : n -- 1개의 출판사는 n개의 책이름을 가질 수 있다 CREATE TABLE Publisher ( publisherId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, publisherName varchar(255) NOT NULL, publisherAddress varchar(255) NOT NULL ); CREATE TABLE Books ( bookId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, publisherId int(11) NOT NULL, bookName varchar(255) NOT NULL, FOREIG..

🪩/기타 2024.01.29

관계형, 비관계형 데이터베이스

~오늘의 수강 과목~ 1. Node.js 입문 1주차 (이용우 튜터님) _ express, module, router, req / res, api 2. Node.js 입문 2주차 (이용우 튜터님) _ MongoDB, schema, middleware 3. Node.js 숙련 1주차 (이용우 튜터님) 관계형 데이터베이스 RDB 데이터의 형식 지정 -> 특정 컬럼이 무조건 존재한다고 가정 때문에 정확성과 일관성을 강조함 은행, 공공기관 등에서 사용하기 적합 비관계형 데이터베이스 NoSQL 형식 지정x 유연하게 확장 가능 때문에 빠른 저장, 검색 등에 강함 다만 형식이 지정되지 않은 만큼 빠진 컬럼이 있을 수 있기 때문에 신뢰x sns, 빅데이터 분야에서 적합

🪩/기타 2024.01.28

동기(Sync), 비동기(Async)

내일배움캠프: Node.js_4기 20일차 TIL 프로젝트를 진행하다보니 동기와 비동기에 대해 다시한번 기억하고 넘어가야 할것같아서 내 언어로 정리해보기로 했다. 다음 TIL은 Promise 와 async, await 까지 정리해보고 싶다. 동기 sync 답변(=결과)을 기다리는 것 답변이 올때까지 다음 일은 하지 않음 답변을 기다렸다가 일을 수행 (답변이 올때까지 기다리는 상태 = blocking) 내가 떠올린 예시는 배달앱의 대면 배달 서비스였다. [직접 받을게요] 옵션을 선택하면 내가 문 밖으로 나갈 때까지 배달 기사는 다음 배달을 갈 수 없다. 결과를 기다려야만 다음 단계로 갈 수 있기 때문에 자원을 비효율적으로 사용하는 대신 과정이 단순함 프로그래밍에서는 보통 어떤 일을 수행한 결과를 이용해서..

🪩/기타 2024.01.23

자료구조 스택, 큐

내일배움캠프: Node.js_4기 11일차 TIL ~오늘의 수강 과목~ 1. JS 개인 과제 리뷰, 해설 2. 특강: 알고리즘 (강창민 튜터님) _ 자료구조: 스택, 큐 _ 정렬 알고리즘: 버블, 선택, 삽입 3. 세션: JavaScript 배열 메소드 (김병연 튜터님) _ push, pop, shift, unshift, splice, map, filter, slice, concat, reduce, find, some, every, includes, indexOf, lastIndexOf, forEach 자료구조 스택(Stack) Last In First Out, 후입선출 나중에 들어간 값이 처음으로 빠져나온다 튜터님께서 편의점 사진을 통해 스택에 대한 예시를 쉽게 들어주셨다 점장은 음료 재고를 뒤(..

🪩/기타 2024.01.08