동시성 (Concurrency) : 여러 가지 일이 동시에 진행되는 것 TV를 보는 일과 라면을 먹는 일을 개별 사건의 독립적 사건으로 보는데 그것이 동시에 일어날 수 있는 걸까? 가능하다. -> 동시성이 있는 것. 내가 컴퓨터에서 크롬 브라우저를 실행시켜서 유튜브를 열고 뭘 보고 있다. 다른 한 쪽으로는 어떤 프로그램을 실행해서 뭔가를 다운로드 받고 있을 수 있다. 이때 동시성이 있을까? 있다. 문제될 경우가 없기 때문이다. 병렬성 (Parallelism) : 같은 일을 여러 주체가 함께 동시에 진행하는 것 한명이 하나의 일을 하는 것보다 여러명이 하나의 일을 같이 하는게 더 효율이 높다. 병렬성도 동시성 범주에 들어가는 개념이다. 병렬적이라는 것을 언제 많이 할까? 코인 + 채굴(해시 연산) 그 연산..
분류 전체보기
Register는 이름이 있다. 주 기억장치는 '일련번호'로 관리한다. 보조 기억장치(HDD의 논리적 구조) 암이 왔다갔다 하면서 디스크에다가 정보를 쓰기도 하고 읽기도 하는 것. 중앙에 스핀들모터가 고속으로 회전. HDD 스펙을 이야기 할 때 디스크 회전 속도를 기준으로 삼는다. 빠를 수록 성능이 높다. 관리체계 : Track Sector로 나뉜다. ex) 아파트 '~동 ~호' 랑 비슷 읽는 것은 상관 없는데, 쓰는 것은 한 파일이 저장되어 있는 공간에 또 덮어쓰기하면(Overwrite) sector 하나 하나에 쓰기 기능이 몇 십만번 하면 망가져서 못 쓰게 된다.(Bad sector) HDD는 그래서 빈 공간을 위주로 쓴다. 512bytes -> sector 하나 RAM에서는 일련번호 찾으면 찾아졌는..
RAM -> 1차 메모리(Internal) HDD, SSD, USB disk(File system), Backup device -> 2차 메모리(Storage) CPU가 연산을 할 때 메모리 중의 핵심 -> Register까지 정보를 가지고 와야 그 때부터 연산을 할 수 있게 된다 문제는? - CPU가 제일 빠르다. (속도 4.xGHz 단위 등등) - RAM은 속도가 느리다. (1.xGHz) - 더 큰 속도 차이는? - 1차 메모리 -> 2차 메모리 넘어갈 때이다. ex) CPU가 연산을 하는데 CPU 자체의 속도: A 2차 메모리에서 작동하는 속도 : B A하고 B하고 속도 차가 얼마나 나는 걸까? A가 비행기로 날아가는 속도라면 B는 사람이 엎드려서 기어가는 속도(비유) 너무 GAP이 크다. 그래서 ..
1. 퍼블릭 클라우드 일반적으로 클라우드 서비스 제공 업체가 운영 관리하며, 사용자는 해당 클라우드의 리소스를 사용하는 모델 2. 프라이빗 클라우드 사용자가 자신의 온프레미스(기업 데이터센터) 내에 클라우드 플랫폼을 구축하여 직접 사용하는 모델 3. 하이브리드 클라우드 퍼블릭 클라우드와 온프레미스 모두에 서비스 하는 모델
클라우드는 인터넷을 통해서 언제 어디서든지 원하는 때 원하는 만큼의 IT 리소스(컴퓨팅, 스토리지, 네트워크)를 손쉽게 사용할 수 있게 하는 서비스를 말한다. 클라우드 서비스 종류 IaaS (Infrastructure as a Service) 가장 기본적인 IT 자원인 '서버, 네트워크, 스토리지' 자원을 클라우드 사업자가 제공하고 운영 관리를 한다. 사용자는 가상 서버에 필요한 프로그램을 설치하여 사용 및 운영 관리를 한다 관련 AWS 주요 서비스 : EC2(컴퓨팅), VPC(네트워크), EBS(스토리지) PaaS (Platform as a Service) 클라우드 사업자는 IT 자원 이외에도 운영체제와 개발에 필요한 미들웨어와 런타임을 제공한다. 사용자는 사업자가 제공하는 미들웨어와 런타임 환경에서 ..
페이징 처리와 정렬은 전통적으로 SQL을 공부하는데 반드시 필요한 부분이다. 오라클은 '인라인 뷰(inline view)'를 알아야만 하고, MySQL은 limit를 알아야만 했다. JPA는 내부적으로 이런 처리를 'Dialect'라는 존재를 이용해서 처리한다. 그래서 개발자들은 SQL이 아닌 API의 객체와 메서드를 사용하는 형태로 페이징 처리를 할 수 있게 된다. Spring Data JPA에서 페이징 처리와 정렬은 특이하게도 findAll()이라는 메서드를 사용한다. findAll()는 JpaRepository 인터페이스의 상위인 PagingAndSortRepository의 메서드로 파라미터로 전달되는 Pageable이라는 타입의 객체에 의해서 실행되는 쿼리를 결정하게 된다. 주의할 점은 리턴 타입..