목록백엔드 (52)
wintertreey 님의 블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b6mQI9/btsIZys1seT/2b99rNpEedSV91nPVz567k/img.png)
경로세팅하기//환경변수 PORT가 존재하면 그 값을 사용하고, 아니면 3000사용하겠다는 의미.app.set('port', process.env.PORT || 3000);// 현재 폴더를 지정 : __dirname을 ECM(ECMAScript Module)환경에서 사용하기const __filename = fileURLToPath(import.meta.url); //현재 실행중인 파일경로const __dirname = path.dirname(__filename); //현재 실행 중인 폴더 경로 라우팅처리app.get(요청, 라우칭처리)app.get('/', function(req, res){ res.send('아우넘졸리다 으악❄️❄️');});app.get('/java', function(req, r..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nHzIf/btsIZl1KAe1/APMldjIcAjq1YEp1vKBNw0/img.png)
http 모듈http모듈은 Node.js에서 가장 기본적이고 중요한 웹 모듈입니다. 웹서버와 클라이언트 생성등 관련된 모든 기능을 담당합니다. import http from 'http'; //웹 관련 모듈http.createServer((req, res) => { res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'}); res.write('환영합니다. 노드 서버 세상에 오신것을'); res.write('반가워요'); res.end('Hello~'); //응답종료 //res.write('헬로헬로');}).listen(8080, () => { console.log('서버 서비스중...');}); 터미널에서 서버를 켜고..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cx2Rir/btsIY0cgK9X/cVXQgxEQc13XMk1aP3HQXk/img.png)
Event 모듈Node.js 에선 Event를 매우 많이 사용하고, 이 때문에 다른 비슷한 기술들보다 훨씬 빠른 속도를 자랑합니다.Node.js 기반으로 만들어진 서버가 가동되면, 변수들을 initialize 하고, 함수를 선언하고 이벤트가 일어날때까지 기다립니다.이벤트 위주 (Event-Driven) 어플리케이션에서는, 이벤트를 대기하는 메인 루프가 있습니다.그리고 이벤트가 감지되었을시 Callback함수를 호출합니다. 이벤트가 콜백과 비슷해 보일 수 도 있습니다.차이점은, 콜백함수는 비동기식 함수에서 결과를 반환할때 호출되지만,이벤트핸들링은 옵저버 패턴에 의해 작동됩니다. 이벤트를 대기하는 (EventListeners) 함수들이 옵저버 역할을 합니다.옵저버들이 이벤트를 기다리다가, 이벤트가 실행되..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ZTOjc/btsIX3G6Ncu/SpzfuCglXfZrANWgUmz6T1/img.png)
Node File System 모듈파일시스템 모듈이란, 파일 처리와 관련된 작업을 하는 모듈로 보통 FileSystem을 줄여서 fs 모듈이라고 줄여 부릅니다.노드에서 가장 많이 쓰이고 중요한 모듈 중 하나입니다. fs 모듈에는 대부분의 메소드들이 동기/비동기로 나뉘는데, Sync라는 이름이 붙어있는 메소드가 동기방식을 사용한다고 보면 됩니다.동기적 읽기 방식을 사용하면 파일을 읽으면서 다른 작업을 동시에 할 수 없습니다.하지만 비동기적으로 읽으면 파일을 읽으면서 다른 작업도 동시에 수행할 수 있고, 파일을 다 읽으면 매개변수 callback으로 전달한 함수가 호출됩니다.주로 비동기적 형식을 많이 사용하지만, 서버 시작 시 세팅 파일을 읽는 작업과 같이 동기적 형식이 더 적절한 경우도 있습니다. 동..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/KY4G1/btsIYWUosDg/5x6TzLNmmICwpaVAJpcdEK/img.png)
Node.js2009년 라이언 달이 개발한 서버 개발환경이다. 구글의 강력한 V8 자바 스크립트 엔진을 사용하므로, 자바스크립트를 사용하여 서버 어플리케이션을 효과적으로 개발 할 수 있다. 이벤트 기반 비동기 방식의 의미동기식 방식의 경우에, 서버는 클라이언트의 요청이 있을 때까지 가만히 기다리고 있다. 이 처럼기다리고 있는 시간 동안에는 아무것도 하지 않는다. 그러나 이벤트 기반 비동기식 방식은 멀티스레드 프로그래밍을 하지 않아도 다른 일을 처리하고 있다가 요청이 올 때 응답을 할 수 있도록 해 준다. Node의 장점과 단점이벤트 기반 비동기방식은 네트워크 프로그램을 개발하기에 적합하다. 그러나 문제가 발생하는 순간 프로그램전체가 영향을 받을 수 있다. 장점 1. 자바스크립트를 사용해 웹 개발자가 ..
https://wisdom-cs.tistory.com/66 [Spring Data JPA] 기본 사용법 정리전에 공부했던 Spring Data JPA의 기본 사용법을 정리하고자 한다. ✔️ Dependency build.gradle 파일의 dependencies 부분에 다음을 추가하자. implementation ‘org.springframework.boot:spring-boot-starter-data-jpa’ ✔️ 공wisdom-cs.tistory.comhttps://jjangadadcodingdiary.tistory.com/entry/Spring-Spring-Data%EC%9D%98-findBy-%EB%A9%94%EC%84%9C%EB%93%9C-%EB%84%A4%EC%9D%B4%EB%B0%8D-%EA..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/caGvDB/btsIV8IDesh/sf9po9Tc9XesPhpW9cG910/img.png)
dto toentity entity사용자 > Controller > Service > Jpa > DB DTO와 EntityDTO(Data Transfer Object) : 클라이언트와 서버 간 데이터 전송을 위해 설계된 객체Entity : 데이터베이스에 저장되는 데이터 객체로, 데이터베이스와 직접적으로 연결 Dto와 Entity를 분리한 이유entity을 직접 반환하는 코드에서 dto로 변환하여 view한테 반환한 이유는 첫 번째 이유는 Entity의 setter를 없애기 위해서였지만 이와 더불어 내가 찾아본 entity와 dto를 분리해야 하는 이유에 대해 적어보겠다. 1. Entity를 보호할 수 있다.entity를 사용자에게 노출하면 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bYTEo9/btsIJyGdODZ/PPg9QiQGiejG9SBGHHZVvK/img.png)
프로젝트 셋팅 엔티티 생성하기package pack.model;import java.sql.Timestamp;import jakarta.persistence.Entity;import jakarta.persistence.Id;import jakarta.persistence.Table;import lombok.Data;@Data@Entity@Table(name = "springboard")public class Board { @Id private int num; private String author, title, content; private Timestamp bwrite; private int readcnt;} JPA로 작업할 것이기에 JPArepository extends 를 실시한다.package..