[CIMS] 3. DB와 연동하기(1)

CCTV 노드들의 상태와 실시간 영상 스트리밍을 위한 웹 인터페이스 구축

3.1 JPA & Mybatis

Mybatis와 JPA 비교를 참고하라.

MyBatis 프레임워크는 반복적인 JDBC 프로그래밍을 단순화하여, 불필요한 Boilerplate 코드를 제거하고, Java 소스코드에서 SQL문을 분리하여 별도의 XML 파일로 저장하고, 이 둘을 서로 연결시켜주는 기능을 제공한다. 개발자는 Java 메소드 선언과 SQL문만 만들면 MyBatis가 자동으로 그 둘을 매핑시킨다. Dynamic SQL 생성 기능을 제공하여 프로그램 실행 중에 입력되는 파라미터에 따라 서로 다른 SQL문을 동적으로 생성해 내는 기능을 제공한다.

JPA(Java Persistence API)는 Java 객체와 관계형 데이터베이스 간의 매핑을 위한 API다. JPA는 ORM(Object-Relational Mapping)을 구현하는 자바 표준 스펙으로, 개발자가 객체지향 프로그래밍 언어에서 사용하는 객체 모델과 관계형 데이터베이스의 테이블 간의 매핑을 자동으로 처리해준다. 개발자는 SQL문을 작성할 필요가 없어지고, DB가 바뀌어도 DB에 따라 새로운 SQL을 작성할 필요가 없이 Hibernate와 같은 프레임워크에서 DB에 맞는 적합한 SQL문을 생성해준다.

[OODP] 1. Dealing with Data(1)

POSTECH OODP Lecture at 24SS Fundamental Types

Variables

Programs typically need to store information.
To store an item, the program must keep track of 3 fundamental properties

  1. 어떤 type의 정보를 저장할 것인가?
  2. 어디(memory)에 저장할 것인가?
  3. 어떤 value를 저장할 것인가?
int barincount = 5;
  1. integer 타입으로 저장된다.
  2. braincount는 정보가 저장된 memory location을 가리키는 데 사용된다.
  3. braincount는 5라는 value를 뜻한다.

[Heath] 헬스 플랜 만들기

일주일 정도 앞서 작성한 루틴을 따라보았다. 우선 내가 몸이 정말정말 약해졌다는 것이 느껴졌고, 좀 더 체계적으로 기록해야할 필요성이 느껴졌다. 앞으로 일주일 혹은 보름 단위로 표를 기록해나가겠다.

[OODP] 0. About C++(2)

POSTECH OODP Lecture at 24SS

Function Header

int main(void) is very explicit style of function header.

C++ 컴파일러는 main 함수를 호출하는 startup code를 추가한다. 이때, main 함수의 header는 main()과 OS 간의 interface 역할을 한다. 함수의 header는 해당 함수의 return type과 argument list or parameter list 정보를 제공한다.

The C++ Preprocessor

A program that processes a source file before the main compilation. Preprocessor directives start with ’#’. Typical preprocessor action is adding or replacing text in source code before compilation.

[OODP] 0. About C++(1)

POSTECH OODP Lecture at 24SS

오랫동안 Java를 다뤄왔지만 객체지향설계에 대해 올바르게 이해하고 있는지에 대한 의구심은 항상 마음속에 있었다. 한편, 가장 완벽에 가까운 언어인 C와 그 계열 언어에 대한 자신감도 부족했다. 따라서 졸업 전, 마지막 학기 동안 C++로 객체지향설계패턴을 조성현 교수님께 듣고자 한다. 먼저 C++에 대해서 간단히 정리하고 넘어가겠다.

C++ Language’s three category

C++은 C 언어를 기반으로 Object-oriented programming과 Generic Programming을 지원한다. 따라서 C++은 다음의 세가지 programming 카테고리에 들어간다.

  1. Procedure Language : C에 의한 절차지향 언어
  2. Object-oriented Language : C++의 class에 의한 객체지향 언어
  3. Generic Programming : C++ templates로 지원되는 생성형 언어

이 세가지 관점에서 어떻게, 무엇을 목적으로 기능하는지 살펴보겠다.

Pagination