전체 글 202

typescript 인터페이스

type alias랑 interface 중 골라서 사용할 수 있는데 개발자마다 prefer하는 방법이 다르다. type Store = { currentPage: number; feeds: NewsFeed[]; } // 인터페이스는 =를 넣지 않는다. interface Store { currentPage: number; feeds: NewsFeed[]; } // 기본적인 문법은 이렇고 type A = B & { age: number; name: string; } interface A extends B { age: number; name: string; } // 이런식으로 다른클래스의 속성을 가져올때는 extends로 바뀐다.

Front End 2023.08.02

python 가상환경 세팅

venv라는 모듈을 이용한다. VS Code의 터미널에서 python3 -m venv myvenv라고 명령어를 쳐준다. (myvenv는 가상환경의 이름이다.) 활성화를 할려면 터미널에 source ./myvenv/bin/activate라고 입력해준다. 그러면 터미널 앞에 (myvenv)라고 추가되는데 그 가상환경 안에서 명령어를 수행하고 있다는 것이다. 나오기위해서는 deactivate라고 명령어를 써준다. pip list: 가상환경안에 설치된 패키지를 리스트로 보여준다. pip install 패키지명: 패지키명의 패키지를 설치해준다.

Python 2023.08.01

파이썬에서 Jupyter notebook을 실행시키는법

1. Pycharm 터미널 2. conda env list 가상환경 리스트 확인 3. 가상환경 활성화 > pip install ipykernel 4. python -m ipykernel install --user --name 가상환경 이름 --display-name 커널 이름 5. Jupyter notebok 실행 6. 실행 예시 파이참 terminal은 일반 터미널에서 conda activate '프로젝트명'하면 똑같이된다. 이 상태에서 jupyter notebook이라고 명령어를 치면 주피터노트북이 실행이되는데 (주피터노트북은 anaconda를 설치할때 자동으로 설치가된다.) 주피터 노트북에서 kernel을 사용하기 위해서 pip install ipykernel을 명령해 kernel을 설치해야한다. ..

Python 2023.08.01

typescript 제네릭 (Generic)

자바에서도 있지만 타입스크립트도 타입을 정해주기 위해 제네릭이 존재한다. function getData(url: string): NewsFeed[] | NewsDetail { ajax.open("GET", url, false); // 사이트에서 동기적으로 데이터를 가져오겠다는 옵션 ajax.send(); // 데이터를 가져온다. return JSON.parse(ajax.response); } 를 사용하여 어떤타입을 명시할 수 있게 넣어준다. T라고 약어로 사용하기도 하고 명시적으로 더 길게 명시해줘도된다.

Front End 2023.08.01

POJO (Plain Old Java Object)

1. 객체지향적 원리에 충실하고, 특정 규약과 환경에 종속되지 않게 재활용될 수 있는 방식으로 설계된 객체. 2. 객체의 애플리케이션 핵심 로직과 기능을 담아 설계, 개발하는 방법을 POJO 프로그래밍이라고 한다. 3. 자동화된 테스트에 유리하며, 유지보수성이 높다. 4. 2000년, 마틴 파울러가 컨퍼런스 준비 과정에서 만든 용어다. import javax.jms.MessageListener; import javax.jms.Message; import javax.jms.JMSException; public class OrderProcessor implements MessageListener { @Override public void onMessage(Message message) { if (messag..

Back End/Spring 2023.07.31

Spring 개요

스프링은 자바 엔터프라이즈 환경에 필요한 모든 것을 제공하고 자바 엔터프라이즈 애플리케이션을 손쉽게 만들 수 있다. # 엔터프라이즈 애플리케이션 1. 대규모의 복잡한 데이터를 관리하고, 이러한 데이터를 이용해 비즈니스 프로세스 지원 및 자동화한다. 2. 비즈니스의 근간으로 보안과 안정성, 확장성이 필요하며, 뛰어한 성능과 서비스의 안정성이 요구된다. 3. 다수의 사용자가 접근하며, 기업내 분산된 다른 엔터프라이즈 애플리케이션과 통합된다. 4. 데이터 입/출력을 위한 다양한 사용자 인터페이스가 제공된다. 고객 서비스, 공급망, 인사, 회계, 보험, 외환거래, 환자기록, 배송추적 등이 엔터프라이 어플리케이션이 속하고 운영체제, 게임, 워드 프로세서, 공장 자동화, 승강기 제어, 전화 스위치 등이 속하지 않는..

Back End/Spring 2023.07.31

TypeScript 환경설정

JavaScript로 작성된 코드를 TypeScript로 변경한다. 예전에는 언어 변경을 '포팅'이라고 많이 불렀다. 자바스크립트에서는 parcel.js라는 번들러로 큰 설정없이 개발이 가능했다. 타입스크립트에서도 parcel.js를 사용이 가능하지만 약간의 추가적인 설정이 필요하다. 1. 이름은 app.js에서 app.js로 타입스크립트 파일이라고 선언해줘야한다. 2. tsconfig.json이라는 설정파일을 만들어줘야 한다. 타입스크립트는 트랜스 파일러다. 그래서 웹에서 동작시킬려면 js로 변환을 해줘야한다. 이 컴파일 과정에서 여러 옵션을 설정할 수 있다. (설정을 하지않으면 기본설정이 적용된다.) { "compilerOptions": { // 기능을 얼마나 엄격하게 적용할것인가. false로 해두..

Front End 2023.07.30

TypeScript 기본적인 문법들

type을 선언해줄때 type newsFeed = { id: number; comments_count: number; title: string; read?: boolean; } 이렇게 read뒤에 ?를 넣어주면 처음에 네트워크에서 데이터를 가져올때 optional하게 가져올 수 있는값이 되어 값이 없다가 나중에 넣을 수 있게된다. type을 선언할때 공통되는 속성을 따른 타입으로 선언해 하나의 타입을 선언할때 합쳐줄 수 있다. type News = { id: number; time_ago: string; title: string; url: string; user: string; content: string; } // 이렇게 공통되는 속성을 선언하고 type NewsFeed = News & { commen..

Front End 2023.07.30