본문 바로가기

Back-End5

[Back-End] JVM 메모리 공부 문제 : C/C++ 는 컴파일 플랫폼과 타겟 플랫폼(타겟 플랫폼에 의존하기 때문에 컴파일 하는 플랫폼과 다를경우 동작하지 않는다)이 다를경우 프로그램이 동작하지 않는다.⇒ OS마다 지원하는 시스템 쿼리 투 인터페이스가 다르고 CPU아키텍쳐마다 지원하는 Instruction Set Architecture 가 다르기 때문, 그래서 ByteCode 어쩌고가 다르기 때문에여기서 시스템 쿼리 투 인터페이스란? : 시스템 쿼리 투 인터페이스(System Query to Interface)는 데이터베이스 관리 시스템과 사용자 또는 다른 프로그램 간의 데이터 교환을 위한 표준화된 언어 및 프로토콜입니다.(환경,플랫폼 = 운영체제 + CPU아키텍처)ex) 리눅스 + AMD64 CPU = 플랫폼 리눅스 컴파일 ⇒ 리눅스에.. 2024. 6. 30.
[Back-End] JPA 개념정리 어제 일단 JPA를 사용해보고자 해서 일단 사용해보자라는 마인드로 사용해 테스트까지 완료하였는데 생각해보니 내가 JPA가 뭔지 알생각은 없었던 것 같다 그래서 JPA에 대해서 개념정리해보는 시간을 갖으려고 글을 쓴다. JPA1. JPA는 라이브러리도 아니고 스프링에서 제공하는 것도 아닌 JAVA에서 제공하는 API이다.2. 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다.3. ORM을 사용하기 위해 만든 인터페이스4. SQL을 매핑하는 것이 아닌 자바 클래스와 DB테이블을 매핑하는 것이다.5. 엔티티를 유연하게 관리할 수 있다, 간단하고 경량화된 개발을 할 수 있다.6. ORM을 사용하기 위한 인터페이스를 모아둔 것이며, JPA를 사용하기 위해서는  JPA를 구현한 Hib.. 2024. 6. 7.
[JPA] TEST코드 수정 @BeforeEachvoid insertTestData() { Testy tester = new Testy(); tester.setUserName("kim ori"); testyRepository.save(tester); tester = new Testy(); tester.setUserName("lee ori"); testyRepository.save(tester); tester = new Testy(); tester.setUserName("kim ental"); testyRepository.save(tester); tester = new Testy(); tester... 2024. 6. 7.
감사 추적기능 감사 추적기능 Audit trail은 프로젝트를 위해 데이터베이스를 구축중 한 시스템의 사용이력, 변경이력, 데이터 생성/가공, 시스템 설정이력등등의 데이터의 흐름을 일일이 기록해서 디테일하게 알면 좋겠다 싶어서 그런 기능을 찾아보다 알게 되었다. 처음엔 데이터베이스에서 자동으로 기록해주는 건가 생각이 들었지만 chatgpt에 물어보니 백엔드에서 action이 이뤄지면 미리 생성해둔 Audit 테이블에 자동으로 입력되는 것이었다.(디테일한 부분은 아직 모르겠다..) Audit trail 중요한 이유는 해당 기록의 검토를 통해 데이터의 완전성을 보장할 수 있기 때문이라고한다..!   일단 컬럼은 이렇게 만들어놨고 나중에 백엔드에서 구현할 때 글을 수정해서 코드를 리뷰해 볼 생각이다! 2024. 6. 5.