반응형

기타 10

[MyBatis] 마이바티스(MyBatis)

MyBatis란? Java Object와 SQL문 사이의 자동 매핑 기능을 지원하는 ORM 프레임워크입니다. MyBatis는 SQL을 별도의 파일로 분리해서 관리하고, Object와 SQL 사이의 parameter mapping을 자동으로 해줍니다. Hibernate이나 JPA처럼 새로운 DB 프로그래밍 패러다임을 익혀야 하는 부담 없이, 개발자가 익숙한 SQL을 그대로 이용하면서 JDBC 코드 작성의 불편함을 없애주고 도메인 객체나 VO 객체 중심으로 개발이 가능합니다. https://mybatis.org/ mybatis mybatis.org MyBatis의 특징 -쉬운 접근성과 코드의 간결함 가장 간단한 persistance framework 'XML 형태로 서술된 JDBC 코드'라고 할 수 있을만큼..

기타 2022.04.22

[DB] ORM(Object-Relational-Mapping) 프레임워크

ORM(Object-Relational-Mapping) ORM은 데이터베이스와 객체지향 언어 사이의 호환되지 않는 데이터를 변환하는 기법입니다. 객체와 관계 사이의 매핑이라고도 합니다. ORM이 없을 때에는 개발자가 DB에 접근하기 위해 SQL 쿼리를 직접 만들었습니다. 그렇기 때문에 SQL 문법을 숙지하고 있어야 하며 개발 코드와 DB가 서로 종속적이었습니다. ORM은 이를 해결하기 위해 등장하였고, RDB 모델을 OOP(Object Oriented Programming : 객체지향 프로그래밍)에 Entity 형태로 투영시키는 방법을 사용합니다. ORM으로 인해 중복 코드를 줄일 수 있고, SQL의 의존적인 코딩에서 벗어나 생산적인 코딩이 가능해지고, 유지보수가 편리해집니다. ORM 프레임워크의 장점 ..

기타 2022.04.22

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FznwrE%2FbtrnBNkMkho%2FYHPg80c0V9tm9u2BQRNkBk%2Fimg.png')"

[운영체제론] Process

2장 - process -Process States state diagram에서는 3가지 process states를 보여줌 Running : 현재 CPU를 사용하고 있는 상태 Ready : 언제든지 차례가 되면 CPU를 사용할 수 있는 상태 Blocked : I/O 요구가 있을 때(read or the character typed) 외부 이벤트 발생 전까지 실행을 할 수 없는 상태

기타 2021.12.11

[운영체제론] IPC(Inter-Process Communication)

2장-IPC -Semapore : 1965년 E. W. Dijkstra에 의해 소개된 새로운 변수 타입 사용 : down(P) operation → critical region → up(V) operation 2개의 operation down(P) operation (P for Dutch proberen(test)) semaphore > 0 : 값을 하나 감소하고 계속함 semaphore = 0 : sleep 상태가 됨 up(V) operation (V for verhogen(increment)) sleep 프로세스가 존재 : 깨움 sleep 프로세스가 존재하지 않음 : semaphore 주소값을 증가시킴 각각의 down/up operation은 atomic action이다!!! : 0을 테스트하거나 값..

기타 2021.12.11

[운영체제론] System Call

1장 -Multiprogramming : 여러 개의 프로그램을 동시에 실행하는 것 CPU가 너무 많이 쉬도록 하는 것을 피하기 위한 방법 memory를 각기 다른 job을 가지고 있는 몇 개의 partition으로 나눔 하나의 job이 I/O가 마무리될 때까지 기다리는 동안, 다른 job이 CPU를 사용할 수 있음 -System Calls : 프로그램이 os로부터 다양한 서비스를 제공받고자 할 때 사용할 수 있는 인터페이스 CPU의 2가지 모드 : 1. kernel mode 2. user mode PSW(Program Status Word)의 bit가 mode를 조절함 kernel mode : CPU는 어떤 instruction도 수행 가능 user mode-I/O 와 memory protection이 ..

기타 2021.12.11

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDW1sT%2Fbtrno5erxfR%2FQjK2AtJjXLCK1YiQiadrkk%2Fimg.png')"

[프로그래밍] C++과 JAVA의 차이점

C++과 JAVA는 객체지향이라는 점에서 비슷한 성격을 띄는 언어이지만 극명한 차이점이 존재합니다. 1. 상속 C++은 다중 상속을 지원하고 JAVA는 그렇지 않습니다. '다중 상속'은 하나의 클래스가 두 개 이상의 클래스를 상속하는 것을 말합니다. 다중 상속을 지원하는 언어에서는 일반적으로 '다이아몬드 문제(Diamond Problem)'가 발생합니다. 다이아몬드 문제란 child 클래스의 정확한 상속 관계를 알 수 없어서 발생하는 문제입니다. 즉, 다중 상속시 어느 클래스의 메소드를 상속받아야 하는지 모호한 문제를 말합니다. C++은 friend 키워드를 지원하고 JAVA는 그렇지 않습니다. 특정 class에 friend 키워드를 붙여서 클래스 혹은 함수를 선언하면, 명명된 클래스와 함수는 그 cla..

기타 2021.12.09

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFI4sZ%2FbtriO1mhF1I%2FjfEFyKK2rh4rjM8tO48hQK%2Fimg.png')"

[Jupyter] 주피터 노트북 사용하기

주피터 노트북 설치 및 실행 설치(Mac 환경) 1) anaconda 설치 -anaconda란? 파이썬 기본(컴파일러)에 유용한 기능을 추가해놓은 툴입니다. 유용한 기능 파이썬 주요 라이브러리 : 많이 쓰이는 라이브러리들을 anaconda가 가지고 있으므로 라이브러리의 별도의 설치가 필요없음 jupyter notebook 등 유용한 툴 -참고 컴파일러 : 프로그래밍 언어로 작성된 코드를 컴퓨터가 실행할 수 있는 코드로 변환하는 프로그램 파이썬의 장점 : 라이브러리 pip install library-name 2) anaconda 설치가 안 된다면? -파이썬 컴파일러 설치 : https://www.python.org/downloads/ Download Python The official home of th..

기타 2021.10.25

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpLF9y%2FbtqVIKN8zGI%2F3cN6HzyqCKKydu3rwkpah1%2Fimg.png')"

[디자인 패턴] MVC(Model-View-Controller) 패턴

Model-View-Controller의 개념 -애플리케이션의 객체를 모델, 뷰, 컨트롤러 세 가지 역할 중 하나의 역할로 할당하는 것으로, 애플리케이션 내에서 객체가 수행하는 역할 뿐만 아니라 객체가 서로 통신하는 방식을 정의합니다. -세 가지 유형의 객체는 각각 추상적인 경계에 의해 다른 객체와 구분되며, 그 경계를 넘어 다른 유형의 객체와 통신합니다. -애플리케이션 내의 특정 MVC 유형을 한데 모아 레이어라고도 합니다. Model(모델 객체) -애플리케이션과 관련된 데이터를 캡슐화하고 해당 데이터를 조작하고 처리하는 로직과 계산을 정의합니다. -하나의 모델 객체는 다른 모델 객체와 1:1 또는 1:N 대응 관계를 맺을 수 있습니다. ex) 게임 속 캐릭터, 주소록의 연락처 -모델 객체는 데이터를 ..

기타 2021.02.03

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDqXDa%2FbtqSduiggBy%2FL3B6RIflOg9xiN7MkaTtK0%2Fimg.png')"

Git-flow 이해하기

Git-flow는 Git으로 개발할 때 거의 표준과 같이 사용되는 방법론입니다. Git-flow는 총 5가지의 브랜치를 사용합니다. master: 기준이 되는 브랜치로 제품을 배포하는 브랜치입니다. 현재 production의 상태와 일치합니다. develop: 개발 브랜치로 개발자들이 각자 작업한 기능들을 이 브랜치를 기준으로 병합합니다. 현재 개발이 완료된 상태(다음 릴리즈를 위해 언제든 배포될 수 있는 상태)와 일치합니다. feature: 단위 기능을 개발하는 브랜치로 기능 개발이 완료되면 develop 브랜치에 병합합니다. develop을 현재 개발 완료 상태와 일치시키면서도 다른 개발자와 conflict가 생기지 않도록 작업하기 위해 사용합니다. release: 배포를 위해 master 브랜치로 ..

기타 2021.01.03
반응형