TIL
103
Java EcoTILSpring Framework
Spring Boot; Transactional
코드 기반의 트랜잭션, 어노테이션을 통한 선언적 트랜잭션 두가지를 지원한다. @EnableTransactionManagement : 어노테이션 기반의 트랜잭션 활성화. PlatformTransactionManager : 스프링이 제공하는 트랜잭션 매니져 등록. @Transactional : 트랜잭션 빈으로 트랜잭션 처리됨. AOP_TRANSACTION_ 상수 : Aspect의 필터와 지정대상을 상수로 지정한다. transactionAttribute.setName() : 트랜잭션의 이름 transactionAttribute.setRo
Java EcoTILSpring Framework
Spring Boot; Logback, Log4JDBC 개요
Log4j : 자바의 예외를 처리하기 위해 시작된 프로젝트 (종료) fork → Logback slf4j(Simple Logging Facade for Java) 와 함께 사용함 slf4j : 로깅 모듈 Interface slf4j를 이용해 코드를 작성하고 내부적으로 Logback, log4j2로 작동 appender : 로그를 출력할 타겟을 결정함 (console, file, db) encoder : appender에 포함되어 출력할 로그를 지정한 형식으로 변환하는 역할. logger : 로그를 출력하는 요소, level속성을 통
Java EcoTILJava programming
Java; Reflection 개요
자바에서 제공하는 리플렉션(Reflection)은 C, C++과 같은 언어를 비롯한 다른 언어에서는 볼 수 없는 기능입니다. 이미 로딩이 완료된 클래스에서 또 다른 클래스를 동적으로 로딩(Dynamic Loading)하여 생성자(Constructor), 멤버 필드(Member Variables) 그리고 멤버 메서드(Member Method) 등을 사용할 수 있도록 합니다. 그러니까, 컴파일 시간(Compile Time)이 아니라 실행 시간(Run Time)에 동적으로 특정 클래스의 정보를 객체화를 통해 분석 및 추출해낼 수 있는 프
FundamentalTILAlgorithm
DFS/BFS 실제
스택이 아닌 재귀호출을 이용한 DFS 구현 데크를 이용한 BFS 구현
FundamentalTILOperating System
Bit shifting (지수계산)
2^2 와 같은 바이너리 계산이 필요할 때 256같은 적은 수는 빨리 계산이 되지면 2^23 같은 바이너리는 빠르게 떠오르는 편은 아니다. 부끄럽지만 기존에는 2를 23번 곱하거나 10년도 더 된 공학용 계산기를 쓰거나 구글에서 지수 계산기를 찾아서 해왔다. 그런데 컴퓨터 구조나 디지털 논리회로를 수강하면 알겠지만 비트 쉬프팅으로 지수계산을 쉽게 할 수 있다는걸 알 수 있다. 이걸 계산기에서도 할 수 있다는 사실을 며칠전에 알고 깜짝 놀랐다.. 근데 이런거 있다고 알려준 친구도 제대로 못써서 덤앤더머를 한편 찍었다 ㅋ 우선 내장 계
FundamentalTILDatabase
Database transaction
데이터베이스는 다수의 사용자가 동시에 사용하더라도 항상 모순이 없는 정확한 데이터를 유지해야 한다. 장애 상황에서 마찬가지다. DBMS는 데이터가 정확하고 일관된 상태를 유지할 수 있도록 다양한 기능을 제공하는데 그 중에 하나가 트랜잭션이다. 트랜잭션은 한 작업을 수행하는 데 필요한 데이터베이스의 연산들을 모아놓은 것으로 데이터베이스에서 논리적인 작업의 단위가 된다. 장애 발생시 복구하는 작업의 단위도 된다. 데이터베이스의 무결성과 일관성을 보장하기 위한 4가지 특성이 있다. → 원자성, 일관성, 격리성, 지속성 앞의 4글자를 가져
FundamentalTILDatabase
Database normalization
정규화는 데이터베이스를 설계한 후 설계 결과물을 검증하기 위해 사용하기도 한다. 잘못 설계된 데이터베이스는 이상현상이 발생할 수 있다. 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 위 릴레이션에서 새로운 tuple을 삽입하려면 이벤트번호과 당첨여부까지 삽입해야 하는 이상현상. 중복 tuple 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 위 릴레이션에서 tuple중 일부만 수정되어 데이터가 불일치 하게 되는 이상현상이다. tuple을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제
BlogTILThink
2021 1/4 중간점검 part2
스프링부트 더딘 것에 관하여 '스프링 부트 시작하기' 가이드 git flow : 브랜치 관리 전략 사실 부트 안본지 일주일 넘었다가 어제 귀찮은거 참고 간신히 함 → 그동안 DB? → DB도 하고 자료구조도 좀 보고, 부트를 안했다고 다른걸 안한건 아니지만 여러가지를 다 할 수 없을까? 느리다기보단 다른것에 몰두해서 그런거 같고 오히려 이것저것 다 해집었다면.. 집중도 안되고, 학습성과도 안나왔을듯, 오히려 DB, 알고리즘같은 기초를 착실하게 해야 스프링부트에도 도움이 될거라 생각함 (코드) → 다했네, 마이바티스 붙였으니 이제 S