반응형
반응형

📝Prettier 설치

https://www.npmjs.com/package/prettier

 

prettier

Prettier is an opinionated code formatter. Latest version: 3.3.3, last published: 12 days ago. Start using prettier in your project by running `npm i prettier`. There are 17948 other projects in the npm registry using prettier.

www.npmjs.com

 

📝eslint 설치

https://www.npmjs.com/package/eslint

 

eslint

An AST-based pattern checker for JavaScript.. Latest version: 9.7.0, last published: 12 days ago. Start using eslint in your project by running `npm i eslint`. There are 24284 other projects in the npm registry using eslint.

www.npmjs.com

 

📝파일저장시 Prettier 적용

File - Settings - Prettier에서 Automatic Prettier configuration, Run on Save 체크

 

📝Auto Import

 

 

반응형
반응형

📝Failover

"장애 극복 기능"이란 뜻으로 시스템 장애 시 준비되어있는 다른 시스템으로 대체되어 운영되는 것을 의미한다

 

📝CDC (Change Data Capture)

DB 변경 사항을 실시간으로 감지하고 이를 다른 시스템으로 전송하는 기술로 데이터 통합, 복제, 실시간 분석 및 이벤트 스트리밍 등에 사용됩니다.

 

📝ETL (Extract, Transform, Load)

데이터베이스, 파일 시스템, API 등 다양한 소스에서 데이터를 추출(Extract)하고, 이를 원하는 형태로 변환(Transform)한 다음, 데이터 웨어하우스, 데이터 레이크, 데이터베이스 등의 대상 시스템에 적재(Load)하는 프로세스입니다. Apache Spark, Google Cloud Dataflow 등이 있다.

 

📝Throughput

시스템이나 네트워크가 주어진 시간 동안 처리할 수 있는 데이터의 양을 나타내는 성능 지표입니다.

 

📝페이지 캐시 (Page Cache)

운영 체제(OS)가 디스크로부터 데이터를 읽어올 때 사용되는 메모리 내의 캐시입니다. 디스크 I/O 성능을 향상시키기 위해 사용되며, 자주 접근하는 데이터를 메모리에 캐시하여 디스크 접근을 최소화합니다

 

 

🔗 참고 및 출처

https://habitus92.tistory.com/16

반응형
반응형

📝고가용성 (高可用性, HA : High Availability)

서버와 네트워크 또는 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 장애 없이 정상 운영이 가능한 성질

 

📝온프레미스

소프트웨어나 하드웨어를 클라우드 서비스가 아닌 자체 데이터 센터나 서버에서 직접 운영하는 방식을 의미

 

📝거버넌스

기업의 IT 자산, 데이터, 프로세스를 관리하고 통제하는 체계를 의미합니다

 

📝데이터 파편화

데이터가 여러 위치에 분산되어 저장되어 있는 상태를 의미합니다. 이는 데이터 일관성, 관리, 검색의 어려움을 초래 할 수 있으며, 데이터를 통합하여 분석하는 데 어려움을 줄 수 있습니다.

 

📝Materialized View

물리화된 뷰는 데이터베이스에서 사용되는 개념으로, 쿼리 결과를 미리 계산하여 물리적으로 저장해 둔 테이블입니다. 이는 복잡한 쿼리 성능을 향상시키기 위해 사용되며, 주기적으로 또는 수동으로 갱신될 수 있습니다.

이름이 저런 거지 따로 저런 View가 존재하는 게 아니다 즉, 테이블인데 쿼리 결과를 미리 계산해서 물리적으로 저장해둔 테이블이라는 것이다

 

📝티어드 스토리지 (Tiered Storage)

티어드 스토리지는 데이터의 중요도나 사용 빈도에 따라 서로 다른 성능과 비용을 가진 스토리지 계층에 데이터를 배치하는 전략입니다. 자주 사용되는 데이터는 고속의 고비용 스토리지에 저장하고, 덜 사용되는 데이터는 저속의 저비용 스토리지에 저장합니다.

 

📝카프카 미러메이커

카프카 미러메이커는 Apache Kafka에서 제공하는 데이터 복제 도구입니다. 이는 하나의 Kafka 클러스터에서 다른 클러스터로 데이터를 실시간으로 복제하여 데이터의 가용성을 높이고, 여러 데이터 센터 간의 데이터 동기화를 가능하게 합니다.

 

📝멱등성

수학과 컴퓨터 과학에서 중요한 개념으로, 연산을 여러 번 적용해도 결과가 달라지지 않는 성질을 의미합니다

반응형
반응형

📝프로젝트 구조 (Package structure)

Spring Boot에서 정해둔 프로젝트 구조는 없지만 저는 DDD가 유지보수에 더 좋다고 생각하여 DDD 기반으로 만들었습니다

 

DAO 기반의 DDD

com
  └ lsj
      └  shopping_mall
 	  	  └ dashboard
		  |	  └  controller
		  |	  └  service
		  |	  └  dao
		  |	  └  dto
		  |	      └ request
		  |	      └ response
		  |	  └  util
		  |	  └  exception
		  |	  
		  |
		  └ global
		        └ config
		        └ user
		        └ exception
		        └ jwt
		        └ util (공통 API)

 

Repository 기반의 DDD (+ JPA)

com
  └ lsj
      └  shopping_mall
 	  	  └ dashboard
		  |	  └  controller
		  |	  └  service
		  |	  └  repository
		  |	  └  entity
		  |	  └  dto
		  |	      └ request
		  |	      └ response
		  |	  └  util
		  |	  └  exception
		  |	  
		  |
		  └ global
		        └ config
		        └ user
		        └ exception
		        └ jwt
		        └ util (공통 API)

 

📝DAO vs Repository

DAO

// User.java
public class User {
    private Long id;
    private String name;
    private String email;

    // Constructors, getters and setters
}

// UserDao.java
public interface UserDao {
    User findById(Long id);
    List<User> findAll();
    void save(User user);
    void update(User user);
    void delete(Long id);
}

// UserDaoImpl.java
public class UserDaoImpl implements UserDao {
    private DataSource dataSource;

    public User findById(Long id) {
        // SQL 쿼리를 사용하여 특정 사용자 검색
    }

    public List<User> findAll() {
        // 모든 사용자를 검색하는 SQL 쿼리
    }

    public void save(User user) {
        // 사용자 저장 SQL 쿼리
    }

    public void update(User user) {
        // 사용자 정보 업데이트 SQL 쿼리
    }

    public void delete(Long id) {
        // 사용자 삭제 SQL 쿼리
    }
}

DAO는 데이터베이스와의 상호 작용을 캡슐화하여 데이터베이스 접근 로직과 비즈니스 로직을 분리합니다 특히 CRUD연산에만 초점을 맞춥니다 (DAO의 경우 데이터 액세스를 추상화)

 

위 코드를 CRUD로 구분하면 아래와 같습니다

  • Create
    • save
  • Read
    • findById
    • findAll
  • Update
    • update
  • Delete
    • delete

 

Repository

// UserRepository.java
public interface UserRepository {
    User findById(Long id);
    List<User> findAllByStatus(String status);
    void save(User user);
    void delete(User user);
}

// UserRepositoryImpl.java
public class UserRepositoryImpl implements UserRepository {
    private EntityManager entityManager;  // JPA 사용 예시

    public User findById(Long id) {
        return entityManager.find(User.class, id);
    }

    public List<User> findAllByStatus(String status) {
        return entityManager.createQuery("SELECT u FROM User u WHERE u.status = :status", User.class)
                            .setParameter("status", status)
                            .getResultList();
    }

    public void save(User user) {
        entityManager.persist(user);
    }

    public void delete(User user) {
        entityManager.remove(user);
    }
}

DAO와 다르게 도메인 중심의 설계에서 사용되며 CRUD에서 확장되어 각 상황에 맞는 도메인 로직에 더 초점을 맞춥니다

 

반응형
반응형

📝H2DB

H2 데이터베이스는 자바 기반의 경량화된 관계형 데이터베이스 관리 시스템(RDBMS)입니다 그래서 자바가 설치가 되어있어야 실행이 가능합니다

매우 가볍기 때문에 테스트나 간단한 개발 정도에 사용하면 좋을 것 같습니다

 

 

📝설치

https://h2database.com/html/main.html

 

H2 Database Engine

H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size     Supp

h2database.com

링크에 접속한다

 

 

Download에서 All Platforms 클릭하여 다운로드 후 압축 해제

 

📝 서버 실행

${설치경로}/bin/h2w.bat 실행

 

실행하면 웹 콘솔에 들어갈 수 있습니다 비밀번호는 1234입니다

반응형
반응형

📝IntelliJ 컴파일 속도 증진

  1. Preference → Preferences Build, Execution, Deployment Build Tools Gradle 이동
  2. Build and run using - Gradle → IntelliJ IDEA 변경
  3. Run tests using - Gradle → IntelliJ IDEA 변경

 

현재는 이렇게 설정하지만 추후에는 달라질 수도 있을 것 같습니다

 

 

📝HotReload, HotSwap

Gradel 추가

implementation 'org.springframework.boot:spring-boot-devtools:2.6.3'

 

버전의 경우는 최신 버전으로 맞춰주시면 됩니다

 

IntelliJ 설정

  • Preference → Build, Execution, Deployment → Compiler → Build Project automatically 체크 후 apply

 

  • Settings → Advanced Settings → Allow-auto-make to start even if developed application is current running 체크 후 Apply

 

📝Prettier

Prettier의 경우 회사 자체적으로 있지 않는 이상 대기업인 Google에서 사용하는 Java Code Style을 따라가도록 하자

 

  1. https://github.com/google/styleguide (구글 스타일 가이드 저장소)
  2. intellij-java-google-style.xml 다운로드
  3. IntelliJ → settings → Code Style → Java 
  4. Scheme → Import Scheme → IntelliJ IDEA code style XML 클릭 → 다운받은 intellij-java-google-style.xml 넣기

 

 

save시 자동으로 코드 변환

  • Reformat Code
    • save시 자동으로 코드 형태 변경
  • Optimize Imports
    • 사용되지 않는 import 자동삭제

 

  • Settings → Appearance & Behavior → System Settings → Save files if the IDE is idle for 15 seconds (매 15초 자동 저장)

 

🔗 참고 및 출처

https://yeon-kr.tistory.com/197

반응형
반응형

IntelliJ및 WebStorm을 최신 버전으로 업데이틀 진행해주면 된다

 

🔗공식 답변 참고

https://intellij-support.jetbrains.com/hc/en-us/community/posts/19507482696082-Invalid-authentication-data-error

 

 

 

 

반응형
반응형

📝기초자산

주식, 채권, 금, 부동산을 의미한다

 

📝파생상품

기초에서 파생된 상품으로 레버리지 효과가 있다

만약 주식이 마이너스로 빠질 때 플러스의 효과를 볼 수 있는 헤지의 개념으로 등장하게 되었으며 만기가 있어서 존버가 불가능하다

 

  • 종류
    • 선물, 옵션 swap (주식 선물, 주식 옵션, 주식 swap, 채권 선물, 채권 옵션, 채권 swap 등...)

 

📝헤지(hedge)

울타리, 대비책이란 의미로 주식시장 리스크가 걱정될 때 채권, 화폐 가치가 떨어질 때 금에 투자하는 등 위험을 분산하는 모든 투자 방식을 헷지투자라고합니다

일반적으로 주가가 하락할 때 상승하는 것을 헷지로 두는 걸로 손실을 방지하는 걸 합니다

 

📝선물

먼저 예시를 보자 농부랑 떡가게 사장이 있고 올해 말에 떡에 필요한 쌀가격이 기후가 안 좋아 흉작일 가능성이 있다는 말이 있었다 기존 가격은 쌀이 10,000원인데 흉작이면 쌀이 더 부족하기 때문에 더 비싸질 거라 생각해 예상 되는 가격보다 낮은 가격인 12,000원으로 떡가게 사장이 농부한테 쌀을 산다고 했다 그런데 실제로 흉작이 이루어졌고 쌀 가격은 20,000원까지 솟구치게 되었다 이럴경우 떡가게 사장은 8,000원의 이득을 보게 된 것이다 근데 만약에 흉작이 안 이루어졌고 농사가 잘 되어서 8,000원까지 떨어졌으면 4,000원에 손해를 보게 된다

 

선물은 물건을 먼저 산다는 뜻으로 지수을 추종하는 선물 주식을 추종하는 선물 등 다양하게 있다

만기일이 존재해 그 만기일까지 어떤 가격보다 오를지 내릴지에 대해서 배팅하게 된다 오르는 곳에 배팅한 경우 내리는 곳에 배팅한 경우이라고 한다

 

선물의 경우 레버리지가 있는데 10,000원을 투자했는데 레버리지 10배이고 -10% 하락했을때 -100%로 0원이 되게 된다 근데 만약 -20%까지 하락하게 되면 빚이 -10,000원이 생기게된다 

물론 증권사에서 이렇게 빚이 생기는 경우를 방지하기 위해 원금을 다 잃기 전에 강제로 청산시켜버리긴하는데 갑작스런 급락이나 급등에 대해서 처리가 안 되기 때문에 빚쟁이가 될수도 있습니다

 

해외선물 만기일은 3, 6, 9, 12월 세 번째 금요일이다

 

 

📝공매도

공매도란 미리 주식을 빌리고 추후에 갚는 형식을 의미합니다

옵션 만기일은 매월 세 번째 금요일

 

예를 들면 1,000원의 주식이 있습니다 어떤 사람이 500원까지 떨어질 거라 예상합니다  1만주를 빌려서 현재가인 1,000원에 팝니다 그 후에 500원까지 떨어진 뒤에 1만주를 다시 사서 갚으면 (1만주 * 1,000) - (1만주 * 500) = 5백만원의 차익을 얻게 됩니다 그런데 만약 만기일이 다 됐는데 주가가 500원이 아니라 1,500원까지 오른 경우 결국 (1만주 * 1,000) - (1만주 * 1,500) = -5백만원의 손해를 입게 됩니다

 

개인이 주식에 사용되는 비용은 2~3%수준이고 나머진 외국인이나 기관이 있습니다

그러면 외국인이나 기관은 손해를 보지 않기 위해 안 좋은 소문, 거품이 있다, 가지고 있는 주식을 다 던져서 하한가를 맞게 한다 등으로 주가를 떨어뜨리려고 모든 짓을 다 동원할 것입니다 이러한 배경으로 일반 사람들은 기관에게 당했다 등의 말이 나오게 되고 금지시키게 된 요인이 됩니다

 

미국의 경우는 3개월‧6개월‧1년 단위 상환 만기 조건이 있고 현재 다른 나라들은 공매도를 금지시키고 있지 않습니다

 

공매도의 순기능도 있습니다

  • 거품이 과도하게 낀 기업에 대해서 공매도 세력이 나타나게 됩니다. 공매도세력은 해당 기업의 주가조작, 회계조작에 대해서 철처하게 다 파악하게 되고 피해자들이 안 나오게 하는 순 기능도 있습니다
  • 거품이 낀 기업에 대해서는 공매도가 없다면 엄청난 하락이 이루어질 수 있는데 공매도 세력은 주가를 갚아야하기 때문에 주가가 엄청난 하락이 이루어지지 않게 브레이크를 거는 수단이 됩니다

 

 

 

🔗 참고 및 출처

https://www.youtube.com/watch?v=R9H09vLzJwA&t=240s

 

 

📝옵션

옵션은 파생상품으로 미래의 주가를 예측해서 그 가격으로 사거나 팔거나 할 수 있는 권리를 의미한다

일반적으로 일반적으로 옵션 매수를 하고 옵션 매도의 경우는 기관이 한다

일반적으로 옵션 만기일은 매월 세 번째 금요일이다

위클리 옵션이라는 것도 있는데 매주 만기가 돌아오도록 설계된 파생상품이다

 

예를 들자면 한국하고 독일하고 축구를 한다고 하자 여기서 토토의 개념으로 생각하면 된다 몇 대 몇으로 끝날지에 대해 맞춘다고 생각하면 편하다 현재 0:3으로 독일이 이기고 있다고하자 만약에 후반부 10분 남아있는데 독일이 0:3이나 0:4로 이길 확률이 높기 때문에 해당 토토 즉, 옵션 0:3으로 독일이 이기거나 0:4으로 독일이 이긴다의 옵션가격은 더 높을 것이다 근데 어떤 사람은 5:3으로 한국이 이긴다에 배팅했다 5:3으로 이길 확률을 희박하기 때문에 옵션의 가격은 낮을테고 진짜 5:3으로 한국이 이기면 이 사람은 몇백배의 당첨금을 얻을 수 있다

 

배팅을 주가에 대입하면 나스닥 주가가 5,000일 때 몇달 뒤에 5,700까지 오른다고 예측하는 옵션을 산다는 것과 비슷하다

 

옵션 요소

옵션의 프리미엄(가격)은 다음 두 가지 요소로 구성됩니다

  • 내재가치 (Intrinsic Value)
    • 옵션이 현재 행사될 경우 얻을 수 있는 실제 가치입니다.
    • 콜 옵션 → 내재가치 = 최대(0, 기초 자산 가격 - 행사가격)
    • 풋 옵션 → 내재가치 = 최대(0, 행사가격 - 기초 자산 가격)
  • 시간가치 (Time Value)
    • 옵션의 만기일까지 남은 시간 동안 기초 자산 가격이 유리하게 변동할 가능성에 대한 가치입니다. 시간가치는 다음과 같은 요소에 따라 달라집니다
      • 만기일까지 시간이 많이 남아 있을수록 시간가치가 높아집니다.
      • 기초 자산의 가격 변동성이 클수록 시간가치가 높아집니다.
      • 이자율이 높을수록 콜 옵션의 시간가치가 높아지고, 풋 옵션의 시간가치는 낮아집니다.
  • 프리미엄
    • 옵션을 사기 위해 필요한 가격 
    • 프리미엄가격 = 기초자산가격 - 행사가격 - 만기일 요소 = 내재가치 + 시간가치
    • 만기일이 가까워지면 시간가치나 낮아져 만기일 프리미엄 가격이 낮아진다

 

옵션 예제

기초 자산 가격 : 80달러 (옵션 매수 시점)
행사가격 : 50달러
프리미엄 : 45달러
만기일 기초 자산 가격 : 150달러

내재가치: 150달러 (기초 자산 가격) - 50달러 (행사가격) = 100달러
이익: 내재가치 100달러 - 프리미엄 45달러 = 55달러


만약 만기일 1일 남은 걸 사면 시간가치가 없고 내재가치만 있으니 무조건 이득인가?

 

기초 자산 가격 : 80달러
행사가격 : 50달러
만기까지 남은 시간 : 1일
기초 자산 변동성 : 중간 정도
무위험 이자율 : 중간 정도

 

프리미엄 = 30달러 + (거의 0달러) = 30달러

즉 30달러 이상을 벌어야하는데 만기일 끝나는 시각에 현재 자산 가격이 80달러라면 프리미엄 가격이 내가 버는 돈하고 거의 같아지기 때문에 돈 버는게 없어진다

만약 만기일 끝난 시각에 85달러면 85달러를 50달러로 사는 거지만 30의 프리미엄 가격을 빼면 5달러를 이득본다

이럴 경우 그냥 그 당일날 주식 사고 오를지 내릴지 그냥 투자하는 것과 동일하다

 

 

바로 아래 내용은 읽은 글과 영상들을 정리한 내용으로 제가 직접 옵션매매를 해보지 않아서 부정확할 수 있습니다 추후 헷징개념으로 시도할 때가 오면 해보고 다시 정리하도록 하겠습니다

 

옵션 청산 방법

  1. 만기기한이 다 되어서 휴지조가리가 된다
  2. 옵션 매수를 한 다음 가격이 오르거나 내리거나 했을 때 다른 사람에게 매도한다
  3. 옵션을 행사한다

 

옵션으로 돈버는 방법

  • 만기일이 될수록 주가의 개념처럼 옵션가격은 바뀌게 되고 예측이 쉽기 때문에 해당 영역에서의 옵션 매도의 가격은 오르게 된다 → 콜옵션, 풋옵션 매도랑은 다르기 때문에 무한대로 손실이 생기진 않는다
  • 만기일이 되기 직전에 옵션을 행사해서 원하는 가격으로 살 수 있다
  • 헷지의 개념으로 시장이 하락할 수 있다는 것에 베팅하는 것을 의미한다

 

콜옵션

살 수 있는 권리로 예를 들어 설명하면 현재가가 1,000원일 때 나중에 1,500원이 될수도 500원이 될 수도 있다

 

 

콜옵션 매수자 포지션

나중에 바뀔 주가에 대해서 1,000원에 살 권리로 프리미엄을 지불하고 콜옵션을 매수할 수 있습니다

  • A 주식이 1,500원이 되었다면?
    • 콜옵션 매수자는 이익 500원에서 프리미엄 100원을 차감해, 총 400원의 이익을 얻어요.
  • A 주식이 500원이 되었다면?
    • 콜옵션 매수자는 굳이 A 주식을 1,000원에 살 권리를 행사할 이유가 없겠죠? 권리를 포기하면, 앞서 지불한 프리미엄 100원을 손해 보게 되어요.

콜옵션 매수자 이득은 무한대로 증가하며 손실은 프리미엄값으로 한정되어있습니다 즉, 주가가 올라야 콜옵션 매수자는 이득입니다

 

 

콜옵션 매도자 포지션

매수자와 반대 포지션으로 1,000원에 살 권리를 판매하는 사람입니다

  • A 주식이 1,000원 밑으로 떨어진다면?
    • 콜옵션 매도자는 100원의 프리미엄을 벌 수 있어요.
  • A 주식이 1,000원 이상으로 오른다면?
    • 손실은 무한대가 되어요. 콜옵션 매수자가 버는 만큼 잃게 되는 것이에요.

 

콜옵션 매도자는 프리미엄으로 돈을 벌며 콜옵션 매수자가 돈을 버는만큼 콜옵션 매도자는 돈을 잃게 됩니다 즉, 판 옵션들의 주가가 내려야 콜옵션 매도자는 이득입니다

 

풋옵션

팔 수 있는 권리로 예를 들어 설명하면 현재가가 1,000원일 때 나중에 1,500원이 될수도 500원이 될 수도 있다

 

 

풋옵션 매수자 포지션

  • A 주식이 500원이 되었다면?
    • 풋옵션 매수자는 ‘1,000원에 팔 권리'를 행사해 500원의 이익을 얻고, 프리미엄 100원을 제외한 총 400원의 이익을 얻어요.
  • A 주식이 1,500원이 되었다면?
    • 풋옵션 매수자는 굳이 ‘1,000원에 팔 권리'를 행사할 이유가 없겠죠. 프리미엄 100원을 손해 보고, 권리를 포기하면 되어요.

 

풋옵션 매수자 이득은 무한대로 증가하며 손실은 프리미엄값으로 한정되어있습니다 즉, 주가가 내려야 풋옵션 매수자는 이득입니다

 

 

풋옵션 매도자 포지션

  • A 주식이 1,000원 이상으로 오른다면?
    • 100원의 프리미엄을 얻을 수 있어요.
  • A 주식이 1,000원 밑으로 떨어진다면?
    • 손실은 무한대가 되어요. 풋옵션 매수자가 버는 만큼 잃게 되죠.

 

풋옵션 매도자는 프리미엄으로 돈을 벌며 풋옵션 매수자가 돈을 버는만큼 콜옵션 매도자는 돈을 잃게 됩니다 즉, 판 옵션들의 주가가 올라야 풋옵션 매도자는 이득입니다

 

  • 행사가격
    • 옵션을 사고 파는 가격이다
  • 내가격(ITM)
    • 권리행사 했을 때 들어오는 돈이 있는 옵션
    • 예) 현재 5만원인 주가의 6만원 풋옵션은 ITM이다 (6만원에 팔 권리)
  • 외가격(OTM)
    • 권리행사 해봐야 손해나는 옵션
    • 예) 현재 5만원인 주가의 6만원 콜옵션은 OTM이다 (6만원에 살 권리)
  • 등가격
    • 기초자산가격과 행사가격이 같은 옵션

 

간단 요약하자면 콜옵션싼 가격에 사는 권리이기 때문에 주가가 올라야 돈을 버는 것이다. (행사가격 + 옵션 매수가격보다 높아야 이득), 풋옵션비싼 가격에 파는권리이기 때문에 내가 파려는 가격보다 주가가 내려야 돈을 버는 것이다. (행사가격 + 옵션 매수가격보다 낮아야 이득)

 

 

간단 요약

옵션을 거래하는 사람은 그렇게 많지 않을거라 생각하고 옵션을 매도하는 기관에서 손해를 감수하기 위해 어떤 금액을 맞출텐데 그 금액에 대한 저항 지지를 파악할 수 있다. volume이 많이 쌓인 곳 위주로 저항 지지를 계산하면 좋다.

 

콜옵션의 경우 가격이 오르면 옵션 산 사람(일반인)들이 이득을 보기 때문에 가격이 안 오르게 낮춘다.

  • 행사가격(Price) + 프리미엄(Bid) < 시가 → 기관 이득 (시가보다 더 비싼 가격에 샀으니)

 

풋옵션의 경우 가격이 오르면 옵션 산 사람(일반인)들이 이득을 보기 때문에 가격이 안 오르게 낮춘다.  

  • 행사가격(Price) - 프리미엄(Bid) > 시가 → 기관 이득 (시가보다 더 싼 가격에 팔았으니)

 

 

 

 

 

 

 

https://finance.yahoo.com/quote/NVDA/options/

 

 

 

🔗 참고 및 출처

https://www.cmegroup.com/ko/education/learn-about-trading/courses/introduction-to-options/understanding-options-expiration-profit-and-loss.html

https://www.youtube.com/watch?v=7NOkL7BsOKQ

https://www.youtube.com/watch?v=bhr_R5SgqUs

https://www.tossbank.com/articles/calloption

 

📝네마녀의 날

주가지수 선물/옵션, 개별주식 선물/옵션 네가지의 만기가 겹치는 날로 자기가 잡았던 포지션을 이기기 위해 기관들이 엄청나게 매도와 매수를 하는 날이라 변동성이 크다

 

📝유동성공급자 (LP)

금융상품에 대한 매매가 원활하게 이루어질 수 있도록 매도∙매수 호가를 지속적으로 제시하는 시장 참가자

 

📝모라토리엄(Moratorium)

국제적으로 한 나라가 외채이자 지급불능 상황이 되면 일시적으로 모든 채무의 지급정지 선언을 하는 것을 말한다

국내에서 발생한 일에 대해서는 돈을 찍어서 갚으면 되는 반면 외환위기의 경우는 외국 돈을 갚아야하기 때문에 이러한 방법으로 해결이 안 된다는 점에서 차이가 있다

 

📝ETF

자산운용사에서 만든 상품이며  펀드 매니저가 기초 자산을 실제로 보유하고 있고, 펀드의 자산을 바탕으로 투자자에게 수익을 제공합니다. ETF는 주식처럼 거래되는 투자 펀드로 기초 자산(주식, 채권, 원자재 등)의 가격 움직임을 추종합니다.

 

  • 만기가 없고 무기한 거래가능
  • 자산운용사가 파산해도 기초 자산을 실제로 가지고 있기 때문에 보상이 가능하다

 

📝ETN

ETN은 은행이나 금융기관이 발행하는 채권으로 기초 자산의 수익률을 추종합니다

ETN 발행자는 기초 자산을 직접 보유하지 않으며 대신 발행자의 신용을 바탕으로 수익을 약속합니다

 

  • 일정한 만기가 있으며 만기 시점에 원금과 수익돌려받습니다
  • 관리 수수료가 있으며 별도의 발행 수수료가 추가될 수 있습니다
  • 발행자가 재정적으로 안정적이고 신용도가 높으면 ETN의 수익과 원금 상환이 비교적 안전하게 보장될 수 있습니다
  • 은행이나 금융기관이 파산하면 기초 자산을 실제로 가지고 있지 않기 때문에 보상받을 수 없습니다

중요사항!!

ETN의 경우 매도한 금액에 배당소득세(15.4%) 및 금융소득세에 포함되기 때문에 종합소득세를 엄청나게 낼 수 있다 이 점을 고려해야한다

 

 

 

 

 

반응형
반응형

📝HTTP 1.1

HTTP 요청은 TCP 프로토콜을 이용하기 때문에 요청을 전송하기 위해선 3-way-handshake 과정을 거쳐 연결을 설정하고 연결과 끊기를 반복합니다 이걸 개선 시켜서 keep-alive라는 기능으로 일정시간동안 커넥션을 유지할 수 있도록 할 수 있어서 자원 낭비를 최소화 시킵니다

 

 

📝HTTP 2.0

HTTP 2.0은 기존 HTTP 1.1 버전의 성능 향상에 초점을 맞춘 프로토콜로 HTTP 1.1의 성능 저하 부분과 비효율적인 것들이 개선되어 탄생한 것이라고 생각하면 된다

HTTP 1.1까지는 한번에 하나의 파일만 전송이 가능했고 여러 파일을 전송할 경우 지연시간이 생기기 시작했다 HTTP 2.0에서는 문제 해결을 위해 여러 파일을 한번에 병렬로 전송한다

 

 

📝HTTP 1.1 vs HTTP 2.0

그림을 보면 얼마나 속도 차이가 있는 지 알 수 있다 → 실제로 적용시켜보면 눈에 보일정도이다

 

📝RPC

RPC의 경우 자신과 다른 주소공간에서 동작하는 프로세스의 함수를 실행할 수 있게 해주는데 이는 네트워크를 통한 메시징을 수행한다 즉, Client와 Server는 각각 일반 메소드를 호출하는 것처럼 원격지의 프로시저를 호출할 수 있다

 

  • Stub
    • 프로시저 호출을 추상화하는 작은 코드 조각

 

Stub Interface

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Calculator extends Remote {
    int add(int a, int b) throws RemoteException;
}

 

Stub 구현체

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class CalculatorImpl extends UnicastRemoteObject implements Calculator {
    protected CalculatorImpl() throws RemoteException {
        super();
    }

    @Override
    public int add(int a, int b) throws RemoteException {
        return a + b;
    }
}

 

서버 설정

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class Server {
    public static void main(String[] args) {
        try {
            Calculator calculator = new CalculatorImpl();
            Registry registry = LocateRegistry.createRegistry(1099); // RPC 런타임 생성
            registry.bind("CalculatorService", calculator); // RPC에 stub 적용
            System.out.println("Server is ready.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

RPC를 생성하고 RPC에 stub(소스코드)를 적용시킵니다

 

클라이언트 설정

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class Client {
    public static void main(String[] args) {
        try {
            // RMI 레지스트리에서 CalculatorService 조회
            Registry registry = LocateRegistry.getRegistry("localhost", 1099); // RPC로 서버와 연결
            Calculator calculator = (Calculator) registry.lookup("CalculatorService"); // stub 코드를 호출시켜서 사용합니다
            
            // Stub을 통해 원격 메서드 호출
            int result = calculator.add(5, 3);
            System.out.println("Result: " + result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

RPC로 서버와 연결한 뒤 stub 코드를 호출시켜서 사용합니다

 

📝RPC vs REST API

특성 RPC REST API
접근 방식 메소드 호출 중심 자원 중심 (URI)
데이터 포맷 이진 포맷 (Protocol Buffers, JSON 등) 텍스트 포맷 (JSON, XML)
프로토콜 HTTP, TCP, UDP 등 다양한 프로토콜 사용 가능 HTTP
결합도 높은 결합도 느슨한 결합
인터페이스 정의 엄격한 인터페이스 정의 인터페이스 정의가 상대적 덜 엄격
설정 복잡도 초기 설정 복잡 상대적으로 설정이 간단
성능 높은 성능 (최적화된 직렬화 및 통신) 성능이 상대적으로 낮음 (텍스트 포맷, HTTP)
유연성 및 확장성 유연성 낮음, 변경시 양쪽(Server-Client) 모두 수정 필요 유연성 높음, 다양한 클라이언트와 수비게 통합
캐싱 캐싱 기능 부족 HTTP 캐싱 매커니즘 지원
사용 환경 내부 마이크로서비스 간의 고성능 통신이 필요한 경우 RPC가 유리 외부 API와의 통합 및 웹 서비스 개발에는 REST가 더 적합

 

 

📝GRPC

gRPC는 Google이 개발한 오픈 소스 RPC 프레임워크로, 성능과 확장성을 염두에 두고 설계되었습니다

 

  • HTTP/2 프로토콜 사용
  • 데이터포맷은 Protocol Buffers (ProtoBuf)로 통신속도가 더 빠릅니다
  • 다양한 언어(C++, Java, Python, Go 등)를 지원합니다
  • HTTP/2로 양방향 통신이 가능(스트리밍)합니다

 

🔗 참고 및 출처

https://velog.io/@hoo00nn/HTTP1.1-vs-HTTP2.0

https://co-no.tistory.com/entry/%ED%86%B5%EC%8B%A0-RPCRemote-Procedure-Call%EC%9D%98-%EA%B0%9C%EB%85%90-%EB%B0%8F-%ED%8A%B9%EC%A7%95

https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-HTTP-20-%ED%86%B5%EC%8B%A0-%EA%B8%B0%EC%88%A0-%EC%9D%B4%EC%A0%9C%EB%8A%94-%ED%99%95%EC%8B%A4%ED%9E%88-%EC%9D%B4%ED%95%B4%ED%95%98%EC%9E%90

반응형