본문 바로가기

All

(12)
[아이디어] 16년된 게임개발 아이디어... 30살? 회사에 출근하면서 생각한 게임 아이디어였는데... 문득 생각이 났다.. 16년이 넘어서, 생각이 나다니..후 :) 30살때, 회사가 멀어서 지하철을, 1시간씩 전철을 타고 다녔다. 출근중에 음악도 듣고, 영화도 보고 했는데,결국은 눈을 감고, 이런저런 몽상을 하다가, 잠이 드는 경우도 많았다. 이때 공상속에서 생각한 게임 아이디어였는데,아예 그래픽을 배제한 사운드, 진동으로만 동작하는 게임을 만들어보면 어떨까?라는 것이였다.(음악듣는거 말고 눈감고 지하철에서 할것없나? 하다가 생각함 ㅋㅋ) 장르 :- 미스테리 동굴 탈출 시나리오 :- 출근하던 X가 갑자기 정신을 잃었고, 일어나보니, 동굴안이였다. 동굴은 빛이 없는 암흑이였고, 손끝에서 느껴지는 터치와 귀로들리는 사운드만으로 동굴을 빠져나가야..
[아이디어] 스크래핑 내재화에 도전하다 회원의 실제 거주여부를 확인하기위해서, CODEF라는 회사에서 만든 주민등록등본을 제공받는 API를 사용한다. 해당 CODEF API가 사실은 정부24 웹페이지에서 스크래핑기술을 이용하여,주민등록등본을 발급하는 방식으로 동작하는데, 가격이 사실..후덜덜하다,건당 120원정도 한다. 회원이 급격하게 늘거나, 동일 회원이 여러번 스크래핑을 수행해야하는 경우,가격이 만만치 않다.건당 120원이나 되면... 그런데 이거 인터넷 주민등록등본 발급은 무료인데...(봉이 김선달이네!!!) 그래서 이 스크래핑을 내재화하여, 추가적인 비용을 줄일수있는 방법을 없을까 생각을 해봤다.우선 스크래핑을 어떤식으로 만들어야 좋을지를 정리해 봤다. 1) 서버 스크래핑방식보다는 클라이언트 스크래핑 방식으로 구현한다. - 서..
[아이디어] 테슬라 데이터 수집 - 테슬라가 빌런이다. 테슬라의 차량 데이터를 API를 통해, 수집을 해야하는데, 테슬라 이놈들 API로 장사를 하네...ㅠ 오픈API는 일반적으로 사용요금이 저렴한 편인데...테슬라 1만대 기준 한달사용하는 API비용이 최악의 경우 4억이 넘어간다.(물론, 사용/용도에 따라 다르겠지만, 우리가 만드는 서비스는 대략 계산해보니 저정도 발생하더라... 갑부도 아니고..이거뭐..쩝)물론, 최악을 기준으로 계산한것이긴 하지만 , 후덜덜하다. 테슬라에서 API를 통해,내 차량의 데이터(배터리 충전량, 주행가능거리등)를 가져오려면, 기본적으로 테슬라차량이 깨어있어야 한다.깨어있다는 이야기는,주차를 한 상태면 배터리 사용을 줄이기위해 시스템도 동면에 들어가는데,이경우는 차량의 데이터를 API를 통해서 가져올수없게 된다.이경우 테슬라A..
[아이디어] javafx로 OsTray영역에 텍스트 넣기 한창 주식에 관심이 있을때가 있었는데, 앱으로 주식시세를 보는게 너무 귀찮았다. 직업 특성상, 하루에 대부분을 컴퓨터를 사용하기에,데스크탑의 Tray영역에 주식시세를 표시하는 데스크탑 어플리케이션을 하나 만들어봐야겠다고 하고 만든적이있다.(*Tray영역 : 화면 오른쪽 상단의 영역 - 상주하는 앱아이콘이 표시되는 부분 - 맥OS) 맥북에 맨상위 오른쪽에 Tray영역에 아예 주식시세를 상주하여 보여주는 어플리케이션을 만드는게 목표였다.그런데, Swift를 이용해서 만들면 쉽긴했는데, 맥용 어플을 만드는게 여간 까다로운게 아니였다.xcode를 통해 프로젝트 하나 만들려면 은근히 귀찮은점들이 많다.(솔직히는 Swift로 작성하는게 서툴고, 속도가 안나서 라고 해야 더 맞다 ㅋ) 그래서 가장 무난한, 자바,코..
[아이디어] 복잡한 로직은 GraalVM JavaScript엔진을.. 전기요금을 계산하는 프로그램을 개발해야 했다. 전기요금 계산이 이거 이래도 되나 할정도로 복잡하고, 지역, 계절, 년도등의 변수가 많고, 계산 또한 변수가 너무 많았다.이런경우 이런 계산 로직을 코드로 작성을 하는것보다, 변수에 빠르게 적응을 하기 위해서,다이나믹한 기법을 사용하는게 더 좋을것 같다는 생각을 했다.rule엔진을 사용하는게 좋아보이지만 (drools등), 단순 계산을 위해 rule엔진을 사용하는건 오버엔지니어링이라고 판단을 했다.그리고, rule엔진이 사실, 사용하는게 상당히 번잡하고 복잡하다...먼가 간단하면서, 다이나믹하게 계산식을 적용하고, 반영되게 하는 방법을 원했다. 고민중에 예전에 mocksal이라고 개인 mocking 서비스를 만들때 (https://tech.super100.a..
[아이디어] Switch문 최대한 안쓰기 스프링에서 타입에 따라 다른 행위나 결과값을 리턴해야할 경우, Switch (코틀린은 When)를 사용하여 코딩을 한다... 아래와 같은 코드가 있다고 해볼까?@Serviceclass TestService {fun printCardType(cardType:CardType) { when (cardType) { CardType.A -> println("A") CardType.B -> println("B") else -> println("UNKNOWN") } }}타입이 추가되면, 해당 TestService의 printCardType함수안에 when에 케이스 조건을 지속적으로 추가를 해줘야한다.잊어버리고 추가를 하지않는 경..
[아이디어] 스크래핑으로 플로우 간단히 만들기 외부 페이지 연동이 많은 서비스들은 상당 플로우가 복잡하기에, 사용자 이탈이 심하다. 가입 한번해서 앱한번 사용하려면, 어디 페이지 로그인해서 동의하고, 어디 사이트 웹페이지 열어서 선택해야하고 등등... 외부 연동 페이지에 종속적인 서비스들은 사용자의 이탈이 상당히 심하다. 그렇다고, 서비스를 접을수도 없으니 고민이 많을것이다. 이런 경우, 쉽게 풀수있는 방법은 해당 외부 연동 서비스에서 oauth등을 지원하여, server to server로 연동을 하는 방법이다.하지만, 쉽게 oauth기능을 제공하지 못하는 곳도 많이 있기때문에, 다른 방법이 대안이 될수도 있을것같다. 그 대안중에 하나가 '스크래핑' 기술을 이용하는 방법이다.사실 단점이 명확하고 심지어 위험하기까지도 하지만, 그 사용함에 있어서의 ..
[아이디어] 대기열 기능 만들기에 대해서 사용자가 갑자기 몰리는 기능, 특히 해당 기능이 무거운 경우 (외부 API연결, 스크래핑, 무거운 쿼리) 사용자의 기능 접근을 의도적으로 일정수준으로 제한을 해야하는 경우가 발생한다. 이런경우, 대기열 기능으로 해당 문제는 해결할수있다. 대기열이란, RateLimiter를 구현하는것이라고 보면 될듯하다.세마포어를 이용해서, 내가 기능에 접근할 최대 횟수를 정하고, 항상 그 횟수안에서 기능의 접근을 허용하고 거부하도록 만드는 구현이다.(가게에 화장실이 x개있고, 사람들이 줄을 서서 화장실에 접근하는 개념 ㅋ) 가장 일반적인 방법은 Redis의 Zset을 활용하는 방법이 있다.이 부분은 AI에이전트들에 물어보면 상세하게 알려줄것이라, 구현의 어려움은 없겠지만, 우리는 어떻게 운용을 해야하는가를 고민해야한다...
[아이디어] 대용량 앱푸시 예약발송 기능 어떻게 만들까? 앱 푸시 메세지 발송 기능을 만들어야 한다면, 그리고 예약시간에 정확히 발송해야 한다면? 어떻게 설계를 해야할까? 물론 내가 말하는 모든 가설은 대용량/대량 트래픽을 기본으로 하고있다. 따라서 좀더 고민을 해야하는 포인트들이 많다.우선은, 기본적인 것은 카프카 큐를 이용해, 발송대상 이벤트를 받고 해당 이벤트를 컨슘하며, 푸시를 보내는 설계는 기본일듯하다. 여기서 가장 큰 문제는 바로 예약 발송을 어떻게 구현을 할까이다..이 부분이 상당히 어렵기도하고 까다롭기도 하다. 예약 발송 구현을 위한 방법은 다양하다. 가장 합리적이고, 괜찮은 방법을 몇개 생각해 봤다. 1) 레디스의 ZSET을 이용하는 방법이다.레디스의 ZSET는 SORTED SET으로 키값을 정렬하여 리스트로 가지고있다. 이 키값을 범위조회로 ..
[아이디어] AI끼리 싸움을 붙이면.. 가끔씩 생각한적이 있다, AI끼리 썰전을 펼치고, 그걸 지켜보면 얼마나 잼있을까??내말이 맞네, 네말이 맞네 하며 인간처럼 치고박고 하는 것을 지켜보는 관음증 환자가 되면 얼마나 짜릿한 느낌일까!!! AI모델은 각각 특색이 있다. 어떤분야에 더 집중하여 학습을 시켰는지에 따라서, 모델별로 더 답변을 잘 주는 부분이 미세하게 존재한다.그렇기 때문에, AI모델 하나만 선택해서 사용하는것보다는 여러 AI모델들을 늘어놓고, 질문을 모든 AI모델에게 하는 방법이 더 좋은 정보를 얻을수있지 않을까? 생각한적이 있다. 이런 방식에 가장 적합하다고 생각한 아이디어가, AI들끼리 구성된 개발팀을 만들면 어떨까? 라는 생각이다. 그래서 바로 만들어 봤다.서비스 이름은 'My Dev Team' !!! AI모델별로 '친절하고..