나는 코딩을 배운 초등학생 때부터 프로덕트를 만들기 시작한 중학교 시절도 그렇고 언제나, 사실은 지금도 계속 프로덕트를 론칭하고 싶다. 작년 호기롭게 SNS를 론칭하고 덤벼들었다가 다채롭게 망해버린 SNS 이야기를 해보고자 한다. 발단그냥 친구와 얘기하다가 SNS를 만들어볼까?라는 생각이 들어 만들게 되었다(...) 그래서 친구에게 또 다른 친구를 소개받아 친구의 친구와 함께 이 프로덕트를 시작하게 되었다.나는 PHP로 백엔드를 만들었고, 그 친구는 프런트엔드를 담당했다. 사실 너무 무모하게 기획했었다. 어떠한 지양점을 가진 SNS인지 설정하지 않았고 그냥 와 같은, 커뮤니티를 만들었다. 당시 나는 이 앱을 상업적인 프로덕트로 발전시킬 생각은 없어서 도메인도 9천 원짜리 kr에다가 서버도 무료 호스팅을..
분류 전체보기
사이드의 시작은 전교회장으로부터의 부탁이었다. 자기의 공약 사항인 건의함 사이트를 만들어 줄 수 있냐는 것이었다. 사실 나는 예전부터 욕심을 가지고 있었는데, 학교 교내 "통합 온라인 플랫폼"이었다. 그래서 방향을 단순 청원 사이트를 넘어 교내 모든 기능을 다 넣은, 우리 학교의 슈퍼앱으로 만들고 싶었다. 마치 한국디지털미디어고등학교의 #과 한세사이버고등학교의 #처럼 말이다. 그래서 지체 없이 해당 요청을 수락하고 개발하기 시작했다.개발PHP를 메인으로 개발에 착수하였다. PHP를 기반으로 HTML, CSS와 몇몇 부분에서는 JS 및 제이쿼리, 디자인은 부트스트랩을 내 입맛대로 커스텀하여 사용하였다. 아이콘을 위해 Fontaswome 5를 사용했다. UI 디자인도 직접했다. 학교에서 예산 지원을 받기 ..
비동기처리? 동기처리?이미 저보다 훌륭하신 분들이 설명해 주실 거라 믿어 따로 설명하진 않겠다. 주니어 웹 개발자가 알아야 할 ‘비동기 통신’ | 요즘IT“비동기 통신에 대해 설명해 보세요.” 프론트엔드 개발자 면접에서 자주 받는 질문이다. 개발자라면 비동기 통신과 동기 통신에 대한 개념을 정확하게 알아야 하고, 이를 바탕으로 효율적인yozm.wishket.com PHP와 JS로 비동기 처리 구현하기index.htmldocument.addEventListener("DOMContentLoaded", function () { fetch("get_lunch.php") .then(response => response.text()) .then(data => { d..
STUZM은 기획 단계에서 원래 PHP를 통한 웹, 코틀린을 사용한 웹뷰 안드로이드 앱, 스위프트를 사용한 웹뷰용 iOS 앱 이렇게 되기로 기획되었다. 난생 처음 스위프트를 써서 네이티브 앱을 구현하려 했으나, 초보인 만큼 자료를 찾기 어려웠었기 때문에 다른 초보자에게 도움이 되게 + 내가 다시 보고 쓸 수 있게 기록으로 남기고자 한다. import UIKit import WebKit import SystemConfiguration import Foundation import SafariServices // 네트워크 오류 class class Reachability { class func networkConnected() -> Bool { var zeroAddress = sockaddr_in(sin_le..
이번에 STUZM을 개발하며 기능 중 하나로 급식 및 시간표를 보여주는 기능을 넣게 되어, 해당 기능을 어떻게 개발했는지 한번 적어보려 합니다 :) 제가 사용한 API는 나이스에서 제공하는 공공 API이며 나이스 교육정보 개방포털에서 API 키를 발급 받아 누구나 손쉽게 사용 가능합니다. GitHub - seongpark/php_neis_meal_api: PHP 나이스 급식 API 불러오기 PHP 나이스 급식 API 불러오기. Contribute to seongpark/php_neis_meal_api development by creating an account on GitHub. github.com 학교 코드 불러오기 $xmlfile = 'https://open.neis.go.kr/hub/schoolI..
저는 주 컴퓨터를 맥북에어 M2 13' 모델을 사용하고 있습니다. 그렇기 때문에 사실상 윈도우 컴퓨터는 잘 사용하지 않게 되었습니다. 그러다 보니 놀고 있는 윈도우 컴퓨터가 좀 아깝더라고요. 나름 성능도 괜찮은 편이고, 지금도 충분히 현역으로 빠릿빠릿하게 돌아가기에 어떻게 활용을 해볼까 고민하다가 홈서버로 활용하기로 마음먹었습니다. 제가 홈서버로 활용하기 위해 리눅스를 올리거나 하는 방법이 있지만, 가끔씩 게임을 즐기거나 인터넷 뱅킹 등으로 윈도우가 필요한 상황이 생기기에 윈도우11 프로를 설치하고 위에 Hyper-V 혹은 버추얼박스 같은 가상머신을 설치하여 헤놀로지를 돌리며 나스로도 쓰고, 클라우드 PC로도 쓸 생각입니다. 제가 사용할 컴퓨터의 사양은 라이젠 3200G + DDR4 8GB입니다. i3-..
원래 저는 아이패드 프로 11인치 1세대를 중고로 구입 후 잘 사용하고 있었으나, 아이패드 미니 6로의 변경을 위해 판매하였습니다. 프로 11인치에서 8인치대 미니로 변경하기로 마음을 먹은 이유는 11인치를 사용하니 너무 큰 화면이 부담스러워 별로 사용을 하지 않게 되더라구 요. 또한 집에서 스마트폰 대용으로 쓰기에 딱 좋은 크기이기 때문에 변경을 결정하는 계기가 되었습니다. 당근마켓으로 구매한 아이패드 미니 6 스타라이트 64GB Wi-Fi 모델입니다. 저는 대부분의 제품을 대부분 최저 사양으로 구매하는 편이고, 64GB의 용량 또한 제 기준에서 넉넉하며 전 항상 Wi-Fi가 되는 환경에만 있으므로 깡통 옵션도 제 생활 반경에서는 매우 충분하였기 때문에 깡통 옵션으로 구매하였습니다. 미니라는 폼팩터는 ..
저와 약 2개월 동안 동고동락하며 등하교를 책임진 이어폰, 비츠 스튜디오 버즈입니다. 당시 Nothing Ear (1)을 쓰고 있던 제가 비츠 스튜디오 버즈로 변경했던 이유는 멀티페어링 때문이었는데요, 맥 아이폰 아이패드 사이를 자유롭게 왔다 갔다 하기에는 매번 페어링을 풀고, 다시 페어링 모드로 진입하여 다시 잡아주고... 하는 부분이 불편하여 바꾸고 비록 멀티 포인트는 불가해도 멀티페어링으로 잘 썼었습니다. 다만, 무선 이어폰이라는 폼팩터 자체가 저에게 기름 부분에서 귀에 기름이 많은 편이라, 오래 끼고 있으면 이 때문에 답답하게 느껴질뿐더러 흥건하기까지 하는 경우가 있어서 가을만 되면 헤드폰으로 바꾸겠다고 마음을 먹었으나, 날씨가 더워서 고민하다가 슬슬 쌀쌀해지길래 타이밍이 되었다 싶어서 헤드폰을 ..
컴퓨터 기변병이라고 하긴 이상한데, 무튼 기변증이 또 도져서 올해 1월에 중고로 조립한 컴퓨터를 쓸만하거나 비싼 부품들만 빼놓고 다시 중고로 팔아버렸습니다. 이번 기변증 이유는 SFF에 관심이 생기고 나니까 ATX 미들타워 컴퓨터가 못생겨보여서 조그마하게 컴퓨터를 다시 구성하려고 합니다. (사실 이미 맞춘지 1달 이상이 지났습니다...ㅋㅋ) 괜히 부품들 모아두고 사진 한번 찍어보았습니다. 이번 부품 구성은 i3-10100F를 중심으로 사용했습니다. 10세대 i3가 i7-7700이랑 비슷하면서 CPU 중고값이 싸서 i3-10100F를 선택했습니다. 그 후 메인보드랑 램, SSD 등등 여러 부품을 드래곤볼해서 모았습니다. CPU i3-10100F + 초코파이 기쿨 메인보드 ASUS PRIME H410M-K ..
올해 2월쯤 11만원 가량 주고 샀던 한성 TFG24F07W 울트라 와이드 모니터입니다. M1 맥 및 윈도우 데스크탑과 함께 사용할 목적이었고, M1 맥은 최대 모니터 1대까지만 지원하기에 아예 21:9로 구입했습니다. 10만 9천원이라는 저렴한 가격도 큰 메리트라고 생각했습니다. 몇달 잘 쓰긴 했지만, 단점이 보입니다. 1. FHD다 - 윈도우 환경과 연결해서 쓴다면 별 상관 없습니다. 클리어타입이 텍스트를 잘 처리해줘서 FHD에서도 선명하게 나오는데, 맥OS는 안티에일리어싱을 적용해서 해상도가 낮으면 글자가 번져보이게 됩니다. 그래서 무조건 HiDPi가 필수인데, 24인치 FHD에서 HiDPi를 강제로 활성화하면 엄청 UI가 커져서.. 글자 번진 채로 써야합니다. 2. DP 포트가 작동하지 않는다. ..
소프트웨어 업데이트는 우리가 휴대폰을 사용할 때 중요한 경험을 끼칩니다. 소프트웨어 업데이트를 통해 자잘한 버그들이나 보안 구멍들이 모두 수정되기도 하고, UI가 새롭게 바뀌며 새로운 휴대폰을 사용하는 느낌도 나기 때문에 소프트웨어 업데이트는 중요한 사용자 경험을 끼치고 있습니다. 그래서 애플을 보면 항상 새로운 OS가 나오고, 이 OS가 배포될 때는 많은 애플 유저들이 이 OS를 다운로드하고 나의 기기에 설치하려 하고 있습니다. 그래서 항상 업데이트 출시일에는 애플의 서버가 터지기 마련입니다. 그렇지만 안드로이드에서는 이런 풍경을 찾아볼 수 없습니다. 안드로이드의 업데이트 문화는 아이폰과 매우 다릅니다. 아이폰은 모든 기종의 업데이트가 같은날 같은 시간에 올라오지만, 안드로이드는 기종마다 업데이트가 올..
삼성전자는 2010년 갤럭시 S 출시 이후 명실상부한 안드로이드 폰 1위 자리를 지키고 있습니다. 그리고 2019년부터는 갤럭시 폴더블 시리즈를 통해 폴더블 신기술에도 다른 제조사들보다 한발 앞서나가고 있죠. 하지만 2020년부터 삼성전자에 대한 비판적인 목소리가 점점 커져나가고 있습니다. 그래서 오늘은 삼성전자의 갤럭시에 대한 비판받는 문제점들을 살펴보려고 합니다. 지나친 원가절감 삼성전자는 갤럭시 노트20부터 시작된 원가절감이 갤럭시 S21에 절정에 달했습니다. 특히 삼성전자는 갤럭시 S21 시리즈에서 기존에 동봉해주던 충전기, 케이블, 투명 케이스를 패키지에서 제외하였습니다. 물론 명목상은 환경 보호를 위한 것이긴 하지만, 환경 보호라고 하더라도 기업이 해야할 환경 보호를 소비자에게 떠넘기는 형태로..
애플은 2017년, 아이폰X를 발표하며 깜짝스러운 디자인을 공개하였습니다. 바로 화면의 베젤을 얇게 하고 위쪽에 카메라랑 수화부만 남겨둔 디자인, 즉 노치 디자인을 적용한 아이폰X를 발표하며 세계를 놀라게 하였습니다. 애플의 발표 후 여러 사람들은 M자 탈모라고 조롱하고 있습니다. 또한 삼성에서는 이 노치를 저격하는 광고도 냈습니다. 그 후 4년, 애플은 노치 사이즈를 줄이긴 했지만 노치를 아직도 고집하고 있습니다. 애플은 왜 노치를 포기하지 못하는 것일까요? 노치를 제거하기에는 기술적인 한계 사실 노치에는 우리가 보기에는 검은색으로 보이지만 이 아래에는 수 많은 센서들이 숨겨져 있습니다. 당장 우리가 많이쓰는 Face ID센서, 통화할때 쓰는 수화부, 전면카메라 등등 매우 많은 센서들이 있는데 이 센서..
저는 NodeJS가 웹개발계에서 각광받고 있을 시점에 PHP를 통해 웹개발에 입문하게 된 좀 특이한 사례입니다. 그래서 저는 남들보다 늦게 PHP에 입문하게 되었고, 지금도 PHP를 공부하고 있는 초보 개발자입니다. 하지만 요즘 PHP를 한다고 하면 많이들 퇴물 언어가 아니냐라고 묻고 있습니다. 사실 PHP는 제가 생각하기로는 아직은 퇴물 언어가 아닙니다. 지금도 수많은 웹사이트가 PHP를 통해 코딩되어 공개되고 있으며, 이미 PHP를 통해 코딩된 수많은 웹사이트가 존재합니다. 지금도 PHP는 개발 언어중 10위 내에 있으며, 아무리 퇴물이라 해도 웹개발에서 PHP가 가진 영향력이 오래되었고 어마무시한 만큼 지금도 무시할 수 없는 존재중 하나입니다. 그리고 PHP는 절대로 향후 몇십년간은 계속 쓰일 것입..
웹개발에 혁신을 일으킨 라이브러리인 앵귤러JS가 11년만에 역사속으로 사라집니다. 또한 앵귤러JS 커뮤니티도 서비스를 종료합니다. 하지만 구글은 그 다음 버전인 타입스크립트 기반 앵귤러는 계속 지원을 하고 있습니다. 타입스크립트 기반 앵귤러는 개발 경험을 개선시키고 버그를 식별하는데 도움을 줍니다. 서비스를 종료하면 어떤 일이 생기나요? 만약 앵귤러JS가 서비스를 종료한 후에 취약점이 발견된다면 더이상 보안패치가 나오지 않고 취약점을 안고 가야합니다. 또한 더이상 패치가 나오지 않습니다. 앵귤러JS를 계속 사용하려면 어떻게 해야하나요? 퍼포스, XLTS.dev 등등 서드파티로 앵귤러JS를 계속 사용할 수 있습니다. 기존 앵귤러JS를 계속 사용하는 방법도 있지만 보안 취약점을 패치해주지 않기에 매우 권장하..
오늘은 HTML과 더 나아가 PHP, Ruby 등등... 까지 개발할 수 있는 개발 환경을 구축해보겠습니다. 사실 HTML이라는 언어는 따로 프로그램을 설치할 필요 없이, 메모장이랑 브라우저만 있어도 코딩이 가능하긴 합니다. 하지만 이 경우 자바스크립트 같은 것과 같이 쓴다면 코딩하기 어려워 개발 환경을 사용하는 것을 추천드립니다. 한번 개발 환경 세팅을 해보도록 하겠습니다. 비주얼 스튜디오 코드 설치 Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visu..
웹이란 뭘까요? 웹이란 뭘까요? 사전적인 정의는 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유하는 것을 웹이라고 부릅니다. 그래서 여러분들이 인터넷 브라우저를 켜고 매일 방문하시는 구글, 네이버, 덕덕고, 다음같은 사이트들을 웹이라고 부를 수 있겠죠. 웹은 월드 와이드 웹의 약자입니다. 웹의 구조 데이터베이스 -> 웹서버 -> DNS -> 도메인 -> 접속 웹의 구조는 간단합니다. 데이터베이스 서버를 열고, 웹서버랑 데이터베이스를 연결합니다. 그 후 웹서버랑 DNS를 연결..인데 DNS라는 것은 처음 들어보셨을껍니다. 웹서버를 열면 XXX.XXX.XXX.XXX의 IP 주소가 나옵니다. 이 IP주소를 주소 표시줄에 입력하면 접속을 할 수 있습니다. 예시로 네이버의 IP 주소는 125.209.222.1..
어쩌피 솔로라 할 것도 없어 뒹굴거리던 12월 19일 저녁에 깃허브에 들어갔더니 갑자기 제가 팔로우하는 분중 한분이 해커톤 참여 레포를 생성하셨길래 저번부터 해커톤에 나가고 싶은 생각이 있어서, 급하게 아는 친구 한명 불러서 팀으로 하고 아이디어 30분만에 짜고 마감 1시간 남기고 기획서를 작성 후 신청서를 제출했습니다. 그 이후에 크리스마스가 아주 재미있어질꺼 같더라구요..ㅎㅎ 그래서 크리스마스동안 밖엔 눈이 오지만, 쓸쓸히 집에서 누워서 코딩을 했고 발표까지 끝났습니다. 그래서 한번 개발기를 적어보겠습니다! 개발 환경 세팅 일단 제가 필요한 것은 1. 서로간의 협업이 가능한 툴이어야하고 2. 여러 플러그인들이 쉽게 깔려야 하고 3. 어디서든지 접근이 가능하고 4. 사용이 쉬워야한다는 조건을 만족할 협..
깃허브는 인기있는 Git 저장소입니다. 그래서 수많은 프로그래머들은 깃허브 계정을 하나씩 가지고 있고, 프로그래머들 중 깃허브를 안쓰는 사람은 단언컨대 없을 것입니다. 이렇게 많이 쓰는 만큼 멋사같은 것에 지원할때나 입사 지원 할때 등등 깃허브 주소를 요구하는 곳들이 많아졌습니다. 그래서 매력적인 깃허브 계정을 만드는 것이 중요합니다. 이번에 한번 매력적인 깃허브 계정을 만들어보겠습니다. 간단한 유저네임, 나를 들어내는 프로필 저는 유저네임을 간단하게 하는 편입니다. 최대한 키보드로 빠르게 칠 수 있고, 특수문자나 숫자는 넣지 않습니다. 그래야 키보드로 칠때 빠르게 칠 수 있고, 기억하기도 쉽습니다. 또한 최대한 본명으로 하고 있습니다. 제가 본명으로 하는 이유는 혼동을 줄이기 위해서입니다. 오프라인에서..
한.. 9월쯤에 제가 만들어둔 사이드 프로젝트가 하나 있었습니다. 바로 하루라이프였는데요, 그때 "오늘의 뉴스, 정보, 편의기능을 한번에 보자"라고 거창하게 제작했었습니다. 지금 봐도 디자인은 잘나온 것 같네요. 다만 포맷을 하던 와중 실수로 SSH 키를 백업을 안해두고 포맷을 해버려서 서버에 접근이 불가하는 상황이 와 어쩔 수 없이 서버를 삭제하고 새로 만들었는데, 그 과정에서 하루라이프가 날라갔고 원본파일조차 백업을 안해둬서 서비스가 임시 중지 상태였는데요, 이번에 한번 살려보려 합니다. 하루라이프는 구버전이긴 하지만 깃허브에 백업해둔걸 발견해 서버 말고 임시로 깃허브 페이지로 운용하려 합니다. 다행이 간단하게 만든거여서 깃허브 페이지로 호스팅이 가능한데, 문제는 깃허브 호스팅은 동적 페이지만 지원을..
기본 맥 기기들의 한영 전환 키는 캡스락 키를 짧게 눌러야 했습니다. 길게 누르면 대소문자 전환으로 되어있었는데, 대소문자 전환하겠다고 길게 누르는 것도 짧지만 시간이 아깝고, 한영 전환을 하려는데 대소문자가 바뀌고.. 이러는 경우가 갑자기 많아져 제 인내심이 바닥나 한영 전환 키를 안 쓰는 오른쪽 커맨드 키로 바꾸고 캡스락은 온전히 대소문자 전환 키로만 사용하는 방법을 알려드리도록 하겠습니다. 카라버너 설치 https://karabiner-elements.pqrs.org/ Karabiner-Elements A powerful and stable keyboard customizer for macOS. karabiner-elements.pqrs.org 카라 버너는 손쉽게 맥의 키들을 커스텀해줄 수 있는 툴..