[CS 1-2 | 대학생을 위한 실용금융] 투자의 정리 8주차
·
CS 대학강의
해외 주식 투자의 이점 금융위기 시 달러 등 강세로 자산가치 보전이 가능하다. 고배당 및 주주 친화적 기업운영 분산투자 효과 (리스크를 감소시킬 수 있음.) 환율변동위험의 처리 상대적으로 안전 통화인 미달러화 등 해외 현지 통화로 투자하고, 환율변동 위험을 수용한다. 자산을 원화로 보유할 경우 금융 위기가 발생하면 자산가치가 하락할 수 있으나 외화로 투자하여 보유할 경우 자산가치 유지 가능하다. 반면, 장기적으로 미달러화의 가치가 하락할 수 있다는 일부 의견도 있다. 해외주식 투자 시 고려사항 미연준의 향후 금리인상 등 대응조치는 주시할 필요가 있다. 지난 10여년 이상 글로벌 금융위기, 코로나 19로 부채를 기반으로 금융시장이 크게 성장 주식시장의 장기흐름을 쉴러 등으로 볼 때 현재 S&P 500 등 ..
[CS 1-2 | 시스템 프로그래밍 기초] 포인터 심화 12주차
·
CS 대학강의
포인터 산술 포인터에 덧셈을 할 수 있으며, 그 결과는 데이터 타입에 따라 달라진다. 즉, 포인터 산술을 진행하면 다음 데이터를 가리키는 것으로 생각하자. int 는 메모리에서 4byte 할당 char 은 메모리에서 1byte 할당 double 은 메모리에서 8byte 할당 배열의 이름은 배열 첫 번째 요소의 주소를 의미한다. arr + 1 = &arr[0] + 4 = &arr[1] 포인터 산술 - 증감 연산자 괄호를 쳐서, 연산 순위를 헷갈리지 않도록 사용하자. 포인터 산술 - 증감 연산자 배열과 포인터의 차이점 || 중요~ 배열의 이름은 배열의 시작 주소를 가리키는 상수 포인터 상수는 L-value로 사용할 수 없다. 즉, 등호의 왼쪽에 올 수 없다. 상수는 프로그램 실행 중 바꿀 수 없는 값을 의미..
[안드로이드] 4주차: LifeCycle 실습
·
📚 스터디/프론트엔드
LifeCycle 실행 추적해보면서 이해하기 - Activity 실습 우선 "애플리케이션"이 LifeCycle 메소드를 이용해서 안드로이드 운영체제에 대한 예외상황을 어떻게 처리하는지 이해해보자. 그렇기에, LifeCycle 메소드가 실행되는 과정을 추적하기 위해 아래와 같은 코드를 구성했다. LifeCycle 메소드를 실행하면 Toast 메소드로 AVD에 실행된 LifeCycle 메소드 명을 출력되도록 설정해줬다. 그래서, AVD를 이용해 애플리케이션의 안드로이드 운영체제에 대한 예외상황들을 작동해보며, LifeCycle 메소드가 어떻게 실행되는지를 살펴보면 되겠다. # 테스팅 과정은 아래와 같다. {Testing 과정} 앱을 실행하면, Toast 메시지가 어떠한 것들이 출력되는지 확인 그리고, 홈버튼..
[개인 스터디] NestJS 정복하기 #07 - 커스텀 Pipe 구현
·
📚 스터디/백엔드
커스텀 파이프란, 지금까지는 NestJS에서 이미 구성해놓은 built-in 파이프를 사용했다. 하지만, 이것 말고도 따로 생성해서 사용할 수 있는 커스텀 파이프도 있다. 커스텀 파이프는 built-in에서 지원하지 않는 Validation이 있으면, 따로 Validation 검증을 진행하는 커스텀 파이프를 생성해서 Validation 검증을 진행한다. 커스텀 파이프 구성 Pipe Transform 인터페이스 우선 Pipe Transform이라는 인터페이스를 새롭게 만들 커스텀 파이프에 구현해줘야 한다. Pipe Transform 인터페이스는 모든 파이프에서 구현해줘야 하는 인터페이스이다. 그리고 이것과 함께 모든 파이프는 transform() 메소드를 필요로 한다. 이 메소드는 NestJS가 인자를 처..
[개인 스터디] NestJS 정복하기 #06 - Pipe 사용법
·
📚 스터디/백엔드
Pipe를 사용하기 위한 터미널 설정 NestJS Pipe 모듈 설치 [Validation & Transformer] 아래와 같은 터미널 명령어를 통해 Validation & Transformer Pipe를 설치한다. 해당 Pipe는 이전 포스팅에서 소개했던, NestJS에서 지원하는 Pipe 중 하나이다. (그렇기에, npm으로 모듈을 설치해서 바로 사용할 수 있다.) $ npm install class-validator class-transformer --save Part. 1-2 게시글 생성 API 파이프사용해서 Validation 진행 게시글 생성 DTO에 Pipe - Data Validation 적용 게시글 DTO에서 | 클라이언트 request 요청 클래스이자, 객체에서 request 값에 대..
[개인 스터디] NestJS 정복하기 #05 - Pipe { Data Transformation & Validation }
·
📚 스터디/백엔드
Pipe 란? 파이프는 @injectable() 데코레이터로 주석이 달린 "클래스"이다. 파이프는 Data transformation과 Data Validation을 위해서 사용된다. {데이터 변형 & 데이터 유효성 검사} 파이프는 컨트롤러 경로 처리기에 의해 처리되는 인수에 대해 작동한다. Nest는 메소드가 호출되기 직전에 파이프를 삽입하고 파이프는 메소드로 향하는 인수{Request 값}로 수신하고 이에 대해 작동한다. 아래는 Pipe를 포함시킨 클라이언트 - 서버의 동작논리를 나타낸 것이다. 참고하길 바란다. Pipe를 통해 클라이언트가 요청 Data에 대한 Transformation & Validation을 처리해준다. Pipe는 API 작동에 있어서 유효한 데이터인지를 검증하는 "클래스"로 A..
[개인 스터디] NestJS 정복하기 #04 - DTO | Data Transfer Object
·
📚 스터디/백엔드
DTO (Data Transfer Object) 란 DTO는 계층간 데이터 교환을 위한 "객체"이다. (데이터 교환 시 사용하는 객체 | 일종의 개발 규칙이다.) DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체를 말한다. DTO는 데이터가 네트워크를 통해 전송되는 방법을 정의하는 객체이다. # DTO 구현 방식 Interface나 Class를 이용해서 정의 될 수 있다. (하지만, 클래스를 이용하는 것을 NestJS에서 추천하고 있다.) # DTO (Data Transfer Object)를 쓰는 이유는 무엇인가? 데이터 유효성을 체크하는데 효율적이다. 더 안정적인 코드로 만들어준다. | 타입스크립트의 타입으로도 사용된다. DTO 구현 게시글 생성 API의 Para..
[개인 스터디] NestJS 정복하기 #03 - 게시글 생성 API | Create API
·
📚 스터디/백엔드
게시글 생성 API 만들기 - Express Post 메소드 게시글 Model 구현 [게시글 객체형태 지정] 게시글 생성 API를 만들기 위해선, 게시물에 필요한 데이터가 어떤 것이 필요한지를 정의해주기 위해서 게시글의 모델을 만들어준다. 모델을 정의할 때는 2가지 방법이 있다. # Interface로 정의 & 클래스로 정의 이번에 만들 게시글 생성 API는 게시글 생성 구조만 다뤄볼 것이기에 Interface로 게시글 Model를 만든다. 클래스로 모델을 만드는 것은 NestJS로 API를 여러가지 다뤄본 후 만들예정이다. 아래와 같이 게시글 모델을 파일을 boards 폴더 내에(Controller, Module, Service 파일이 있는 폴더) 생성 후 Interface로 구성한다. 인터페이스는 "..
[개인 스터디] NestJS 정복 - CRUD API 구현
·
📚 스터디/백엔드
해당 포스팅의 목적은 NestJS를 공부하면서 구현한 API를 정리해두는 포스팅입니다. 이론 포스팅과 실습 포스팅을 분리하기 위해서 만들어진 포스팅이고, 해당 포스팅은 실습 포스팅입니다. 블로그를 참고하실 때 유의해주시길 바랍니다. 해당 포스팅은 NestJS를 공부하면서 꾸준히 추가될 예정이고, 추가될 때마다 포스팅 업데이트를 진행합니다. Part. 1-1 | 모든 게시글 조회 API { Read API | Get } 해당 API는 데이터베이스와 연동하지 않고 Nest 로컬변수에 게시글 데이터를 저장해두고, 구현했음을 참고하길 바란다. 그리고, Module, Controller, Service 파일의 구성은 이전 포스팅에서 다뤘기에, 생략하도록 하겠다. 아래의 구현된 코드들은 각 파일의 클래스 내부에 작..
[CS 1-2 | 프로그램 설계 방법론] Java 인터페이스와 상속 10주차
·
CS 대학강의
인터페이스 - 작업의 분업을 위한 도구 아래와 같이 기존의 MVC 아키텍처로 구성한 프로그램은 종속관계가 있기때문에 분업하여 개발을 진행하기가 어려움이 있다. Model, ViewOut이 만들어지고, Controller 개발이 가능해짐. 그래서, Controller 개발자는 Model, ViewOut이 만들어질 때까지 놀아야됨 ㅎㅎ.. 그래서 "인터페이스"를 정의해서 분업화를 가능한 환경을 만든다. 인터페이스 란? 인터페이스는 자바에서 클래스들이 구현해야하는 동작을 지정하는 용도로 사용되는 추상 자료형이다. class 대신 interface라는 키워드를 이용하여 선언할 수 있으며 메소드 시그니처와 상수선언만을 포함할 수 있다. 클래스에서 인터페이스를 구현하기 위해서는 implements 키워드를 사용하..