분류 전체보기
Spring으로 OP.GG 클론 코딩해보기 -2
Spring으로 OP.GG 클론 코딩해보기 -2
2019.08.24안녕하세요. 오늘 이 프로젝트 진행사항을 모두 다 적는걸 목표로 하겠습니다. ㅋㅋ 이번에 구현했던 것들 랭크정보, 랭크 승패, 랭크와 티어 표시. 랭크문양은 url로 따올수없어서 img파일 추가 logger 한글 파일 오류때문에 안된거 maven dependency로 추가함. 어떤 식으로 개발했는지에 대해서... 처음에는 loggger 한글 파일 오류 때문에 안되는 것에 대해서 설명해보자면, 처음에는 logger.info가 콘솔창에 아무짓도 안하길래. 나는 이게 큰 문제가 없다고 생각했는데 원래는 이렇게 떠야지 정상이었던 것. 이게 원래는 안고쳐도 잘 작동 되었지만, 무슨 오류였는지 logger에 파싱을 못해주는 것 때문에 앱실행 자체가 안되버려서 해결 방안을 찾으려 노력했습니다. xerces xerce..
Spring으로 OP.GG 클론 코딩해보기 -1
Spring으로 OP.GG 클론 코딩해보기 -1
2019.08.24안녕하세요. 이제 좀 유의미한 결과가 나와서 포스팅을 진행합니다. 이걸할려고 내가 웹프로젝트 강의를 2주를 ... 일단 라이엇 API를 사용해서 OP.GG 클론코딩을 해보는 것을 목적으로 생각하고 프로젝트를 진행했습니다. 나중에 차근차근 코드까지 보여드리면서 알려드릴 기회가 있으면 포스팅하도록 하고 개발 일기정도로 생각해주면 좋겠습니다. 처음에 구현했던 것 result.jsp 구현 : 전적 검색 결과 나오는 페이지 summoner구현: 객체 구현. SearchSummoner구현: 이름가지고 받아온 결과를 전달하는 Controller역할. 어떤 식으로 개발했는지에 대해서... 첫번째로 내가 이 결과를 보냈을때 값을 보여줘야할 view인 JSP를 만들어줘야합니다. 그 값을 전달 받을 page인 Result...
부스트코스 개발일지 TODO앱 만들기 - 7~8일차(완성)
부스트코스 개발일지 TODO앱 만들기 - 7~8일차(완성)
2019.08.17한 이틀내내 CSS만 짰는데, 예상보다 CSS에서 레이아웃을 잘 짜는 게 엄청 어려워서 애먹었다. 처음에는 아예 todo, doing, DONE을 따로 구성하고 그걸 왼쪽 가운데 오른쪽 이런식으로 카드들을 쌓는 방식으로 할려했는데 그방식은 애초에 구현하기가 어려워서 (여기서 한 4시간씀) 그래서 보드화 시켜서 구현하는 방식을 택했다. 그 안에 카드를 따로따로 구현하는걸로. ㅋㅋ; 그래야지 한 화면에 3개가 있을 수 있을 것 같아서, 그렇게 구현하니까 재대로 됨. 원래는 버튼을 div로 따로 구현했는데 이걸 화살표로 만들수 없다는 사실에 좌절하고 7일차를 때려쳤던걸로 기억하고 8일차에 이걸 a태그로 한다음에 get으로 값전달을 하면 된다는 걸 그때 알아버려서 허탈함을 얻었다. 막상 AJAX에서 엄청 고생한..
부스트코스 개발일지 TODO앱 만들기 - 6일차
부스트코스 개발일지 TODO앱 만들기 - 6일차
2019.08.17콜백함수를 통해 변환된 HTML을 값을 받아서 다시 innerHTML을 해주는 작업. 그리고 그 이후에 생기는 모든 문제들에 대해서 다시 생각해볼것ㅠㅠㅠ FE: CSS 다시 짜기. 에대해서 해결을 했어야하는데, 콜백함수에 값이 전달 되지 않은건 HTML에 이 함수가 실행되면, 다시 event처리를 하지 못해서인데 그걸 해결해주기위해선 다시 함수를 재활성화를 시켜주면 되는 것이다. 음.. 그걸 해결시키기위해서 약간 재귀함수처럼 구문을 재활용을 하기로했다. 즉, 콜백함수안에다가 이함수를 넣고 다시 실행되는 방식을 채택했다. 그랬더니 됬다. 문제는 이 함수를 만들었는데 어떤식으로 실행시키는 가였는데 처음에는 일단 이벤트리스너를 통해서 클릭이 된순간 -> 이 함수를 실행을 시켜보도록 했는데, 막상 그러니까 두번..
부스트코스 개발일지 TODO앱 만들기 - 5일차
부스트코스 개발일지 TODO앱 만들기 - 5일차
2019.08.15오늘도 열심히 코딩공부를 합니다. 뚝딱뚝딱 만들지 못해서 아쉬울뿐. 1회차는 2일만에 거의 막힘 없이 만든 느낌인데, 지금은 영 진척이 안난다. 한번 막히면 자꾸 막힌거에서 계속 진척이 안나서 고생한다. ㅠ 일단 AJAX를 구현할때 버튼을 Input으로 만드는 바람에 값전달에 있어서 아무 값도 전달 해주지 못해서, 결국 그 방법을 찾는데 시간자체를 너무 많이 써서 걍 정말 반쯤 포기하는 상태로 있었다. 근데 생각해보니까 input 태그로는 하기 어려울 것 같아서, input말고 다른 태그 쓰면 어떨까 싶어서 그냥 만들어서 해보니까 수월하게 전달이 됬음. 결국 UPDATE는 잘 작동했구. 문제는 없었음. 물론 그 값전달하는 방식에서도 애를 좀 먹었는데, getAttribute를 값을 받아올려했다가 방법의 ..
부스트코스 개발일지 TODO앱 만들기 - 4일차
부스트코스 개발일지 TODO앱 만들기 - 4일차
2019.08.14당일에 AWS 교육 강의를 듣느라 많은 시간 투자를 안해서 별 진척이 없으니 적을 내용도 적긴하다. 일단 조금이라도 했으니까 적어보면, FE: CSS 깔끔하게 해서 완성 시키기. BE: TodoFormServlet을 통해 todoForm.jsp로 포워딩하기. TodotypeServlet만들고 TodoDao , update 메소드 잘 수정해서 적용될수 있게끔 만들기 가 이번에 해야할 일이었는데 일단 Servlet이름을 잘못 설정해서 서블릿이름을 바꿔주었다. Addto 뭐어쩌구로 설정해서 설정하라고 한대로 설정해서 Rename해서 바꿨다. 문제는 웹내에서 servlet URI 코드를 바꿔야하는데 그걸 서블릿 설정할때 아니면 바꾸는 것을 띄우는 방법을 몰랐으나, Web.xml을 통해서 서블릿이름과 URI를 일..
UCPC 2019 참가 후기
UCPC 2019 참가 후기
2019.08.12우연찮은 기회로 학교에서 팀을 이뤄서 같이 친구들과 함께 UCPC를 나갈 기회가 생겨서 잘하는 친구들 덕을 많이 보면서 예선을 간단하게 참여해볼 목적으로 참가 신청을 했습니다. 예선에서는 각자 노트북을 한대씩 쓸 수 있어서 그냥 끄적끄적 되는대로 문제를 풀었는데요. 역시 너무나도 어려운 문제들이 다수 포진해있어서 엄청 고생하면서 문제를 풀었는데,(뭐 많이 풀지도 못했죠.) 예선에서 41등을 하면서 탈락을 하는 줄 알았으나, 본선 진출한 팀들이 몇몇이 떨어져 아주 우연찮은 기회에 UCPC 2019에 참여 할 수 있는 기회를 획득했습니다. 당일 아침 10시 고대까지 도착하기로 한 친구들과 함께 고대에서 만나서 간단하게 아침을 핫바 하나정도로 때우고 거의 반쯤 기절한 상태로 대기를 하고 있었습니다. 도착해서 ..
부스트코스 개발일지 TODO앱 만들기 -1~3일차
부스트코스 개발일지 TODO앱 만들기 -1~3일차
2019.08.121~2일차는 사실상 Servlet-JSP 연동에서 가장 헤맸고(헤매었는지 헤맸는지 뭔지 내가 알빠야?) 어디서 가장 해맸냐면, 시발 그 JSP에서 모든 파일이 열릴거라고 착각한 내자신이 너무 밉다. JSP는 HTTP 리스폰스와 리퀘스트를 받지 않고 그냥 형식만 띡 있는 상태라, 리스폰스나 리퀘스트를 직접적으로 받는 쪽은 서블릿이 하는 것이고, 그 내용을 받아서 JSP 전달해주는 게 Servlet이 할일인거임. 즉, JSP는 폼만 만들어서 보여주고. 실질적으로 내용은 서블릿이 가지고 있다는 것이지. 근데 그걸 몰라서 JSP를 서버에서 열어보면서 왜 NULL포인터 예외가 뜬다고 지랄했던 나를 보면서 너무나도 빡이 친다. 그건 당연히 안되는 거기때문이다. 안되는 이유야 당연한것. 받은게 없으니 NULL포인터를..
Spring 공부 정리 -3. 의존성 주입(2)
Spring 공부 정리 -3. 의존성 주입(2)
2019.07.25의존 객체 자동주입 이전의 방법은 은근히 골치가 아픈게 직접 넣어줘야하는 귀찮음이 존재합니다. 나 를 직접 일일히 쳐줘야하는데, 굳이 그런 방법을 취하는 것이 아닌, Spring이 자동으로 알아서 넣는 방식을 사용하는 것이죠. 그럼 어떤 방식으로 자동 주입을 할까요? @Annotation기능을 통해서 자동으로 주입하는 방식을 취합니다. 두가지 방식으로 넣을 수 있는데, @Autowired와 @Resource을 넣는 방식으로 작동합니다. @Autowired 주입하려는 객체의 타입이 일치하는지를 보고 객체를 자동 주입합니다. 사용할 수 있는 것은 생성자, 메소드, 변수를 통해서 객체 타입이 일치하는지를 보고 집어 넣을 수 있습니다. 이런식으로 constructor태그가 없더라도, @Autowired만 있으면..
Spring 공부 정리 -2. 의존성 주입(1)
Spring 공부 정리 -2. 의존성 주입(1)
2019.07.25의존성 주입의 경우 DI(Dependency Injection)라고도 부르고, 꼭 Spring에 국한되어서 적용되는 것은 아님. Java계열의 언어들이나 사용값에 대해서 다 적용된다고 합니다. (Java, JSP, android) 자바의 경우 한객체에서 다른 객체를 받아오는 방식으로 변수형식으로 받지 않고, 생성자에 의해서 넣는 방식으로 들어가게된다면, 객체를 직접 만드는 방식이 아닌 만들어진 객체를 넣어서 사용하는 방식으로 작동한다. Spring은 스프링 설정 파일에 의해서 스프링 컨테이너에 의해서 bean이란 객체를 만들어서 직접 이 객체를 필요하는 곳에 자동으로 넣어주는 방식을 취합니다. 혹은 Spring의 bean은 큰 객체안에 작은 객체를 넣어서 큰 Bean을 만드는 방식으로 작용할 수 도 있습..
Spring 공부 정리 -1. 프로젝트 생성과 특징
Spring 공부 정리 -1. 프로젝트 생성과 특징
2019.07.24Spring을 공부하는 이유는 정말 간단한데, web app개발을 위해서는 Spring이 필요하기때문이다. (심지어 베이스 언어가 내가 쓰는 자바야 ㅎㄷㄷ) 그래서 Spring을 이용해서 web 앱을 개발하기위해서 Spring Framework를 배우고 있고, 인강을 들으면서 정리한 내용을 여기다 고대로 적는중이다. 그럼 시작. Spring은 대부분 Maven을 통해서 프로젝트를 만들어가는데 여기서 Maven: Build Tool을 뜻한다. 빌드에 도움을 주는 모든 과정을 maven이 대신 해준다고 생각하면된다. 그래서 프로젝트 생성시에도 maven을 통해서 생성해야한다. 만들 경우 group id와 artifact id가 필요한데 group id의 경우-> 전체 프로젝트를 뜻하고, artifact id..
[백준 - 16235번] 나무 제테크- JAVA 정리 및 해설(삼성 SW 역량테스트)
[백준 - 16235번] 나무 제테크- JAVA 정리 및 해설(삼성 SW 역량테스트)
2019.07.24안녕하세요. 이번에 풀어볼 문제는 나무 제테크입니다. 나무제테크는 시뮬레이션을 이용한 문제입니다. 문제 자체는 엄청 간단하므로, 구현하라는 대로 구현을 해주면 그렇게 어려울게 없는 문제입니다만, 구현대로 하면 약간의 오류가 발생하는데요. 바로 시간초과에 걸리게됩니다. 처음에 문제를 풀때는 ArrayList를 이용해서 문제를 풀었는데 이 경우는 시간 초과가 발생하게 됩니다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; i..