전체 글 52

Globals Are Evil이 뭐임!!

Globals Are Evil이 뭘까.. "Don't use global variables", or "Singletons are evil because they are global" 뭘까... 전역 변수를 쓰지말라고... 싱글톤은 글로벌하기때문에 악하다고... 싱글톤이 뭐야... 어려워.. 그래서 좀 찾아봤다. Globals Are Evil인 이유! 전역 및 정적 개체는 암시적 종속성/커플링을 일으키므로 캡슐화를 깨뜨립니다. 코드의 동작에 대해 추론하기 힘듭니다. 이러한 개체의 동작을 이해하기 위한 논리적 범위가 전체 프로그램으로 확장됩니다. 모의 개체를 만들거나(mock) 다른 코드를 임시로 대치(stub)하기가 어렵습니다. (=테스팅이 힘듦니다.) 전역 개체는 범위를 오염시킵니다. 객체지향적인 프로그..

아 이게 뭐임! 2021.07.16

Gradle이 뭐임!

Contents - Gradle이 뭐임! - Gradle 왜 씀? Gradle이 뭐임! Gradle은 유연성과 성능에 중점을 둔 오픈 소스 빌드 자동화 도구입니다. Groovy나 Kotlin DSL을 사용하여 빌드 스크립트를 작성할 수 있습니다. Gradle의 특징 고성능 — Gradle은 이전 실행의 출력을 재사용하고 변경된 입력만 실행하여 불필요한 작업을 방지합니다. 빌드캐시를 사용하여 이전실행 또는 다른 머신의 작업출력을 재사용 할 수 있습니다. 빌드 스캔 — 빌드 문제를 식별하는 데 사용되는 빌드 실행에 대한 정보를 제공합니다. 빌드의 성능 문제에 관심이 있으며 이러한 스캔은 특히 빌드 문제를 해결하는 데 매우 가치가 있습니다. 강력함 — Gradle은 Android 용 공식 빌드 도구이며 And..

아 이게 뭐임! 2021.07.15

CI/CD가 뭐임!

Contents - CI/CD가 뭐임! - CI/CD 왜 씀? CI/CD가 뭐임! CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. 또한 CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제를 해결하기 위한 솔루션입니다. CI/CD의 "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합을 의미합니다. “CI”를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 ..

아 이게 뭐임! 2021.07.14

Lombok이 뭐임!

Contents - Lombok이 뭐임! - Lombok 왜 씀? Lombok이 뭐임! 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리이다. 불필요하게 반복적으로 만드는 코드를 어노테이션을 통해 줄여준다. 다들 Getter, Setter, toString 자동 생성기로 사용하는 것 같다. Lombok 왜 씀? 장점 - 어노테이션 기반의 코드 자동 생성을 통한 생산성 향상 - 반복되는 코드 다이어트를 통한 가독성 및 유지보수성 향상 - Getter, Setter 외에 빌더 패턴이나 로그 생성 등 다양한 방면으로 활용 가능

아 이게 뭐임! 2021.07.13

Log4j가 뭐임!

Contents - Log4j가 뭐임! - Log4j 왜 씀? Log4j가 뭐임! 프로그래머가 다양한 출력 대상에 로그 문을 출력하는 데 도움이 되는 자바기반 로깅 유틸리티 입니다. Log4j 기능 log4j는 속도에 최적화되어 있습니다. log4j는 명명된 로거 계층 구조를 기반으로 설정과 처리를 지원합니다. log4j는 페일 스톱입니다. 그러나 확실히 전달을 보장하기 위해 노력하지만 log4j는 각 로그 문이 대상으로 전달된다는 것을 보장하지 않습니다. log4j는 스레드로부터 안전합니다. log4j는 미리 정의된 기능 집합으로 제한되지 않습니다. 로깅 동작은 구성 파일을 사용하여 런타임에 설정할 수 있습니다. 구성 파일은 속성 파일이거나 XML 형식 일 수 있습니다. log4j는 처음부터 Java ..

아 이게 뭐임! 2021.07.12

Junit이 뭐임!

Contents - Junit이 뭐임! - Junit 왜 씀? Junit이 뭐임! (자바 유닛!) 공식 사이트 왈 : Junit은 JAVA에서 반복 가능한 테스트를 작성하기 위한 간단한 단위 테스트 프레임 워크입니다. 또한 단위 테스트 프레임 워크를 위한 xUnit 아키텍처의 인스턴스입니다. Junit은 컴파일 시 JAR로 링크됩니다. 자바 개발자가 많이 사용하는 테스팅 기반 프레임워크입니다. 특징 - Testing 결과를 단순히 문서로 남기는 것이 아니라 Test Class를 그대로 남겨 추후에 개발자에게 테스트 방법 및 클래스의 History를 넘겨줄 수 있습니다. - @Test 메서드가 호출할 때 마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어지게 합니다. - 단정(assert) 메서드로 ..

아 이게 뭐임! 2021.07.11

Jndi가 뭐임!!

Contents - Jndi가 뭐임! - Jndi 어따씀? - Jndi 왜 씀? Jndi가 뭐임! Jndi는 자바 네이밍 / 디렉토리 인터페이스로 필요한 자원을 키/값 쌍으로 저장한 후 필요할 때 키를 이용해 데이터 및 객체를 얻는 API이다. Java Naming and Directory Interface(JNDI)는 Java 소프트웨어 클라이언트가 이름(name)을 이용하여 데이터 및 객체를 찾을 수 있도록 도와주는 디렉토리 서비스에 대한 Java API이다. DB커넥션을 WAS단에서 제어하면서 서버에 하나의 커넥션 풀을 가진다. 공유객체를 사용한다고 이해할 수 있다. Jndi 어따씀? Java 애플리케이션을 외부 디렉토리 서비스에 연결할 때 Java Servlet이 호스팅 웹 컨테이너에서 제공하는 ..

아 이게 뭐임! 2021.07.10

HikariCP이 뭐임!

Contents - HikariCP이 뭐임! - HikariCP 왜 씀? HikariCP이 뭐임! 매우 가볍고 빠른 JDBC 연결 풀링 프레임워크입니다. HikariCP팀에서 공개한 벤치마크입니다. 다른 연결 풀링 프레임 워크보다 빠른 것을 알 수 있습니다. HikariCP가 빠른 이유는 다음과 같습니다. - 바이트 코드 수준의 엔지니어링 : 어셈블리 수준 네이티브 코딩이 포함된 극단적인 바이트 코드 수준의 엔지니어링이 수행되었습니다. - 마이크로 최적화 : HikariCP에는 개별적으로 거의 측정 할 수 없지만 전체 성능을 향상시키기 위해 함께 결합되는 많은 마이크로 최적화가 포함되어 있습니다. 이러한 최적화 중 일부는 수백만 번의 호출에 대해 분할 된 밀리 초 단위로 측정됩니다. (ArrayList,..

아 이게 뭐임! 2021.07.09

HeidiSQL이 뭐임!

Contents - HeidiSQL이 뭐임! HeidiSQL이 뭐임! HeidiSQL은 무료 오픈소스 소프트웨어로 데이터베이스 시스템 MariaDB, MySQL, Microsoft SQL, PostgreSQL 및 SQLite 중 하나를 실행하는 컴퓨터에서 데이터와 구조를 보고 편집할 수 있습니다. SQL 서버에 접속하여 데이터베이스를 관리하기 위해 사용하는 클라이언트 프로그램입니다. 또한 GUI로 제공되기 때문에 직관적으로 데이터베이스의 관리가 가능합니다.

아 이게 뭐임! 2021.07.09

싱글톤이 뭐임!!

싱글톤이 머임!!!! 싱글톤이란 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴을 의미한다. 단 하나의 인스턴스를 사용하여 여러번 호출해도 똑같은 인스턴스를 불러올수 있게한다. 내부에 선언되는 친구들을 private으로 선언하고 static을 줌으로써 인스턴스화 하지않고 사용가능하게 한다. 근데 클래스 내부에서 전역변수로 선언한다. (인스턴스가 뭐지;;) 인스턴스가 뭐임!! - 인스턴스(instance)란 객체 지향 프로그래밍(OOP)에서 클래스(class)에 소속된 개별적인 객체를 말한다. - 객체를 소프트웨어에 실체화 하면 그것을 ‘인스턴스’라고 부른다. - oop의 관점에서 객체가 메모리에 할당되어 실제 사용될 때 ‘인스턴스’라고 부른다. ..

아 이게 뭐임! 2021.07.08