본문 바로가기
728x90
반응형
SMALL

전체 글139

[C#] 출력하기 - Console.WriteLine() C#에서는 출력할 때 Console.WriteLine을 사용한다. using System; using static System.Console; // => WriteLine(); using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace project1 { internal class Program { static void Main(string[] args) { System.Console.WriteLine("Hello C#"); // 단축키 c + w + tab System.Console.WriteLine(275); Console.WriteLine(275); Write.. 2024. 4. 13.
[C#] 시험공부 정리 2주차 namespace란? 성격이나 하는 일이 비슷한 클래스, 구조체, 인터페이스 등을 하나의 이름 아래 묶는 일을 한다. Class란? 객체를 정의한 틀. 설계도. 변수와 메서드로 구성되어 있다. Static이란? static이란 처음부터 메모리 공간에 할당하는 한정자(제한자)이다. 정적변수와 정적메서드를 만들 수 있다. 프로그램이 처음 구동될 때부터 메모리에 할당된다는 특징이 있다. Static으로 변수를 지정하면 해당변수는 전역변수가 된다. Main과 Console.WriteLine 등은 변수가 아닌데 static이 붙는 이유는? 메모리 공간에 부팅과 관련된 정보가 할당되어 있다. 미리 메모리 공간에 올라가 있지 않으면 부팅이 안된다. 즉, 처음부터 메모리 공간에 할당되어 있는 것이 static이다. s.. 2024. 4. 13.
[Node.js] 노드제이에스 - 토큰을 활용해 인증하기 Do it! Node.js 프로그래밍 입문 10일차 입니다. 토큰 방식 세션은 서버에 저장되어 있으면서 클라이언트에 있는 세션 ID와 비교해서 사용자를 처리했습니다. 반면에 토큰에는 사용자 정보를 비롯해 위조를 막는 서명에 이르기까지 인증할 때 필요한 모든 정보가 포함되어 있습니다. 특정 서버에 저장하는 것이 아니므로 서버 간에 공유할 수도 있습니다. 토큰을 사용하는 인증 방식은 상태가 없으므로 서버에서 사용자 상태를 저장하지 않습니다. 그 대신 토큰 안에 사용자를 증명하는 내용이 포함됩니다. 토큰 방식을 사용하는 이유 쿠키와 세션에서는 서버에 세션을 저장해 놓고 상태가 없는 http 프로토콜을 마치 상태가 있는 것처럼 사용합니다. 하지만 이 방법은 세션이 저장공간을 차지 한다는 단점이 있습니다. 이에 .. 2024. 2. 14.
[Node.js] 노드제이에스 - cookie-parser 모듈 Do it! Node.js 프로그래밍 입문 10일차 입니다. 쿠키와 세션을 활용할 때 사용하는 모듈 npm install cookie-parser npm install express-session connect-mongo 명령어로 모듈 설치 쿠키 연습 const express = require("express") const cookieParser = require("cookie-parser") const app = express() app.use(cookieParser()) // cookie-parser을 미들웨어로 사용하겠다는 의미 app.get("/", (req, res) => { res.cookie("Kim", "1234", {httpOnly: true}) // res.cookie(name, val.. 2024. 2. 14.
[Node.js] 노드제이에스 - 쿠키와 세션 Do it! Node.js 프로그래밍 입문 10일차 입니다. 쿠키와 세션 http 프로토콜의 가장 큰 특징은 상태가 없다는 것입니다. 이것의 의미는 서버 입장에서 GET 요청을 보낸 사용자와 POST 요청을 보낸 사용자가 같은 사람이라는 것을 알 수 없다는 것입니다. 요청을 보내고 응답이 끝나면 http 프로토콜이 클라이언트와 서버 사이의 연결을 끊어 버리기 때문입니다. http 연결 상태가 계속 유지되지 않으므로 이런것을 상태가 없다, 즉 stateless라고 합니다. 이러한 문제를 해결하기 위해 쿠키와 세션이 필요합니다. 쿠키를 이용해 사용자 식별 쿠키는 웹 브라우저를 이용할 때 사용자 컴퓨터에 저장되는 정보입니다. 쿠키는 사용자가 웹 사이트에 접속했을 때 컴퓨터에 다운로드되어 브라우저에 저장되는 작.. 2024. 2. 14.
[Node.js] 노드제이에스 - 폼에서 라우트 처리 Do it! Node.js프로그래밍 입문 9일차입니다. 폼 폼은 웹 문서에서 사용자 입력을 받을 수 있는 형태를 가리키는 용어입니다. Login Form, Order Form, ... name 속성은 필수! 프론트엔드에서 폼을 다룰 때는 class, id 속성만 있어도 됩니다. 하지만 서버에서 폼 필드의 값을 인식할 때는 name 속성을 사용하므로 없다면 반드시 추가해야 합니다. 폼의 요청 방식은 GET과 POST뿐 입니다. 폼을 통해 정보를 서버로 보낼 때 사용할 수 있는 요청 방식은 GET, POST 뿐입니다. 이때 GET 방식에서는 주소 URL에 정보를 함께 넣어서 보내고, POST방식에서는 요청 본문, 즉 req.body에 정보를 담아서 보냅니다. PUT, DELETE 방식은 AJAX(Asynch.. 2024. 2. 13.
[Node.js] 노드제이에스 - 템플릿 엔진 Do it! Node.js 프로그래밍입문 9일차 입니다. 템플릿 엔진 대부분의 웹 사이트나 애플리케이션은 사용자의 동작에 반응해서 서버에서 자료를 가져와 바뀐 내용을 보여주어야 합니다. 이렇게 내용이 동작으로 바뀌는 것을 처리할 때 사용하는 것이 템플릿 엔진입니다. 템플릿 엔진은 EJS, 퍼그, 핸들바 등이 있습니다. 템플릿 파일과 템플릿 엔진 데이터베이스에서 가져온 데이터 중 어떤 값을 어느 위치에 넣을지 미리 틀을 만들어 놓은 것을 템플릿 파일이라고 합니다. 여러 템플릿 파일을 만들고 데이터베이스에서 가져온 동적인 데이터를 템플릿 파일에 연결해 주는 역할을 하는 것이 템플릿 엔진입니다. EJS 기본 문법 뷰 엔진 설정하기 npm install ejs를 설치해줍니다. app.set(key, value).. 2024. 2. 13.
[Node.js] 노드제이에스 - CRUD 코드 작성 Do it! Node.js 프로그래밍 입문 8일차 입니다. DB모델에서 사용하는 함수 controllers/contactController.js 아래 코드 추가 const Contact = require("../models/contactModel") // DB모델 연결 create() DB에 새로운 도큐먼트를 생성합니다. Contact.create({name, email, phone}) find() 지정한 조건에 맞는 도큐먼트를 찾습니다. 조건을 따로 지정하지 않으면 모든 도큐먼트를 찾습니다. Contact.find() updateOne, updateMany updateOne는 조건에 맞는 첫 번째 도큐먼트만 업데이트하고 updateMany는 조건에 맞는 모든 도큐먼트를 업데이트합니다. Contact.u.. 2024. 2. 10.
[Node.js] 노드제이에스 - 컨트롤러 작성 Do it! Node.js 프로그래밍 입문 8일차 입니다. 디자인 아키텍처 코드를 읽기 쉽고 관리하기 편하도록 기능이나 역할에 따라 여러 파일로 나눈 뒤 연결해서 사용하자는 것을 디자인 아키텍처라고 합니다. MVC 패턴 Model, View, Controller을 합해서 MVC 패턴이라고 합니다. 이렇게 3개로 나눠서 코딩하면 실제 처리 로직과 데이터베이스, 인터페이스 부분이 서로 영향을 받지 않습니다. 영역 설명 모델 - 애플리케이션에서 처리할 대상 - 데이터베이스를 통해 자료를 저장하거나 검색, 수정하는 함수들이 모델에 해당 - 사용자에게 어떻게 보일지는 신경 쓰지 않고 처리할 대상에 집중 뷰 - 컨트롤러나 모델의 처리 결과를 시각적으로 보여줍니다. - 흔히 사이트나 애플리케이션에 표시되는 화면을 만.. 2024. 2. 10.
728x90
반응형
LIST