본문 바로가기

Dev

BGMs 개발기 (YouTube 플레이리스트 공유 및 원격 음악 재생 서비스) 회사 초창기부터 5년가량 내부에서만 사용하던 쥬크박스 시스템을 오픈하였습니다. 쥬크박스 개발기를 적어보려고 합니다. 이번 글에서는 어떻게 쥬크박스가 나오게 됐는지, 어떻게 개발했는지 등에 대해서 이야기해보겠습니다. 창업 초기 노동요가 없으면 견딜 수 없는 CTO가 노래가 없는 사무실은 너무나 쓸쓸하다며 유투브를 이용하여 뚝딱뚝딱 쥬크박스를 만들었었습니다. (네. 제가 만들었습니다. ㅎㅎ) 노래를 추가할 수 있는 권한은 동등해야하기 때문에 직원들 모두 노래를 추가할 수 있어야 했습니다. 그래서 플레이어를 하나 두고 각자의 자리에서 노래를 추가할 수 있는 쥬크박스 시스템을 구상했습니다. 이런 쥬크박스... 창업초기기도 했고 내부에서 사용하기 때문에 무료, 무료무료무료가 매우 중요했습니다. 그래서 우리의 CT.. 더보기
PHP를 편하게 개발하기 위한 알뜰 함수 5선 php로 개발을 시작하면서 php 내의 함수는 정말 다양하고 수가 많기 때문에 php 매뉴얼을 자주 찾아보게 되었는데요. 그중에서 잘 알려지진 않지만 알고 나면 알뜰하게 쓰일 함수들 5개를 선정하여 알려 드리려 합니다. 함수 목록 1. exec 2. uniqid 3. array_walk 4. setlocale 5. shuffle 1. exec() php 내에서 리눅스 명령어를 사용할 수 있다!! 리눅스 명령어를 php 내에서 사용할 수 있게 하는 함수입니다. 사용법 string exec ( string $command [, array &$output [, int &$return_var ]] ) exec("리눅스 명령어", "결과를 저장할 변수명" , "에러 발생 시 저장할 변수명") 사용 예시 $exec.. 더보기
클라이언트가 궁금해하는 IT 서비스 개발 #2 안녕하세요. 지난 클라이언트가 궁금해하는 IT 서비스 개발 #1에 이어 2편을 작성해보려 합니다. 1편에 여러 이야기를 담으려고 했는데 하나하나 답변이 길어지는 바람에 2편을 작성하기로 하였습니다. 자고로 글은 길면 읽는 맛이 떨어지는 법이죠! 시작합니다요오오 1. 기획은 어떻게 해주시는 건가요? 많은 분들이 기획에 어려움을 가지고 계시고 기획, UX/UI에 대한 문의를 많이 해주십니다. 뭐 기획이야 간단하게 클라이언트 분들과 많은 시간을 함께하고 대화를 열심히 해서 좋은 기획을 만드려고 노력합니다. 신기술이 있다면 제안드리고 좀 더 좋은 UX를 위해서 기존의 기획을 변경도 해가면서 말이지요. 이런 이야기가 듣고 싶으셨던 건 아니었을 거고 실제 결과물이 어떻게 나오는지 궁금해하실 것 같습니다. ^____.. 더보기
클라이언트가 궁금해하는 IT 서비스 개발 #1 앱/웹 개발을 진행하며 많은 클라이언트 분들을 만나고 미팅을 진행해보면 거의 물어보시는 게 비슷비슷합니다. 물론 IT 서비스에 이미 많은 경험을 하시어 궁금해 하기보다 먼저 "이 기술로 만들어 주시죠."라고 하시는 분들도 계십니다. 그렇지만 경험상 대체로 "나는 아무것도 모른다. 전부 다 알려줘야 한다"의 경우가 많습니다. 그. 래. 서 준비해보았습니다. 미팅 시에 가장 많이 듣는 질문과 물어보진 않지만 자연스럽게 알려드려야 하는 내용들에 대해서 이야기해보겠습니다. (업계 분들은 이 글 내용이 너무나 쉬운 내용이므로 스킵을 추천드립니다.) 1. 반응형과 모바일 웹을 따로 만드는 건 뭐가 다른가요? PC/Mobile 웹 사이트는 당연히 함께 의뢰하게 됩니다. 모바일에서 서비스를 하지 않을게 아니라면 말이죠.. 더보기
Firestore + Functions 메일 보내기 구글 Firebase의 Firestore의 트리거를 이용해서 특정 값이 변경되었을때 메일을 발송하는 방법에 대해서 알아보겠습니다. nodemailer를 이용하여 smtp 메일 발송을 할 수 있습니다. 지메일의 경우 보안이슈로 인해서 링크(https://myaccount.google.com/lesssecureapps )에서 '보안수준이 낮은 앱의 엑세스'를 허용해주어야 합니다. functions를 이용하기 위해 firebase 에 로그인을 하고 초기화를 해줍니다. firebase login firebase init functions/package.json 파일의 dependencies 에 nodemailer를 추가합니다. "dependencies": { "firebase-admin": "~6.0.0", ".. 더보기
SNS 로그인 개발 알쓸신잡 이번에는 각종 SNS 로그인을 개발 할 때 유의해야 할 점을 이야기해보려 합니다. 현재 많은 웹사이트에서 로그인, 공유하기, 업로드 등의 기능이 사용되고 있습니다. (물론 더 많은 걸 사용할 수 있지만..) 한 5년 전만 해도 SNS API를 붙이는 게 그렇게 복잡하지 않았습니다. 물론 그 당시에는 자료도 많지 않아서 맨땅에 헤딩인 경우가 많았지만요. 저도 SNS API 덕분에 쏠쏠한 수입을 올릴 수 있었죠.. (훗) 그런데 시간이 지나고 버전이 올라가고 써드파티 앱에서 개인정보나 보안등에 이유로 인하여 절차가 복잡해지고 있는 실정입니다. (변경된 줄 모르고 저렴한 가격에 일을 받았다가 낭패 본 적이.. 크흠) 그래서 오늘은 국내에서 많이 쓰이는 SNS 로그인의 몇 가지 팁을 공유해보려고 합니다. 디테일.. 더보기
단순 반복 작업을 효율적으로! 맥북 최고의 앱 단순 반복 작업을 맥북이 대신 해줬으면.. 맥북을 사용하며 단순 작업에 지친적이 있으셨다면 이러한 생각을 한번쯤은 하셨을 것이라 생각합니다. 이렇게 생각하셨던 분이나 생각하시는 분이시라면 오늘 소개해 드리는 Keyboard Maestro 를 꼭 주목하시기 바랍니다. 공식 홈페이지에도 나오는 내용처럼 맥월드 최고의 앱으로 선정된 Keyboard Maestro 라는 프로그램을 설명드리자면 사용자가 로그인 , 단축키 입력 , usb입력 , 특정 스크립트 입력 시 커스텀 한 매크로를 실행시켜주는 프로그램입니다. 반복 엑셀작업은 물론이며 특정 웹페이지 열기 , 아이튠즈 제어까지 맥의 기능을 간단하게 매크로로 실행시켜 주는거지요. 사용하기 위한 절차를 한번 알아보겠습니다. 1.설치 https://www.keyboa.. 더보기
코딩하기 편한 폰트는 무엇일까? 개발자이거나, 개발자를 꿈꾸는 학생이거나, 코딩을 한 줄이라도 해본 사람들에게 질문을 하나 던져보겠습니다. 코딩하는데 폰트가 얼마나 중요하다고 생각하시나요? 여러분들은 코딩을 처음 접했을 땐 어떤 IDE였나요? notepad? wordpad? eclipse? dreamweaver? 저는 코딩을 notepad에서 처음 접했었습니다. 코딩 아닌 코딩을 접했을 땐 IDE의 존재도 몰랐기에 그저 메모장에다 끄적이는 수준이었지요. 메모장의 기본 폰트는 Fixedsys입니다. 조사해 본 결과 이클립스는 Courier New, 드림위버는 Times New Roman라고 하더라고요. 이번 이야기의 주제는 질문에서도 언급했던 폰트에 대해 이야기해볼까 합니다. 폰트에도 개발하기 편한 폰트가 있습니다. 첫째. 문자를 구별하.. 더보기