Back End 58

Unresolved reference 에러

안드로이드 스튜디오에서 activity_main.xml에서 화면에 id를 넣어주고 코틀린 코드에서 사용할려면 이런 에러가 나올때가 있는데build.gradle에서 jetpack view-binding 설정을 (과거 kotlin-android-extensions 라이브러리대신 사용되는 설정)를 추가해줘야한다. android { buildFeatures { viewBinding = true }} 그래도 같은 에러가나온다면 invalidate caches로 캐시를 한번 날려주자.  MainActivity.kt에서 view binding을 사용하는 방법 하단과 같다. (id가 button1인 component를 불러올려면)import android.os.Bundleimport androi..

serverless-http 서버리스 방식의 express 모듈

https://www.npmjs.com/package/serverless-http serverless-httpUse existing web application frameworks in serverless environments. Latest version: 3.2.0, last published: 2 years ago. Start using serverless-http in your project by running `npm i serverless-http`. There are 247 other projects in the npm registry using swww.npmjs.com express만 사용하게되면 서버를 띄워야 코드를 실행시킬수 있는데 serverless-http 모듈이 추가되면 expr..

Back End/Node js 2025.01.04

Node cors 기초

npm install cors로 프로젝트에 설치가 가능한 모듈이다.  var express = require('express')var cors = require('cors')var app = express()app.use(cors())app.get('/products/:id', function (req, res, next) { res.json({msg: 'This is CORS-enabled for all origins!'})})app.listen(80, function () { console.log('CORS-enabled web server listening on port 80')}) 여기서는 app이 express 모듈인데 app.use(cors())를 통해 express에 cors를 사용하겠다는 ..

Back End/Node js 2024.12.29

node js 기본문법

var figlet = require("figlet");figlet("Hello World!!", function (err, data) { if (err) { console.log("Something went wrong..."); console.dir(err); return; } console.log(data);}); figlet 모듈의 홈페이지에 나와있는 기본예제이다. require("모듈이름")을 사용해서 사용할 모듈을 figlet이라는 변수에 담아준다.그러면 figlet이라는 변수를 통해 모듈을 사용할 수 있게된다.  express 예제const express = require('express')const app = express()const port = 3000// GET 방..

Back End/Node js 2024.12.29

npm 모듈다운 명령어

node js에서는 모듈을 다운받을때 npm이라는 명령어를 이용해서 다운을 받는데이것을 다운받았을때 정리하기 위해서는 프로젝트 시작전에 아래의 명령어를 쳐주자  npm init 명령어 실행후 엔터를 쳐서 다 넘어가줘도 된다. package.json이라는 파일이 루트 디렉터리에 생성된다. 어떤 npm을 사용하는지 다 기록이 된다.이것이 없이 npm install을 하여 모듈을 다운받아도 작동된다.   npm install 다운받을모듈 뒤에 -g라고 global 옵션을 줄 수 있는데 이것은 이 프로젝트뿐 아니라 어느경로에 있는 프로젝트에서든 사용할 수 있게 컴퓨터에 모듈을 설치하는 것이다.  모듈을 다운받게되면 package-lock.json이라는 파일이 생성되는데 이것은 package.json에는 간단하게..

Back End/Node js 2024.12.29

Spring Boot 구조

웹 브라우저스프링 부트 애플리케이션 { Controller 클래스: 외부 요청을 분기하여 적절한 서비스 클래스와 연결하여 작업을 처리하고 반환, Service 클래스: 데이터베이스 조작이나 비즈니스 로직을 메서드 기반으로 처리, Member클래스 - MemberRepository: Memeber 클래스로 구현한 클래스를 Repository 인터페이스가 실제 테이블과 매핑(JPA, Hibernate), 실질적인 데이터는 DB에 저장}JPA: 데이터베이스 연결 및 구현lombok: 클래스 메서드 구현 도우미h2: 인메모리 데이터베이스   Spring Boot의 세가지 계층프레젠테이션 계층 - Controller : 외부에서 HTTP 요청을 받아 비즈니스 계층으로 전송비즈니스 계층 - Service : 비즈니..

SpringBoot의 세가지 Annotation(@SpringBootConfiguration, @ComponentScan, @EnableAutoConfiguration)

아래는 SpringBootApplication.java 파일이다. @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration // 스프링 부트 관련 설정@ComponentScan(excludeFilters = {@Filter(type = FilterType.CUSTOM, // 사용자가 등록한 빈을 읽고 등록 classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class)})@EnableAutoConfiguration..

Spring의 기본개념들 - IoC(Inversion of Control), DI(Dependency Injection), Bean, Spring Container, AOP(Aspect of Programming), PSA(Portable Service Abstraction)

IoC는 Inversion of Control 즉 제어의 역전이라는 뜻이다. 이전까지는 클래스 객체를 사용하기위해서 다른 클래스 내에서 객체를 직접 생성했다. public class A { b = new B(); // class A에서 new로 클래스 B의 객체를 생성} IoC는 객체를 직접 생성하거나 제어하는것이 아닌 외부에서 관리하는 객체를 가져와 사용하는 것이다. 이는 스프링 컨테이너에서 객체를 제공하고 관리하게된다. public class A { private B b; // 코드에서 객체를 생성하지 않고, 외부에서 가져온 객체를 할당한다.}  DI는 Dependency Injection, 의존성 주입이라고하고. 위에서 언급한것처럼 제어의 역전을 구현하기 위해 사용하는 방법이다. 한 클래스가 다른 ..

Back End/Spring 2024.06.24