분류 전체보기 806

일상에 기여하고 싶다는 마음

깨달음1. AI와 함께 민주화되는 영역의 확장. 그 과정에서 내가 할 수 있는 것은 무엇일까?2. 나도 사람들의 일상에 기여하고 싶다는 마음.3. 답은 내 머릿속이 아닌, 고객의 행동에서 찾아야 한다.4. 제품의 본질을 잊지 않고 그것을 드러내는 활동이 브랜딩이지 않을까.5. 변화는 목적이 아닌, 더 나아짐을 위한 과정이다. 변화하지 않는 것이 더 나은 경우도 있을 것.  BIC : 볼펜만 쓰셨나요? 타투도 합니다! 74년 전통 기업의 변신기 BIC : 볼펜만 쓰셨나요? 타투도 합니다! 74년 전통 기업의 변신기롱블랙 프렌즈 L 혹시 자주 쓰는 볼펜이 뭐야? 나는 빅BIC! 그중에서도 난 300원짜리 ‘크리스탈 펜Cristal Pen’을 즐겨 써. 잉크가 훤히 들여다 보이는, 바로 그 육www.longb..

내 주관을 가지고 살자

깨달음네트워크 효과와 비슷하군. 그렇기 때문에 내 주관을 가지는 것이 중요하다. 주관이 없는 상태에서의 결정은 최대한 미루는 것이 좋겠다.남들과 생각이 달라도 내 존재가 위협받지 않는다는 것을 인지하자!사이가 좋다는 것은 생각이 일치한다는 것이 아니라, 생각이 다름에도 서로를 존중하고 이해하는 것.내 귀에 자주 들린다고 해서 그것을 진실이라고 믿지 말 것.우리의 목적에 맞는 의견이라면 그것이 무엇이든 눈치 보지 말고 의견을 내자.대부분이 자신이 살고 싶은 삶을 못 사는 것 같다. 안타까움…대부분의 사람들이 하는 일은 하지 말자. 남들이 말하는 좋다고 하는 것, 해야 된다고 하는 것들을 자세히 살펴보면 대부분 내가 원하는 삶과 무관한 것들이다.나만의 성공을 정의하자. 그런데 그 정의가 남들과 비슷하다면? ..

원하는 삶이 있다면 그만두지 말 것

깨달음인스타툰에 도전하고 싶다는 생각.대비를 주어 강조하기.투 머치는 언제나 조심하자.클라이언트의 요청은 재미있는 미션, 그 안에서 내 개성을 표현하는 것이 윈윈. 요청만 수행하면 그것은 오퍼레이터.협업에서 상처받을 이유는 없다!원하는 삶이 있다면 그만두지 말 것. 그만두지 않는 삶이 예술이다.본격 일러스트레이터가 된 페데리카. 뉴욕타임즈와 협업하기까지 1년이 채 걸리지 않았어요. 비결이 뭘까요? “전 누구나 경험했을 법한 일상 속 순간을 그려요. 이해하기 쉽고, 유머러스하게요.”⇒ 최근들어 인스타툰에 도전하고 싶다는 생각이…페데리카 일러스트의 숨은 비결. 유머러스한 스케치와 알록달록한 색감에 비해 의외로 배경은 단조로워요. 그래야 그 위에 올린 주제가 명확히 드러나죠.⇒ 대비를 주어 강조하기.화려해 보..

잘하지 못하는 길을 선택하는 것이 새로운 나를 발견하는 방법이다

깨달음사람은 타인과 연결될 때 행복을 느낀다.자신을 위축시키는 환경에서 벗어날 것.미래의 나 자신과 가족들에게 부끄럽지 않은 지금을 살아낼 것.모두가 가는 정석의 길에서 벗어나 나만의 방법으로 시작할 것.평소 잘 하던 것을 작게 시작해볼 것.본래 시장에서 근접 시장으로 확장하자.상대를 생각하는, 상대가 스스로에 대해 생각해볼 수 있게 만드는 질문 좋다!대화에 있어서 가장 중요한 것은 솔직함!잘하지 못하는 것, 실패할 것 같은 길을 선택하는 것이 새로운 나를 발견하는 방법이다.무대 앞의 이승국이 가장 좋아하는 순간은, ‘타인과 내가 연결될 때’였어요. 제 감성과 생각이 공감을 불러일으키는 순간을 좋아했던 것 같아요.⇒ 사람은 타인과 연결될 때 행복을 느낀다. 숨 쉴 틈이 되어준 건 교회 행사. 친구들과 함..

Supabase의 RPC를 활용해 실시간 카운터 기능 구현하기

제가 최근에 만든 서비스는 홈 화면에 사용자들의 이용 수 보여주고 있습니다.이처럼 사용자의 이용 수를 카운트하여 보여주고 흥미를 끄는 방식이 있는데요. 이런 카운트 기능을 어떻게 구현할까 고민하다 supabase의 RPC를 이용해 구현해 보았습니다. 이 글은 그 과정에 대해 설명하는 글입니다. 이 글을 끝까지 읽으면 꼭 카운터가 아니더라도 비슷한 상황에서 적절히 사용하실 수 있을 겁니다.  사용자가 버튼을 클릭하면 숫자를 올려줘처음에는 이 기능을 이용 중에 생성된 DB row의 수를 기준으로 숫자를 카운트했습니다. 하지만 이 row는 서비스를 끝까지 이용했을 때에만 생성되기 때문에 중간에 이탈한 사용자의 수는 숫자로 카운트되지 않았죠.. 그래서 버튼을 클릭하자마자 숫자가 올라가도록 수정했습니다. 먼저 ..

Next.js 14 환경에서 간단하게 다국어 적용하기

Next.js 14 환경에서 간단한 다국어 지원 방법이번 글에서는 Next.js 14 환경에서 외부 라이브러리 없이 간단하게 다국어 지원을 구현하는 방법을 소개하겠습니다. 다국어 지원을 위해 보통 next-i18next 같은 라이브러리를 사용하지만, 막상 적용해보려고 하니 module 추가하고, path 추가하고, 컴포넌트 추가하고, 솔직히 말해서 굳이 이렇게까지 해야하나? 싶더라고요. 게다가 인터넷에 올라온 자료들이 Next.js 14 이전 버전에 맞춰져 있어서 실제로 적용이 잘 안되더군요. 그래서 깔끔하게 포기하고 라이브러리 없이 직접 간단하게 구현하기로 합니다. 아래는 그 과정을 간단한 예시로 정리한 내용이니 참고해서 본인 프로젝트에도 적용해보세요.   1. 다국어 데이터 파일 생성하기먼저, 각 언..

Flutter의 Wrap 위젯으로 동적 레이아웃 쉽게 구성하기

Flutter에서 Wrap 위젯 사용법Flutter로 앱을 개발할 때, 여러 개의 위젯을 한 줄에 배치해야 하거나 화면 크기에 맞춰 유동적으로 배치하고 싶을 때가 있습니다. 이럴 때 유용한 것이 바로 Wrap 위젯이죠. 오늘은 Wrap 위젯의 사용법과 장점에 대해 소개해보겠습니다.  Wrap 위젯이란?Wrap은 말 그대로 아이템을 감싸주는 레이아웃입니다. 보통 Row나 Column을 사용하면 아이템들이 한 방향으로만 배치돼서 화면 크기에 따라 넘쳐버리는 문제가 생기곤 하는데요. 반면, Wrap은 공간이 부족할 때 자동으로 줄바꿈을 해주기 때문에, 반응형 레이아웃을 쉽게 만들 수 있습니다.   기본 사용법Wrap 위젯의 기본적인 구조는 아래와 같습니다.Wrap( spacing: 20.0, // 열 사이의..

Intent URL로 Android 외부 브라우저로 리다이렉트하기

웹 애플리케이션을 개발할 때, 특히 Android 환경에서 인앱 브라우저 대신 외부 브라우저(주로 Chrome)로 사용자를 강제 이동시켜야 하는 상황이 종종 발생합니다. 이 글에서는 Android의 Intent를 활용해 외부 브라우저로 리다이렉트하는 방법을 살펴보겠습니다.  Intent URL을 사용한 외부 브라우저 리다이렉트아래는 Android 디바이스에서 특정 URL을 외부 브라우저로 열기 위해 Intent URL을 생성하는 코드입니다.const currentUrl = window.location.href;const redirectUrl = "intent://domain.co.kr/#Intent;scheme=https;package=com.android.chrome;S.browser_fallback..

Next.js 에서 iOS와 Android 사용자 핸들링 방법

웹사이트나 웹 애플리케이션을 개발할 때, 사용자 경험을 최적화하기 위해 iOS와 Android 사용자를 구분해서 처리해야 할 때가 있습니다. 특히, 카카오톡이나 라인, 인스타그램 같은 인앱 브라우저에서 서비스를 불러오는 경우, 사용자가 어떤 기기를 사용하느냐에 따라 구현한 내용과 다르게 동작하는 경우가 많습니다. 소셜 로그인이 되지 않는다거나 이미지를 다운받을 수 없거나 등이죠. 이번 포스팅에서는 Next.js에서 iOS와 Android 사용자를 구분하고, 각각의 사용자에게 맞는 행동을 취하는 방법을 소개하겠습니다.  전체 코드아래는 iOS와 Android 사용자를 구분하여 처리하는 전체 코드입니다."use client";import Editor from "components/Editor";import ..

슬랙 봇으로 '채널 초대' 기능 구현하기

앞서 우리는 슬랙 봇에서 사용자가 특정 멤버를 여러 채널에 초대할 수 있도록 모달을 띄우는 기능을 구현했습니다.  슬랙 봇으로 '채널 초대' 모달 띄우기이전 글에서 /관리자 명령어를 통해 관리자만 접근할 수 있는 메뉴를 만드는 방법에 대해 설명했었습니다. 2024.08.29 - [나는 이렇게 논다/글또 슬랙 봇 개발기] - 슬랙 봇으로 나만 보이는 '관리자daco2020.tistory.com  이번에는 '채널 초대'를 마무리 짓기 위해, 사용자가 모달에서 제출한 정보를 바탕으로 실제로 채널 초대를 수행하는 방법을 설명하겠습니다.  채널 초대 뷰 핸들링채널 초대를 처리하는 뷰 이벤트 함수는 handle_invite_channel_view로 지었습니다. 뷰 모달에서 제출된 데이터를 받아서 처리하죠. 이 함수..