인기글
-
[Git] fatal: unable to access 에러 해결
커밋을 하고 push를 했는데 unable to access timed out 에러가 발생했습니다 이 에러는 사용자가 Git저장소에 엑세스할 수 있는 권한이 없다는 의미입니다엑세스 권한이 없다는 건 3가지의 경우가 있는데사용자가 해당 저장소에 대한 엑세스 권한을 가지고 있지 않은 경우사용자가 올바른 깃허브 계정으로 로그인하지 않은 경우깃허브 저장소의 소유자가 사용자에 대한 엑세스 권한을 부여하지 않은 경우저의 경우 2번째 올바른 깃허브 계정으로 로그인하지 않은 경우였습니다해결법은 다음과 같습니다 1. 탐색기에 자격 증명 관리자 검색 2. window 자격증명 -> git:https://github.com 더보기 3. 편집에 들어가서 4. 제대로 된 깃허브 아이디와 비밀번호로 바꿔주면 정상적으로 push..
-
[Spring] JPA란? JPA 예제 코드 작성해보기
JPA(Java persistence API)란💡현재 자바 진영의 ORM 기술 표준, 인터페이스 모음쉽게 표현하자면 자바의 ORM기술을 쉽게 구현하도록 도와주는 API입니다. 여기서 ORM은 뭘까ORM(Object-Relation Mapping)💡객체가 DB 테이블이 되도록 매핑 시켜주는 프레임워크프로그램의 복잡도를 줄이고, 가바 객체와 쿼리를 분리할 수 있습니다트랜잭션 처리나 기타 데이터 베이스 관련 작업들을 편리하게 할 수 있습니다node.js의 sequelize 도 ORM 의 한 종류입니다한눈에 이해할 수 있도록 표로 정리해 보았습니다 SQL MapperORM Mapper자바 클래스와 sql을 매핑자바 클래스와 DB 테이블을 매핑SQL을 명시하여 직접 DB 조작객체 간의 관계를 바탕으로 SQL..
-
[AWS] 윈도우에서 ssh접속 시 ssh 접속 실패 - Permissions for 'ssh key 파일경로' are too open
ssh 명령어로 접속 하려 했더니 아래 문구와 같은 에러가 발생했습니다 이는 key의 권한이 너무 많아서 발생하는 것!이럴 시에는 pem 파일의 접근 권한을 변경해주어야 합니다🌐해결 방법 리눅스 운영체제일 경우 chmod 400 [파일명]으로 간단하게 파일 권한을 바꿀 수 있지만window는 chmod 400 명령어를 사용할 수 가 없는데요 window에서는 pem파일의 속성을 바꿔주는 방법이 있지만chmod와 비슷한 icacls명령어로 쉽게 권한을 변경해줄 수 있습니다icacls.exe [파일명].pem /reseticacls.exe [파일명].pem /grant:r %username%:(R)icacls.exe [파일명].pem /inheritance:r 이는 cmd에서만 되고 powershell에서..
-
[AWS] RDS 데이터베이스 배포하기
RDS(Relational Database Service)란💡관계형 데이터 베이스를 제공하는 AWS의 서비스Amazon RDS를 사용하면 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있습니다사용자가 애플리케이션에 집중해 애플리케이션에 필요한 빠른 성능,고가용성,보안 및 호환성을 제공할 수 있도록 지원합니다 RDS의 특징가상 머신 위에서 동작 | Serverless 서비스내부에서는 EC2활용VPC 안에서 동작- 기본적으로 Public IP를 부여하지 않아 외부에서 접근이 불가능 합니다- 설정에 따라 Public 으로 오픈이 가능합니다(DNS접근)서브넷과 보안그룹지정이 필요합니다EC2타입의 지정이 필요파라미터 그룹root 유저만 설정 가능한 DB의 설정값들을 모아 그룹화한 개 그럼..
전체글
-
[AWS] 윈도우에서 ssh접속 시 ssh 접속 실패 - Permissions for 'ssh key 파일경로' are too open
ssh 명령어로 접속 하려 했더니 아래 문구와 같은 에러가 발생했습니다 이는 key의 권한이 너무 많아서 발생하는 것!이럴 시에는 pem 파일의 접근 권한을 변경해주어야 합니다🌐해결 방법 리눅스 운영체제일 경우 chmod 400 [파일명]으로 간단하게 파일 권한을 바꿀 수 있지만window는 chmod 400 명령어를 사용할 수 가 없는데요 window에서는 pem파일의 속성을 바꿔주는 방법이 있지만chmod와 비슷한 icacls명령어로 쉽게 권한을 변경해줄 수 있습니다icacls.exe [파일명].pem /reseticacls.exe [파일명].pem /grant:r %username%:(R)icacls.exe [파일명].pem /inheritance:r 이는 cmd에서만 되고 powershell에서..
-
[AWS] RDS 데이터베이스 배포하기
RDS(Relational Database Service)란💡관계형 데이터 베이스를 제공하는 AWS의 서비스Amazon RDS를 사용하면 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있습니다사용자가 애플리케이션에 집중해 애플리케이션에 필요한 빠른 성능,고가용성,보안 및 호환성을 제공할 수 있도록 지원합니다 RDS의 특징가상 머신 위에서 동작 | Serverless 서비스내부에서는 EC2활용VPC 안에서 동작- 기본적으로 Public IP를 부여하지 않아 외부에서 접근이 불가능 합니다- 설정에 따라 Public 으로 오픈이 가능합니다(DNS접근)서브넷과 보안그룹지정이 필요합니다EC2타입의 지정이 필요파라미터 그룹root 유저만 설정 가능한 DB의 설정값들을 모아 그룹화한 개 그럼..
-
[AWS] EC2 인스턴스 생성하기
AWS(Amazon Web Service)란💡서버,네트워크 등 인프라 전체를 대여해 주는 서비스AWS는 여러 사업자에게 각각 빌려야했던 인프라를 일괄로 빌릴 수 있고, 웹서버,데이터 베이스 서버 등에 필요한 소프트웨어까지 통째로 사용할 수 있습니다 EC2(Clastic Compute Cloud)란💡AWS에서 제공하는 클라우드 컴퓨팅 서비스로AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한대 빌리는 것과 같다고 볼 수 있습니다 EC2인스턴스 생성의 의미AWS EC2인스턴스를 생성한다는 것은 AMI를 토대로 운영체제,CPU,RAM혹은 런타임등이 구성된 컴퓨터를 빌리는 것입니다 그럼 여기서 AMI란 무엇일까?AMI(Amazon Machine Image)란💡인스턴스를 시작하는데 필요한 정보를 제..
-
정규표현식(Regular Expression) 정리
정규표현식이란 무엇일까요? 정규 표현식은 주로 복잡하고 특정한 규칙을 가진 문자열을 처리하기 위해 사용합니다실생활에서 이메일 유효성 검사나,전화번호 유효성 검사와 같은 일을 처리할 때 사용하곤 합니다그럼 지금 부터 정규 표현식이 정확히 무엇인지,어떻게 사용하는 지에 대해 알아보도록 합시다 💡정규표현식(Regular Expression)특정 문자열의 규칙을 가지는 문자열의 집합을 표현하는데 사용되는 언어 문자 클래스정규식 패턴설명패턴 종류\w문자만 허용[a-zA-z_0-9]\W문자가 아닌 경우만 허용[^a-zA-z_0-9]\d숫자만 허용[0-9]\D숫자가 아닌 경우만 허용[^0-9]\s공백 문자,탭만을 허용(space,tab,newline)\S공백 문자,탭이 아닌 경우만 허용!(space,tab,new..
-
[CS] 라이브러리와 프레임 워크는 어떤 차이가 있을까?
라이브러리와 프레임워크라이브러리와 프레임워크의 차이에 대해 아시나요? 이 두 용어는 비슷하면서도 달라서 헷갈리기 매우 쉬운데요저도 개발을 하면서도 라이브러리와 프레임워크의 정확한 차이는 알지 못하였습니다그럼 같이 라이브러리와 프레임워크는 어떤 차이가 있는지 알아봅시다 라이브러리와 프레임 워크의 공통점은개발 속도를 더 빠르게 만들어준다는 점누군가 미리 작성해 놓은 코드고우리의 개발 속도를 더 빠르게 만들어주는 도구 역할 차이점은누가 누구를 제어하는 가? 로 나눌 수 있습니다 라이브러리💡주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임(= 필요한 기능들이 모여있는 코드의 묶음)대표적으로 jQuery와 bootstrap를 라이브러리라고 볼 수 있습니다 라이브러리는 우리가 필요할 ..
-
[CS] 가비지 컬렉션이란
Garbage Collection이란?JVM의 Heap 영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체(garbage)를 모아 주기적으로 제거하는 프로세스 가비지 컬렉션은 자바 메모리 관리 방법 중 하나입니다! 자바에서 의미하는 가비지(Garbage)란💡일반적으로 Heap 영역에서 동적으로 할당했던 메모리 중 필요없게 된 메모리 객체 가비지 판단 방법가비지 컬렉션은 특정 객체가 가비지인지 아닌지 판단하기 위해 도달성입니다즉,도달능력이라는 개념을 적용한다고 볼 수 있습니다.객체에 대해 레퍼런스가 있다면 Reachable로 구분되고, 객체에 유효한 레퍼런스가 없다면 Unreachable로 구분해 수거합니다Reachable : 객체가 참조되고 있는 상태Unreachable : 객체가 참조되..
-
[CS] 동기와 비동기
오늘은 개발을 하면서 많이 들어본 동기와 비동기에 대해서 알아보겠습니다 동기(Synchronous)작업이 순차적으로 진행되는 것을 의미즉, 한 작업이 시작되면 해당 작업이 완료될 때 까지 다른 작업이 기다려야 함을 의미합니다 장점 단점 설계가 매우간단하고 직관적입니다여러 작업이 동시에 실행되어야하는 경우각 작업의 완료를 기다리는 동안 시간이 소요되어 전체 프로세스의 성능이 저하될 수 있습니다 한 작업이 지연되면 다른 작업들도 모두 지연되는 문제가 발생합니다 비동기(Asyncchronous)작업이 독립적으로 실행되는 것을 의미즉 작업의 완료여부를 기다리지 않고 다른 작업을 실행할 수 있는 방식을 의미합니다 장점 단점 요청에 따른 결과가 반환되는 시간 동안 다른 작업을 수행할 수 있으므로 자원을 효율적..
-
[Spring] Entity와 DTO는 왜 나눠야 할까?
오늘은 Entity와 DTO를 분리해야하는 이유와 분리하는 방버에 대해 알아보도록 하겠습니다처음엔 DTO라는 개념이 처음이라 많이 어려웠었습니다 spring boot를 처음 시작하는 분들이 좀 더 효율적인 프로젝트 구조로 코드를 작성했으면 하는 마음에 이 글을 작성했습니다! 먼저 Entity와 DTO를 분리하는 이유에 대해 알아보기 전Entity는 뭐고 DTO는 무엇일까요?Entity란💡실제 DB 테이블과 매핑되는 핵심 클래스DTO(Data Transfer Object)💡 각 계층 간 데이터 교환이 이루어질 수 있도록 하는 객체즉, 쉽게 표현하면 각 계층 끼리 주고 받는 우편물이나 상자의 개념입니다Entity와 DTO를 분리하는 이유Entity는 요청이나 응답 값을 전달하는 클래스로 사용하는 것은 ..
-
[Spring] Port 8080 is already use 에러 해결 방법
Spring boot 프로젝트를 실행할 때마다 종종 마주하는 이 port is already use!!이 에러의 발생 원인은 크게 2가지 입니다 첫번째, 동일한 포트를 사용하는 어플리케이션을 번갈아가며 실행 시키는 경우두번쨰, IDE 상에서는 프로세스가 종료되었으나 실제 프로세스가 종료되지 않은 경우 1번의 경우 하나를 제외한 나머지 어플리케이션을 종료하면 쉽게 해결할 수 있습니다어플리케이션을 종료하는 방법은 cmd를 열고 아래 명령어를 입력 해줍니다netstat -ano 이 중 로컬 주소의 끝이 8080으로 끝나는 PID를 확인하거나 netstat -nao | findstr 8080를 입력하고 포트 8080을 사용하는 pid 번호를 확인 합니다 taskkill /f /pid [pid 번호]taskki..
-
[CS] Restful API 란?
Rest(Reoresentational State Transfer)💡웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍쳐 스타일즉 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 소프트웨어 아키텍쳐 HTTP URL을 통해 자원을 명시HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용 하는 것 REST 의 구성요소1. 자원(resource)모든 자원에는 고유한 ID가 서버에 존재자원을 구별하는 ID는 HTTP URI2. 자원에 대한 행위(Verb)HTTP Method(GET,POST,PUT,DELETE)를 사용3. 자원에 대한 행위의 내용(Representations)HTTP Message Pay LoadClient가..
-
[CS] About HTTP 메서드
HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청과 응답데이터를 전송하는 방식 HTTP 메서드의 종류는 총 9가지 지만 주로 쓰이는 메서드는 5가지인데요주요 메서드로는 GET,POST,PUT,PATCH,DELETE가 있습니다. 주요메서드GET : 리소스 조회POST : 요청 데이터 처리 (주로 등록에 사용)PUT : 리소스 전체 변경 / 해당 리소스가 없으면 생성PATCH : 리소스 부분(일부) 변경DELETE : 리소스 삭제 그 외 메서드 HEAD: 서버 리소스의 헤더(메타 데이터의 취득)OPTIONS: 리소스가 지원하고 있는 메소드의 취득CONNECT: 프록시 동작의 터널 접속을 변경 HTTP - GET리소스 조회 메서드(Read)GET메소드는 주로 데이터를 읽거나 검색할 때 사용되는 메..
-
[CS] Axios 란 무엇일까?
프론트 코드에 백엔드 API를 연동할 때 사용하는 대표적인 라이브러리에는 axios가 있습니다axios외에도 fetch가 있지만 오늘은 axios에 대해서 알아보도록 하겠습니다 axios 란💡 브라우저 , Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리즉 axios는 GET, POST, PUT, DELETE 등 HTTP 메서드를 통해 프론트엔드와 백엔드 API와 쉽게 통신하도록 도와주는 라이브러리 라고 할 수 있습니다Promise💡비동기 로직 처리에 유용한 자바스크립트 객체 axios의 특징운영환경에 따라서 브라우저의 XMLHttpRequest 객체 또는 Node.js의 HTTP API 사용Primise API사용요청과 응답 데이터의 변형HTTP요청 취소 및 ..
-
[CS] 쿠키(Cookie)와 세션(Session)
오늘은 HTTP의 특징 중 하나인 무상태 프로토콜의 한계를 해결하기 위한 방법인 쿠키와 세션에 대해서 알아보겠습니다 HTTP의 특징을 아직 모르신다면 아래의 글을 참고해주세요⬇️ [CS] HTTP란?HTTP(HyperText Transfer Protocol)💡웹 브라우저와 웹 서버 간에 데이터를 주고 받기 위해 사용하는 프로토콜 HTTP의 특징크게 클라이언트 서버 구조,Connectionless와 Stateless로 볼 수 있습니다클라이언트dinmoy8761.tistory.com 쿠키와 세션 많이 들어보기는 했을텐데 어디에 어떤 상황에서 쓰이는 것 일까요?쿠키(Cookie)란💡브라우저에 로컬로 저장되는 Key-Value쌍의 작은 데이터 파일어떤 웹 사이트에 방문했을 때 브라우저를 통해 사용자의 컴퓨..
-
[CS] CORS란 무엇일까? CORS 개념
프론트와 백엔드를 연동하는 과정에서 발생한 CORS에러API를 테스트 할 땐 에러가 나지 않는데 왜 연동만 하면 CORS에러가 나는 것 일까?CORS에러가 뭔지 왜 발생하는 것인지에 대해 차차 알아가 보겠습니다CORS(Cross-Origin Resource Sharing)다른 출처에 리소스 요청시 접근 권한을 부여하는 메커니즘 추가 HTTP 헤더를 사용하여 한 출처에서 실행 중인 웹 애플리케이션이 다른 출러의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다 CORS 기본 동작 원리1. 클라이언트 HTTP 요청요청 헤더에 Origin 정보를 담아서 전달합니다2. Server 응답서버에서 해당 요청에 대한 응답 시 응답 헤더에 Access-Control-Allow-Origin ..
-
[Spring] JPA란? JPA 예제 코드 작성해보기
JPA(Java persistence API)란💡현재 자바 진영의 ORM 기술 표준, 인터페이스 모음쉽게 표현하자면 자바의 ORM기술을 쉽게 구현하도록 도와주는 API입니다. 여기서 ORM은 뭘까ORM(Object-Relation Mapping)💡객체가 DB 테이블이 되도록 매핑 시켜주는 프레임워크프로그램의 복잡도를 줄이고, 가바 객체와 쿼리를 분리할 수 있습니다트랜잭션 처리나 기타 데이터 베이스 관련 작업들을 편리하게 할 수 있습니다node.js의 sequelize 도 ORM 의 한 종류입니다한눈에 이해할 수 있도록 표로 정리해 보았습니다 SQL MapperORM Mapper자바 클래스와 sql을 매핑자바 클래스와 DB 테이블을 매핑SQL을 명시하여 직접 DB 조작객체 간의 관계를 바탕으로 SQL..
-
[Node.js] API 란
백엔드 개발을 시작할 때 API라는 개념이 이해되지 않아 많이 힘들었습니다. 이 글이 백엔드 개발을 시작하는 분들이 API의 개념을 쉽게 이해하는 데 도움이 되길 바랍니다. 이제 API가 무엇인지 간단히 정리해보겠습니다.APIApplication Programming Interface💡소프트웨어 응용프로그램에서 다른 소프트웨어 구성 요소 또는 서비스와상호작용 하기 위한 인터페이스를 제공하는 프로그래밍 기술즉 간단히 말하면,한 프로그램에서 다른 프로그램으로 데이터 주고받기 위한 방법 API가 가져야 할 내용요청 방식(Method)무슨자료인지(endpoint)자료요청에 필요한 추가정도(paramiter) API의 역할API는 서버와 데이터 베이스에 대한 출입구 역할API는 어플리케이션 기기가 원활하게..
-
[프로그래머스] 접미사인지 확인하기
문제 설명어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr나의 풀이class Solution { public int solution(String my_string, St..
-
[Node.js] 모듈,npm
Node.js💡자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경을 주로 서버 사이드 어플리케이션 개발에 사용되는 소프트웨어 플랫폼 모듈(module)이란?💡프로그래밍에서 코드의 재사용을 위한 단위코드 조각들을 패키지로 묶어 다른 코드에서 사용할 수 있는 독립적인 단위모듈은 특정 기능을 수행하거나 객체를 정의npmnode.js에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할 겸 설치 및 관리를 위한 CLI를 제공 #지역 설치$npm install #전역 설치$npm install -g package.json과 의존성 관리npm은 package.json을 통해 프로젝트 정보와 패키지 의존성을 관리package.json에서 가장 중요한 항목은 name과 version모듈 내보내기expor..
-
[CS] Socket 이란?
socket이란💡프로그램이 네트워크에서 데이터를 주고 받을 수 있도록 네트워크 환경에 연결할 수 있게 만들어진 연결부즉, 두 호스트를 연결해주는 도구로서 인터페이스의 역할을 합니다일반적으로 TCP/IP 프로토콜을 이용합니다 소켓의 구성요소프로토콜, IP 주소, 포트 번호가 있습니다프로토콜어떤 시스템이 다른 시스템과 통신을 원활하게 수용하도록 해주는 통신 규약,약속IP전 세계 컴퓨터에 부여된 고유의 식별 주소서버 장비 또는 네트워크 장비를 주소로 표현한 것포트(Port)네트워크 상에서 통신하기 위해서 호스트 내부적으로 프로세스가 할당 받아야하는 고유한 숫자즉 통신을 사용하는 어플리케이션을 식별하는 번호같은 호스트내에서 서로 다른 프로세스가 같은 포트 넘버를 가질 수 없습니다 소켓이 하는일소프트웨어와 소프..
-
[Node.js] Sequelize란? Sequelize 주요 메서드정리
ORM(Object Relational Mapping)💡객체를 통해 간접적으로 데이터베이스를 다루는 방식 Sequelize란?💡 ORM의 일종으로, 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구 Sequelize 작동원리 Express 내부의 시퀄라이저가 js파일 실행js 파일 내의 내부 model의 정보를 읽어서 sequelize에 적재Express에서 sequelize를 이용하여 DB접근(동기/비동기)접근한 DB 스키마에 CRUD실행Sequelize 주요 메서드로우 생성 쿼리( Create)const { User } = require('./models')User.create({ name: '홍길동', age: 23, comment: '안녕하세요.'}) 로우 조회 ..
-
[CS] HTTP 상태코드 알아보기
기본 웹지식 중 하나인 HTTP 상태 코드에 대해 알아보겠습니다API를 테스트 하는 과정에서도 HTTP 상태코드는 많이 쓰이는데요오늘은 평소에 보던 HTTP 상태 코드 이 외의 흔히 보지 못한 HTTP 상태코드엔 뭐가 있는지 까지 알아볼 계획입니다상태 코드란 (Status Code)클라이언트의 요청에 따른 서버의 응답 상태를 세자리 숫자로 나타낸 것 1XXInformation 정보 제공조건부 응답 : 웹서버가 현재 요청을 받았으며 작업진행 중 이라는 의미대표적으로는 첫번째 요청을 받았으며 추가 요청을 기다리고있음을 나타내는 100주로 주식 정보와 같이 실시간으로 데이터를 받아야하는 통신에서 사용2XXSuccess 성공클라이언트의 요청이 성공적으로 서버에서 처리되었다는 의미상태 코드상태 텍스트서버에서 의..
-
[프로그래머스] 배열의 원소 삭제하기
문제 설명 정수 배열 arr과 delete_list가 있습니다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 100 1 ≤ arr의 원소 ≤ 1,000 arr의 원소는 모두 서로 다릅니다. 1 ≤ delete_list의 길이 ≤ 100 1 ≤ delete_list의 원소 ≤ 1,000 delete_list의 원소는 모두 서로 다릅니다. 입출력 예 설명 입출력 예 #1 예제 1번의 arr의 원소 중 1000과 94가 delete_list에 있으므로 이 두 원소를 삭제한 [293, 395, 678]을 return 합니다. 입출력 예 #2 예제 ..
-
[Node.js] Cannot find moudle express에러
Error: Cannot find module 'express' 에러는 일반적으로 express 모듈이설치 되어 있지 않은 경우 발생합니다 1. Express 모듈이 설치되어 있는지 확인 - npm list express 명령어로 설치 여부 확인이 가능합니다- 만약 설치가 되어있지 않다면 npm install express 명령어로 express모듈을 설치해주면 됩니다2. Node.js 프로젝트엑서 express 모듈을 사용하는 부분에서 require 문법을 화인한다const express=require('express') 와 같이 express 문법이 정확하여야 합니다
-
[CS] HTTP란?
HTTP(HyperText Transfer Protocol)💡웹 브라우저와 웹 서버 간에 데이터를 주고 받기 위해 사용하는 프로토콜 HTTP의 특징크게 클라이언트 서버 구조,Connectionless와 Stateless로 볼 수 있습니다클라이언트 서버 구조클라이언트가 서버에 요청을 보내면, 서버가 요청에 대한 응답을 보내는 클라이언트-서버 구조로 이루어져있습니다Connectionless(비 연결지향)실제로 요청을 주고 받을 때만 요청을 유지합니다- 클라이언트에서 서버에 요청을 보내면 서버는 클라이언트에 응답을 하고나면 TCP/IP 연결을 끊습니다: 이를 통해 최소한의 자원으로 서버를 유지할 수 있으나 자원을 보낼 때마다 연결을 끊고 다시 연결하고를 반복하는 과정은 비효율적이라는 단점이 있습니다State..
-
[프로그래머] 정수 부분
문제 설명 실수 flo가 매개 변수로 주어질 때, flo의 정수 부분을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ flo ≤ 100 입출력 예 설명 입출력 예 #1 1.42의 정수 부분은 1입니다. 입출력 예 #2 69.32의 정수 부분은 69입니다. 내 풀이 class Solution { public int solution(double flo) { double answer = 0; answer=Math.floor(flo); return (int)answer; } } 다른 풀이 class Solution { public int solution(double flo) { return (int) flo; } } 이렇게 double형을 int형으로만 바꾸면 되는 간단한 문제였는데 간..
-
[Git] gitignore 설정 방법
git과 github를 이용해서 프로젝트를 할 땐 .gitignore파일을 추가해주어야 합니다 자바 프로젝트를 할 때 .gitignore파일을 추가 안해서불필요한 파일들이 계속 같이 올라가 매번 머지를 할 때마다 데이터 충돌이 일어나는 문제가 발생했습니다. 그럼 도대체 gitignore가 뭘까요? .gitignore프로젝트에 원하지 않는 백업 파일이나 로그파일 혹은 컴파일 된 파일들을 Git에서 제외할 수 있는 설정 파일을 말합니다데이터 충돌 등을 막아주는 역할보안상으로 위험성이 있는 파일프로젝트와 관계없는 파일용량이 너무 커서 제외해야되는 파일ex) npm module,.class파일등 불필요한 파일 업로드, 접근gitignore.iogitignore.io 웹사이트에서 사용하는 환경,언어등 키워드를 입..
-
[Git] fatal: unable to access 에러 해결
커밋을 하고 push를 했는데 unable to access timed out 에러가 발생했습니다 이 에러는 사용자가 Git저장소에 엑세스할 수 있는 권한이 없다는 의미입니다엑세스 권한이 없다는 건 3가지의 경우가 있는데사용자가 해당 저장소에 대한 엑세스 권한을 가지고 있지 않은 경우사용자가 올바른 깃허브 계정으로 로그인하지 않은 경우깃허브 저장소의 소유자가 사용자에 대한 엑세스 권한을 부여하지 않은 경우저의 경우 2번째 올바른 깃허브 계정으로 로그인하지 않은 경우였습니다해결법은 다음과 같습니다 1. 탐색기에 자격 증명 관리자 검색 2. window 자격증명 -> git:https://github.com 더보기 3. 편집에 들어가서 4. 제대로 된 깃허브 아이디와 비밀번호로 바꿔주면 정상적으로 push..
-
[Git] error: open(".vs/프로젝트명/.../.opendb")
$git add . 을 했더니 이런 fatal error가 났습니다 1. vscode [도구]-[옵션]2. 왼쪽 메뉴 : [텍스트 편집기] → [C/C++] → [고급] 3. 대체 알아보기 설정항상대체 위치 사용 = true대체 위치 사용 = true대체 위치 = c:\temp vscode를 재시작 하고 git add .명령어를 입력하면 성공적으로 add가 되는 걸 확인 하실 수 있습니다
-
[SQL] 테이블 생성,삭제,변경
시작전 간단히 정리하자면 CREATE로 작성 DROP으로 삭제 ALTER로 변경 테이블 작성 CREATE TABLE 테이블명( 열 정의1, 열 정의2, ... ) 더보기 열 정의 열명 자료형[DEFAULT 기본값][NULL | NOT NULL] 더보기 예시 CREATE TABLE sample( no INTEGER NOT NULL, a VARCHAR(30), b DATE); 더보기 테이블 삭제 DROP TABLE 테이블명 drop table은 테이블 자체를 삭제 테이블 정의는 그대로 두고 데이터만 삭제하려면 DELETE 데이터 행만 삭제 TRUNCATE TABLE 테이블명 테이블 변경 테이블 작성 후에도 열 구성 변경 가능 ALTER TABLE 테이블명 변경명령 열 추가 ALTER TABLE 테이블명 AD..
-
[Git] failed to push some refs to ...
위와 같은 에러가 발생하는 경우원격 저장소와 로컬 저장소의 상태가 달라서 push가 되지 않는 것이므로 먼저 pull을 하고, push를 하면 됩니다! 아래 명렁어를 입력하고 다시 push를 해주면$ git pull 정상적으로 push가 되는것을 확인 할 수 있습니다
-
[프로그래머스/JAVA] 외계행성의 나이
문제 설명 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. 제한사항 age는 자연수입니다. age ≤ 1,000 PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다. class Solution { public String solution(int age) { String answer = ""; Strin..
-
[Git] 깃&깃허브 기본 개념
원격 저장소(remote repository)💡파일이 원격 저장소 전용 서버에서 관리되는 공유하기 위한 장소 로컬 저장소(local repository)💡 내 PC에 파일이 저장되는 개인 저장소 GitLocalunstaged와 staged가 있음unstaged에 있는 파일을 staged에 add해야지만 깃허브에 올릴 준비 완료(수정을 시켰을 시 다시 add 해야함) unstaged staged commit,push 불가능commit,push 가능 여기서 add란add변경 내용을 staged에 올려달라는 의미git add 파일명git add .: add와 .사이에 띄어쓰기 주의!커밋(Commit)커밋 종류git commitgit commit -m"커밋 메시지"(cmd에서는 엔터가 먹히지않으므로 git..
-
[Git] 커밋 컨벤션 작성법
Commit이란?💡커밋은 의미 있는 변경 작업들을 저장소 에 기록 하는 동작입니다. 영어로 commit 은 여러 의미가 있습니다.쉽게 표현하자면 깃에서 커밋은 ~를 적어둔다는 의미입니다! 협업을 진행할 때 어떤 작업을 하였는지 팀원들이 알아볼 수 있도록 커밋 메시지를 잘 작성 하는 것이 중요한데요커밋 메시지 작성에도 규칙이 있다는 거 아셨나요? 지금부터 알아보도록 합시다! 커밋메시지의 기본적인 7가지 규칙제목과 본문을 빈 행으로 구분합니다.제목을 50글자 이내로 제한합니다.제목의 첫 글자는 대문자로 작성합니다.제목의 끝에는 마침표를 넣지 않습니다.제목은 명령문으로! 과거형을 사용하지 않습니다.본문의 각 행은 72글자 내로 제한합니다.어떻게 보다는 무엇과 왜를 설명합니다. 커밋 메시지를 작성할 땐 t..
-
[프로그래머스] 7의 개수 - toCharArray
문제 설명 머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 0 ≤ array의 원소 ≤ 100,000 입출력 예 설명 입출력 예 #1 [7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다. 입출력 예 #2 [10, 29]에는 7이 없으므로 0을 return 합니다. 1. array배열을 for문을 사용하여 num에 넣어 문자열로 만든다 2. array가 들어간 num을 다시 char 배열로 만든다 3. for문을 이용하여 문자가 7이면 answer을 증가시킨다 class Solution { public int solutio..
-
[JS] Number와 Boolean 내장함수 정리
| Number 내장 함수toString(): Number타입을 String타입으로 변환 var x1=123; console.log(x1); //123 console.log(x1+1); //124 console.log(x1.toString()+1); //1231 toFixed(): 지정된 소수점 자릿수까지 반올림으로 표시 var x2=1239999.56224; console.log(x2.toFixed(2)); //출력값: 12399999,56 소수점 셋째자리에서 반올림 toPrecision(): 정수까지 포함해서 반올림 var x3=9.565; console.log(x3.toPre..
-
[프로그래머스] 대소문자 바꿔서 출력하기
문제 설명영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.제한사항1 ≤ str의 길이 ≤ 20str은 알파벳으로 이루어진 문자열입니다.입출력 예입력 #1aBcDeFg출력 #1AbCdEfGimport java.util.Scanner;public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); String answer=""; for(int i=0;iCode Review IsUpperCase..
-
[JS] JS String 내장함수 정리
| String 내장함수length : 문자열의 길이 var txt="ABCDEFGHIJKLMN"; console.log(txt.length); // 결과값: 14 indexOf: 괄호 안의 단어의 인덱스 값을 찾아 var str="Please locate where 'locate'"; console.log(str.indexOf("locate")); // 결과값: 7 // console.log(str.indexof("choi")); 없는 단어는 -1 리턴 search: 문자열에서 단어의 인덱스값을 찾아 리턴 var str="Please locate where 'locate'"; conso..
-
[JS] JS 기본 문법 정리 1
| 자바 스크립트 작성위치자바 스크립트 출력 1. 화면에 출력document.write(" ");2. 콘솔창 출력console.log(" ") JSHTML줄바꿈\n주석// or /* content */| 변수 선언1 . var데이터 형과 상관없고 재선언이 가능2. letES6버전 부터 추가 , 재선언 불가능(선언시 에러 발생) but 변수 변경은 가능3. constES6버전부터 추가const변수는 선언과 동시에 꼭 초기화를 해줘야하고 재선언 불가!| 데이터 타입StringNumberObject배열(Array)Boolean| Number 64비트 부동 소수점 | 연산자더하기빼기곱하기나누기나머지증가 연산자감소연산자문자열 연산자 var txt1="방탄소년단"; var txt2..
-
[프로그래머스] 제곱수 판별하기
문제 설명 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요. class Solution { public int solution(int n) { int answer = 0; if((int)Math.sqrt(n)*(int)Math.sqrt(n)==n) answer=1; else answer=2; return answer; } } New Learning! Math.sqrt() 메서드 -인수를 넣으면 제곱근 출력 -결과는 실수형태
-
[프로그래머스]옹알이 (1)
문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. class Solution { public int solution(String[] babbling) { int answer = 0; for(int i=0;i
-
[프로그래머스] 최대값 만들기(1)
문제설명정수배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return 하도록 solution함수를 완성해주세요.class Solution { public int solution(int[] numbers) { int answer = 0; int temp; for(int i=0;iNew LearningArrays.sort()java.util.Arrays를 통해 sort()를 이용int[] arr={1,2,3,4,5};Arrays.sort(arr);System.out.println(Arrays.toString(arr));이렇게 코드를 작성하면 배열이 오름차순으로 정렬Arrays.sort(arr,Collect..
-
[프로그래머스] 문자열 뒤집기
문제설명 문자열 my_string이 매개변수로 주어집니다 my_string을 거꾸로 뒤집은 문자열을 return 하도록 solution함수를 완성해 주새요 class Solution { public String solution(String my_string) { String answer = ""; for(int i=my_string.length()-1;i>=0;i--){ answer=answer+my_string.charAt(i); } return answer; } } New Learning charAt() 변수이름.charAt(인덱스) 문자 하나를 가져올 때 사용 ex) charAt()을 사용하여 my_string의 맨 마지막 문자부터 차례대로 붙임
-
[프로그래머스] 배열원소의 길이
문제설명 문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 retrun하도록 solution 함수를 완성해주세요. class Solution { public int[] solution(String[] strlist) { int[] answer = new int[strlist.length]; for(int i=0;i
-
[프로그래머스]외계행성의 나이
문제 설명 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. class Solution { public String solution(int age) { String answer = ""; String[] arr=String.valueOf(age).split(""); for(int i=0;i
-
[SQL] 혼공S 6주차
p.363 market_db의 고객 테이블(member)에 입력된 회원의 정보가 변경될 때 변경한 사용자, 시간,변경 전의 데이터 등을 기록하는 트리거 작성하는 인증하기 벌써 sql을 공부한지 6주나 되었다니ㅠㅠ 너무 아쉬워요ㅠ 다음 혼공단에도 참여하도록하겠습니다ㅠㅠ 다음엔 이번보다 열심히..!
-
[SQL]혼공S 5주차
인덱스 생성하기CREATE [UNIQUE] INDEX 인덱스_이름 ON 테이블_이름 (열_이름) [ASC | DESC]인덱스 제거하기DROP INDEX 인덱스_이름 ON 테이블_이름
-
[SQL]혼공S 4주차
기본미션선택미션 4. 다음은 기존에 뷰가 있으면 덮어쓰고, 없으면 새로 생성하는 SQL입니다. 빈칸에 들어갈 내용을 고르시오_____________________뷰_이름AS SELECT문;①CREATE AND REPLACE VIEW② CREATE OR REPLACE VIEW③ CREATE AND OVERWRITE VIEW④ CREATE OR OVERWRITE VIEW정답: ②
-
[SQL] 혼공S 3주차
벌써 혼공단을 반이나! 기본미션4. 다음 sql문은 회원으로 강비만 하고, 한번도 구매한 적이 없는 회원의 목록입니다. 빈칸에 들어갈 가장 적합한 것을 고르세요SELECT DISTINCT M.mem_id, B.prod_name, M.mem_name, M.addr FROM member M LEFT OUTER JOIN buy B ON M.mem_id=B.mem_id // ? ORDER BY M.mem_id;① JOIN B.prod_name IS NULL② LIMIT B.prod_name IS NULL③ HAVING B.prod_name IS NULL④ WHERE B.prod_name IS NULL정답: 4정수형데이터 형식바이트 수숫자 범위TINYINT1-128~12..
-
[SQL] 혼공S 2주차
# SELECT데이터를 불러옴가져오고 싶은 column명을 입력, column명은 변경가능 # USE현재 사용하는 데이터베이스를 지정 또는 변경USE 데이터 베이스 이름;※SQL에서는 일반적으로 대소문자를 구분하지는 않으나 여러 가지 면에서 전체 대문자 또는 소문자 등으로 통일하게 하는 것이 구문을 읽기 쉽게 하며 SQL의 성능에도 약간의 도움이 됨 # SELECT ... FROM데이터 베이스 내의 테이블에서 원하는 정보를 추출하는 명령SELECT*FROM titles;SELECT first_name,last_name,gneder FROM employes;여러 개의 열을 가져오고 싶으면 2행과 같이 콤마(,)로 구분|기본미션|p138의 확인문제 2번 풀고 인증하기2. 다음 보기 중에서 각 문항의 빈칸에 ..
-
[SQL] 혼공S 1주차
저번에는 혼공C를 했었는데 이번에는 혼공SQL을 공부하게 되었습니당!앞으로 공부하게 될 내용들1주차기본미션 : p. 80의 shop_db의 회원 테이블(member)에서 아이유 회원에 대한 정보만 추출한 후 결과 화면 인증하기선택미션 : 데이터 베이스 개체 3가지 설명하기|기본미션p. 80의 shop_db의 회원 테이블(member)에서 아이유 회원에 대한 정보만 추출한 후 결과 화면 인증하기 |선택미션데이터베이스 개체 3가지 설명하기INDEX데이터를 조회하는 시간을 줄여주는 기능VIEW가상의 테이블로 보안을 강화STORED PROCEDURESQL 에서 제공해주는 프로그래밍 기능즉, SQL문을 하나로 묶어서 편리하게 사용하는 기능