코딩 192

1편, 카카오톡 웹 버전 만들기 (React, Material-UI)

안녕하세요? 2021년 9월 25일 세번째 업데이트가 있어 글을 수정합니다. 기존의 NextJS + Material-UI에서 NextJS + Chakra-UI로 변경했습니다. 이번에 Chakra-UI로 작업한 결과 느낀 점은 굉장히 가볍고 사용하기 쉬운 UI 라이브러리라는 겁니다. Material-UI 가 생각보다 많이 무겁기 때문에 앞으로는 Chakra-UI를 더 많이 사용할 거 같네요. 그럼. 많은 이용 부탁드립니다. https://kakaoweb.netlify.app/ 카카오톡 웹 카카오톡 웹은 Kakao Developer API와 NextJs, Chakra-UI로 만들어졌습니다. 카카오톡 PC 버전 설치 없이 간단한 메시지와 이미지를 전송할 수 있습니다. kakaoweb.netlify.app 안녕..

코딩/Javascript 2020.12.06

4편, c++ 프로그래밍 CMake 예제

안녕하세요? C++ 프로그래밍 4번째 편입니다. 3편까지 프로젝트의 기본 구성을 TDD (Test-Driven Development)에 맞게 구성했으며, 첫 번째 유닛 테스트까지 완료했습니다. 자 그럼, 원래의 목적인 renamer-youtube-dl에 맞게 라이브러리를 확장해 나가 볼까요? 그럼, TDD에 맞게 테스트를 해야 되는데 어떤 이유 때문에 우리가 이 프로그램을 만드는지 한번 볼까요? https://cpro95.tistory.com/42 유튜브에서 블랙핑크 뮤직비디오 다운 받기 안녕하세요? 유튜브 보시다 보면 꼭 맘에 드는 콘텐츠를 다운로드하고 싶은 욕망이 생길 때가 있는데요. 그래서 나온 게 youtube-dl 이란 파이썬 프로그램이 있습니다. https://github.com/ytdl-or..

코딩/C와 C++ 2020.12.05

3편, c++ 프로그래밍 CMake 예제

안녕하세요? 2편까지 TDD 의 유닛테스트인 myTest.cpp 까지 만들어 봤는데요. 이제 TDD 유닛테스트를 할려면 컴파일해서 실행해 봐야겠죠. 컴파일은 가장 유명하고 많이 쓰는 cmake를 이용하겠습니다. 일단 프로젝트 상단에 최상위 CMakeLists.txt 파일을 만들고, test 폴더에도 CMakeLists.txt 파일을 만들어 자동으로 컴파일 및 유닛테스트가 실행되게끔 할 예정입니다. 일단 최상위 CMakeLists.txt 파일을 만듭시다. CMakeLists.txt 의 기본 내용은 다음과 같습니다. # Example CMake file for compiling & linking a project # # Copyright (c) 2012-2020 cpro95 (cpro95@gmail.com)..

코딩/C와 C++ 2020.12.03

2편, c++ 프로그래밍 CMake 예제

안녕하세요? 1편에 이어 2편에서는 본격적인 개발에 들어가 보도록 하겠습니다. 들어가기 전에 먼저 TDD에 대해 들어보셨는지요? TDD란 Test Driven Development인데 간단히 소개하면 다음과 같습니다. 기존 개발방식은 개발을 먼저 하고 나중에 테스트하는 방식인데 TDD 방식은 테스트 코드를 작성하고 검토해서 최종적으로 개발코드를 작성하는 방식입니다. 우리는 TDD 방식을 따라 개발할 예정입니다. TDD 방식에서 테스트 코드를 작성한다는 얘기는 내가 개발할 라이브러리를 작성한다는 얘기와 같습니다. 1편에서 우리가 원했던 기능은 youtube-dl로 다운로드한 파일의 이름을 변경하는 기능이 있는 나만의 라이브러리를 만드는 것입니다. 그럼 먼저, 디렉터리 구조를 짜야 합니다. C++ 개발에서 ..

코딩/C와 C++ 2020.12.02

1편, c++ 프로그래밍 CMake 예제

안녕하세요? C++로 프로젝트를 구성할 때 Visual Studio 같은 IDE를 많이 사용하는데, 저는 리눅스나 맥에서 콘솔 방식의 CLI 개발 방식을 선호합니다. 이에 구글링으로 배웠던 C++ Console CLI 프로젝트 개발기를 블로그 할 예정입니다. 먼저, 준비할 것은 C++ 컴파일러, cmake, git 이 필요합니다. 위 세가지는 개발자라면 당연히 가지고 있다고 봅니다. 그럼 먼저, 뭔 만들지 생각해 봅시다. 저는 youtube-dl 을 이용해 BLACKPINK 뮤직 비디오를 다운 받아서 보는데 youtube-dl을 이용하면 다운로드한 파일 이름 끝에 이상한 난수 문자가 있습니다. 간혹 유투브에서 playlist를 youtube-dl로 다운로드하면 그 개수가 너무 많아 일일이 파일 이름을 고..

코딩/C와 C++ 2020.12.02

로또에서 제일 많이 나온 숫자는 뭘까요?

예전에 로또 처음 시작했을 때 1등이 몇번 이월되고 당첨금이 계속 쌓이니까 우리 사회나, 직장 내에서도 광풍이 불었었는데요. 오늘은 로또 얘기를 좀 해볼까 합니다. 저는 개인적으로 로또 숫자를 고를 때 첫번째 당첨번호부터 맞추는 걸 좋아합니다. 그래서 통계 좀 내 봤는데요, 역대 로또 당첨번호 중에 첫번째 숫자로 가장 많이 나온 번호가 뭔지 아십니까? 다름 아닌 "1" 입니다. "일"입니다. 무려 첫번째 숫자로 "1"이 나온 경우가 2020년 11월 28일까지 결과를 보면 131번 있었습니다. https://lotto365.netlify.app/ 로또 365 lotto365.netlify.app 그럼 "2" 는 첫번째 숫자로 몇 번 나왔을까요? 결과는 "104"번입니다. 자 그럼, 우리도 통계를 이용해서..

코딩/Javascript 2020.12.01

코딩 폰트, 글꼴 추천

개발자나 혹은 취미로 개발하는 분들 포함하여 큰 모니터나 작은 노트북 화면을 사용하는 분들 모두 글꼴, 폰트에 민감할 수 밖에 없는데요. 되도록이면 예쁜 글꼴이나 폰트를 선호하게 됩니다. 개발자라면 당연히 모노스페이스 (mono space) 폰트(글꼴)를 쓰실텐데, 괜찮은 폰트 (글꼴)을 소개 할려고 합니다. 객관적인 장단점및 필자의 개인적인 사견도 있습니다. 참고하여 보시기 바랍니다^^ 1. Fira Code 저번에 잠시 소개드렸던 폰트입니다. 장점 : 이퀄 연산자, 애로우 펑션이 멋있는 폰트 단점 : 폰트 간격이 넓고, 글 간격이 조금 넓다. 공식 홈페이지 : https://github.com/tonsky/FiraCode tonsky/FiraCode Free monospaced font with pr..

코딩 2020.11.26

chmod 쉽게 설명

chmod 에 관한 팁입니다. 맥이나 리눅스를 사용하다가 윈도우 파티션이나 USB에서 자료를 복사해 오면 파일 퍼미션이 rwxrwxrwx 즉, 777로 되어 있습니다. 이게 귀찮은게 디렉토리나 파일 모두 이렇게 되어 있습니다. 유닉스에서의 가장 이상적인 파일 퍼미션 구조는 폴더 : drwxr-xr-x 파일 : -rw-r–r– 입니다. 그래서 윈도우에서 복사해온 폴더나 파일 모두 이상적인 퍼미션 구조로 한꺼번에 바꾸는 chmod 명령어에 대해 알아봅시다. 먼저 원하는 폴더에서 그 이하 폴더에 모두 적용되게 -R 옵션을 넣어 아래와 같이 실행합니다. chmod -R 644 /path/to/location 그러면 모든 파일 및 폴더가 rw-r–r– 가 됩니다. 두번째 아래와 같이 실행해서 폴더만 다시 755로..

코딩 글꼴, 폰트?

프로그래머라면 코딩할때 폰트를 굉장히 중요하게 생각할 수 있습니다. 기존에는 맥오에스 기본 폰트인 Menlo를 사용했었는데 최근 웹써핑 중 IBM Plex 폰트를 알게 됐습니다. IBM Plex 홈페이지 가 보시면 규모가 굉장히 큰 폰트입니다. Korean 즉 한글 폰트도 개발되었구요. IBM Plex Mono 추천드리고자 하는 폰트는 코딩할때 필요한 모노스페이스 폰트인 IBM Plex Mono 폰트입니다. 특히 아래와 같이 {} 같이 코딩할때 자주 쓰는 중괄호 모양이 인상적입니다. 다운로드는 Github 에서 할 수 있습니다. Fira Code Fira Code 코드는 아래 그림에서 볼수 있듯이, =>, ===, !== 등을 아주 멋지게 표현해 주고 있습니다. 간혹 해외 유투브 보면서 ===, => 등..

코딩 2020.02.06

리눅스, 맥에서 oh my zsh 사용하기

예전에는 코딩을 할땐 IDE를 사용했었는데, 점점 리눅스(맥)의 터미널을 자주 사용 하게 되더군요. 그래서 해킨도 깔고, 남는 컴퓨터에 리눅스도 깔고 코딩을 하게 되었습니다. 최근 Visual Studio Code가 대세가 되면서 혹은 Web Programming을 하게 될땐 더더욱 터미널을 이용하게 됩니다. zsh / oh-my-zsh 기본적으로 터미널의 shell은 bash가 기본으로 깔려 있는데 우연히 웹써핑중에 zsh를 사용하는 미디엄 기사를 보고 한번 설치해 봤습니다. 보통 oh-my-zsh를 많이 쓰는데 이건 zsh의 확장 프로그램이라고 보면 됩니다. 굉장히 편한 기능이 많거든요. 설치하기 sudo apt install zsh sudo pacman -S zsh brew install zsh 각..

코딩 2020.02.06