Skip to content

Commit

Permalink
newpost
Browse files Browse the repository at this point in the history
  • Loading branch information
shyang committed Dec 22, 2023
1 parent a6ea81b commit 8da35b8
Show file tree
Hide file tree
Showing 47 changed files with 1,155 additions and 26 deletions.
9 changes: 9 additions & 0 deletions _includes/nav_list_main
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,15 @@
</ul>


<ul>
{% for category in site.categories %}
{% if category[0] == "AOP" %}
<li><a href="/categories/AOP" class="">AOP ({{category[1].size}})</a></li>
{% endif %}
{% endfor %}
</ul>


<ul>
{% for category in site.categories %}
{% if category[0] == "Test" %}
Expand Down
10 changes: 10 additions & 0 deletions _pages/categories/category-AOP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: "AOP"
layout: archive
permalink: categories/AOP
author_profile: true
sidebar_main: true
---

{% assign posts = site.categories['AOP'] %}
{% for post in posts %} {% include archive-single.html type=page.entries_layout %} {% endfor %}
2 changes: 2 additions & 0 deletions _posts/2023-09-17-Spring-SpringMVC 구현.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ public class SampleConfiguration {
- Web설정

```java
@EnableWebMvc
@ComponentScan(basePackages = "<패키지명>")
public class SampleConfiguration implements WebMvcConfigurer {
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
Expand Down
7 changes: 4 additions & 3 deletions _posts/2023-09-19-Nodejs-npm.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ last_modified_at: 2023-09-19T08:00:00-10:00:00

# 내용

## npm이란?
- Node Package Manager
- node.js의 자동화된 의존성과 패키지 관리를 위한 패키지 매니저
## 정의
> npm이란?
> Node Package Manager
> node.js의 자동화된 의존성과 패키지 관리를 위한 패키지 매니저
## 역할
- 라이브러리 다운
Expand Down
5 changes: 3 additions & 2 deletions _posts/2023-10-10-Nodejs-npx.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ last_modified_at: 2023-10-10T08:00:00-10:00:00

# 내용

## npx 란
- npm 패키지를 설치하지 않고 사용할 수 있게 해주는 도구
## 정의
> npx 란
> npm 패키지를 설치하지 않고 사용할 수 있게 해주는 도구
## 역할
- 프로젝트에 추가하거나 전역 패키지로 추가하지 않고, npm을 바로 실행 할 수 있음
Expand Down
12 changes: 11 additions & 1 deletion _posts/2023-10-16-Git-Git-Private-Sourcetree연동.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ last_modified_at: 2023-10-16T08:00:00-10:00:00
## SSH key 생성
- [key 생성방법](../../통신/통신-SSH#git을-사용한--키-생성)

## Git Repository에 Public Key 등록
## Public Key 등록

### Repository에 등록하는법
- **특정 Repository에 대한 권한만 획득하려면 Repository에 Deploy Key를 등록한다.**
- Repository의 settings 탭에 Add deploy key 항목을 선택한다

![image](../../assets/images/GitRepositoryAddSSHKeyMenu.png)
Expand All @@ -34,6 +37,13 @@ last_modified_at: 2023-10-16T08:00:00-10:00:00

![image](../../assets/images/GitSSHKeyAddResult.png){: width=500 height=500}

### Git 계정에 등록하는법
- **계정에 귀속된 모든 Repository에 대한 권한을 획득하려면 계정 SSH키 설정에 키를 등록한다.**

![image](../../assets/images/GitUserSetting.png)

![image](../../assets/images/GitUserAddSSHKey.png)

## SourceTree에 Public Key 등록
- 소스트리의 도구-옵션 팝업창에 SSH 키를 등록하는 항목이 있다.

Expand Down
16 changes: 16 additions & 0 deletions _posts/2023-10-17-CLI-Window-Command-Detail.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,22 @@ tasklist /V
#### sc delete \<서비스명\>
- **관리자 콘솔로만 사용 가능**

### tree
- 파일 및 폴더 구조를 tree형태로 표현

#### 옵션

| 옵션명 | 설명 |
| ------ | -------------------------------------- |
| /f | 각 폴더에 있는 파일 이름을 화면에 표시 |
| /a | 그래픽 문자 대신 텍스트 문자를 사용 |

```bash
tree <경로> /f /a
```

![image](../../assets/images/TreeResult.png)

---

# 연결문서
1 change: 0 additions & 1 deletion _posts/2023-10-18-할일-검색목록.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ last_modified_at: 2023-10-18T08:00:00-10:00:00
- camelcase
- cababcase
- snakeacse
- [ ] [Web Socket](../../통신/통신-Web-Socket)
- [ ] 소켓 상태

---
Expand Down
54 changes: 48 additions & 6 deletions _posts/2023-10-20-통신-Websocket.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,64 @@
---
title : "Websocket"
excerpt : "Websocket"
title : "WebSocket"
excerpt : "WebSocket"
toc : true
toc_sticky : true
toc_label : "Websocket"
toc_label : "WebSocket"
categories:
- 통신
tags:
- [통신, 미완료]
- [통신, ServerCommon]
last_modified_at: 2023-10-20T08:00:00-10:00:00
---

# 날짜 : 2023-10-20 14:45

# 태그 : #통신 #미완료
# 태그 : #통신 #ServerCommon
---
- HTTP 80, 443 포트에서 동작

# 내용

## 정의
> WebSocket이란?
> 서버와 클라이언트 간 양방향 데이터 전송이 가능하도록 하는 통신방법 중 하나
## 특징
- Stateful Protocol
- 웹소켓을 위한 별도 포트는 없고 기존 포트 사용
- 프로그램으로 구성된 메시지라는 논리적 단위로 송수신
- 텍스트와 바이너리만 전송 가능
- 웹 브라우저와 웹서버 간의 상호작용에서 오버헤드가 낮음
- 실시간 데이터 전송 용이

## 동작방식

![image](../../assets/images/WebSocketProcess.png)
- 연결 설정을 위한 handshake(HTTP), 일정 시간 경과 후 HTTP 연결은 끊어짐
- 설정된 연결은 열린 상태로 유지(TCP/IP 기반), 클라이언트나 서버가 종료될 때까지 동일 채널에서 통신 수행
- 양방향 통신
- Cleint 또는 Server에서 Close 요청시, Disconnet

## 문제점

### 복잡성
- Stateful protocol 이기 때문에 서버와 클라이언트간 연결을 항상 유지해야 함
- 비정상적 연결 종료시, 예외처리 코드 필요

### 비용
- Socket 연결을 유지하는 데 비용 발생
- 트래픽이 많은 경우 서버 CPU에 큰 부담

### 호환성
- 오래된 버전의 웹 브라우저에서는 지원되지 않음

## Reference
- SNS
- 멀티 플레이어 Game
- 위치 기반 APP
- HTS
- 화상 채팅 APP

---

# 연결문서
- [HTTP](../../servercommon/ServerCommon-HTTP)
1 change: 1 addition & 0 deletions _posts/2023-10-25-Annotation-@EnableWebMvc.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ last_modified_at: 2023-10-25T08:00:00-10:00:00
## 역할
- @Configuration Annotation과 함께 쓰여 클래스가 Spring MVC의 구성요소중 하나임을 표기
- WebMvcConfigurationSupport 에서 Spring MVC 구성을 가져온다.
- ViewResolver 값 등록

---

Expand Down
1 change: 1 addition & 0 deletions _posts/2023-10-25-Spring-Servlet.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,4 @@ public interface Servlet {
---

# 연결문서
- [DispatcherServlet](../../spring/Spring-DispatcherServlet)
9 changes: 3 additions & 6 deletions _posts/2023-10-25-Spring-SpringMVC.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ last_modified_at: 2023-10-25T08:00:00-10:00:00
### DispatcherServlet
- request를 처리할 Controller 를 배정
- 결과 View를 user에게 전달
- 서블릿으로 등록하며, 모든 경로에 urlPatterns="/" 매핑

### Handler
- Controller
Expand All @@ -55,13 +56,9 @@ last_modified_at: 2023-10-25T08:00:00-10:00:00
- View Name으로 반환할 View를 탐색
- View에 Model 데이터를 삽입

## Spring MVC 동작 방식

### DispatcherServlet
- 서블릿으로 등록하며, 모든 경로에 urlPatterns="/" 매핑

---

# 연결문서
- [SpringMVC 구현](../../spring/Spring-SpringMVC-구현)
- [Servlet](../../spring/Spring-Servlet)
- [Servlet](../../spring/Spring-Servlet)
- [DispatcherServlet](../../spring/Spring-DispatcherServlet)
25 changes: 23 additions & 2 deletions _posts/2023-10-25-Spring-WebMvcConfigurer.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ public void configureViewResolvers(ViewResolverRegistry registry) {
}
```

>
> [@EnableWebMvc](../../annotation/Annotation-@EnableWebMvc) Annotation과 함께 적용해야 한다.
### 리소스 핸들링
Expand All @@ -60,8 +61,27 @@ public void configureViewResolvers(ViewResolverRegistry registry) {
```java
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
registry.addResourceHandler("/assets/**")
.addResourceLocations("classpath:/static/assets/");
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
}
```

>
> ResourceLocation은 폴더구조상의 경로
> ResourceHandler는 request 요청상의 경로이다
>
> http://localhost:8080/assets/my.js 이렇게 request가 들어왔다고 가정하면 classpath:/static/assets/ 경로에서 .js파일을 찾을 것이다.
### Exception 핸들링
- Contoller 밖으로 Throw된 exception을 처리하고 동작방식 재정의

```java
@Override
public void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
resolvers.add(new MyHandlerExceptionResolver());
}
```

Expand Down Expand Up @@ -115,3 +135,4 @@ public void addCorsMappings(CorsRegistry registry) {
---

# 연결문서
- [DispatcherServlet](../../spring/Spring-DispatcherServlet)
53 changes: 53 additions & 0 deletions _posts/2023-10-30-webcommon-Proxy서버.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title : "Proxy서버"
excerpt : "Proxy서버"
toc : true
toc_sticky : true
toc_label : "Proxy서버"
categories:
- WebCommon
tags:
- [WebCommon]
last_modified_at: 2023-10-30T08:00:00-10:00:00
---

# 날짜 : 2023-10-30 14:44

# 태그 : #WebCommon
---

# 내용

## 정의
> Proxy서버란?
> 내부 네트워크에서 인터넷을 접속할 때, 빠른 액세스나 안전한 통신을 확보하기 위한 중계자
- Client와 Web Server의 중간에 위치

![image](../../assets/images/ProxyBase.png)

## 기능
- Server IP가 아닌 Proxy IP를 노출하여 개인정보 보호
- 캐시 사용으로 속도 향상
- 로그 관리 편의성
- 허용된 IP 대역의 프록시를 사용하여 접속 우회

## 종류

### Forward Proxy
- Client 대신 Proxy가 목적 서버에 통신해주는 구성
- 요청을 중계하며 요청과 응답은 모두 Proxy를 거친다
- 클라이언트를 감추는 효과

![image](../../assets/images/ForwardProxy%201.png)

### Reverse Proxy
- 내부서버 대신 Proxy가 Client와 통신해주는 구성
- 응답을 중계하며 요청과 응답은 모두 Proxy를 거친다.
- 내부 서버를 감추는 효과

![image](../../assets/images/ReverseProxy.png)

---

# 연결문서
31 changes: 31 additions & 0 deletions _posts/2023-11-16-obsidian-스타일 적용.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title : "스타일 적용"
excerpt : "스타일 적용"
toc : true
toc_sticky : true
toc_label : "스타일 적용"
categories:
- Obsidian
tags:
- [Obsidian]
last_modified_at: 2023-11-16T08:00:00-10:00:00
---

# 날짜 : 2023-11-16 10:36

# 태그 : #Obsidian
---

# 내용

## CSS 파일 적용 방법

![image](../../assets/images/SetCSS.png)
1. 설정-테마-CSS스니펫 항목의 폴더 아이콘을 선택하여 옵시디언에 사용할 css 폴더 경로로 이동한다
2. 적용할 css파일을 위치시킨다
3. 다시 설정-테마-CSS스니펫의 새로고침 아이콘을 클릭하면 위치시킨 css파일이 목록에 보이게 된다.
4. css를 활성화 시키면 옵시디언 테마에 적용된다.

---

# 연결문서
2 changes: 1 addition & 1 deletion _posts/2023-11-17-통신-Socket.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,5 @@ last_modified_at: 2023-11-17T08:00:00-10:00:00
---

# 연결문서
- [Web Socket](../../통신/통신-Web-Socket)
- [WebSocket](../../통신/통신-WebSocket)
- [Port](../../developcommon/DevelopCommon-Port)
10 changes: 8 additions & 2 deletions _posts/2023-11-24-ServerCommon-Thread Dump.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ toc_label : "Thread Dump"
categories:
- ServerCommon
tags:
- [ServerCommon, java, 미완료]
- [ServerCommon, java]
last_modified_at: 2023-11-24T08:00:00-10:00:00
---

# 날짜 : 2023-11-24 14:37

# 태그 : #ServerCommon #java #미완료
# 태그 : #ServerCommon #java
---

# 내용
Expand All @@ -40,6 +40,12 @@ last_modified_at: 2023-11-24T08:00:00-10:00:00
### 사용방법

#### dump 파일 로드

![image](../../assets/images/MATOpenHeapDump.png)
- 팝업된 윈도우 탐색기에서 .hprof 파일을 선택한다.
- MAT가 해당 덤프파일을 분석하여 결과를 보여준다.

### 분석

#### dominator_tree
Expand Down
Loading

0 comments on commit 8da35b8

Please sign in to comment.