프로그래밍/프로젝트
-
[태고의 달인 서열표] 1. 프로젝트 준비프로그래밍/프로젝트 2021. 9. 21. 15:23
동네 오락실에 태고의 달인이 거의 10년 만에 다시 들어왔다. 그것도 최신 버전으로. 그 동안은 어쩌다 간 곳 근처의 오락실에 태고가 있으면 해보는게 전부였는데 모처럼 동네에 왔으니 제대로 해보려고 카드도 구입하고 서열표도 참고하면서 하려고 이미지로 저장을 미리 해뒀는데... 생각보다 잘 안보였다. 보려면 못볼 건 없는데 가뜩이나 제목 표시도 다르니 보면서 곡을 찾다보면 100초가 금방 다 가버렸다. 그래서 마침 프론트엔드 사이드 프로젝트를 하나 했으면 하는 참에 잘됐다 싶어서 이 서열표를 웹 페이지로 구현하기로 결정. 현재는 일단 데이터가 전부 들어가진 않았지만 페이지는 구현한 상황이다. 태고의 달인 난이도 서열표 (focused-bartik-b7a742.netlify.app) 이번엔 절대로 실수를 반..
-
[Sunlapse] #3 확인용 서버 만들기프로그래밍/프로젝트 2021. 2. 13. 15:23
지난 글 마지막에 필요함을 느낀 확인용 서버를 별도로 만들기로 했다. 매번 라즈베리 파이에 SSH로 붙어서 확인하는 건 너무 귀찮은 일이 될 것 같았고 CSS로 꾸미는 것도 없이 단순히 HTML과 서버 REST API가 통신하는 정도로만 만들기로 했다. 서버에 포함될 기능은 다음과 같다. 1. 타임랩스 촬영 프로그램 동작 여부 2. 타임랩스 촬영 프로그램 로그 확인 3. 촬영 영상을 브라우저에서 재생 4. 촬영 영상을 브라우저에서 다운로드 1. 프로그램 동작 여부 router.get('/status', function (req, res) { let status; try { cp.execSync('ps -e -o command | grep "^node sunlapse.js"'); status = 200; ..
-
[Sunlapse] #2 촬영하고 영상 제작하기프로그래밍/프로젝트 2020. 12. 26. 21:03
https://youtu.be/fDGwROPqNtA 샘플 영상 제대로 촬영하는 결과를 얻는데 꽤나 오래 걸렸다. 일단 하루를 보내야 테스트 결과가 확인 가능한 이유도 있었고 내가 처음에 생각했던 부분이 원활히 되지 않았던 점도 있었다. 그래도 여러 시도 끝에 꽤나 만족할 만한 결과를 얻을 수 있었는데 위의 영상이 촬영 후 영상 제작에 성공한 결과다. 깃허브의 커밋 기록을 보면서 어떤 시도를 했는지 확인해본다. 1. FFmpeg의 setpts 옵션 사용 처음에 이 프로젝트를 떠올린 계기는 바로 이 옵션이었다. 간단하게 이야기하면 영상의 속도를 조절할 수 있는 옵션이다. 그래서 처음 생각은 영상을 해가 뜬 시간 동안 촬영하고 이 영상을 이후에 이 옵션을 이용해 후처리하려고 했다. 그러나 굉장히 당연한 문제가..
-
[Sunlapse] #1 촬영할 시간 구하기프로그래밍/프로젝트 2020. 12. 15. 20:43
프로젝트를 위해 가장 먼저 할 것은 해가 뜨고 지는 시간을 구하는 것이었다. 일기예보도 있고 이 정도 API를 제공하는 곳은 분명 있지 않을까 싶었는데 역시 바로 찾을 수 있었다. https://sunrise-sunset.org/ Sunset and sunrise times for any location - Free calendars and calculator Sunrise-Sunset is a free online tool that provides users information about day length, twilight, sunrise and sunset times for any location of the world. Our purpose is to make it easy to everybod..
-
[Sunlapse] #0 프로젝트 소개: 매일의 하늘을 타임랩스로프로그래밍/프로젝트 2020. 12. 14. 11:28
어느새 개발자를 직업으로 삼은 지도 만 1년이 지났다. 블로그는 학원 시절에 멈춰있었지만 업무를 하면서도 이것저것 배우고는 있었다. 배운 것을 정리하고 싶은 마음도 있었지만 프로젝트가 명확히 끝나지 않은 것도 있어 차일피일 미루고 있었다. 중간에 사이드 프로젝트도 몇 개 시도해봤지만 뜻대로 되지가 않았고 결국 어느 하나 제대로 끝낸 것이 없는 상태가 되었다. 그러다가 정말 이유 없이 어떤 아이디어가 떠올랐는데 마침 공부해왔던 내용을 이것저것 활용해볼 수 있는 아이디어같아서 실행해보기로 했다. 떠오르자마자 어떤 식으로 만들고 어떻게 할지 생각이 끊이지 않아 떠오른 날 바로 깃허브에 저장소를 만들고 코드를 짜기 시작했다. https://github.com/LuiGee3471/Sunlapse LuiGee347..
-
최종 프로젝트 - Thymeleaf XML 설정(기본, 이메일)프로그래밍/프로젝트 2019. 7. 21. 01:08
깃허브 주소: https://github.com/LuiGee3471/BitCampFinal LuiGee3471/BitCampFinal Contribute to LuiGee3471/BitCampFinal development by creating an account on GitHub. github.com 이번 프로젝트에서는 Thymeleaf를 사용 중입니다. JSP에서 금방 넘어가고 있습니다. HTML 구조를 반드시 만들어줘야하다보니 가끔 JSP와 EL-JSTL의 결합보다 불편할 때도 있긴 하지만 공식 문서도 친절하고 문법도 비슷해서 잘 적응해서 쓰고 있습니다. 다만, 이번 프로젝트에서는 XML을 이용해서 스프링 프로젝트 설정을 해주고 있는데 공식 문서나 인터넷 상 정보가 거의 Java 코드 설정으로 되어..
-
최종 프로젝트 - 게시판 페이지 처리프로그래밍/프로젝트 2019. 7. 14. 01:05
Github 주소: https://github.com/LuiGee3471/BitCampFinal LuiGee3471/BitCampFinal Contribute to LuiGee3471/BitCampFinal development by creating an account on GitHub. github.com 페이지 처리, 저번 프로젝트 때 많이 고생했던 문제 중 하나입니다. 그래서 이번 프로젝트에는 괜찮지 않을까했는데 여전히 힘들더라고요. 그래도 저번 프로젝트 때보다 좀더 개선한 방법이 있어서 소개해보려고 합니다. 1. LIMIT를 이용한 페이지 처리 저번 프로젝트에서는 rownum 개념을 이용해서 페이지에 맞는 게시물을 가져왔습니다. MySQL에는 자체적으로 rownum이 없기도 하고 rownum 기능..
-
최종 프로젝트 - Spring Security프로그래밍/프로젝트 2019. 6. 29. 15:34
Github: https://github.com/LuiGee3471/BitCampFinal LuiGee3471/BitCampFinal Contribute to LuiGee3471/BitCampFinal development by creating an account on GitHub. github.com 시간 정말 부족하네요. 왜 야근에 주말 근무까지 하는지 알 것 같기도 한 슬픈 체감을 하고 있습니다. Spring 이야기를 할까 했는데 함부로 이야기를 하기에는 어마어마하게 큰 규모라고 생각해요. 할 이야기도 많고. 그래서 이번 프로젝트에서 활용하는 기술 위주로 어떻게 구현했고 무슨 기능을 하는가를 설명하면서 할까 합니다. 첫 이야기는 초반 설정에 가장 고생했었던 Spring Security입니다. 1. ..