ChatGPT의 열풍이 거세지면서, 원조 트랜스포머(Transformer) 맛집들이었던 구글과 메타는 각각 ChatGPT에 대응하는 제미나이(GeminAi)와 라마(Llama)를 오픈하며 초거대 AI의 전쟁에 불이 붙고 있습니다. 여기에 MS가 ChatGPT와 독립한 버전인 Phi라는 LLM AI 모델을 또 내놓았고, 영리와 비영리 사이의 충돌로 인해 OpenAI 직원들이 퇴사하여 만든 스타트업인 앤트로픽에서 내놓은 클로드 모델까지 난리도 아닌 것 같네요. 국내에서는 네이버를 비롯하여 거대 기업들은 자체적인 LLM 모델을 만들거나 타기업과 연합하는 모습을 보이기도 하는데요. 여기서 사용해볼 라마는 최근 라마3(Llama3)를 내놓으며, 이제 작은 기업도 ChatGPT 3.5 정도 수준의 모델을 부담없이 ..
개발 과정에서나 운영 환경에서의 문제 해결에 있어서 로깅의 중요성은 아무리 강조해도 지나치지 않다. 로깅은 시스템의 내부 동작을 이해하고, 문제의 원인을 파악하는데 필수적인 정보를 제공한다. 이를 위해 로깅 시스템은 어플리케이션의 성능에 영향을 주지 않으면서 필요한 정보를 효과적으로 제공할 수 있어야 하며, 다양한 배포 환경과 상황에 따라 로깅의 세부 사항들을 조정할 수 있어야 한다. Java 개발 생태계에서는 다양한 로깅 프레임워크가 이러한 기술적 요구사항을 해결해 주고 있다. SLF4(Simple Logging Facade for Java)는 이들 프레임워크를 추상화한 표준화된 API로 제공하여, 개발자가 구체적인 로깅 구현체를 변경하고자 할 때 코드를 변경할 필요 없이 의존성만 교체함으로써 유연하게..
오라클(Oracle)에서 17버전부터는 NFTC(No-Fee Terms and Conditions)라는 새로운 라이센스를 내세우면서 무료로 사용이 가능하다는 것을 내세웠지만, 사실상 이는 무료의 사용 기간을 길게 한 것일뿐 무료 사용이 끝나는 기간에는 유료 결제를 해야 한다. 물론 자바의 버전을 계속 변경하다보면 사용이 가능할 것도 같지만, 문제의 여부를 테스트 해봐야 하고 수많은 서버가 있는 곳에서 이런 작업은 더욱 피곤하게 만든다. 그래도 다행인 것은 Java21이든 Java17이든 유료 라이센스에 영향을 주는 것은 운영서버 즉, 배포를 하는 환경일 뿐 개발자 환경에서는 OracleJDK로 하든 OpenJDK로 하든 상관이 없는 것으로 보인다. 처음에는 OpenJDK로 설치를 하여 진행하려고 했지만,..
올해에는 단연코 ChatGPT 열풍이라 할 수 있겠지만, 올해 비록 영상 조작 논란으로 말이 많지만 멀티모달의 가능성을 열어주고, 앞으로 무궁무진한 서비스가 열릴 것으로 예상되는 구글의 제미나이(Gemini) 서비스로 인해서 자연어처리(NLP)라는 항목을 벗어나 멀티모달의 영역으로 갈 것이라 예상이 된다. 블로그에서 유튜브로 넘어가듯, ChatGPT에서 영상처리로 가는 것은 필연적일 것이며 집에 있는 카메라등과 스피커 등을 통해서 앞으로 수많은 의사소통이 이루어지지 않을까 예상된다. 우선 OCR을 Tesseract를 사용하여 만든적(정확히는 사용한적)이 있긴 하지만, 블로그에 정리를 한적이 없는 것 같아서 이렇게 포스팅 하도록 한다. OCR(Optical Character Recognition)이란? O..
ChatGPT, 정확하게는 OpenAI의 GPT 파라미터 API는 다양한 설정값이 존재합니다. 그리고 계속 버전업이 되면서 새로운 파라미터들이 추가되고 있습니다. 오늘 포스팅에 작성할 내용은 그 중에서 가장 기본적으로 핵심적인 파라미터를 설명하고, 예시를 통해 이해보도록 하겠습니다. Chat API GPT의 Chat 버전을 사용하기 위해서는 다음과 같은 API를 호출해야 합니다. POST https://api.openai.com/v1/chat/completions 위와 같은 API Url을 Post로 호출하고, Request Body 들을 추가로 넣어줘야 하는데요. 주요 파라미터는 다음과 같습니다. 주요 파라미터 내용 예시 model GPT 모델 선택 gpt-3.5-turbo messages GPT에게 ..
브라우저는 인터넷을 방문하기 위한 도구이자 이제는 다양한 기능들이 내포되어 있기도 합니다. 인터넷 초창기에는 넷스케이프라는 브라우저가 독자적으로 압도적인 위용을 자랑하였지만, 스스로 심취되어 있을 때 인터넷 익스플로어의 반격으로 1위 업체가 무너지는 일이 있었으며, 최근에는 다시 웹 표준화라는 발목에 인터넷 익스플로어가 다시 무너지면서, 현재는 크롬이 압도적인 점유율을 차지하고 있습니다. 저는 브라우저별로 각각 다양한 행동을 하기 때문에 되도록이면 많은 브라우저를 사용하고 있는데요. PC에서 어떤 브라우저들이 있으며, 각각 어떤 특징들이 있는지 알아보도록 하겠습니다. 브라우저 점유율 거두절미하고 우선 브라우저 점유율부터 보도록 하겠습니다. 이 데이터는 statcounter.com이라는 사이트에서 제공해주..
챗GPT(ChatGPT) 정확히는 OpenAI API를 파이썬(Python)으로 제공하는 라이브러리를 사용하여 해보시는 분들은 많으실텐데요. 간단하게 Rest 방식으로 호출하여 사용하는 방식도 존재합니다. 이 방식을 알면 그 어떤 환경이라도 HTTP로 요청만 하면 되니 프로그램 버전이나 호환에 대해서 신경을 쓰지 않아도 되며, 새로운 기능이 생겼을 때 업데이트를 할 필요가 없는 장점이 있습니다. 특히나 지금처럼 ChatGPT가 빠르게 성장하고 있는 시점이라면 더더욱 그러하며, Rest 방식으로 API를 쉽게 체험할 수 있는 ChatGPT API를 포스트맨으로 빠르게 사용해보도록 하겠습니다. 본 포스팅은 포스트맨을 어느정도는 알고 있다 가정으로 진행하겠습니다. 포스트맨(PostMan) 헤더 세팅 우선 Op..
IT 분야에서는 제품의 생명 주기(Life time)을 나타내는 다양한 약어들을 사용합니다. 이 중 일반적으로 EoL, EoS를 많이 사용하고 있지만, 5가지의 제품 생명주기 약어를 이해하는 시간을 가져보도록 하겠습니다. EoL(End of Life) EoL은 IT 제품, 서비스의 생명 주기 중 제조사가 더 이상 해당 제품이나 서비스에 대한 지원을 제공하지 않는 시점을 의미합니다. 이 시점은 제품의 생산이 중단되고, 업데이트, 유지 보수, 보안 패치, 테크니컬 서포트 등이 제공되지 않게 되는 시점을 가리킵니다. EoL이 선언 되는 경우 기업이나 유저들은 해당 제품이나 서비스를 계속 사용하기 위해 대체 전략을 세워야 합니다. 대응책으로는 최신 버전으로 업그레이드, 다른 제조사의 제품으로의 전환(동일한 제품..
현재 회사에 있는 데스크탑 컴퓨터를 윈도우 11로 업그레이드 하려는 도중, TPM 2.0 활성화가 안되어 있어서 불가능하다는 메세지를 받게 되었다. 컴퓨터를 검사하게 되면, 아래와 같이 팝업창으로 TPM 2.0 활성화가 필요하다는 메세지가 온다. 참고로 컴퓨터를 윈도우 11로 업그레이드 하려는 이유는 데스크탑의 블루스크린이 노이로제가 걸릴 정도로 잦기 때문이다. 별다른 프로그램을 설치하지 않았는데에도 불구하고 블루스크린이 하루에 3~4번씩 발생하니 회사 업무를 할 수 없는 수준이기에 윈도우 11로 업그레이드하게 되면 나아질 수 있지 않을까라는 희망에 설치 시도중이다. TPM 2.0이란 TPM 2.0을 활성화하기에 앞서 왜 이걸 활성해 해야 하며, 이 모듈이 무엇인지를 알아야 될 것이다. TPM은 Trus..
개발자(Developer)와 프로그래머(Programmer) 그리고 코더(Coder)는 명확하지만, 구분하기 힘든 차이점이 존재하기도 한다. 하지만 꾸준히 거론되면서 현재는 어느정도 확립이 된 상태인데 본 포스팅에서는 개발자, 프로그래머, 코더에 대해서 차이점을 알아보고 자신은 현재 어느 위치에 있는지 알아보도록 아는 시간을 가졌으면 좋겠다. 코더(Coder)과 프로그래머의 차이점 우선 코더(Coder)는 코드를 짜는 사람을 뜻한다. 그런데 여기서 코드는 프로그램을 말하는 것이기 때문에 코더와 프로그래머를 동일한 사람이라 생각할 수 있다. 대부분 코더들은 자신을 코더라고 말하지 않고 프로그래머라고 말을 한다. 하지만, 영어가 둘로 나뉘어져 있듯 둘간의 미세한 차이점이 존재한다. 일반적으로 코더는 프로그래..
몇개의 포스팅은 한동한 비트코인(Bitcoin, BTC)을 사야 하는 이유 시리즈로 만들어보려고 합니다. 비트코인을 사야 하는 이유는 "지금 당장 비트코인"을 사라는 내용은 아니라 다른 암호화폐보다 비트코인이 낫다라는 뉘앙스에 더 가깝다는 것을 인지해 주셨으면 좋겠습니다. 올해 암호화폐계의 최대 이슈는 단연코 비트코인 기반 프로젝트인 것 같습니다. 그 중에 스타트를 끊은 오디널스 프로토콜(Ordinals Protocol)이 있는데요. 오디널스에 대해서 깊게 알 필요는 없을 것 같아서, 간단히 어떤 기능이 가능한지 알아보도록 하겠습니다. 비트코인의 업데이트 역사 우선 오디널스를 이해하기 위해서는 비트코인의 업데이트 과정을 들여다볼 필요가 있습니다. 세그윗(SegWit) 2017년 세그윗(SegWit)이라는..
Beautiful Soup이란? Beautiful Soup는 HTML 및 XML 문서를 파싱하기 위한 파이썬 라이브러리(Python Library)입니다. 웹 스크래핑(Web Scraping)에 사용되며, 복잡하고 비정형적인 웹 페이지로부터 필요한 데이터를 빠르고 쉽게 추출하는 것을 도와주고 있습니다. Beautiful Soup 예제 from bs4 import BeautifulSoup import requests # 스크래핑할 URL url = "https://needjarvis.tistory.com/802" # 해당 url에 연결한 후 HTML 내용을 가져옵니다. response = requests.get(url) html_content = response.text print(html_content)..