반응형

 

앱 업데이트를 테스트 하기 위해서 내부 테스트 버전을 계속 올려가면서 테스트를 했었습니다. ㅠ_ㅠ 

그러나, 이렇게 하면 매번 버전을 올리고 테스트하고 올리고 테스트 하고 하는 것을 반복 해야 하는데, 시간이 번거롭고, 고통 스러운 작업입니다. 

 

그래서 알아보니, 내부 앱 공유를 통한 업데이트 테스트를 할 수 있는 방법이 있더군요.

 

이걸 해보려고 시도하다 몇시간 동안 끙끙 앓고 있었는데, 드디어 방법을 확실히 알게 되었네요.

 

1. 내부 앱 공유를 들어가면 이런 화면을 보실수 있습니다.

 

2. 여기에 링크 보이죠.. app bundle  업로드 할 수 있다고 되어있는 곳 링크를 선택합니다.

 

 

3. 높은 버전의 aab 파일과 낮은 버전의 aab 파일을 다 올려놓습니다.

 - 테스트를 위한거니까. 버전 정보만 낮춰서 올리면 됨.

 

4. 낮은 버전의 링크를 카톡이나, 메일로 공유해서 설치 합니다.

  - 이렇게 하면 공유에 높은 버전이 있어서 업데이트가 있다고 되어야 정상인데, 사실 그렇지 않습니다.

 


내부 앱 공유(Internal App Sharing)의 '버전 격리' 특성 때문

내부 앱 공유는 일반적인 Play 스토어 트랙(프로덕션, 베타, 내부 테스트)과 버전 관리 체계가 완전히 분리되어 작동합니다.

현재 기기에 설치된 v1이 "내부 앱 공유 링크"를 통해 설치되었다면, 이 앱은 오직 "내부 앱 공유에 올라온 더 높은 버전"만 업데이트 대상으로 인식합니다. Play 스토어 내부 테스트나 프로덕션에 아무리 높은 버전이 올라와 있어도 그것을 인앱 업데이트 대상으로 바라보지 않습니다.

 

문제는 내부 앱 공유로 올린 높은 버전의 패키지가 자동으로 인식 하는 것도 아니라는 것입니다.

이것 때문에 많은 시간을 허비했습니다.

내부 테스트로 버전을 올려보기도 하고, 프로덕트로 올려보기도 했고, 말이죠.

 

방법은 간단한데, 내부 앱 공유에 올라와 있는 높은 버전의 앱 링크를 , 카톡이나, 메일로 공유 한다음, 테스트하고자 하는 기기에서 해당 링크를 엽니다. (설치 아닙니다.)

 

그러면 구글 플레이스토어(기기에 설치된) 가 실행되어 해당 페이지를 열게 되고 높은 버전의 앱 정보를 캐싱하게 됩니다.

이렇게 해서 우리가 이미 설치한 낮은 버전의 앱에서 플레이 스토어 (서비스)가 새로운 버전이 있다고 앱에 알려줄 수 있게 됩니다.

 

 

요약하자면: 낮은 버전을 내부 앱 공유로 받으셨다면, 기기의 Play 스토어에 높은 버전 역시 내부 앱 공유 링크를 통해 한 번 '인식(링크 클릭)'시켜 주어야 인앱 업데이트가 작동합니다!

 

# in app update

반응형

 
요즘 AI, 피지컬 AI 이런 미래의 일자리 이런 이야기들을 많이 듣고 고민하게 되죠.
 
저도 여러 경로를 통해서 미래 사회에 대해서 흥미롭고 재미있는 이야기들을 듣게 됩니다.
 
최근 아주 고도화 되어 휴머노이드가 사회의 구성원이 되었을 경우에 대한 글들을 읽다가 생각하게 된 내용이 있어서 적어봅니다.
 

AI와 로봇의 시대

 
우리는 종종 AI가 세상을 지배할것이다, 또는 AI와 함께 하는 삶이 될것이다. 라는 이야기를 듣게 될때가 있습니다.
그런 삶을 지금의 AI 발전 속도를 보면 충분히 가능할 것 같기도 합니다.
 
 AI 와 인간의 역량을 보면, 극단적으로 차이나는 부분이 다음과 같습니다.
- AI의 학습 능력은 인간은 비교 불가하다.
- AI, 로봇은 쉬지 않고 일할 수 있다.
- AI는 불만이 없다. 
- AI는 생명이 아니다. (인간보다 오래 살 수 있다.)
 
AI와 비교되는 인간 이라는 게 상당히 불편합니다.
 
그런데 더 고도화 된 미래를 그려보자면,
 
AI는 로봇과 결합 되고, 지능 뿐만아니라 감정도 가지고 있고, 인간과 교류한다.
로봇은 온갓 현장에 맞는 형태를 가지고 있다.
인간과 매우 유사한 휴머노이드가 인간과 함께 생활한다.
 
이런 생각을 해볼 수 있습니다.
저는 이렇게 AI의 이상적인 부분들과 부분적인 면만 놓고 보면, 월등한 능력을 가진 휴머노이드가 있는데, 인간과 휴머노이드는 공존할 수 있을까? 라는 의문이 듭니다.
 
 

먼저,

 로봇과 휴머노이드를 분리해서 생각하겠습니다.
 
휴머노이드는 인간과 유사하게 지능과 감정, 스스로의 판단이 가능한 개체라고 정의하고,
로봇은 도구로서 인간이나 휴머노이드가 사용할 수 있는 기기, 장비 (스스로 의사결정을 할 수 없는) 라고 정의 하겠습니다.
 
 

미래 세상 깊게 보기

 

휴머노이드

 

미래를 더 깊게 상상을 더해보자면,
 
사회 시스템은 초지능 (초 거대) AI들이 운영하게 됩니다.
(지구나 국가 차원의 정보의 양은 지금보다 수십 수백배 늘어나, 인간이 분석하고 효율적인 판단하는 영역을 벗어납니다.)
- 지배 아닙니다 운영 입니다... 
인간 사회 속의 휴머노이드 들은 특정 회사가 아닌 인간의 소유물이 되어 인간의 일을 대신하는 역할을 합니다.
- 누군가가 구매해서 유지 관리하게 됩니다.
인간이 죽고 나면, 휴머노이드들은 폐기 됩니다. (순장? 같은 느낌)
더 이상 해당 휴머노이드의 관리를 위해서 비용을 지불할 존재가 없어졌기에 유지 할수가 없기 때문이겠죠.

그러나 이미 휴머노이드들은 사회,산업 현장 등에서 에서 맡은 일이 있기 때문에 이로인해서 사회적 공백이 발생합니다.

때문에 사회적 정치적으로도 인간이 죽고나서 해당 휴머노이드들의 사회 활동은 필요하게 된다.

- 주인이 죽었다고 갑자기 회사에 나가던 휴머노이드가 회사를 안나오면 사회적인 문제가 될 수 있음.
- 교통 관제를 담당하던 휴머노이드가 어느날 부터 안나오기 시작, 해당 구역 일대의 교통상황이 마비됨.
휴머노이드에 대한 국가와 사회는 인간의 부속이 아닌 개별적인 존재(구성원, 국민) 으로 인정하게 된다.
- 일을 하던 휴머노이드들이 계속 일을 해주길 기대
- 이로 인해서 휴머노이드들에게도 생존 전선에 뛰어들 수 밖에 없는 상황이 만들어진다.
이제는 휴머노이드들은 주인이 없기 때문에, 생존(?)을 위하여 재화가 필요하게 됩니다.

 - 집, 에너지 충전, 수리, 이동 수단 등이 필요
결국 휴머노이드들도 돈을 벌어야 하는 사회가 됩니다.
 

휴머노이드와 공존 한다는 의미는 사회의 무게를 같이 짊어진다는 의미이다

 

미래 사회가 휴머노이드들을 사회 구성원으로 받아들이기 시작하면서, 그동안 휴머노이드들에게 없던 의무가 생기게 됩니다.
생활을 할수 있는 환경을 마련해야 되고, 에너지를 구매할 수 있어야 하고, 고장이 났을때 수리를 받기 위해 돈을 지불 할 수 있어야 합니다.
결국 직업이 필요하고 일을 해야합니다.
 
결국 휴머노이드 들 사이에서도 생산자와 소비자, 고객과 서비스 제공자가 생기게 됩니다.
초 거대 기업을 운영하는 휴머노이드가 생길 수 있고, 매장에서 상품을 판매하는 직원도 생길 겁니다.
 
또는 계급이 나뉘어 질수도 있습니다.
초 거대 시스템 운영자, 사화 인프라 관리자, 현장 업무 수행자 이런 형태로 말이죠.
 
그렇다면, 낮은 계급이거나 또는 좋지 못한 직업을 가진 휴머노이드의 삶은 어떨까요?
좋은 곳에서 수리를 받지 못해, 몸의 일부가 고장난 채로 일터에 나가게 되겠죠.
또는 값싼 수리점을 찾고 저렴한 부품으로 수리를 하겠죠. 
- 휴머노이드 수리점, 부품점들이 다양해질것입니다. (뭐 부품을 못구해서 범죄를 저지르는 그런 스토리도 있지만 일단은 빼고)
 
휴머노이드 서비스 직영점 값비싼 수리 로봇과 수리 장비들로 정품 부품을 이용해서 수리를 해줄것이지만 비쌉니다.
- 수리 로봇은 그래도 휴머노이드 보다는 싸야겠죠.
값 싼 사설 수리점은 값 비싼 수리 로봇을 쓸수 없을것 입니다. 진단 장비와 사람 또는 휴머노이드가 직접 수리하겠죠.
- 그런데 휴머노이드가 수리점에서 수리하는 것으로 자신의 생활을 감당할 수 있을까요?

 

 

인간을 지배하는 세상이 와도 인간은 필요하다.

 

 

인간은 환경에 지대한 영향을 받는 것 같지만 사실 로봇보다 훨씬 유리한 위치입니다.
- 우리 세포는 제료(음식, 영양분)만 있으면 대부분 재생이 됩니다.
- 로봇은 그렇지 못하죠. 부품이 마모 되면 그것으로 끝입니다.
물론 생체 로봇 같은게 나올 수도 있지만, 생체와 기계의 결합이라니 ,그런 로봇은 더 엄청나게 비쌀 겁니다. 
 
말이 나왔으니 이야기 해보죠. 휴머노이드의 값은 얼마일까요?
생산 비용이 인간의 수십배일것입니다.
(인간은 엄마랑 아빠만 있으면 ^^ 되죠.  엄마 아빠 감사합니다.)
부품만 해도 수천에서 수만개가 될 수도 있죠.
- 얼마나 정밀한 로봇이냐에 따라 달라지겠지만, 아무튼 엄청 많은 수의 부품들이 있어야 되죠.
생산 비용이 엄청 비쌉니다. 따라서 가격을 낮출 수 있는 한계가 분명 존제 합니다.
 
인간의 필요성은 여기에서 나옵니다.
휴머노이드들 보다 저렴하게 사회를 지탱 할 수 있다는 것인데요. 고도의 지능과 정보를 다루는 것은 대규모 AI 센터와 휴머노이드 이지만,
이런 휴머노이드의 유지 보수를 위해서 사회적 비용이 저렴한 인간이 필요하게 됩니다.
 
왜 휴머노이드보다 인간의 인건비가 더 저렴할까요?
인간은 아팠다가도 쉬거나, 다른 일을 하거나 하면서 다시 자연스럽게 회복 될 수 있지만, 휴머노이드가 마모되어 고장이 발생하면 회복할 수 없습니다.
그렇기 때문에, 저렴한 일자리, 위험한 일자리는 휴머노이드에게는 기피 대상이 될 수 밖에 없습니다.
- 식당 주방일 (마모, 녹), 지붕 수리 (추락 위험), 인형 눈알 붙이기( 너무 저렴) ....
 
휴머노이드 수리만 생각해봐도, 인간은 돈을 벌기 위해서 휴머노이드의 고장 부위나 마모된 부품 교체 같은 일을 할 수 있습니다.
하지만 휴머노이드가 다른 휴머노이드를 수리한다?
수리를 위해서 드라이버를 돌리는 것을 한다고 하면, 팔 하나에 들어있는 약 32개 정도의 관절과 이를 받쳐주는 구동계 등이 움직일 것이고, 이는 자신의 부품이 마모되거나 소모 되는 상황이 됩니다.
때문에 휴머노이드는 그 수리를 위해서 사용된 자신의 부품 마모도와 에너지를 더해서 수리비를 청구해야할것입니다. 만약 그렇지 못하면, 수리업으로는 생계를 유지 못합니다.
그래서 당연히 비싸게 받아야 겠죠.. 원가 경쟁령이 낮아질 것 같네요.
 
그럼 다시 한번 정리하자면,
지능, 정보, 기술 능력을 보자면, "휴머노이드 > 인간"
가격, 위험도, 유지보수 측면에서 보자면, "인간 > 휴머노이드"
 
이런 구도가 보입니다.
물론 위험하고 보수가 비싸다면, 휴머노이드가 더 잘 할 수 있을 겁니다.
 
 

마무리

 
저는 지금까지 "진짜 AI 시대가 되면 인간은 어떻게 살지?" 와 같은 질문에 저는 다음과 같은 생각을 가지고 있었습니다.

  • AI 시대에서 인간의 필요성 낮아질 것이다.
  • 때문에 AI를 기업이 소유하지 못하게 해야한다. 초 거대 AI는 만들지 말아야 한다.
  • 로봇 까지 나오면 일자리는 없는것이나 다름 없다.
  • 기업은 로봇을 소유할 수 없고,인간이 로봇을 소유하고 해당 소유자와 기업이 계약을 맺고 보수를 인간에게 지불 해야한다.

이런 인간 중심의 정치적인 방향이 없이는 인간은 로못을 이길수 없고, 사회에서 필요성이 없어질 것이라는 생각을 했었습니다.
 
그런데 휴머노이드 사회에 대해서 고민하고 상상해봤을때는 공존이 가능 할 것도 같다는 생각이 많이 들게 되더군요.

휴머노이드 사회의 일부만을 조명해서 상상해본 것이라 많은 부분들이 고려되지 못했지만 말이죠.


물론 지구상에서, 국가에서 사회적 역할은 인간 중심에서 시스템 (AI, 휴머노이드) 중심으로 변화 하겠지만, 그래도 여전히 인간은 할일은 있고, 행복한 일을 찾아서 할 수 도 있을것 같습니다.

 


더 여러가지를 생각하다 보면, 인간이 휴머노이드와 경쟁하지 않는 분야도 있을 수 있고, 노동에서 벗어나 다른 꿈을 펼칠 수도 있을 것 같고, 인간으로서 만족하고 살 수도 있을 것입니다. 

 

음식은 휴머노이드들은 욕심 내지 않을 것이니, 음식은 저렴해질 수 도 있겠죠. ^^ (그냥 생각해본것)


 
생각보다 휴머노이드 생산 대 수가 많지 않을 수도 있습니다. 너무 비싼 비용 때문에 말이죠.

 

여기까지, 휴머노이드가 세상에 등장하게 되었을떄 그나마 인간 세상에서 공존할 수 있을까 를 상상해 봤습니다.

 


# 해피 코딩

 

반응형

 

AI 에이전트를 제대로 활용하려면: “어떻게 요청할 것인가”가 핵심이다

 

AI 기술이 빠르게 발전하면서, 이제는 단순한 질의응답을 넘어 업무를 대신 수행하는 AI 에이전트 시대가 열리고 있다. 하지만 많은 사람들이 간과하는 부분이 하나 있다.

바로 **“AI에게 무엇을 시키고, 어떻게 요청해야 하는가”**이다.

 

AI 에이전트는 사람이 던지는 지시(프롬프트)에 따라 일의 수준이 완전히 달라진다. 그냥 질문을 던지는 것과, 목적을 고려해 구조화된 요청을 하는 것은 결과물의 질에서 큰 차이가 난다.

특히 다음 네 가지 요소를 정리해 요청하면, 에이전트는 훨씬 더 정확하고, 빠르고, 지속 가능한 방식으로 동작한다.

역할(Role) 지침(Guidelines) 목표(Goal) 배경(Background)





1. 역할(Role): AI가 어떤 ‘정체성’으로 행동할지를 정한다

 

AI는 스스로 직업을 선택하지 않는다.

사용자가 어떤 관점과 역할로 생각하길 원하는지 명확히 알려주면 능력이 극대화된다.

 

예를 들면:

 

  • “너는 지금 세무 전문가야.”
  • “너는 경험 많은 CTO라고 생각하고 설명해줘.”
  • “너는 영업 코치 역할을 해줘.”

 

역할을 부여하면, 에이전트는 그 역할의 기준, 용어, 사고방식을 자동으로 반영한다.

마치 회사에서 직책을 정해주는 것처럼, AI에게도 ‘자기 자신이 누구인지’를 먼저 알려줘야 한다.

 


 

2. 지침(Guidelines): 일의 방식과 선호 규칙을 설명한다

 

역할을 정해도, 모든 전문가가 같은 방식으로 일하는 것은 아니다.

따라서 일할 때 따라야 하는 규칙과 스타일을 짧게 제시하면 AI가 훨씬 더 일관적이고 선호에 맞게 작업한다.

 

예시:

 

  • “설명은 짧고 명확하게.”
  • “전문 용어는 쓰되, 처음 등장하는 용어는 풀어서 설명해줘.”
  • “결론 → 이유 → 예시 순서로 정리해.”

 

이런 지침을 통해 AI는 ‘어떻게 해야 내가 원하는 방식으로 일할 수 있는지’를 이해한다.

 


 

3. 목표(Goal): 무엇을 얻고 싶은지 명확히 말한다

 

AI에게 일을 맡길 때 가장 중요한 요소다.

결국 에이전트는 목표가 명확할수록 스스로 더 많은 판단을 대신해준다.

 

목표가 불명확하면 결과물도 흐릿하다.

반대로 목표가 명확하면, AI는 필요한 정보, 분석 방향, 산출물을 스스로 추론해낸다.

 

예:

 

  • “10분이면 읽을 수 있는 블로그 글을 작성하는 것이 목표야.”
  • “우리 팀이 의사결정을 빨리 할 수 있도록 요약해줘.”
  • “실제 개발에 바로 사용할 수 있는 코드가 필요해.”

 

AI에게 의도와 목적을 공유하는 것만으로도 결과물 수준이 확 높아진다.

 


 

4. 배경(Background): 상황·맥락·제약을 알려주기

 

사람도 상황을 모르면 제대로 일하기 어렵다.

AI도 마찬가지다.

 

따라서 요청할 때는 왜 이 작업이 필요한지, 현재 어떤 상황인지, 어떤 제약이 있는지 알려주는 것이 좋다.

 

예:

 

  • “신규 고객을 위한 이메일을 작성해야 하고, 고객층은 40대 자영업자야.”
  • “현재 우리 회사는 Flutter + Unreal Engine 구조로 개발 중이야.”
  • “한국 기준 법적 요건에 맞춰야 해.”

 

이런 배경 정보를 주면, AI 에이전트는 단순히 텍스트를 생성하는 것이 아니라 맥락을 이해한 상태에서 판단하게 된다.

 


 

왜 이 네 가지가 중요한가?

 

AI 에이전트는 지시의 구조에 따라 사람처럼 역할을 수행하며 멀티스텝 사고를 한다.

하지만 무엇을 기준으로 판단해야 하는지 모르면, 효율이 떨어질 수밖에 없다.

 

따라서 역할·지침·목표·배경을 포함한 요청을 하는 방식은 중요한 프레임워크가 된다.

 

이 구조로 요청하면 무엇이 좋아지는가?

 

  • 결과물이 더 정확하다
  • 반복작업에 일관성이 생긴다
  • 오해나 불필요한 수정이 줄어든다
  • 장기적 프로젝트에서 에이전트가 ‘연속성’을 갖는다
  • 사람의 개입 없이도 똑똑하게 판단한다

 

즉, AI가 ‘내 일을 대신하는 동료’처럼 움직이게 된다.

 


 

마무리: AI 에이전트 시대의 핵심 역량은 “요청하는 능력”

 

AI를 잘 쓰는 사람과 못 쓰는 사람의 차이는 기술 이해도가 아니다.

가장 큰 차이는 AI에게 어떻게 요청하느냐, 즉 ‘지시를 구조화하는 능력’이다.

 

역할(Role)

지침(Guidelines)

목표(Goal)

배경(Background)

 

이 네 가지를 의식적으로 구성해 요청하기만 해도,

AI 에이전트는 여러분의 일을 대신해줄 수 있는 강력한 파트너가 된다.

반응형

 

 

 

토이 판매점이었던 코엑스 NABITA(나비타)에, War Hammer 4000 과 도색 용품이 들어왔습니다.

 

나비타 코액스 방문.

CITADEL 아크릴 페인트 (수입품 계열  국내 취급점이 별로 없음)

CITADEL 페인트 컬러 확인이 가능하게 아래와 같이 진열 되어있습니다.

 

 

도료의 종류? 특성? 이 여러가지로 구분되어있더군요.

- 베이스, 레이어, 쉐이드, 드라이, 컨트라스트, 테크니컬 ..

베이스가 일반적으로 사용하는 페인트이고,

컨트라스트는 묽어서 틈세쪽이나 굴곡아래쪽으로 진하게 덮여지는 것으로 이해 되더군요.

특성 파악은 칠해보면서 확인이 필요해 보이네요.

 

CITADEL 도료도 색상이 '쨍' 한 느낌으로 잘 나온다고 해서 기대되네요. ^^

 

WAR HAMMER 40000

 

반응형

 

 

간혹 우리는 DB를 작성하고 DB에서 전체 검색을 하고 하고 싶을 때가 있습니다.

그런데 column들이 나눠져 있다보니 이를 합쳐서 검색하기도 쉽지 않고, 또 연관관계까지 고려해서 작성하기도 쉽지 않습니다.

Postgres 에서는 ts_vector로 데이터를 vector로 합치고 검색하기 쉽게 되어있습니다.

 

supabase에서도 이를 이용해서 검색을 용이하게 하기 위한 인터페이스를 제공  하고 있죠.

 

 

https://supabase.com/docs/guides/database/full-text-search?queryGroups=language&language=js#search-multiple-columns

 

(supabse 의 textSearch는 postgres의 ts_query 를 기반으로 만들어져 있다.)

 

 

그러나 문제는 client api로 단어 검색을 하려다 보면, 완성된 단어는 잘 검색이 되는데, 중간 단어는 검색이 잘 안됩니다.

 

완성되지 않은 단어의 경우에는 (Partial search 참조) 따로 RPC 함수를 만들어 사용하라고 가이드 되어있습니다.

Partial search#
Partial search is particularly useful when you want to find matches on substrings within your data.
Implementing partial search#
You can use the :* syntax with to_tsquery(). Here's an example that searches for any book titles beginning with "Lit":

 

DB함수를 만들고 RPC로 호출 하는 것도 나쁘진 않습니다.

 

db 함수를 만들고.

select title from books where to_tsvector(title) @@ to_tsquery('Lit:*');

 

client에서 아래와 같이 사용한다.

const { data, error } = await supabase.rpc('search_books_by_title_prefix', { prefix: 'Lit' })

 

 

그러나 불편한 점도 있고,

아래 처럼 하나의 함수에서 다양한 쿼리 옵션들과 합쳐서 사용하기 힘들죠.

 

 async getPaginatedOpt({columns, keyword, offset, range=10, landscapeOnly, orderBy, orderByDesc}:{columns?: string, keyword?: string, offset?: number, range?: number, landscapeOnly?: boolean, orderBy?: string, orderByDesc?: boolean}): Promise<{ v: Partial<MyItem>[], total: number }> {

    let query = supabase.from("myitems_table").select(columns||'*', { count: 'exact' });

    if(landscapeOnly){
      query = query.eq('landscaping', landscapeOnly);
    }

    if(keyword){
      // query = query.or(`s_name.ilike.%${keyword}%,kr_name.ilike.%${keyword}%,jp_name.ilike.%${keyword}%,eng_name.ilike.%${keyword}%,nk_name.ilike.%${keyword}%`);
      query = query.textSearch('text_search',`${keyword}`,{type:'plain', config:'simple',});
    }

    if(offset!==undefined && range!==undefined){
      query = query.range(offset, offset + (range<1?1:range) - 1);
    }

    if(orderBy){
      query = query.order(orderBy, { ascending: orderByDesc||false });
    }

    const { data, count, error } = await query;
    
    if (error) {
      console.error('getPaginated error:', error);
      return { v: [], total: 0 };
    }

    return { v: data as Partial<MyItem>[] ?? [], total: count ?? 0 };
  },

 

 

우연찮게 textSearch 옵션에 'raw' 를 찾았습니다.

공식적으로는 plain, phrase, websearch만 명시되어있습니다만, "PostgREST의 FTS 연산자와 동일하게 작동" 한다고 되어있습니다.

FTS에는 raw라는 query가 있고, 이를 활용하면 접두사를 사용할 수 있습니다. " 오징:*" 와 같이 prefix 형태를 사용할 수 있죠.

 

// @ts-expect-error
query = query.textSearch('text_search',`${keyword}:*`,{type:'raw', config:'simple',});

 

물론 공식 API에는 제공되는것이 아니라서 typscript lint에서는 에러로 보입니다. ㅠ_ㅠ

 

공식 문서에서는 plain, phrase, websearch 3가지만 제공 됩니다. 그리고 이것은 완성된 단어들의 조합만 검색 가능합니다.

 

때로는 위와 같이 완성되지 않은 단어 검색도 필요하게 됩니다.

 

이때는 위와 같이 raw + keyword:* 가 되도록 해서 사용해보는 것도 좋을것 같네요.

 

이 방식의 단점
여전히 완벽하지 않다.

 

이렇게 구현해서 서비스에 적용하였으나, 검색이 완벽하지 않았습니다.
예를 들어,
"펨브록웰시코기" 라는 개의 종류 이름 있다고 합시다.
이 경우 "펨브록:*" 이렇게 하면 검색이 되지만, "웰시코기:*" 이렇게는 검색이 안됩니다.
즉, 단어의 맨 앞 글자부터 나오는 것만 검색이 된다는 것이죠.

 

 

DB 내의 검색 서비스를 만드는것은 다양한 것들을 고려해야하네요.~

 

 

 

#해피 코딩

 

 

 

 

반응형

 
 

AI 홈페이지 제작 도구 총정리

 

1. 전체 자동 제작형 (AI가 거의 다 만들어줌)

 
 

Durable

 

  • URL: https://durable.co
  • 특징: 30초 안에 AI가 전체 웹사이트 생성
  • 설명: 업종만 입력하면 텍스트, 이미지, 레이아웃 포함된 홈페이지 자동 생성
  • 추천 대상: 빠르게 간단한 비즈니스용 홈페이지 만들고 싶은 사람

 


 

10Web

 

  • URL: https://10web.io
  • 특징: WordPress 기반 AI 웹사이트 빌더
  • 설명: 챗봇 스타일로 대화하면 AI가 콘텐츠 구성 + 디자인 자동 생성
  • 추천 대상: 워드프레스를 기반으로 AI 기능을 활용하고 싶은 사용자

 


 

Bookmark (with AIDA)

 

  • URL: https://www.bookmark.com
  • 특징: AI 디자인 어시스턴트 ‘AIDA’
  • 설명: 사용자의 입력에 따라 자동으로 섹션 구성과 디자인 선택
  • 추천 대상: 웹 디자인 지식 없이 깔끔한 사이트 만들고 싶은 사람

 


 

2. 반자동 제작형 (템플릿 + AI 보조)

 

Wix with Wix ADI

 

  • URL: https://www.wix.com
  • 특징: Wix ADI가 자동 제작 / 세부 디자인은 수동 조정 가능
  • 설명: 업종, 목적, 색상 등을 입력하면 초기 레이아웃 생성 → 이후 세부 조정
  • 추천 대상: 디테일 커스터마이징도 하면서 빠르게 시작하고 싶은 사람

 


 

Zyro (by Hostinger)

 

  • URL: https://zyro.com
  • 특징: AI 텍스트 생성기 + AI 이미지 도구 내장
  • 설명: 템플릿 기반으로 시작하고, 내부 콘텐츠는 AI가 제안
  • 추천 대상: 브랜드 소개용 홈페이지, 랜딩 페이지 제작

 


 

Framer AI

 

  • URL: https://www.framer.com
  • 특징: 텍스트로 명령하면 UI 전체 구성
  • 설명: GPT 기반 텍스트 명령 → 실시간 웹사이트 디자인 생성 + 배포까지
  • 추천 대상: 디자이너, 프로토타이핑, 포트폴리오 제작

 


 

3. 마케팅 & 랜딩 페이지 특화

 
 

Unbounce Smart Builder

 

  • URL: https://unbounce.com
  • 특징: AI로 랜딩 페이지 생성 + A/B 테스트
  • 설명: 마케팅용 랜딩 페이지 자동 생성, 고객 유입 최적화에 특화
  • 추천 대상: 스타트업, 광고 마케터, 퍼포먼스 마케팅 팀

 


 

Copy.ai – Website Generator

 

  • URL: https://www.copy.ai/tools/website-copy-generator
  • 특징: 웹사이트 카피라이팅에 특화된 AI
  • 설명: 회사 소개, 제품 설명 등 홈페이지용 문구 자동 작성
  • 추천 대상: 콘텐츠 텍스트가 고민인 마케터, 창업가

 
 

v0.dev (by Vercel)

 

  • URL: https://v0.dev
  • 특징 / 목적: AI 기반 프론트엔드 UI 코드 생성기
  • 설명:사용자는 “블로그용 카드형 UI”, “로그인 화면”, “상품 목록 그리드 UI”와 같은 자연어를 입력하면,Vercel과 연동되어 있어, 작성한 UI를 실제 프로젝트에 빠르게 적용할 수 있으며,
  • 개발자에게는 디자인 시스템과 코딩 사이의 간극을 줄여주는 매우 강력한 도구입니다.
  • 그에 맞는 실제 코드 형태의 React 컴포넌트가 생성되며, 바로 수정하거나 복사하여 사용 가능합니다.
  • v0는 OpenAI의 GPT 모델을 활용해 텍스트로 React + Tailwind 기반 UI 컴포넌트를 자동 생성하는 도구입니다.
  • 추천 대상:
    • 디자이너 → 코드 없이 UI 설계 결과 확인
    • 프론트엔드 개발자 → 반복적인 UI 코드 작성 시간 단축
    • 스타트업 → MVP/랜딩페이지 빠르게 구성
    • 기획자 → 시각적 프로토타입 생성

 
 

비교 항목v0.devDurable / Wix / Framer 등
생성물 형태코드 (React + Tailwind)시각적 웹사이트
사용 방식프롬프트 → 코드 자동 생성프롬프트 → 레이아웃/디자인 생성
개발자 친화도매우 높음일반 사용자 중심
결과물 활용직접 개발 환경에 통합호스팅 또는 템플릿 기반 배포

 

반응형

 

기계는 생각할 수 있을까?

 
 
 
지금 우리가 너무나 익숙하게 사용하는 인공지능.
하지만 그 시작은 아주 단순한 질문에서 출발했습니다.
“기계도 인간처럼 생각할 수 있을까?”
 
이 물음에 답하기 위해 수많은 천재들이 바통을 이어달렸습니다.
그 긴 여정을 함께 따라가 보겠습니다.
 


 

제1주자: 앨런 튜링 — 질문으로 시작된 혁명

 
1950년, 영국의 수학자 **앨런 튜링(Alan Turing)**은 이런 질문을 던졌습니다.
“기계가 생각할 수 있을까?”
 
튜링은 2차 세계대전 당시 독일군의 암호 시스템 **에니그마(Enigma)**를 해독한 인물로,
현대 컴퓨터 과학의 아버지로도 불립니다.
 
 

튜링의 주요 업적

 

  • 1936년: 튜링 머신 개념을 발표하며 컴퓨터 이론의 토대를 마련
  • 1940년대: 에니그마 해독 성공으로 전쟁 종식에 기여
  • 1950년: AI 철학을 담은 논문 「Computing Machinery and Intelligence」 발표

 
그는 여기서 **‘튜링 테스트’**라는 개념을 제안합니다.
 

“기계가 인간처럼 대화해 판별자가 그것을 사람으로 착각한다면, 그 기계는 지능이 있다고 간주하자.”

 


 

제2주자: 존 매카시 — AI라는 이름을 붙이다

 
1956년, 다트머스 회의에서 미국의 수학자 **존 매카시(John McCarthy)**는
Artificial Intelligence(인공지능)’라는 이름을 처음으로 사용합니다.
 
그는 AI의 초기 방향을 설정하고, 이를 프로그래밍할 수 있는 언어 LISP도 개발합니다.
이 언어는 이후 수십 년간 AI 연구의 표준 언어로 사용됩니다.
 


 

제3주자: AI의 첫 번째 겨울 (1974–1980)

 
초기 챗봇 ELIZA의 등장은 잠깐의 기대를 안겨주었지만,
실제 수준은 매우 단순했습니다.
“정말로 기계가 이해하고 대화하는 걸까?”라는 의심이 퍼지면서
연구 자금이 끊기고 정부 지원도 줄어듭니다.
 
 

AI의 겨울이란?
기술의 발전 속도가 기대에 못 미치며,
연구와 투자가 대폭 줄어든 시기를 ‘AI의 겨울’이라고 부릅니다.

 


 

제4주자: 전문가 시스템의 시대 (1980–1987)

 
AI는 새로운 방식으로 다시 주목받기 시작합니다.
전문가 시스템이 그 중심에 있었죠.
 
전문가 시스템은 사람의 지식을 ‘규칙’으로 입력하여
기계가 특정 분야의 문제를 해결하게 하는 방식입니다.
대표 사례로는 의학 진단 시스템 MYCIN이 있습니다.
 
하지만 규칙이 많아질수록 오류가 늘고,
기계는 여전히 스스로 배울 수 없다는 한계가 존재했습니다.
 


 

제5주자: 두 번째 겨울 (1987–1993)

 
기술적 한계로 인해 또다시 AI에 대한 회의가 퍼졌고,
두 번째 겨울이 찾아옵니다.
 
 

이유는 다음과 같았습니다:

 

  • 전문가 시스템의 확장 한계
  • 규칙 기반 시스템의 오류율 증가
  • 자동 학습 기능 부재
  • 현실 적용 실패

 


 

제6주자: 딥블루 vs 인간 (1997)

 
AI는 또 다른 방식으로 모습을 드러냅니다.
**IBM의 딥블루(Deep Blue)**는 1997년,
체스 세계 챔피언 가리 카스파로프를 꺾습니다.
 
기계가 계산 능력만큼은 인간을 앞지를 수 있다는 사실을
전 세계에 각인시킨 사건이었습니다.
 


 

제7주자: 딥러닝의 부활 (2012)

 
2012년, 캐나다 토론토 대학의 교수 **제프리 힌튼(Geoffrey Hinton)**이
딥러닝 기반 이미지 분류 모델 AlexNet으로
세계 이미지 인식 대회에서 압도적인 성과를 내며 주목받습니다.
 
 

딥러닝이란?

 

인간 뇌의 신경망 구조를 본떠 만든 인공 신경망을 통해
데이터에서 직접 특징을 학습하는 기술입니다.

 
이제 AI는 사람이 모든 규칙을 알려주지 않아도
스스로 배울 수 있게 됩니다.
 


 

제8주자: 알파고 — 인간 직관의 무너짐 (2016)

 
2016년, 구글 딥마인드의 **알파고(AlphaGo)**는
바둑 세계 랭킹 1위였던 이세돌 9단에게 4:1로 승리합니다.
 
딥러닝과 강화학습을 통해
AI는 인간조차 두지 않는 수를 두며,
‘창의적’이라는 평가를 받습니다.
 


 

제9주자: ChatGPT의 등장 (2022)

 
2022년 말, OpenAI는 ChatGPT를 공개합니다.
이제 AI는 누구나 사용할 수 있는 도구가 되었고,
단순한 대화는 물론, 문서 작성, 코드 생성, 이미지 설명까지 가능해졌습니다.
 
GPT-4, GPT-4o에서는 멀티모달 AI로 발전하며
텍스트, 이미지, 음성, 영상까지 처리할 수 있는 AI 파트너 시대를 열었습니다.
 
 
 
 
 
 

시기주요 인물/기술핵심사건의미
1950s앨런 튜링튜링 테스트 제안AI의 철학적 출발점
1956존 매카시‘Artificial Intelligence’ 명명AI 학문의 공식 출발
1960s–70sELIZA챗봇 등장 → 기대감 상승기술적 한계 노출 → 첫 번째 겨울
1980s전문가 시스템MYCIN 등 등장규칙 기반 문제 해결 시스템
1987–1993기술 한계 → 두 번째 겨울데이터 부족과 유지보수 실패
1997딥블루체스 챔피언 꺾음계산 능력에서 인간을 뛰어넘음
2012제프리 힌튼, AlexNet딥러닝 모델 부상기계 학습의 본격 시작
2016알파고바둑에서 인간 승리직관 영역에서도 AI 가능성 입증
2022~ChatGPT범용 AI로 진입일상 속 AI, 누구나 활용 가능한 시대

 
 

마치며

 
튜링이 던진 질문 하나가
오늘날의 ChatGPT까지 이어졌습니다.
그리고 그 여정은 여전히 현재진행형입니다.
 
컴퓨터시대가 그랬듯이,
이제 다음 주자는 AI를 만들고 주도하는 기업이나 단체가 뿐만아니라 AI를 활용하고 생활화 하는 모든 사회 구성원들이 될것입니다.
 
#해피 코딩!!

반응형

여러분 AI시대에는 무엇을 해야 할까요?

 

직업으로 보자면, AI 전문가가 되어야하나?, 코딩을 배워야 하나?, 내 직업이 조만간 없어질수 도 있다는데? 무엇을 해야 하지?

아마 이런 고민들을 하고 계시는 분들은 AI시대를 피부로 느끼시는 분들일 것이라 생각됩니다.

 

저도 항상 이런 고민들을 하고 있는 AI와 옆에서 경쟁을 하고 있는 개발자다 보니 더더욱 고민이 되는 부분입니다. 

지금까지는 AI를 도구처럼 사용하고 있지만, 점차 도구로 사용되던 AI 보다는 에이전트( 옆에서 도와주는 도우미?, 어시스턴트?, 집사?) 이런 개념이 될것입니다.

 

로봇은 제외 하더라도 우리가 쓰는 모든 기기에 AI가 들어가거나 AI를 이용해서 제어하는 시스템이 될거에요.

차, 도어락, 집안 조명, 티브이, 냉장고, 세탁기, 에이컨, 보일러 ... 등등 수많은 것들에 들어가겠죠.

 

아 .. 이런 이야기를 하려던건 아니었는데 주제가 잠시 비켜갔네요. (하지만 연결되어있어요)

 

소비라는 관점에서 살펴봅시다.

소비의 주체는 사람이죠(기업간의 거래 환경유지, 세금 뭐 이런걸 다 한다 하더라도 가장 밑바닥은 사람이라고 생각하는게 합리적입니다.)  생산의 주체는 기업입니다.

기업은 이익을 위해서 AI를 사용해서 보다 좋은 서비스를 소비자에게 제공해야 합니다. 그래야 이익을 남기고 더 좋은 AI를 개발하겠죠.

인간이 끼어들 틈은 어디일까요?

 

 

우리는 소비라는 부분에 집중해서 생각해볼 필요가 있어요.

인간이 하는 소비는 크게 2가지로 나눠 볼수 있어요. 

필수품에 대한 소비, 기호에 의한 소비 이죠.

 

하지만 현대 시대에 문명, 문화를 누릴수 있는 곳에서 살고 있는 사람이라면, 필수품과 기호품에 대한 구분이 모호해 집니다.

밥은 분명 섭취해야 하는 필수 품이지만, 밥을 만드는 쌀은 종류가 너무나 많죠? 또 밥을 제공해주는 식당들도 너무 다양합니다.

결국 사람의 기호에 의해서, 그날의 기분에의해서 밥의 종류도 달라집니다.

 

즉, 소비라는 측면은 곧 인간의 욕구, 개인의 욕구에 해당하는 부분이 될 수 도 있다는 것이죠.

그러나 개인의 욕구는 너무나도 다양합니다. 또 너무나도 변화 무쌍합니다.

 

"오늘 정말 맛있는 빵을 파는 빵집을 발견했어요."

하지만 1주일 이상 그 빵만 먹으면 더이상 그 빵은 맛있는 빵이 아니게 됩니다.

다른 빵을 파는 빵집을 찾겠죠. 또 그 빵집이 최애 빵집이 됩니다. 그 빵집도 1주일을 못갈거에요.

 

기업들은 다른 기업과의 경쟁에서 우위를 갖기 위해서 이런 데이터가 정말 필요할것 같지 않나요?

생각해보면, 내가 원하는것을 바로 찾아주고 , 바로 반영해주는  AI와 내가 원하는 것을 일일이 말해주고 설정해주고 결과를 가져와서 적용해야 하는 AI 두가지가 있다고 한다면, 소비자는 전자를 원하겠죠.

그렇게 되기 위해서는 기업은 사람을 이해해야 합니다.

 

 

자! 그럼 AI시대에 무엇을 해야 하는가?

1. 사람들의 취향을 모으는 데이터를 만들어 가는 것도 좋은 비지니스가 될수 있을 것 같네요.

2. 나의 취향을 제공하는 것도 비지니스가 되지 않을까요?

3. 항상 변화하는 나의 갈대같은 마음도 데이터가 되고 분석이 될수 있지 않을까요?

 

AI에게 학습할 수 있는 꺼리들을 만들어 주는 것 자체가 하나의 비지니스가 될 수 있습니다.

AI시대는 학습 모델을 만드는 것도 매우중요한 일이지만,

나만의 데이터를 모으는 것이 정말 중요해지는 시대일것 같습니다.

 

만약 내가 내 생활 패턴을 1년동안 기록했다. 10년 동안 기록했다. 그렇다면, 이 데이터를 판매 할수 있지 않을까요?

나만의 데이터를 그동안 활용을 못했었지만, 앞으로는 얼마든지 활용할 수 있는 도구들이 만들어질거에요. 또 쉽게 만들 수도 있어요.

 

#해피 코딩  ㅠ_ㅠ

 

 

+ Recent posts