분류 전체보기

CS/Network

[Server] WAS란 무엇인가, 웹 서버와 WAS(Web Application Server) 차이 이해하기

WAS(Web Application Server)를 이해하기 전에 예전부터 사용하고 있던 Web Server는 무엇이고, 어떤 기능을 수행했는지 파악한 다음에 WAS 서버가 왜 생기게 됐는지 순으로 정리하겠습니다. 웹서버란 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버입니다. 💡 정적 컨텐츠란 단순 HTML 문서, CSS, 이미지, 파일 등 즉시 응답 가능한 컨텐츠입니다. 이때 웹 서버가 정적 컨텐츠가 아닌 동적 컨텐츠를 요청받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달하는 역할도 해줍니다. 이러한 웹 서버에는 Apache, NginX 등이 있습니다. Web Server의 개념 소프트웨어와 ..

Python/PYTHON

[python] 파이썬 소수 구하기, 에라토스테네스의 체 - 시간 복잡도 최적화

소수 구하기 - 에라토스테네스의 체 1부터 N까지의 수 중에서 소수를 찾으려고 할 때 모든 수를 2부터 N-1까지의 수로 나누어 결과를 찾으면 시간 초과에 걸릴 가능성이 높습니다. 소수 여부를 알 수 있는 대표적인 에라토스테네스의 체 방법을 이용해 시간 초과를 피할 수 있습니다. 2부터 N까지의 모든 자연수를 나열합니다. (1은 소수가 아님) 남은 수 중에서 아직 처리하지 않은 가장 작은 수 i를 찾습니다. (처음 i는 2) 남은 수 중에서 i의 배수를 모두 제거합니다. (i의 배수이므로 소수가 아님 / i는 제거하지 않음) 더 이상 반복할 수 없을 때까지 2와 3번을 반복합니다. n = 100 sosu = [True]*(n+1) # 초기에는 소수로 설정 # 에라토스테네스의 체 구현 for i in ra..

CS/Database

[DB] 데이터베이스의 원칙과 ACID, RDBMS와 NOSQL의 차이점 이해하기

데이터베이스의 기본 원칙과 RDBMS와 NoSQL 차이를 이해하여 프로젝트 유형에 따라 어느 데이터베이스를 고르는 것이 효율적인지 파악하고자 합니다. 데이터베이스의 원칙 무결성 : 데이터의 정보가 변경되거나 오염되지 않도록 하는 원칙 Accuracy 데이터에 오류가 없어야 합니다. 사용자가 저장하고자 하는 내용 모두가 잘 저장되어야 합니다. Consistency 데이터베이스는 일관성이어야 합니다. 안정성 오류 발생 시 회복력(복구력)이 좋아야 합니다. 고장이 잘 나지 않아야 합니다. 확장성 Scale Up - 서버 컴퓨터 기능 향상 하기 Scale Out - 여러 서버 분산하여 처리하기 Transaction 트랜잭션을 통해 작업의 완전성을 보장합니다. 사용자의 작업셋을 모두 완벽하게 처리하거나 처리하지 ..

Spring Framework/JPA

[JPA] Spring JPA 프록시 객체와 지연로딩이란 무엇인가, 사용하는 이유

지연로딩(LAZY Loading)이란 : 지연로딩은 연관된 엔티티를 실제로 사용할 때까지 데이터베이스에서 로딩을 지연시키는 기법입니다. 예를 들어 엔티티 A와 B가 일대다 관계를 가지고 있을 때, A 엔티티를 조회하더라도 B 엔티티를 바로 로딩하지 않고, 실제로 B엔티티의 내용이 필요한 시점에 해당 엔티티를 데이터베이스에 가져오는 방식입니다. 지연로딩의 장점 및 사용하는 이유 : 불필요한 데이터를 미리 로딩하지 않아 메모리를 절약하고, 성능 향상을 이룰 수 있습니다. 주의할 점 지연로딩을 사용하면서 영속성 컨텍스트가 유지되는 시점에서 연관된 엔티티를 로딩하지 않고 사용하려고 할 때, LazyInitializaionException이 발생할 수 있습니다. 영속성 컨텍스트가 사라질 경우, Proxy 엔티티를..

kylo
'분류 전체보기' 카테고리의 글 목록 (15 Page)