반응형

전체 글 2429

Ubuntu 22.04 : Tomcat 10 설치 방법, 예제, 명령어

이 문서는 Ubuntu 22.04에 Tomcat 10을 설치하고 구성하는 방법을 설명합니다. 아파치 톰캣(Apache Tomcat)은 오픈 소스 웹 서버 및 자바 서블릿(Java Servlet) 컨테이너(container)입니다. 자바 기반 웹 사이트 및 응용 프로그램을 구축하는 데 가장 인기 있는 선택 사항 중 하나입니다. 톰캣은 가볍고 사용하기 쉬우며 강력한 추가 기능 생태계를 가지고 있으며 많은 대규모 웹 응용 프로그램을 지원합니다. Java 설치 Tomcat 10은 자바 버전 11 이상을 시스템에 설치해야 합니다. 자바 플랫폼의 오픈소스 구현인 OpenJDK 11을 설치하겠습니다. sudo 권한을 가진 루트 또는 사용자로 다음 명령을 실행하여 패키지 인덱스를 업데이트하고 OpenJDK 11 JDK..

SW/리눅스 2024.01.15

Ubuntu 22.04 : Python Pip 설치 방법, 예제, 명령어

Pip은 프로젝트 종속성을 설치, 업그레이드, 구성 및 관리하는 데 사용되는 Python용 패키지 관리자입니다. PyPI(Python Package Index) 및 기타 패키지 인덱스에서 패키지를 검색, 다운로드 및 설치할 수 있습니다. Python 3 및 Python 2용 Pip을 Ubuntu 22.04에 설치하는 방법에 대해 설명합니다. Pip으로 Python 패키지를 설치하고 관리하는 기본 사항도 안내해 드립니다. 시작하기 전에 Python은 Python 2와 Python 3의 두 가지 맛이 있습니다. Python 3은 기본 시스템 설치에 포함되어 있으며 기본 우분투 저장소에서 Python 2를 설치할 수 있습니다. 사용자는 Python 3을 사용하는 것이 좋습니다. Python 모듈은 전 세계적으..

SW/리눅스 2024.01.14

인공지능의 잠재력: 클라우드 GPU의 등장

확장 가능하고 비용 효율적이며 AI 애플리케이션이 제기하는 복잡한 컴퓨팅 문제를 해결하는 포괄적인 솔루션인 클라우드 GPU를 입력합니다. 때때로, 우리는 다양한 산업과 기술에 대한 우리의 인식을 재구성하는 변혁을 목격해왔습니다. 인공 지능은 이 변혁적인 물결의 원동력입니다. 인공 지능은 빠르게 발전함에 따라, 그것은 자원을 필요로 하고, 여기서 그래픽 처리 장치(GPU)가 발생합니다. 원래 컴퓨터 그래픽스에서 이미지 렌더링을 가속화하기 위해 설계된 GPU는 이제 AI 알고리즘을 잘 작동합니다. 이들은 코어 수가 많아 계산 처리에 탁월하고 수많은 병렬 작업을 효율적으로 관리합니다. 그러나 GPU에 대한 의존도가 높아짐에 따라 시장 가격이 상승하여 기업과 독립 개발자들이 GPU를 쉽게 사용할 수 없게 되었습..

SW/인공지능 2024.01.13

Java를 사용하여 PDF 파일의 비밀번호를 보호하는 방법: 단계별 가이드

Java 및 Apache PDFBox를 사용하여 PDF 파일을 암호화하는 방법에 대해 알아본다. 민감한 정보를 보호하고 강력한 PDF 암호화를 구현하려면 이 단계별 가이드를 따릅니다. PDF(Portable Document Format) 파일은 플랫폼 독립적인 특성과 일관된 포맷으로 인해 문서 공유를 위해 널리 사용된다. 그러나 일부 문서에는 보안 계층을 추가로 요구하는 민감한 정보가 포함되어 있을 수 있습니다. Java 개발자라면 Apache PDFBox를 사용하여 이 작업을 프로그래밍 방식으로 쉽게 수행할 수 있다. Apache PDFBox 라이브러리는 상업용과 비상업용 모두를 위한 오픈 소스이자 무료 라이브러리입니다. 이 블로그 게시물에서는 Java 및 Apache PDFBox를 사용하여 PDF 파..

SW/Java 2024.01.12

Maven : Plugin, Goal, LifeCycle 개념, 개요, 설명

Plugin / Goal 메이븐의 두 가지 주요 개념, 즉 메이븐 Plugin과 Goal를 배울 것입니다. 메이븐 플러그인은 프로젝트를 생성하고 생성할 때 이미 몇 가지 Goal를 사용한 하나 이상의 Goal 모음입니다. 아키타입 플러그인과 설치 플러그인의 설치 Goal은 일반적으로 독립적으로 실행하는 특정 작업일 수도 있고 여기에서 더 큰 빌드의 일부일 수도 있습니다. 독립적으로 사용하면 컴파일하여 Java 클래스를 컴파일하고 테스트할 수 있습니다. 또한 소스 코드와 테스트를 컴파일한 다음 Surefire 플러그인의 테스트를 실행하는 테스트 목표가 실행되고 테스트가 jar 파일로 전달되면 패키지가 컴파일된 클래스를 패키지하는 더 큰 빌드의 일부가 됩니다. 또는 웹 애플리케이션인 경우 이를 war 파일로..

SW/Maven 2024.01.11

Maven : 개념, 사용해야하는 이유, 장점

메이븐이란 개발자들은 Maven을 빌드 자동화 도구라고 부르지만 프로젝트 관리 도구 그 이상입니다. 프로젝트를 구축한다는 것은 단위 테스트일 수도 있고 컴파일된 코드를 jar 파일로 패키징하는 통합 테스트일 수도 있는 테스트를 실행하는 소스 코드를 컴파일하는 것을 의미합니다. 이러한 jar 파일을 웹 아카이브 또는 서버 및 기타 여러 다른 서버에 배포하는 war 파일로 묶습니다. 작업 이러한 모든 작업은 maven 등과 같은 도구를 사용하여 자동화할 수 있습니다. apache ant와 같은 도구로 작업한 경우 이러한 작업을 수행하거나 작업을 자동화하려면 많은 XML 구성을 생각해내야 한다는 것을 알고 있습니다. 애플리케이션을 사용하는 반면 Maven은 구성보다 규칙을 사용합니다. 즉, 프로젝트를 생성할 ..

SW/Maven 2024.01.10

ChatGPT : NGINX를 사용하여 OpenAI Reverse Proxy 설정

ChatGPT OpenAI NGINX를 사용한 역 프록시는 Janitor AI 또는 기타 서비스와 같은 애플리케이션에 원활하게 통합할 수 있도록 단계별 지침을 제공합니다. AI 연구 분야의 저명한 리더인 OpenAI는 개발자들이 자신의 강력한 언어 모델을 활용할 수 있도록 하는 API를 제공합니다. 이 기사는 하위 도메인이 있는 우분투 22.04 머신에서 NGINX로 OpenAI 역 프록시를 설정하고 자유 SSL을 암호화하는 단계별 가이드를 제공할 것입니다. 이 설정을 통해 AI 기능을 효율적으로 여러분의 애플리케이션에 통합할 수 있습니다. OpenAI Reverse Proxy의 이점 OpenAI 역방향 프록시는 NGINX와 결합하여 다음과 같은 몇 가지 장점을 가지고 있습니다: 성능: 역방향 프록시를 ..

SW/리눅스 2024.01.09

Javax에서 Jakarta 마이그레이션을 처리하기 위한 모범 사례

자카르타 EE 9+로 성공적으로 곧 업그레이드하기 위해 알아야 할 모든 것을 설명해 드리겠습니다. 이전 버전의 Jakarta EE 또는 Java EE에서 Jakarta EE 9 이상으로 업그레이드하는 것은 javax에서 Jakarta Prefix로 변경하는 것이 다소 어려울 수 있습니다. 일부 라이브러리는 여전히 javax 패키지를 사용하고 있을 수 있으며, 이는 Eclipse GlassFish 7과 같은 Jakarta EE 서버에서 응용 프로그램을 실행하려고 할 때 충돌을 일으킬 수 있습니다. Spring Framework 6 또는 Spring Boot 3, Quarkus 3 및 현재 Jakarta EE 9 API에 의존하는 다른 많은 프레임워크의 새로운 버전으로 업그레이드할 때 동일한 문제가 발생할 ..

SW/Java 2024.01.08

비즈니스 혁신을 가속화하는 클라우드 네이티브 통합 플랫폼

비즈니스 혁신을 촉진할 수 있는 역량을 확보함으로써 클라우드-네이티브 통합 플랫폼의 중추적인 역할에 대해 자세히 설명합니다. 클라우드 네이티브 통합 플랫폼은 다양한 애플리케이션과 시스템 간의 원활한 연결을 가능하게 하는 비즈니스 혁신의 강력한 원동력으로 부상했습니다. 이를 통해 기업은 뛰어난 민첩성, 확장성 및 운영 효율성을 얻을 수 있습니다. 이 블로그는 비즈니스 분야에서 중요한 변화를 주도하는 선도적인 클라우드 네이티브 통합 플랫폼의 세계를 자세히 소개합니다. 이러한 플랫폼은 고객 경험을 개선하고 내부 프로세스를 간소화함으로써 현대 비즈니스 운영의 본질을 혁신할 수 있는 역량을 갖추고 있습니다. 클라우드 네이티브 통합 플랫폼의 채택은 디지털 시대의 변화하는 요구를 충족시키기 위한 전략적 움직임입니다...

Java 21, Java의 주요 단계: Non-blocking IO 및 업그레이드된 ZGC

Virtual Threads가 개발자 및 전체 Java 에코시스템에 미치는 주요 이점과 Java의 이미 견고한 GC 기능에서 ZGC가 어떻게 향상되는지 알아보겠습니다. 자바 21은 노드 JS에 강력한 도전을 할 것으로 보입니다! 자바 21에는 두 가지 엄청난 성능 향상이 있는데, 이들은 자바의 자주 비판 받는 두 가지 영역을 해결합니다: 스레드와 블록 IO (일부 공정한 비판)와 GC (상대적으로 불공정한 비판) 자바 21의 주요 하이라이트: 프로젝트 룸 및 가상 스레드 ZGC (upgraded) 1. 가상 스레드 오랫동안 비차단 IO, 비동기 작업, 그리고 비동기 작업을 조정하기 위한 Promise와 Async/Awit를 살펴보았습니다. 그래서 콜백을 처리하고 Promise.all() 또는 Comple..

SW/Java 2024.01.06

혁신을 촉진하기 위한 데이터 레이크 하우스의 발전적 인공지능 강화를 위한 주요 도구

LLM과 Generative AI 앱의 등장으로 데이터는 전체 생태계의 중심 부분입니다. 이 글에서는 데이터 레이크 하우스 위에서 AI 앱을 지원하는 도구에 대해 논의할 것입니다. 앞으로 다가올 세대 인공지능의 물결은 우리의 일생 동안 혹은 어쩌면 어떤 평생 동안 나타난 그 어떤 기술 혁신보다 더 혁명적일 것입니다. 오늘날 데이터 중심의 환경에서 조직들은 그들의 방대하고 계속 확장되는 데이터 세트로부터 가치를 이끌어내기 위한 혁신적인 방법들을 지속적으로 찾고 있습니다. 데이터 레이크는 다양한 데이터 유형을 저장하고 관리하기 위한 확장 가능하고 유연한 기반을 제공하며 현대 데이터 아키텍처의 초석으로 부상했습니다. 동시에, 생성 인공 지능(AI)은 기계가 인간의 창의성을 모방하고 콘텐츠를 자율적으로 생성하는..

SW/인공지능 2024.01.05

데이터 중독과 모델 붕괴: 다가올 AI 대재앙

AI가 생성한 콘텐츠의 존재는 페스트처럼 퍼질 것이고, 중독 검색 결과는 물론 AI 모델이 무너질 것입니다. ChatGPT와 같은 생성 AI 도구는 너무 좋아서 사실이 아닌 것 같습니다. 간단한 프롬프트를 만들고 플랫폼은 텍스트(또는 이미지, 비디오 등)를 생성하여 주문합니다. 그 이면에서 ChatGPT와 그 기술은 방대한 양의 World Wide Web을 훈련 데이터로 활용합니다. 이 기술의 이름을 딴 LLM(Large Language Model)의 '대규모'입니다. 그러나 생성 AI는 단점이 있습니다. 그것은 진실성보다 신뢰성을 선호하며 종종 bullsh!t를 생성합니다(bullsh!t에 대한 제 최근 기사 참조). 그러나 그것의 진실성 부족은 그것의 유일한 단점이 아닙니다. 생성 AI는 그럴듯한 콘..

SW/인공지능 2024.01.04

Java 17의 흥미로운 새로운 기능 예를 들어 보기

5가지 새로운 자바 기능에 대해 배울 것입니다: 1. Sealed Classs 2. 스위치의 패턴 매칭 3. FFI(Foreign Function Interface) 4. 메모리 API 5. Text Block 가장 인기 있는 프로그래밍 언어 중 하나인 Java는 새로운 버전이 출시될 때마다 계속해서 진화하고 향상되고 있습니다. 최신 LTS(Long-Term Support) 버전인 Java 17은 해당 언어에 몇 가지 흥미로운 기능과 향상된 기능을 제공합니다. 이 글에서는 Java 17의 주목할 만한 새로운 기능 중 일부를 살펴보고 효과적인 사용 방법을 이해하는 데 도움이 되는 실용적인 예를 제공할 것입니다. 봉인된 클래스 봉인된 클래스는 어떤 클래스나 인터페이스가 확장되거나 구현될 수 있는지를 제한할 ..

SW/Java 2024.01.03

보안 코드 검토 모범 사례

이 문서에서는 소프트웨어의 취약성을 줄이는 방법을 설명합니다. 수동 및 자동 보안 코드 검토를 모두 수행하는 것이 중요합니다. 코드 리뷰는 소프트웨어의 품질에 대한 문제를 식별하는 데 도움을 줄 수 있는 개발 프로세스의 중요한 부분입니다. 보안 코드 리뷰는 소프트웨어의 소스 코드의 보안을 구체적으로 평가하는 특정 유형의 코드 리뷰입니다. 소스 코드를 포함하지 않는 활동(DAST 도구 및 펜 테스트와 같은)은 "보안 코드 리뷰"로 간주되지 않습니다 보안 코드 리뷰의 일부 단계는 자동화된 도구에 의해 도움을 받을 수 있지만, 많은 사람들은 실제 프로세스에 대한 비판적 사고와 이해를 위해 사람이 필요합니다. 이 게시물에서는 보안 코드 리뷰 중에 여러분이 해야 할 다양한 작업을 살펴보고, 그 중 어떤 것이 자동..

SW/정보보호 2024.01.02

Hasdx와 Stable Diffusion : 두 인공지능 영상 생성 모델 비교

최고의 텍스트 이미지 모델 중 하나인 hasdx와 Stable Diffusion은 사용 사례, 비용, 기능 등에 걸쳐 축적됩니다. 텍스트 프롬프트에서 사실적인 이미지를 생성하는 것은 최근 AI의 발전으로 가능해진 매우 유용한 기능입니다. 이 게시물에서는 현재 사용 가능한 두 가지 최고의 텍스트 이미지 모델인 hasdx와 Stable Diffusion을 비교하여 장점, 차이점 및 이상적인 사용 사례를 더 잘 이해하도록 하겠습니다. 첫째, 배경이 있습니다. hasdx와 stable diffusion 둘 다 딥 러닝 기법을 활용하여 사용자가 제공한 텍스트 설명과 현저하게 일치하는 이미지를 생성합니다. 이는 시각적 개념을 빠르게 파악하고, 프로토타이핑 자산을 생성하거나, 맞춤형 이미지 및 미디어를 생성하려는 크..

SW/인공지능 2024.01.01

하이퍼 드라이브 개발을 위한 코드 생성을 위한 5가지 ChatGPT 대안

인공지능 코드 생성은 ChatGPT의 발전된 생성 기능이 도입된 이후 계속해서 화제가 되어 왔습니다. 코드 생성은 소프트웨어 개발에 필수적이며, 인공지능 기반 도구는 이 분야를 크게 발전시켰습니다. 예를 들어, 구글의 딥마인드(DeepMind)는 자사의 알파코드가 2023년 2월 산업 표준의 개발 코드를 생성할 수 있다고 주장했습니다. 그러나 2022년 11월 OpenAI와 ChatGPT가 플레이그라운드 AI를 도입하면서 자동화된 코드 생성의 전체 시나리오가 크게 바뀌었습니다. 그러나 인공지능 코드 생성기의 진화는 ChatGPT의 능력을 능가했습니다. 이 글은 코드 작성 자동화, 생산성 향상 및 전반적인 개발 프로세스 개선을 위한 코드 생성 ChatGPT을 탐구합니다. 1. 타브나인 Tabnine은 Ch..

SW/인공지능 2023.12.31

위상 분류 : 의존성 관리를 위한 기초 알고리즘

이 글에서는 위상 정렬의 개념, 그 의미 및 다양한 영역에서의 응용에 대해 알아보겠습니다. 컴퓨터 과학의 영역에서 요소들 간의 관계나 의존성은 많은 문제를 포함합니다. 그런 문제 중 하나는 요소들의 의존성에 따라 일관된 순서를 설정해야 한다는 것입니다. 여기서 위상 정렬의 역할은 매우 중요합니다. 위상 정렬은 요소들의 의존성을 존중하는 방식으로 정렬함으로써 이 문제를 해결하는 기본 알고리즘입니다. 이 글에서는 위상 정렬의 개념, 그 의미 및 다양한 영역에서의 응용에 대해 알아보겠습니다. 위상 정렬 이해 위상 정렬은 DAG(방향성 비순환 그래프)에서 요소의 선형 순서를 결정하는 데 사용되는 알고리즘 기술입니다. DAG는 사이클이 존재하지 않는 노드를 연결하는 정점(노드)과 방향성 에지(호)로 구성된 그래프..

SW/인공지능 2023.12.30

Microsoft AI : 3년 동안 38TB 기밀 데이터에 액세스할 수 있는 비밀

과도하게 프로비저닝된 SAS 토큰이 GitHub에서 거의 3년 동안 38TB에 달하는 방대한 프라이빗 데이터를 노출했다는 이야기입니다. 위즈 리서치 팀은 최근 과도하게 프로비저닝된 SAS 토큰이 거의 3년 동안 깃허브(GitHub)에 노출되어 있었다는 것을 발견했습니다. 이 토큰은 38테라바이트의 방대한 개인 데이터 저장고에 액세스할 수 있게 해주었습니다. 이 애저 저장소에는 마이크로소프트(MS) 직원 두 명의 디스크 백업 파일 안에 숨겨진 개인 SSH 키와 같은 추가 비밀이 들어 있었습니다. 이 정보는 강력한 데이터 보안 조치의 중요성을 강조합니다. 요약 위즈리서치는 최근 2023년 6월 23일 마이크로소프트의 AI 깃허브 저장소에서 발견된 데이터 노출 사건을 공개했습니다. GitHub를 관리하는 연구..

SW/인공지능 2023.12.29

인공지능과 기계학습을 위한 ReactJS: 강력한 결합

ReactJS와 AI/ML을 결합하여 강력하고 상호작용적인 웹 애플리케이션을 구축할 수 있는 방법에 대해 알아보겠습니다. 끊임없이 진화하는 웹 개발의 풍경에서, 리액트JS는 강력한 지배자로 확고히 자리매김했습니다. 그것의 구성 요소 기반 아키텍처, 가상 DOM 및 개발자 친화적인 기능은 사용자 인터페이스를 구축하기 위한 선택 사항으로 만들었습니다. 그러나 리액트JS는 프론트 엔드 개발에만 국한되지 않습니다. 최근 몇 년 동안, 그것은 인공지능(AI)과 머신 러닝(ML)의 영역으로 진출하여 인공지능 기반 웹 애플리케이션을 만드는 중요한 도구가 되었습니다. 이 블로그 포스트에서, 우리는 어떻게 리액트JS와 인공지능/ML이 강력하고 상호적인 웹 애플리케이션을 구축하기 위해 결합될 수 있는지 탐구할 것입니다. ..

SW/인공지능 2023.12.28

그래프 채색의 이해: 그래프 이론의 본질적 개념

그래프 채색의 기초와 그 의의, 그래프 채색 문제를 해결하는 데 사용되는 몇 가지 대중적인 알고리즘에 대해 알아보겠습니다. 그래프 이론은 물체들 사이의 관계를 나타내는 수학적 구조인 그래프 연구를 다루는 수학의 기본적인 분야입니다. 그래프 색칠은 컴퓨터 과학, 운영 연구, 그리고 스케줄링과 같은 다양한 분야에 적용되는 그래프 이론의 핵심 개념들 중 하나입니다. 그래프 이론에서 매혹적인 연구 분야인 그래프 채색은 컴퓨터 과학, 최적화, 스케줄링, 네트워크 설계 등 다양한 분야에서 광범위한 영향을 미칩니다. 그래프 채색의 핵심 목표는 그래프의 꼭짓점에 인접한 어떤 꼭짓점도 같은 색을 공유하지 않도록 색을 할당하는 것입니다. 이 글에서 우리는 그래프 채색의 매혹적인 세계, 그 기초, 알고리즘, 실제 응용 및 ..

SW/알고리즘 2023.12.27
반응형