웹 개발

웹 개발/🌐 JavaScript

암묵적 전역변수

사용되는곳에서 바로 전역변수로 적용되는 암묵적 전역변수 function aa(param){ jsondata = param; } function bb(){ aa('bbb') console.log(jsondata); } 함수aa를 보면 그어디에도let,const,var등을 이용해서 jsondata라는 변수를 선언한 적이 없지만 jsondata안에 값을 집어넣을 수 있다 이렇듯 javascript에서는 변수를 선언없이 바로 쓰게되면 자바스크립트에서 자동으로 해당 블럭내에서 전역변수를 생성하는데 예시를 다시 설명하자면 자동으로 aa함수 안에는 jsondata라는 이름의 전역변수가 생성되어지는 것이다 bb()함수 안에서 aa()를 호출했다 bb안에서는 jsondata를 선언한적이 없지만 aa()를 실행했기때문에 ..

웹 개발/🟩 Node.js

Express | 싱글톤 패턴, 서비스 패턴

| 싱글톤 패턴, 서비스 패턴 싱글톤 패턴 싱글톤 패턴은 객체의 인스턴스를 한개만 생성되게 하는 패턴이다 이러한 패턴은 주로 프로그램 내에서 하나로 공유를 해야하는 객체가 존재할 때 해당 객체를 싱글톤으로 구현하여 모든 유저 또는 프로그램들이 해당 객체를 공유하며 사용하도록 할 때 사용된다 그러면 메모리 낭비를 방지할 수 있고, 이미 생성된 인스턴스를 활용하는 것이기때문에 속도 측면에도 이점이 있으며 전역적으로 사용하는 인스턴스이기 때문에 다른 여러 클래스에서 데이터를 공유할 수 있다 우선전체구조를 보자 이 구조는 NESTJS 에서 많이 사용하는 패턴이다 cats.route.ts 라우터에 있던 비즈니스로직들은 service 로 분리시켜놓았기때문에 간단해진것을 볼 수 있다 일종의 mvc 패턴으로 치면 co..

웹 개발/🟩 Node.js

Express | Update Delete API 개발

| Update & Delete UPDATE 고양이 데이터 업데이트 -> PUT(Body) router.put("/cats/:id", (req, res) => { try { const params = req.params; const body = req.body; let result; console.log(params); console.log(body); Cat.forEach((cat) => { if (cat.id === params.id) { cat = body; result = cat; } }); res.status(200).send({ success: true, data: { cat: result, }, }); } catch (error) { res.status(400).send({ success: ..

웹 개발/🟩 Node.js

Express | route분리, 모듈화

| route분리, 모듈화 route분리 코드를 보면 한파일에 다 몰려있는 느낌이 있다 // ** Create Read */ import * as express from "express"; import { Cat, CatType } from "./app.model"; const app: express.Express = express(); //* logging middleware app.use((req, res, next) => { console.log(req.rawHeaders[5]); console.log("this is logging middleware"); next(); }); //* json middleware app.use(express.json()); //* READ 고양이 전체 데이터 다 조..

웹 개발/🟩 Node.js

Express | Create Read API 개발

| Create Read API 개발 Read 전체 데이터 다 조회하기 // ** Create Read */ import * as express from "express"; import { Cat, CatType } from "./app.model"; const app: express.Express = express(); //* logging middleware app.use((req, res, next) => { console.log(req.rawHeaders[5]); console.log("this is logging middleware"); next(); }); //* READ 고양이 전체 데이터 다 조회 app.get("/cats", (req, res) => { try { const cats = ..

웹 개발/🍃 SpringBoot

[Spring] @Resource 와 @Autowired 차이

@Resource 어노테이션과 @Autowired 어노테이션의 차이 두 어노테이션 모두 의존성을 주입하는 어노테이션이다. 해당 어노테이션을 사용하여 IoC 컨테이너에 등록된 빈 객체를 자동으로 주입한다. @Autowired 어노테이션에 대한 자세한 설명은 검색하면 많은 정보가 나오므로 생략하도록 한다. @Resource 어노테이션과 어떤 차이가 존재하는지를 중점적으로 살펴본다. 편의상 해당 글에서 모든 의존성 주입 방법 예시는 필드 주입으로 한다. @Autowired - 필드, 메서드, 생성자에 사용할 수 있다. - Bean의 타입을 사용해서 주입할 빈 객체를 찾는다. - 하나의 인터페이스는 한 개의 클래스로만 구현할 수 있다. (두 개 이상의 클래스가 구현하면 안 된다.) 마지막 특징 때문에 @Reso..

이재원
'웹 개발' 카테고리의 글 목록 (14 Page)