본문 바로가기

분류 전체보기407

리눅스란 뭐지..? + 리눅스 주요 디렉토리 및 리눅스 명령어 운영체제(OS)인데, 흔히 아는 윈도우, 맥과 달리 오픈소스 운영체제이다. 컴퓨터 OS 커널의 일종인 리눅스 커널, 또는 리눅스 커널을 사용하는 운영체제를 가리키는 말이기도 하다 오픈소스이기 때문에 누구나 리눅스를 수정하고 원하는 대로 특정 기능을 추가할 수 있다. 리눅스 커널은 리눅스에서 핵심적인 역할을 하는 것으로 메모리 관리, 프로세스 관리 등 우리가 알고 있는 운영체제의 역할을 거의 도맡아 한다!(리눅스 커널 == 리눅스) 리눅스는 운영체제들 중에서 가장 안전하다고 평가되는 운영체제이다. (보안이 우수하다) 오픈소스 기반이기 때문에 누구나 코드를 검토하고 버그가 없는지 확인할 수 있어서 계속해서 취약점을 발견하고 개선할 수 있다. 더 높은 성능을 구현할 수 있다. 리눅스는 메모리를 비교적 낭비하지.. 2023. 5. 15.
[혼공운영체제] 스레드 인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약 스레드 프로세스를 구성하는 실행 흐름의 단위 하나의 프로세스는 하나 이상의 스레드를 가질 수 있다. 한 프로세스를 여러 개의 스레드로 동시에 실행할 수 있다. 프로세스와 스레드 단일 스레드 프로세스 : 실행 흐름이 하나인 프로세스 멀티 스레드 프로세스 : 실행 흐름이 여러 개인 프로세스(프로세스를 이루는 여러 명령어 동시 실행 가능) 스레드의 구성 요소 스레드 ID, 프로그램 카운터를 비롯한 레지스터 값, 스택 등 실행에 필요한 최소한의 정보 .실제로는 CPU한테 처리해야 할 작업을 전달할 때 CPU를 할당받아서 실행되는 단위는 프로세스 단위가 아니라 각각의 스레드인 경우가 많다.(최근에는) 멀티.. 2023. 5. 5.
Spring 입문(16) AOP AOP가 필요한 상황 모든 메서드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? MemberService 회원 조회 시간 측정 추가 Service의 MemberService에 추가 // 회원가입 public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member);// 같은 이름이 있는 중복 회원 검증 memberRepository.save(member); return member.getId(); } finally { long fin.. 2023. 5. 5.
Spring 입문(15) 스프링 DB 접근 기술: 스프링 데이터 JPA 인프런의 김영한님의 스프링입문 강의를 듣고 정리한 내용입니다. HTML 삽입 미리보기할 수 없는 소스 1. HTML 삽입 미리보기할 수 없는 소스 2. HTML 삽입 미리보기할 수 없는 소스 3. HTML 삽입 미리보기할 수 없는 소스 4. HTML 삽입 미리보기할 수 없는 소스 5. 스프링 데이터 JPA 5. 스프링 데이터 JPA - 스프링 부트와 JPA만 사용해도 개발 생산성이 많이 증가하고, 개발해야 할 코드도 확연히 줄어든다. 여기에 스프링 데이터 JPA를 사용하면, 레포지터리에 구현 클래스 없이 인터페이스만으로 개발을 할 수가 있다. - 이제까지 반복해온 기본 CRUD 기능도 스프링 데이터 JPA가 모두 제공한다. - 스프링 부트와 JPA라는 기반 위에, 스프링 데이터 JPA라는 프레임워크를 더.. 2023. 5. 5.
Spring 입문(14) 스프링 DB 접근 기술: JPA 인프런의 김영한님의 스프링입문 강의를 듣고 정리한 내용입니다. HTML 삽입 미리보기할 수 없는 소스 1. HTML 삽입 미리보기할 수 없는 소스 2. HTML 삽입 미리보기할 수 없는 소스 3. HTML 삽입 미리보기할 수 없는 소스 4. JPA 5. HTML 삽입 미리보기할 수 없는 소스 4. JPA JPA란? ORM(Object Relational Mapping) 기술로 객체와 관계형 데이터를 mapping 하는 기술 JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다. JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있다. JPA를 사용하면 개발 생산성을 크게 높일 수 있다. 4-1. build.gradle 파일에.. 2023. 5. 5.
Spring 입문(13) 스프링 DB 접근 기술: 스프링 Jdbc Template 인프런의 김영한님의 스프링입문 강의를 듣고 정리한 내용입니다. HTML 삽입 미리보기할 수 없는 소스 1. HTML 삽입 미리보기할 수 없는 소스 2. HTML 삽입 미리보기할 수 없는 소스 3. 스프링 Jdbc Template 4. HTML 삽입 미리보기할 수 없는 소스 5. HTML 삽입 미리보기할 수 없는 소스 3. 스프링 Jdbc Template 순수 Jdbc와 동일한 환경설정을 하면 된다.(build.gradle 파일에 관련 라이브러리 추가) 스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 순수 JDBC API에서의 반복 코드를 대부분 제거해준다. (단 SQL은 직정 작성해야 한다.) 2번에서 순수JDBC를 사용해서 구현한 JbdcMemberRepositiry를 JdbcTempl.. 2023. 5. 5.