본문 바로가기

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", ".. 더보기
단순 반복 작업을 효율적으로! 맥북 최고의 앱 단순 반복 작업을 맥북이 대신 해줬으면.. 맥북을 사용하며 단순 작업에 지친적이 있으셨다면 이러한 생각을 한번쯤은 하셨을 것이라 생각합니다. 이렇게 생각하셨던 분이나 생각하시는 분이시라면 오늘 소개해 드리는 Keyboard Maestro 를 꼭 주목하시기 바랍니다. 공식 홈페이지에도 나오는 내용처럼 맥월드 최고의 앱으로 선정된 Keyboard Maestro 라는 프로그램을 설명드리자면 사용자가 로그인 , 단축키 입력 , usb입력 , 특정 스크립트 입력 시 커스텀 한 매크로를 실행시켜주는 프로그램입니다. 반복 엑셀작업은 물론이며 특정 웹페이지 열기 , 아이튠즈 제어까지 맥의 기능을 간단하게 매크로로 실행시켜 주는거지요. 사용하기 위한 절차를 한번 알아보겠습니다. 1.설치 https://www.keyboa.. 더보기
코딩하기 편한 폰트는 무엇일까? 개발자이거나, 개발자를 꿈꾸는 학생이거나, 코딩을 한 줄이라도 해본 사람들에게 질문을 하나 던져보겠습니다. 코딩하는데 폰트가 얼마나 중요하다고 생각하시나요? 여러분들은 코딩을 처음 접했을 땐 어떤 IDE였나요? notepad? wordpad? eclipse? dreamweaver? 저는 코딩을 notepad에서 처음 접했었습니다. 코딩 아닌 코딩을 접했을 땐 IDE의 존재도 몰랐기에 그저 메모장에다 끄적이는 수준이었지요. 메모장의 기본 폰트는 Fixedsys입니다. 조사해 본 결과 이클립스는 Courier New, 드림위버는 Times New Roman라고 하더라고요. 이번 이야기의 주제는 질문에서도 언급했던 폰트에 대해 이야기해볼까 합니다. 폰트에도 개발하기 편한 폰트가 있습니다. 첫째. 문자를 구별하.. 더보기
찾았다! 브런치 RSS 안녕하세요. 세컨드스페이스 이우주입니다. 결론부터 이야기하죠. 브런치에도 RSS 기능이 있습니다!! 브런치 RSS를 왜 찾게 되었는지, 그리고 어떻게 찾을 수 있는지 알려드리겠습니다. 브런치는 RSS를 숨겼다. ( 원작 : 엄마는 게임을 숨겼다 ) 사건의 발단은 소소했습니다. 저는 회사 사이트 리뉴얼 작업을 진행 중이었습니다. 리뉴얼 내용 중에는 회사 계정의 브런치 글을 불러와 보여주는 것이 포함되어 있었습니다. 흔히 말하는 RSS 파싱입니다. 그래서 개발팀을 찾아갔더랬죠. 나 : 브런치 RSS parsing을 만들어 주세요~! 개발자 : 브런치에는 RSS가 없습니다. 나 : 네? 개발자 : 없다고요. 나 : 네? 개발자 : 네? 나 : 네? ?????? 이게 무슨 소리인가 싶었죠. 브런치는 블로그인데... 더보기