반응형 오블완20 AI란? 생성형AI란? AI란? 인공지능이란?인공지능(AI, Artificial Intelligence)은 인간의 지능을 모방하거나 대체하는 기술입니다.컴퓨터 과학과 공학, 심리학 등 다양한 분야에서 연구되고 있으며, 다음과 같은 특징을 가지고 있습니다.1.지능의 구현: 인공지능은 인간의 지능을 모방하여 다양한 문제를 해결할 수 있습니다. 이를 위해 기계학습, 딥러닝, 자연어 처리 등의 기술이 사용됩니다.2.자동화: 인공지능은 자동화를 통해 인간의 노동력을 대체하거나 보완할 수 있습니다. 예를 들어, 자율주행 자동차나 로봇 등은 인공지능을 이용하여 자동으로 운전하거나 작업을 수행합니다.3.예측과 추론: 인공지능은 데이터를 분석하여 미래를 예측하거나, 주어진 정보를 바탕으로 추론을 할 수 있습니다. 이를 통해 의료, 금융, 마케.. 2024. 11. 14. spring profile, 스프링 profile, spring 환경별 구성 다르게 하기, spring 설정방법, spring.profiles.active spring profile이란스프링 프로파일(Spring Profile)은 스프링 프레임워크에서 애플리케이션의 환경 설정을 구분하기 위한 기능입니다.프로파일은 애플리케이션을 실행할 때 선택할 수 있습니다.예를 들어, 개발 환경에서는 "dev" 프로파일을 선택하고,운영 환경에서는 "prod" 프로파일을 선택할 수 있습니다.예를 들어, 동일한 로직을 수행하는 스프링 app을 운영/개발 환경에 각각 배포하여,각각 운영/개발 db에 접속하고자 하는 경우, 아래와 같은 구조로 deploy 할 수 있습니다.@startuml component 운영환경 { component B as "spring app.jar" { component D as "dev profile" component E as "prod profile.. 2024. 11. 13. maven dependency scope, provided, system, import, runtime, test maven dependency scopemaven의 dependency에는 scope란 속성을 정의하는 부분이 있는데, 어떤 것들이 있는지 잠깐 살펴보겠습니다.총 6가지의 scope를 지정할 수 있으며, 각각의 설명은 아래와 같습니다.compile기본 스코프로, 명시하지 않을 경우 사용됩니다.컴파일 종속성은 프로젝트의 모든 클래스 경로에서 사용할 수 있습니다.또한 이러한 종속성은 종속 프로젝트에도 전파됩니다. devscb devscb-lib 1.0.0provided컴파일과 비슷하지만 JDK 또는 컨테이너가 런타임에 종속성을 제공할 것으로 예상한다는 것을 나타냅니다.예를 들어 자바 엔터프라이즈 에디션(Java Enterprise Edition)용 웹 애플리케이션을 빌드할 때서블릿 API와 .. 2024. 11. 12. maven local jar 추가 import , Maven Repository 없이 로컬 jar 파일을 maven project 에 추가하기, pom.xml 로컬 jar 파일 import하기 maven에서 local jar 추가 / import 하기1) 오프라인에서 빌드를 해야하거나,2) maven central repository에 존재하지 않는 jar를 추가해야할 경우가 있습니다.이럴 때, 로컬에 있는 jar를 import 해서 빌드하는 법을 공유드립니다.아래와 같이 pom.xml에 dependencies tag안에 dependency를 추가할때,scope 를 system으로 하고, systemPath에 jar의 위치를 입력해주시면 됩니다. devscb devscb-lib 1.0.0 system ${project.basedir}/lib/devscb-lib.jar${project.basedir} 는 프로젝트의 root 경로로,위의 예제에서는 프로젝트 root 경로.. 2024. 11. 11. java jni란?, jni 사용하기, windows에서 jni사용하기, 윈도jni java jni란?jni는 Java Native Interface 입니다.Java에서 native 코드로 작성된 라이브러리를 연계해줄 수 있는 기술입니다.예를 들어, C나 C++같은 다른 코드로 작성된 라이브러리와 연계해주는 기술이라고 정의할 수 있습니다.Java는 기본적으로 JVM위에서 실행되기에 특정운영체제에 종속적이지 않는데요,모든 운영체제의 기능을 JVM에 담을 수 없기에 특정 OS의 기능을 실행하지 못하는 경우가 존재할 수 있습니다.이처럼 Java로 구현하기 힘든 기능에 대해 Native Code (예를 들어 C나 C++로 작성된 dll이나 so파일)를 사용할 수 있도록 하게 해주는 기능입니다.java코드에서는 native 키워드를 사용할 수 있으며, java 기본 라이브러리에서도 사용하고 있습.. 2024. 11. 10. Java프로젝트에 lo4j2 적용하기 java진영의 로깅 라이브러리는 log4j2가 굉장히 효율적입니다. (https://devscb.com/post/253)그러나, 많이 사용되고 있는 springboot에서는 logback을 기본 로깅라이브러리로 사용하고 있습니다.단순히 dependency 추가하면 되는것 아닌가 싶지만, 바로 빌드가 안되던 경험이 있어서 공유합니다.maven을 사용할 경우pom.xml의 dependencys 엘리먼트 하위에 아래 내용을 추가해줍니다. org.springframework.boot spring-boot-starter-log4j2그런데, 이렇게만 하면 spring boot 실행시 다음과 같은 붉은 메시지를 확인할 수 있습니다.SLF4J: Class path contains multiple SLF4J bindin.. 2024. 11. 9. java프로젝트에 log4j2를 도입해야하는 이유. 한줄요약log4j2는 java진영의 최신 로깅 라이브러리 이며 성능이 좋기에 도입을 추천드립니다.로깅라이브러리를 도입해야하는 이유일부 개발자는 개발하면서 system.out.println() 을 이용해서 로깅하시는 분들도 있습니다.하지만, sysout(System.out)은 로깅에 사용하면 성능상 좋지 않습니다.이유는 아래와 같습니다.System.out.println()과 System.out.print() 메서드는 내부적으로 write()랑 newLine()을 사용하는데,write()와 newLine()이 동기화(synchronized) 메서드이기에 성능이 저하됩니다.또한, 이 메소드는 Blocking I/O로 호출되기에,해당 메소드가 호출되는 시간동안 CPU가 놀게 되기 때문에 성능 저하의 원인이 됩니.. 2024. 11. 8. IIS - w3wp.exe 메모리 부족에 대한 해결방안, 메모리제한 배경서버를 운영하다보면 어플리케이션 메모리 과다사용으로,서비스 중지 현상이 발생할 때가 있습니다.제가 업무로 운영하는 Windows IIS 서버에서는 이를 방지하기위해 별도의 솔루션을 통해 알람이 동작하게 되어있습니다.그런데, 최근 이러한 현상이 다량 발생되어 Windows 서버 - IIS 서버에서의 해결방안 일부를 소개하게 되었습니다.물리적 메모리(하드웨어 - RAM) 추가비용만 충분하다면 해당 방식이 가장 간편합니다.단순히 서버에 램을 추가하여 가용한 메모리 용량을 늘리는 방식입니다.IIS pool 메모리 제한비용 문제 등으로 인해 물리적으로 메모리를 추가할 수 없을때,간편히 문제를 해결할 수 있는 방안입니다.1) IIS에서 application pool을 선택합니다.한국어로는 애플리케이션 풀입니다... 2024. 11. 7. 이전 1 2 다음 반응형