본문 바로가기

반응형

programming/내가 만들고 싶어서 만든 것!

(9)
ChatGPT를 개발할 때 사용해볼까요? - (Jetbrains제품에 ChatGPT플러그인 추가하는 방법) 1. 개요 그놈의 ChatGPT, ChatGPT... 우리 졸업작품 교수님도 무조건 ChatGPT 프로젝트에 넣으라고 하셔서 주제를 통으로 바꿔야할 판이다. 뭐 쩔 수 있나. 강력한 도구인 건 맞는 것 같다. 내가 요구하는걸 그대로 뱉어주다니... 조금만 더 있으면 정말 아이언맨의 자비스나 Friday처럼 사람처럼 말하는 사람이 올 것 같기도? 그러다가 SKT의 기술블로그에서 ChatGPT를 IDE에서 편하게 사용할 수 있는 plugin을 보고 진짜 유용할 것 같다는 생각이 들어 그대로 넣어보았다. 이 글을 읽어보는 여러분들도 한번 해보시길! 2. 본문 환경은 Intellij Ultimate버전 하지만 근본적인 플러그인 설치 방법은 다르지 않을 것 같다. 상단의 [File] → [Setting]에 접속하..
Python을 활용한 메일전송 - SMTPlib의 사용 1.개요 Django를 공부하면서 SMTPlib를 사용하여 메일을 보낼 수 있다는 것을 알게 되었다. 책에 있는 예제를 그대로 따라하기만 했지만 내가 직접 문서를 찾아봐서 방법들을 정리해볼 생각이다. 메일을 보내는 기본적인 기능이 되었지만 그만큼 유용하기에 확실하게 알아두어야 할 것 같아서 정리하였다. 2. SMTP란? Python 공식 페이지에서 제공하는 자료를 보자. SMTP에 대해 찾아보면 다음과 같이 나와있다. smtplib 모듈은 SMTP나 ESMTP 리스너 데몬을 사용하여 모든 인터넷 기계로 메일을 보내는 데 사용할 수 있는 SMTP 클라이언트 세션 객체를 정의합니다. 뭔가 어려워보이지만, 간단하게 정리하자면 다음과 같다. "Python을 사용하여 메일을 보낼 수 있게 해주는 라이브러리" 그럼..
코로나 종합 어플리케이션 작성기 (Jsoup을 활용한 실시간 확진자 알림) 1. 개요 학교에서 프로젝트를 진행하면 약간의 장학금과 3학점을 주는 프로젝트 활동을 진행하였다. 팀단위로 프로젝트를 개발하는 것 자체가 큰 경험이라고 생각하였고 비대면 수업으로 인해 시간도 많아졌다고 생각했기에 (실제로는 절대 아니었다.) 프로젝트에 참여하였다. 나는 데이터베이스를 구축하고 해당 데이터베이스에 저장된 데이터들을 가지고 지도에 위치를 표시하거나 실시간 동선 알림을 확인하는 등의 기능을 구현하였다. 다음은 크롤링을 통해 실시간 확진자 접촉 알림 기능을 구현한 과정을 설명하고자 한다. 2. 크롤링 크롤링을 처음 접한건 1학년 겨울방학 때이다. 한참 알고리즘 문제들로 머리가 아프던 와중에 언어를 활용하는 프로젝트를 진행해보고 싶었고, 그 와중에 크롤링을 공부하기로 마음먹었다. 당시에는 파이썬으..
[최종본] C++를 활용한 오목게임 만들기 - AI모드의 OOP적 설계 1. 개요 드디어 AI(?)모드를 환성하였다. 말이 AI모드지 사실상 1인 플레이 모드이다. 아주 간단한 판별 알고리즘을 사용하였다. 다행이도 오목에 관련된 알고리즘이 설명되어있는 블로그를 찾았다. 이 블로그를 참고하여 OOP적으로 설계된 AI모드의 오목게임을 만들어보았다. 다음은 내가 참고한 블로그 글의 주소이다. 참고자료: https://ku-hug.tistory.com/2 오목 AI/인공지능의 간단한 원리 및 코드 대학교 1학년때 C언어 교수님이 프로그램을 만들어 제출하라해서 만든 프로그램... 조잡하다ㅠㅠ 인공지능보단 여러가지 패턴에 가중치를 설정해서 가중치가 가장 낮은 곳에 돌을 놓는 프로 ku-hug.tistory.com 기존에 만들어둔 Concave클래스를 상속받았기에 AI모드 역할을 하는 ..
C++를 활용한 오목게임 만들기 - PvP모드의 OOP적 설계 1. 개요 방학 때, 들은 특강을 계기로 만들어 보았던 오목 프로그램. 학기가 지나고 같은 특강을 똑같이 신청하게 되었다. 이유는 Class에 대한 문법은 알아도 이를 활용한 OOP적인 설계는 하지 못했기 때문이다. 내가 블로그에 올린 오목게임의 베타버전을 보면 알겠지만, 하나의 클래스가 거의 main()함수의 역할을 하는 절차지향적인 설계를 볼 수 있을 것이다. 베타버전의 오목게임을 보고싶으면 아래 링크를 통해 확인할 수 있다. 오목게임 베타버전: apape1225.tistory.com/32?category=815520 C++를 활용한 오목게임 만들기(베타버전) - array 이차배열 구현(STL) 1. 개요 방학 때, 교수님께서 따로 진행하시는 특강을 듣게 되었는데 최종 과제로 제출한 프로그램을 올려..
Python을 활용한 '여름 길이' 분석하기 - (한 해의 여름은 몇일일까?) 1. 개요 바로 전 게시물에서는 Python을 활용해서 매년 평균 온도를 분석하였다. 이 프로젝트를 진행하면서 기온에 대한 궁금증이 생긴 후, 여름에 대한 궁금증이 시작되었다. 내가 내린 결론은(코드가 완벽하다면) '서울의 평균 기온은 점점 올라가고 있다.' 이고 이는 '서울의 여름은 길어지고 있을까?' 라는 질문으로 이어졌다. 온도가 증가했으니 여름은 당연히 길어지지! 라고 말할 수 있지만, 봄, 겨울 가을의 평균 기온이 증가해도 같은 결과가 나올 수 있다. 궁금증이 생겼고 나는 Python으로 그래프를 그릴 수 있으니, 바로 코드를 작성하기 시작했다. 2. 코드설계 코드를 작성할 때 가장 중요한 것 중 하나는 명확한 조건이다. 나에게는 여름의 길이를 구분할 수 있는 기준이 필요했다. 구글링을 해보니,..
Python을 활용한 서울 평균온도 분석하기 1. 개요 Python으로 데이터를 다루는 것은 작년 말(2019.12월)에 얇은 책 한권으로 학습한 기억이 있다. 당시 책에 있는 내용은 csv형태의 데이터를 Python으로 가공하는 형태의 내용이었는데, 개인적으로 흥미롭게 공부했다. 내가 배우는 언어로 무엇을 할 수 있을지를 경험하기 위해 공부한 분야이기 때문에 그렇게 깊은 학습을 하지는 못하였지만 궁금한 점을 해결할 수준, 미래에 데이터 분석이라는 분야를 만났을 때 구글링을 통해 기억해내고 학습을 이어갈 수 있는 수준을 유지하기 위해 노력했다. 어쩌다 발견한 지구온도상승에 대한 뉴스를 보고 그 뉴스의 댓글창에 열심히 토론을 하고있는 댓글들을 보며 직접 평균 온도를 계산하여 그래프로 확인하면 좋을 것 같다는 생각에 그래프를 그려보았다. 나는 통계를 ..
C++를 활용한 오목게임 만들기(베타버전) - array 이차배열 구현(STL) 1. 개요 방학 때, 교수님께서 따로 진행하시는 특강을 듣게 되었는데 최종 과제로 제출한 프로그램을 올려볼까 한다. C++ 14버젼 이상의 문법을 설명해주시는 특강이었는데 STL 자료구조에 대해 자세히 배울 수 있었다. 하루에 6시간씩 일주일에 걸친 수업이었는데 체력적으로 버티기는 힘들었지만 이런 세상이 있었나 싶었다 ㅎㅎ. 사실 OOP적인 프로그램을 작성해야 했지만(상속, 가상 클래스) 하룻밤 만에 만들 수 있는 프로그램을 OOP스럽게 디자인하는 것은 쉽지 않았다 ㅠㅠ 결국 CLASS문법과 STL중 하나인 'array'를 사용한 절차지향적인 프로그램이 되어버렸다 ㅠㅠ 아직은 베타 버전이지만, 보수하는 과정을 끊임없이 이 블로그에 올리고 싶다. 2. 주요코드 사실 주요코드라고 하는 것도 부끄럽다. 반복문..