숏서킷 연산에 관하여
·
java
1. 숏서킷 연산이란?숏서킷 연산은 논리 연산자 && (AND)와 || (OR)에서 조건식의 결과를 미리 판단할 수 있을 때, 남은 조건을 평가하지 않고 연산을 종료하는 최적화 기법입니다.1.1 동작 원리&& (AND): 첫 번째 조건이 false라면, 전체 결과는 항상 false이므로 나머지 조건은 평가하지 않습니다.|| (OR): 첫 번째 조건이 true라면, 전체 결과는 항상 true이므로 나머지 조건은 평가하지 않습니다.// AND 연산if (a != 0 && b / a > 1) { System.out.println("조건 충족");}// a가 0이면 b / a > 1은 평가되지 않음 (ZeroDivisionError 방지)// OR 연산if (a == 0 || b / a > 1) { ..
Interface 에 관하여
·
java
자바에서 인터페이스(Interface)는 클래스와 비슷한 형태를 가지지만, 클래스와는 다르게 특정 동작을 정의하고 해당 동작을 구현하도록 강제하는 데 사용됩니다. 인터페이스는 객체지향 프로그래밍의 중요한 개념 중 하나로, 다형성과 설계의 유연성을 제공합니다. 이번 글에서는 Java Interface의 개념, 사용 방법, 주요 특징, 그리고 활용 예제를 살펴보겠습니다.1. 인터페이스란 무엇인가?인터페이스는 추상 메서드(구현되지 않은 메서드)와 상수를 포함할 수 있는 참조 타입입니다. 인터페이스는 클래스가 구현해야 하는 메서드의 청사진을 정의합니다.인터페이스의 목적표준화: 동일한 동작을 여러 클래스에 강제적으로 구현하도록 합니다.다형성 지원: 객체의 구현체를 숨기고 인터페이스를 통해 동작하도록 합니다.유연한..
QueryDSL 설정하기
·
spring
개발 환경spring boot 3.4.0gradle 8.10.0🐘build.gradledependencies { // querydsl implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api"}Qclass 생성하기Query..
WAS (Web Application Server) 에 관하여
·
web
1. WAS란 무엇인가?WAS(Web Application Server)는 클라이언트로부터의 요청을 처리하고 동적인 웹 콘텐츠를 생성하는 서버 소프트웨어입니다. 웹 서버와는 달리 애플리케이션 로직을 실행할 수 있는 환경을 제공합니다. 대표적인 WAS로는 Apache Tomcat, WildFly, WebLogic, WebSphere 등이 있습니다. 특히 Apache Tomcat은 오랜 시간 동안 널리 사용되어 온 WAS로, 무료로 제공되는 오픈 소스 소프트웨어이며, 서블릿과 JSP를 기반으로 한 웹 애플리케이션 개발에 자주 활용됩니다. 가볍고 안정적인 성능 덕분에 소규모 프로젝트부터 대규모 시스템까지 폭넓게 사용됩니다.2. WAS의 주요 역할2.1 동적 콘텐츠 생성WAS는 클라이언트의 요청에 따라 동적인 ..
클라우드 컴퓨팅에 관하여
·
cloud
클라우드 컴퓨팅이란?클라우드 컴퓨팅(Cloud Computing)은 인터넷을 통해 컴퓨팅 자원을 제공하는 기술입니다. 이를 통해 사용자는 물리적인 하드웨어나 소프트웨어 없이도 필요한 리소스를 온디맨드 방식으로 사용할 수 있습니다.1. 클라우드 컴퓨팅의 서비스 모델클라우드 컴퓨팅의 서비스 모델은 사용자가 클라우드 서비스를 어떤 형태로 제공받는지를 정의합니다. 크게 세 가지로 나뉩니다.1.1 IaaS (Infrastructure as a Service)정의: 가상화된 컴퓨팅 자원(서버, 스토리지, 네트워크)을 서비스 형태로 제공.특징:사용자는 운영체제(OS), 애플리케이션 등 소프트웨어를 설치하고 관리.물리적인 하드웨어 관리가 필요하지 않음.높은 유연성과 확장성 제공.사용 예시:AWS EC2(Elastic ..
Method 에 관하여
·
java
1. 메서드란 무엇인가?메서드는 특정 작업을 수행하기 위해 작성된 코드 블록입니다.재사용 가능한 코드를 작성하는 데 사용되며, 유지보수성과 가독성을 높여줍니다.Java에서 메서드는 클래스 안에 정의되며 객체 지향 프로그래밍의 핵심 구성 요소입니다public class MethodExample { // 메서드 선언 (정적 메서드) public static int addNumbers(int a, int b) { // 두 숫자의 합을 반환하는 메서드 return a + b; } // void 메서드 (반환값 없음) public static void printMessage(String message) { // 메시지를 출력하는 메서드 ..
Java 에 관하여
·
java
Java 를 만든 회사Java는 1995년, Sun Microsystems 라는 회사에서 개발되었습니다. 당시 Sun Microsystems 는 플랫폼 독립적이고 네트워크 중심적인 프로그래밍 언어를 목표로 Java를 설계했습니다. 이후 2010년, Sun Microsystems 는 Oracle Corporation에 인수되었고, 현재 Oracle이 Java를 관리 및 개발하고 있습니다.Java 란?"Write Once, Run Anywhere" 라는 철학을 바탕으로 설계되었습니다. 이는 Java 프로그램이 한 번 작성되면 다양한 운영 체제에서 수정 없이 실행될 수 있다는 의미로, Java Virtual Machine(JVM)을 통해 구현됩니다.주요 특징객체 지향 프로그래밍(OOP): Java는 캡슐화, ..
프롬프트 엔지니어링에 관하여
·
ai
최근  생성형 AI 의 발전에 따라 새로운 용어들과 기법들이 생겼습니다.평소에 chatGPT 를 사용하며 양질의 답변을 얻기위해 사용했던 방법들이 프롬프트 엔지니어링의 기법들 중에 하나였다는 것을 알게 되었습니다. 그래서 프롬프트 엔지니어링에 대해 자세히 알아보려고 합니다. 프롬프트 엔지니어링이란?생성형 AI 를 잘 다루는 기법들 그 자체를 의미합니다. 즉 똑똑하게 명령을 내려 LLM 에게 효율적으로 결과물을 받아볼 수 있도록 하는 기법들을 나타냅니다. 크게 네가지가 있습니다.1. 역할을 설정해 질문하기AI 가 특정 역할을 맡아 답변하도록 설정하는 방법입니다. 예를 들어, "당신은 이제부터 숙련된 백엔드 개발자입니다"와 같은 역할을 설정하면, AI는 해당 역할에 맞춰 응답하게 됩니다. 이를 통해 전문성을..
SonarQube 분석 할 때, coverage 가 표시가 안된다면?
·
오류
개발 환경spring boot 3.4.0gradle 8.10 build.gradle 추가 코드plugins { id 'jacoco' id "org.sonarqube" version "6.0.1.5171"}jacoco { toolVersion = "0.8.12"}tasks.named('test') { finalizedBy jacocoTestReport // 테스트가 끝난 후 커버리지 리포트 생성}jacocoTestReport { dependsOn test // 테스트 실행 후 리포트 생성 reports { xml.required = true // SonarQube가 사용하는 XML 리포트 활성화 html.required = true // 사람이 읽기 쉬운 HTML 리포트 활성화 }} 여기서 중요한..
성장을 위한 회고하기
·
기타
공부를 하고, 책을 읽고, 일상 생활을 하고 시간이 지나다 보면 내가 해왔던 일들이 잘 기억이 나지 않습니다. 무언가를 하던 당시 내가 가지고 있던 생각과 문제를 해결하는 과정들이 다 잊혀집니다. 그리고 야심 차게 세운 목표가 잘 지켜지고 있는지 중간 점검이 필요합니다. 이때 더 좋은 방향으로 나아가기 위해 회고가 필요한 것 같습니다. 회고란 무엇 일까요?회고란 미래의 행동과 현재의 행동에 있어 적극적으로 고려해야 하는 '과거'에서 추출한 경험이라고 합니다. 과거의 행동과 생각, 성과, 보강해야 할 점 등을 두루 돌아보고, 앞으로 가고자 하는 목표와 행동 방식을 점검해 보는 과정입니다. 회고를 어떻게 할까요?회고에는 다양한 방법론이 있습니다. 대표적으로 KPT, TIL, CSS, AAR 방법론이 있습니다..