전체 글

    인공지능인지 사람인지 구별하는 채팅 구상

    유튜브 코딩애플에서 openAI의 gpt3모델을 활용한 AI와의 채팅기능이 있어 흥미가 생겼다. 이 코드를 이용해서 실제 사람인지 AI인지 맞추게 하는 프로그램을 구상중이다. 채팅에 들어가면 AI인지 사람인지 모르고 매 채팅마다 시간초가 주어진다. 해당 시간초 안에 채팅을 입력하게 하고 총 3~5번의 입력을 통해 사용자에게 AI인지 실제 사람인지를 맞추게 하는 것이다. 사용자의 질의문을 통해 어떤 방식으로 사람인지 AI를 구별하려고 접근하려는지 사회실험적 경험도 해 볼수 있을 것 같다. 해당 질의문은 DB에 저장시키고 관련 통계 도출까지 해보면 어떨까하다. nomadcoder 강의를 통해 우선 websocket을 이용한 채팅구현을 먼저 해보고 살살해보자. Reference by https://www.yo..

    [JAVA] 애너테이션(annotation)

    1. 애너테이션이란? 애너테이션(annotation)이 만들어진 계기와 개념에 대해 다룹니다. 더보기 자바를 개발한 사람들은 소스코드에 대한 문서를 따로 만들기보다 소스코드와 문서를 하나의 파일로 관리하는 것이 낫다고 생가했따. 그래서 소스코드의 주석 '/** ~ */'에 소스코드에 대한 정보를 저장하고, 소스코드의 주석으로부터 HTML문서를 생성해내는 프로그램(javadoc.exe)을 만들어서 사용했다. /** * The common interface extended by all annotation types. Note that an * interface that manually extends this one does not define * an annotation type. Also note that..

    [알고리즘 문제 해결 전략] 1. 문제 해결 시작하기

    1. 문제 해결과 프로그래밍 대회 프로그래밍에서의 문제해결과 프로그래밍 대회 및 참고 사이트에 다룹니다. 더보기 - 프로그래밍은 문제 해결이다. 프로그래밍을 하기 위해선 많은 것을 알아야한다. 자신이 사용하는 언어의 특성, 프로그램이 동작할 하드웨어와 운영체제에 관한 지식, 사용하고 있는 라이브러리들에 대한 유의사항, 프로그램이 사용할 수 있는 최대 메모리와 사용자가 답답하지 않게 하기 위한 시간 제한, 재사용성이 높은 간결한 코드를 작성하기 위한 노력등이 필요하다. 이런 제약 조건과 요구사항을 이해하고 최선의 방법을 찾아내는 능력은 분야를 막론하고 좋은 프로그래머가 되기 위해 필수적이다. 이 책에서는 이런 능력을 문제 해결 능력 이라고 부른다. 하지만 문제 해결 능력을 훈련하기란 굉장히 어렵다. 추상적..

    [알고리즘 문제 해결 전략] 시작하기

    https://book.algospot.com/ 알고리즘 문제 해결 전략 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략, 구종만 지음, 인사이트, ISBN 978-89-6626-054-6 새 소식 책 소개 은 새로운 알고리즘 책입니다. 종이에 적힌 의사코드 book.algospot.com 알고리즘 서적중에서 매우 좋은책이라고 샀다가 어려워서 고이 모셔뒀던 책을 다시 꺼냈다. 알고리즘은 참으로 어렵지만 좋은 개발자가 되기 위한 필수 사항이라고 생각한다. 현업에서도 어떤 문제를 접했을때 문제의 본질을 알고 이에 적합한 솔루션을 제공하기 위해서, 당연한 얘기지만 알고리즘을 모르는 것 보다는 아는것이 낫다고 생각한다. 프로그래머스 4단계나 leetcode hard단계, 백준 2~30% 정답률의 문제들을 풀..

    [토비의 스프링] 1.7 의존관계 주입(DI)

    스프링을 IoC 컨테이너로 적용하는 방법과 싱글톤 저장소로서의 특징을 살펴봤다. 스프링의 IoC에 대해 좀 더 깊이 알아보자. 1. 제어의 역전(IoC)과 의존관계 주입 IoC는 소프트웨어에서 자주 발견할 수 있는 일반적인 개념 객체를 생성하고 관계를 맺어주는 등의 작업을 담당하는 기능을 일반화한 것이 스프링의 IoC 컨테이너 IoC라는 용어는 매우 느슨하게 정의돼서 폭넓게 사용되는 용어 스프링이 제공하는 IoC 방식을 핵심을 짚어주는 의존관계 주입(Dependency Injection)이라는, 좀 더 의도가 드러나는 이름을 사용 의존관계 주입, 의존성 주입, 의존 오브젝트 주입? 'Dependency Injection'은 여러 가지 우리말로 번역돼서 사용된다. 그중에서 가장 흔히 사용되는 용어가 의존성..

    [토비의 스프링] 1.6 싱글톤 레지스트리와 오브젝트 스코프

    오브젝트의 동일성과 동등성 자바에서 두 개의 오브젝트가 같은가라는 말은 주의해서 써야한다. 자바에서는 두 개의 오브젝트가 완전히 같은 동일한(identical) 오브젝트라고 말하는 것과, 동일한 정보를 담고 있는(equivalent) 오브젝트라고 말하는 것은 분명한 차이가 있다. 전자는 동일성(identity)비교라고 하고, 후자를 동등성(equality) 비교라고 한다. 동일성은 == 연산자로, 동등성은 equals() 메소드를 이용해 비교한다. 두 개의 오브젝트가 동일하다면 사실은 하나의 오브젝트만 존재하는 것이고 두 개의 오브젝트 레퍼런스 변수를 갖고 있을 뿐이다. 두 개의 오브젝트가 동일하지는 않지만 동등한 경우에는 두 개의 각기 다른 오브젝트가 메모리상에 존재하는 것인데, 오브젝트의 동등성 기준..