기타 주제 5

Java의 Slf4j, Logging Framework와 Dependency

SLF4J (The Simple Logging Facade for Java)Java에는 Logback, Log4j2와 같은 다양한 Logging Framework이 있다.내가 예를 들면 Apache Project를 개발하고 있다고 해보자.실제 사용자가 어떤 Framework을 사용할지 모르니 Logback에 대한 코드, Log4j2에 대한 코드 등을 모두 추가해야할까?  이런 때에 가장 적합한 Design Pattern이 Facade Pattern이다. 공통된 기능을 가지는 여러 Library를 단일 API를 이용하여 활용하도록 해주는 것이다.이름에서도 알 수 있듯이 이 Facade Pattern 이용하여 여러 Framework에 대한 고려를 해주는 것이 SLF4J이다! SLF4J를 이용한다면 코드 내부..

기타 주제 2024.09.02

Maven / Gradle의 Dependencies Conflicts

Maven DependenciesLibrary 들을 project files인 pom.xml 내의 선언하게 된다.Maven에서는 이 Library 들을 Dependencies에 선언하고,이를 일반적으로 Library가 아닌 Dependencies(Dependency)라고 부른다. 프로젝트에 사용되는 모든 dependencies는 그 자체가 선언되거나 parents에 의해 dependencies로 선언되어 있다.. ... group-a artifact-a 1.0 group-c excluded-artifact group-a artifact-b 1...

기타 주제 2024.09.02

Lex 와 Yacc

1. Lex와 YaccLex는 어휘 분석기이며Yacc는 구문 분석기이다. Lex는 특정 패턴의 문자열 토큰을 찾는 것, Yacc는 해당 토큰들의 관계를 분석하여 구문 검사를 하는 것으로 구분 되어있다.이 2가지를 같이 사용하여 컴파일러와 인터프리터 등을 만들기 위해 사용된다. 2. LexLex는 어휘 분석기를 읽어와서, Lexer를 만든 뒤 이를 C 언어로 만들어진 소스 코드의 형태로 출력한다.Lex는 저작권이 있는 소프트웨어로 시작했지만, AT&T의 소스 코드에 기반하는 버전은 오픈 소스 정책을 따라 오픈 솔라리스 등에서 사용된다. 이외에도 유명한 오픈 소스 버전의 Lex로는 빠른 Lex(Fast Lex)라는 의미의 flex가 존재한다. 이 Lex는 3가지의 부분으로 구성된다.해당 Section들은 아..

기타 주제 2021.04.12
반응형