TIL

· TIL
프로세스는 실행 중인 프로그램의 인스턴스 쓰레드는 프로세스 내에서 실행되는 작업의 단위입니다. 프로세스는 독립된 메모리 공간을 가지고 서로 간섭 없이 독립적으로 실행됩니다. 쓰레드는 프로세스 내에서 실행되므로 프로세스 내의 쓰레드들은 메모리 공간을 공유하며 상호작용이 간단합니다. 프로세스 간 통신은 복잡하여 운영체제가 제공하는 IPC 기술을 사용해야 합니다. 쓰레드 간 통신은 프로세스 내에서 메모리를 공유하기 때문에 간단하게 이루어질 수 있습니다. 프로세스 생성 및 소멸은 비용이 크며, 자원 소모가 많습니다. 쓰레드 생성 및 소멸은 상대적으로 더 가볍고 빠릅니다. 프로세스는 각자 독립된 메모리 공간을 사용하기 때문에 병렬 실행이 간편합니다. 쓰레드는 프로세스 내에서 공유된 메모리를 사용하므로 동시에 실행..
· TIL
현재 제작중인 팀프로젝트 스왑스왑 정말 잘 만들고 있다!! 동적 쿼리(제목, 카테고리, 지역) 및 자신이 찜한 게시글 확인 (서브 쿼리) 찜 기능, 커서 기반 페이지네이션 근데 문제가 있었다!! 이러면 사용자 경험이 안좋아지는 것... 그래서 어떻게 할지 하다가 th:if 문을 알게 됐다! 현재 컨트롤러에서는 자신이 찜을 했는지 안했는지 알기 위해서 Member 를 매개변수로 받고 있다. @GetMapping("/posts/{postId}") public String getPost( @PathVariable Long postId, @AuthMember Member member, Model model ) { PostGetResponseDto responseDto = postService.getPost(po..
· TIL
CORS(Cross Origin Resouces Sharing)는 서버가 웹 브라우저에서 리소스를 로드할 때 다른 오리진을 통해 로드하지 못하게 하는 HTTP 헤더 기반 메커니즘입니다. 프론트엔드 개발 시 프론트엔드 서버를 만들어서 백엔드 서버와 통신할 때 주로 CORS 에러를 마주치는데, 이를 해결하기 위해 프론트엔드에서 프록시 서버를 만들기도 합니다. 💡 Origin이란 무엇일까요? 프로토콜과 호스트 이름, 포트의 조합을 말합니다. https://wonow.com:1515/test에서 Origin은 https://wonow.com:1515 까지가 Origin 입니다. 예를 들어 프론트에서 127.0.0.1:2000 으로 테스팅을 하는데 백엔드 서버는 127.0.0.1:4000 이라면 포트 번호가 다르..
· TIL
@Override public PostGetResponseDto findPostWithFavorite(Long postId, Member member) { return queryFactory.select( Projections.constructor(PostGetResponseDto.class, post.member.id.as("memberId"), post.member.nickname.as("author"), post.title, post.content, post.category, post.imageUrl, post.viewCnt, post.upCnt, favorite.post.count().as("favoriteCnt"), post.modifiedUpTime, favoriteStatus(member)...
· TIL
오프셋 기반 페이지네이션과 커서 기반 페이지네이션 오프셋 기반 SELECT * FROM table ORDER BY create_at DESC limit 10 offset 0 limit 와 offsey을 사용해서 조회 페이지 단위 구분 1. 오프셋 기반의 데이터 중복 문제 SELECT * FROM post ORDER BY modified_up_time DESC limit 1 offset 0 에서 한 페이지를 넘기면 SELECT * FROM post ORDER BY modified_up_time DESC limit 1 offset 1 으로 검색을 할텐데, 그 사이에 여기서 누군가가 새로운 글을 썼다고 가정했을 때 페이지를 넘겼는데도 똑같은 게시글이 조회가 되는 경우가 생긴다. 2. 오프셋 기반의 성능 저하 ..
· TIL
프록시 서버란? 프록시 서버(Proxy Server)는 서버와 클라이언트 사이에 클라리언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램을 가리킵니다. 프록시 서버로 쓰는 Nginx Nginx는 비동기 이벤트 기반의 구조와 다수의 연결을 효과적으로 처리 가능한 웹 서버입니다. 주로 Node.js 앞단의 프록시 서버로 활용합니다. 익명 사용자가 직접적으로 서버에 접근하는 것을 차단하고, 간접적으로 한 단계를 더 거치게 만들어서 보안을 강화할 수 있습니다. 실제 포트를 숨길 수 있고, 정적 자원을 gzip 압축하거나, 메인 서버 앞단에서 로깅을 할 수도 있습니다.
wonow_
'TIL' 카테고리의 글 목록 (7 Page)