-
[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..
-
프로그래밍 국비교육을 받기 전에 해두면 좋을 것들프로그래밍/생각 2020. 1. 31. 01:18
벌써 학원에 들어갔던 것이 1년이 더 지났네요. 그 사이에 학원 수료도 하고 운좋게 빠르게 직장을 구해서 다니면서 새롭게 배우고 있습니다. 아무래도 새해라 그런지 커뮤니티를 다녀보면 학원을 가려는 분들이 많아보입니다. 이미 확정되고 과정 시작을 대기하는 분들도 있고 생각만 하고 아직 알아보는 분들도 있는데 많은 분들이 어떤 걸 미리 해두면 좋을까, 또는 미리 무언가를 해야 하나 물어보시는 질문이 많더군요. 다니기 전에 제가 했던 일들, 그리고 학원을 다니면서 느낀 점에 기반해서 어떤 것을 미리 해두면 좋을까 정리해봅니다. 저도 학원 다니기 전에 이것저것 검색을 해봤는데 의외로 경험한 분들 숫자에 비해서 자료는 많지가 않더라고요. 4개월에서 6개월 정도 짧지 않은 기간을 투자하시기 전에 참고가 될 수 있도..
-
[Java] 제네릭을 사용하는 함수프로그래밍/짧은 기록 2020. 1. 31. 00:03
오늘 A클래스를 상속하는 모든 하위 클래스를 인자로 받으면서 리턴 타입 역시 그 하위 클래스를 돌려줘야 하는 함수를 작성해야 했습니다. 문제는 Jackson 라이브러리를 사용해서 하위 클래스를 찾아야 제대로 JSON을 만들고 JSON을 파싱해서 다시 클래스로 만들 수 있는데 다형성을 이용해 상위 클래스로 찾아버리니 본래 클래스를 찾아올 방법이 마땅히 없었습니다. instanceof로 if 문을 만들까 생각했지만 매번 하위 클래스가 추가될 때마다 if 문도 추가되어야 하니 그렇게 하고 싶지는 않았고 그래서 우선은 Reflection을 이용했었습니다. 하위 클래스는 이름이 거의 같고 클래스 이름에 포함된 숫자만 바뀌는 식이었기 때문에 임의로 for문을 만들어서 찾아내기로 했었죠. private static ..
-
[보안] Timing Attack프로그래밍/짧은 기록 2019. 12. 14. 01:27
오늘 주니어 세미나에서 평소에 생각이 전혀 닿지 못한 이야기를 들어서 기록합니다. 자세하게 다루지는 못하고 세미나에서 들은 예시와 의미 정도만 기록하려고 합니다. right_password = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" answer1 = "BBCDEFGHIJKLMNOPQRSTUVWXYZ" answer2 = "ABCDEFGHIJKLMNOPQRSTUVWXYA" answer3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" def check_password(answer): for index, letter in enumerate(right_password): if answer[index] != letter: return False return True print(check_pas..
-
국비 교육을 알아보는 분들에게 - 어떤 것을 배우는가?프로그래밍/생각 2019. 8. 4. 17:03
6개월 과정이 끝이 났습니다. 시작할 때는 언제 지나갈까 생각하면서도 그 사이에 다 배울 수 있을까 싶었는데 지나고 보니 역시 참 짧은 기간이라는 생각이 드네요. 다른 학원은 4개월 과정도 있고 그렇다는데 그 시간에 가능할까 의문이 듭니다. 아무튼 이 글은 학원을 다니기 전의 저처럼 국비로 배우는 프로그래밍 과정을 다닐까 말까 고민하고 정보를 찾는 분들을 위해 적는 글입니다. 생각해보면 다니기 전에는 '다녀도 괜찮을까요?', '독학 vs 학원' 이런 것만 찾아봤지, 막상 다닐 때 뭘 배우나요는 찾아보지 않은 것 같네요. 잘 안나왔었던 것 같기도 하고요. 본격적으로 들어가기 전에 몇 가지만 미리 이야기하고 시작하겠습니다. 이 내용은 제가 다닌 학원에만 해당할 수도 있습니다. 위에서 이야기했다시피 기간도 과..
-
최종 프로젝트 - 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 기능..