본문 바로가기

전체 글382

[Solution] Android Studio - Please select Android SDK 요즘 진행하고 있는 프로젝트가 안드로이드, 서버 둘다 개발해야하다보니 이클립스 왔다가 안드로이드 스튜디오 갔다가 정신이 없다. 안드로이드 스튜디오로 개발하던 프로젝트를 열고.. 프로젝트를 실행해보려고 하니... 이런 에러가 발생하면서, 실행이 안됐다. Error: Please select Android SDK 잉 ...!!? 잘못한거 저 없는데 ...... 왜 이런 에러가.. 서둘러 구글링을 해봤다. 안드로이드 개발하다 보면 여기저기서 에러가 터진다. 사람 참 환장하게하는 R Class, 왜 죽는지 도저히 모르겠는 Memory 관리 문제 등등 ... 참 사람 많이 괴롭힌다. 그 중에서도 대표적인 에러가 저 친구라 생각한다. 내 생각이다... 처음 이 에러를 마주쳤을 때 해결이 도저히 안되서 하루종일 걸린.. 2019. 10. 16.
[Debugging] Spring 프로젝트 빨간 불 들어올 때. Spring 프로젝트를 하다보면 갑자기 프로젝트에 빨간 불이 들어올 경우가 있다. 처음에 이 에러가 발생하고 해결하는데 정말 하루종일 걸린 적 있다. 해야할 일은 산더미인데 이 에러때문에 화가 나기도하고 슬프기도하고 짜증나기도하고 아무튼 최악의 하루를 보냈던 기억이 난다. 하지만 여러분들은 당황할 필요가 없다 !! 내가 잘 알려줄테니 당황하지말고 이렇게 해보자. 포스팅을 위해 만든 프로젝트에서 이렇게 땡큐하게 에러가 발생해주었다. 지금부터 이 에러를 고쳐보자. 예전의 기억을 더듬어 ...... 내가 했던 해결 방식을 보여주도록 하겠다. 1) Clean project 이 에러를 만나고 처음했던 행동은 clean project였다. 어디에 있냐면 이클립스 (나는 Spring 프로젝트 위해서 STS 사용중임).. 2019. 10. 13.
[git] One of your dependencies has a security vulnerability 오늘은 git 에 대한 내용을 포스팅해보려고 한다. 어제 내 메일을 확인하다가 깜짝 놀랐다. 메일에 무언 가를 경고하는 내용이 와구와구 와있었다. 계정이 해킹이라도 당한건가 해서 메일을 들어가보니 내가 현재 개발하고있는 Spring 프로젝트의 pom.xml에 보안적인 이슈가 있다고 나에게 협박(?)을 하고 있다. JSON을 이용해 데이터 통신을 하려고 dependency 에 jackson 관련 내용을 기입해줬는데, 이게 문제가 된 듯하다. 해당 부분의 버전을 2.9.10으로 바꿔주니 문제가 해결되었다. 이게 무슨 기능인가 궁금해서 찾아보니 이건 GitHub에서 제공하는 Security alerts 라는 기능이라고한다. 프로젝트를 하다보면 외부라이브러리를 사용하다가 보안 업데이트 등을 제대로 하지 못해 문.. 2019. 10. 13.
[Debugging] Spring 프로젝트에서 JSONObject 사용 시 406 error 오늘부터는 개발을 하다가 발생하는 에러에 대해서도 하나 씩 정리를 해보려고 한다. Spring 에서 프로젝트를 진행하다 406 Not Acceptable 이라는 오류를 만났다. 검색을 해보니 406 Not Acceptable 은 Accept 같은 헤더에 기입된 형식을 생성하지 못할 때 발생하는 에러라는 것을 알게 되었다. 계속 삽질을 하다가 문제를 찾았다. 가장 흔한 문제이기도 한 jackson 라이브러리가 없어서 발생한 것이었다. 해당 내용을 pom.xml 에 추가해주니깐 문제가 싹 ~ 해결 되었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 com.fasterxml.jackson.core jackson-core 2.6.3 com.fasterxml.jackson.core jacks.. 2019. 10. 12.
[Spring] JdbcTemplate 을 이용한 Database 통신 오랜만에 글을 쓴다. 또 해외에 다녀오느라 글쓰는게 늦었다.. 오늘은 JdbcTemplate 을 이용해서 쉽게 Database와 통신해보는 걸 포스팅 할 생각이다. Java를 배우신 분들이면 아마 Jdbc를 이용해서 Database 통신을 해봤을 것이다. 복습한다는 생각으로 Jdbc 에 대해 아주 간단하게 설명해보겠다. 아래 그림을 보자. JDBC 는 Java Databse Connectivity의 줄임말로 Java에서 Database 프로그래밍을 하기 위해 사용되는 API 이다. Driver를 DB에 맞게 로딩해주면 Database 종류에 상관 없이 사용할 수 있고 Connection 객체를 이용해 database를 연결해주고 PreparedStatement 나 Statement 객체를 이용해 SQL .. 2019. 10. 10.
[Spring] Redirect를 이용하여 특정 페이지로 전환하기 (2) Spring에 대한 글을 몇개 올렸다. 이렇게 글을 올리다 보니 조금은 Spring이라는게 익숙해 진 것 같다. 오늘은 Redirect를 이용해서 페이지가 돌아가는 걸 실제로 코드로 구현해보려고한다. (Redirect가 뭔지를 모르신다면~~ https://devkingdom.tistory.com/10) 현재 프로젝트를 진행 중 인게 있는데, 이 프로젝트에서 회원 관리 모듈이 필요해서 구현 중인 소스가 있다. 이 소스를 가지고 설명을 드리겠다. 웹사이트에서 사용하는 대부분의 서비스들은 로그인이 되어있어야 가능하다. 이전의 글에서 보여줬던 메일함을 여는 것이나 웹툰을 보는 것 뿐만아니라, 단순한 회원정보 수정, 탈퇴 등의 기능도 로그인 정보가 필요하다. 이전에 내가 올린 글에서 Session 이라는 것을 설.. 2019. 9. 28.
[Open API] SOAP 란? 저번 글에 Open API 가 무엇인지 대략적으로 무엇인지 썼었다. (지난 글 - http://devkingdom.tistory.com/11) 요즘에 Open API를 기업에서 제공할 때, SSL과 서명기능을 첨부한 RESTFul 방식으로 API를 제공한다. 오늘 공부해볼 SOAP라는 놈은 예전에 정말 많이 쓰던 방식이다. 그럼 RESTFul 서비스만 알면되지 왜 SOAP 라는 서비스를 알아야하느냐고 반문하실 수도 있다. 나도 사실 그렇게 생각하면서 개발을 해왔다. 그런데 오늘.... 해외의 한 기업에 API를 제공하려고하는데, 여기 회사에서는 SOAP 방식으로만 서비스를 개발한다고 한다. 잘 안쓴다고 해서 모르면 안된다는 걸 오늘 깨달았다. 자, 아무튼 SOAP에 대해 좀 알아보자. SOAP나 REST.. 2019. 9. 25.
[Open API] Open API 란? 회사에서 Open API 개발 업무를 담당하고 있다. 혹시 Open API 가 뭔지 잘모르는 사람을 위해, 위키백과에다가 검색을 해보았다. 라고 한다.. 이렇게만 보면 무슨말인지 모를 수 있겠다. 쉽게 서비스를 가지고 설명을 해보겠다. 어떤 앱이나 웹서비스를 사용하다보면 이런 거 한번 쯤은 봤을 것이라 확신한다. 이러한 서비스가 바로바로 Open API의 대표적인 예이다. 즉, 누군가가 서비스를 공개한것이 Open API 이고, 개발자는 그걸 써서 구현하려는 기능을 쉽게 구현하는 것이라고 생각하면 편하겠다. 이러한 서비스 뿐만 아니라, 이런 것도 많이 봤을 거다. 앱을 쓰다보면 '엥.. 왜 구글 지도가 여기 앱에 들어가 있지?' 하는 생각 한번도 한 적 없나 모르겠다. 나만 이렇게 생각했을 수도 있다. .. 2019. 9. 25.
[Spring] Redirect를 이용하여 특정 페이지로 전환하기 (1) 지난 주에 코타키나발루로 휴가를 다녀오느라... 오른만에 포스팅한다ㅜㅜ 지난 번에 포스팅했던 글은 Session, Cookie 라는 웹사이트에서 연결을 유지시켜주는 놈들이였다.... (지난 글 - https://devkingdom.tistory.com/9) 오랜만에 글을 쓰려다보니 내 머리 속에 세션이 끊어진 것같다. 그래도 열심히 집중해서 써보겠다!!! 아무튼 지난 번에 포스팅 했던 내용과 연결되는 내용인데, 웹사이트의 연결을 유지하는 과정에서 세션 정보나 클라이언트 정보가 잘못되거나 끊어져버릴 수도 있을 것이다. 이때 Redirect 를 이용하면 해결이 가능하다. 먼저 리다이렉트에 대해 알아보자. 영알못이어서 네이버에 redirect 뜻을 검색해보았다. 2번 뜻을 보내면 (다른 주소 방향으로) 다시 .. 2019. 9. 24.