개발2015. 11. 10. 12:27

maven build-helper:add-source error


이클립스 Luna를 사용하다가 HTML Editor부분에서 JavaScript코딩시 코드 자동 완성 때문에 바람개비가 무한으로 돌며 이클립스가 뻗어버리는 현상이 지속 되었다. 뻗지는 않아도 멈춤현상 때문에 돌아버릴 지경이었다.

JavaScript 자동완성 기능을 꺼도 나타나버리는 자동완성 때문에 이클립스를 Mars버전으로 업데이트를 하였다.

이전과는 다르게 압축후 폴더를 옮기는게 아니라 이제는 인스톨러가 제공 되어 경로를 지정하면 알아서 깔아주기까지..

WorkSpace를 지정해주면 그안에 있는 프로젝트들의 정보까지 읽어와 알아서 Git이나 SVN까지 연결해주니 이런 신통 방통하기 까지..

이부분은 이전에도 지원을 해줬었는지 기억이 잘 나지 않는다.


새로깐 이클립스를 띄우고 이전에 잘돌아가던 프로젝트를 빌드 하는데 에러 발생..


maven build-helper:add-source error


해결은 m2e라는 이클립스 플러그인을 설치해주면 된다.

메이븐 빌드할때 도와주는 플러그인 같은데 기본으로 설치가 되지 않아 에러가 났던것 같다.

이로써 자바스크립트 자동완성에서 탈출..

Posted by Z700zZz
개발2015. 2. 7. 11:06
JSON으로 데이터를 만들때 주의해야 할 점..

[{
"title" : "JSON File read Example 1",
"subTitle" : "JSON 파일 읽어 들이기 예제",
"filePath" : "aaaa",
"fileNm" : "aaaaa",
"cardCount" : "4",
"pubShortUrl" : "http://jeonjin.tistory.com"
},
{
"title" : "JSON File read Example 2",
"subTitle" : "JSON 파일 읽어 들이기 예제",
"filePath" : "bbbb",
"fileNm" : "bbbbbb",
"cardCount" : "10",
"pubShortUrl" : "http://jeonjin.tistory.com"
},
{
"title" : "JSON File read Example 3",
"subTitle" : "JSON 파일 읽어 들이기 예제",
"filePath" : "cccc",
"fileNm" : "ccccc",
"cardCount" : "6",
"pubShortUrl" : "http://jeonjin.tistory.com"
}]


JSON은 데이터를 표현 할때 key와 Value로 표현을 하는데 key값에 "가 없으면 제대로 표현되지 않는다.

너무 기본적인건가..근데 난 이거때문에 30분을 삽질했네..ㅋㅋㅋ


Posted by Z700zZz
개발2015. 1. 28. 18:22

프로젝트를 진행하다 웹에디터를 이용하여 글을 작성하는 부분을 개발하고 있었다.

그러다 고객의 요구가 글을 작성하다가 동영상 링크를 넣으면 글에 동영상이 표현 되도록 해달라는 요구가 있었다.

평소에 네이버 카페나 블로그에 글을 쓸때 글내용에 동영상을 노출 되도록 하려면 해당 동영상의 공유를 눌러 embed태그를 복사해서 넣는게 일반적이라 생각했는데..대체 왜이런 요구를 했을까..

워드프로레스에 가서 유투브나 비메오의 URL을 붙여 넣고 글을 작성하니 거짓말처럼 동영상이 붙어 나오는게 아닌가..

소스를 들여다보니 oEmbed란게 나오고 이걸 검색하니 여러 결과가 검색 되었다.

우선 해당 동영상이나 게시물의 고유ID를 각 사이트(유투브, 플리커, 비메오 등등)에서 제공하는 oEmbed URL에 요청을 하게 되면 결과 값으로 JSON이나 XML의 형태로 결과값을 내려주게 된다.


https://www.flickr.com/services/oembed?url=http%3A//flickr.com/photos/bees/2362225867/


예로 위의 URL을 요청하게 되면.


<oembed>
<type>photo</type>
<title>Bacon Lollys</title>
<author_name>‮‭‬bees‬</author_name>
<author_url>https://www.flickr.com/photos/bees/</author_url>
<width>1024</width>
<height>768</height>
<url>
https://farm4.staticflickr.com/3040/2362225867_4a87ab8baf_b.jpg
</url>
<web_page>https://www.flickr.com/photos/bees/2362225867/</web_page>
<thumbnail_url>
https://farm4.staticflickr.com/3040/2362225867_4a87ab8baf_s.jpg
</thumbnail_url>
<thumbnail_width>75</thumbnail_width>
<thumbnail_height>75</thumbnail_height>
<web_page_short_url>https://flic.kr/p/4AK2sc</web_page_short_url>
<license>All Rights Reserved</license>
<license_id>0</license_id>
<html>
<a data-flickr-embed="true" href="https://www.flickr.com/photos/bees/2362225867/" title="Bacon Lollys by ‮‭‬bees‬, on Flickr"><img src="https://farm4.staticflickr.com/3040/2362225867_4a87ab8baf_b.jpg" width="1024" height="768" alt="Bacon Lollys"></a><script async src="//widgets.flickr.com/embedr/embedr.js" charset="utf-8"></script>
</html>
<version>1.0</version>
<cache_age>3600</cache_age>
<provider_name>Flickr</provider_name>
<provider_url>https://www.flickr.com/</provider_url>
</oembed>

위와 같은 결과값을 반환해준다.
html항목의 내용을 긁어다 게시판 글 작성 하는곳에 넣고 글 작성을 해보면 해당 동영상이나 사진이 노출되는 것을 볼수 있다.
그렇다면 웹 에디터에서는 사용자가 일반 URL을 입력하고 저장을 누르면 서버에서는 URL을 검색하고 분석해서 해당 서비스에 oEmbed를 요청해 그곳에서 보내준 Html코드를 URL대신 넣어 글을 저장했다가 상세 화면에서 보여주기만 하면 되는 것이다.
내가 이해기론 이렇게 하면 될것 같은데..맞나??


Posted by Z700zZz
개발2015. 1. 20. 23:34

git config --global user.name "MyName"

git config --global user.email myemail@email.com


첫번째 명령어는 Git에서 사용할 나의 이름을 지정 하는 명령어.

두번째는 Email을 설정하는 명령어.

Push명령어 칠때마다 이메일을 물어볼텐대 등록해두면 치지 않아 편리하다.


이거로 될줄 알았는데 안된다.

커밋 할때마다 쳐야 하는건가..?

'개발' 카테고리의 다른 글

JSON 기본 형식..  (0) 2015.02.07
oEmbed..  (0) 2015.01.28
JSTL의 비교 연산자..  (0) 2014.09.16
전자정부 프레임워크(eGoverment Framework) 두번째(홈페이지 생성)..!  (0) 2014.06.26
missing artifact ojdbc ojdbc jar 14..  (0) 2014.06.24
Posted by Z700zZz
개발2014. 9. 16. 11:28

 JSTL에서 비교연산자로 ==, !=, <, >, >=, <= 따위 쓰지말자. 가끔 안먹을 때가 있다. eq, ne, lt, gt, le, ge를 사용하자.

끗..

Posted by Z700zZz
개발2014. 6. 26. 14:35

 지금 하고 있는 프로젝트에 전저정부 프레임워크를 이용해서 진행하기 위해 기본으로 제공하는 템플릿으로 홈페이지를 생성해보았다. 이걸 하면서 정부가 하는게 뭐 그렇지 하면서 욕을 졸라 했는데..결론은 내가 잘못한게 많네??

 내가 진행을 하면서 삽질 한부분까지 아주 상세히..놓치는 부분이 있겠지만..설명을 해보겠다. 귀찮아서 스샷이나 이런 부분은 없을수도 있겠지만 글로 모든게 설명이 되도록..공대생인 내가 글로 모든게 설명이 될지도 미지수..미지수는 누구여?!?!


프로젝트 생성을 진행하기 전에 해두면 편한 작업이 있다. Windows - Show View - Data Source Explorer를 선택해서 창을 띄우도록 하자. 안해도 그만이기는 하지만..Data Source Explorer에 데이터 베이스의 정보를 설정하고 접속해 놓으면 전자정부 프레임워크에서 기본으로 제공하는 Sql파일들을 SqlDeveloper와 같은 베이터 베이스 툴을 사용하지 않고 이클립스에서 실행이 가능하다. 





Data Source Explorer창의 Database Connections항목에서 우클릭을 하면 위의 그림과 같은 메뉴가 나온다.

커넥션을 새로 만들어 줘야 하니 New...선택.





자신이 사용할 데이터베이스의 종류를 선택하고 화면에 표시될 이름을 Name에 적어준다.

이부분은 설명안해도 아주 잘 알것이라 믿는다.





Drivers를 선택해주고 Properties에 항목을 채워 넣으면 끝이다.

하지만 처음 이 작업을 진행하면 Drivers에는 아무런 목록이 나타나지 않는데..

Drivers옆에 보면 작은 아이콘 두개중 첫번째 아이콘을 클릭한뒤 드라이버 등록을 진행 해줘야 한다.





자신이 사용중인 오라클의 버전을 선택하고, 목록에서 사용할 이름을 Driver Name에 적어준다.





이전에서 선택한 데이터 베이스 버전에 맞는 드라이버 파일이 선택 되어 있는데..

이건 선택후 Remove JAR/Zip눌러 지운다음 내 데이터 베이스 버전에 맞는 드라이버 파일을 다운 받은뒤 Add JAR/Zip버튼을 눌러 추가 하도록 하자.





이곳에 접속 정보를 빼놓지 말고 적어 줘야 한다.

모두 입력을 다하면 OK버튼이활성화가 되는데 OK버튼을 누르면 이전에 떴던 화면으로 되돌아 가게 된다.

그곳에서 드라이버 선택전에 비활성화 되어 있던 Test Connection 버튼이 활성화 되어 있는것을 확인 할 수 있다.

Test Connection 버튼을 눌러 제대로 접속이 되는지를 확인하면 된다.

결과에 Ping Success가 뜨면 성공. Finish를 눌러 저장 시키도록 하자.





데이터베이스를 선택할수 있는 화면이 나온다면 성공.

우클릭을 눌러 connect를 선택하면 데이터베이스에 접속이 되며 전자정부 프레임워크에서 기본으로 제공하는 SQL파일을 열어 우클릭 한뒤 실행하면 데이터베이스 테이블 생성부터 데이터 입력까지 쉽게 진행 할 수 있다.


Packge Explorer에서 New - eGovFrame Template Project를 선택하면 다음과 같은 화면이 등장한다.





홈페이지를 만들거니까 Simple Homepage를 선택. Next > 





프로젝트 생성은 Dynamic Web Project생성과 동일하다. Finish.


생성후 프로젝트에서 에러가 발생하는데 이건 Web.xml파일에 한글 인코딩이 깨져서 발생하는 에러.

파일을 열어 깨진 문자열을 지워주면 해결된다.


생성된 상태 그대로 서버에 추가 한다음 돌리면 돌아갈것 같지만 돌아가지 않는다.

왜냐하면 이 템플릿은 여러 데이터 베이스를 지원한다. MySQL부터 Oracle, Alibase? 다합쳐서 여섯가지의 데이터 베이스를 지원 하는데..데이터 베이스 설정을 가지고 있는 /src/main/resources/egovframework/spring/com/context-datasource.xml의 내용을 수정해줘야 한다. 오라클을 사용한다면 오라클 부분만 남겨놓고 다 지워줘야 하겠지. context-datasource.xml에 보면 데이터베이스 접속에 필요한 정보들을 classpath:/egovframework/egovProps/globals.properties 파일에서 불러오는것을 알수가 있다. globals.properties파일에 가서도 여러가지 내용을 수정하길 바란다.


다시 서버에서 시작하게 되면 역시나 또 에러가 난다.

이번엔 데이터베이스 라이브러리를 못찾는에러가 날것이다. pom.xml을 열어 자신의 데이터 베이스에 맞는 dependency를 추가하여 라이브러리가 추가 되도록 해야한다. 아마도 오라클을 추가한다면..dependency만 추가하면 안될것이다. 버전에 맞는 repositery도 추가를 해줘야 한다. 저작권 문제로 maven저장소에서 불러오지 못해 오라클 저장소에서 불러와야 한다나..


다시 서버를 시작해보면 이번엔 돌아간다. 아주잘 돌아간다. 성공?? 설마 이렇게 쉽게 돌아갈라고..

만든 홈페이지에 접속해보면 메인 화면은 아주 잘 나온다..하지만 뭔가 이가 빠진느낌.

게시판들을 클릭해보면 왜 그런 느낌적인 느낌을 받은지 알것이다.

잊고 있었던게 있다. 데이터 베이스에 테이블이라든지 데이터가 없는것..로그가 찍인것을 봐도 테이블 또는 뷰가 없다는 익셉션을 확인 할 수 있다. 그럼 어떻게 해야할까..어떻게 하긴 테이블과 데이터를 집어 넣어줘야지.

친절하게도 테이블 생성과 데이터를 SQL파일로 제공을 하고 있다.

프로젝트 생성전에 Database Source Explorer를 설정해 두지 않았던가??

SQL파일을 열고 우클릭후 Excute All을 선택하면 알아서 다 생성하고 입력한다.


이번엔 서버를 재시동 할 필요가 없다. 홈페이지에 다시 접속해보자..




아 기쁨의 눈물이 앞을 가린다.

처음 홈페이지를 생성하고 별에별 에러가 다났는데..위와 같은 절차로 생성하고나니 아무런 문제 없이 생성..

대체 3일간 난 뭔짓을 한겨..이렇게 쉬운거 하나때문에.

뭐든 하고나면 쉽긴한데 그 과정이 참..

다음 포스팅을 포털 서비스가 될지 말지..

Posted by Z700zZz
개발2014. 6. 24. 14:58

Maven으로 개발을 진행할 때..

pom.xml에 JDBC를 추가 하니 추가한 부분에 에러 표시와 함께 "missing artifact ojdbc ojdbc jar 14"라는 메세지가 있었다.

전자정부 프레임 워크에서 제공하는 Template를 생성했을 뿐이고 오라클을 사용하기 위해 pom.xml에 있던 OJDBC부분의 주석을 풀었을 뿐인데 왜이런 에러가 발생하는것인가!!

원인은 메이븐과 오라클 사이의 저작권문제때문에 메이븐에서 바로 가져오질 못하니 다른곳에서 가져와야 하는것..

그래서 pom.xml의 repository에 내용을 추가해 줘야 한다.


<repository>

<id>mesir-repo</id>

<url>http://mesir.googlecode.com/svn/trunk/mavenrepo</url>

</repository>


그럼 문제 해결..

Posted by Z700zZz
개발2014. 6. 24. 13:48
이직을 하고 첫번째 프로젝트가 정부기관(?) 프로젝트..
따라서 프로젝트를 진행하는데 전자정부 프레임워크라는것을 사용해야 한다.
정부가 뭔가 제공을 한다라는것..상당히 불길한느낌이 엄습해온다.

전자정부 프레임워크 홈페이지 - http://www.egovframe.go.kr/

홈페이지에 가보면 친절하게도 소개부터 설치까지 아주 친절하게 설명이 되어있다.
개발에 필요한 모든 기능들을 제공한다나..?진짜??제대로 돌아가??

프레임워크를 적용 시키려면 이클립스와 같은 개발도구를 설치 해야하는데..

전자정부 프레임워크 개발도구를 따로 제공도 한다.

이클립스와 거의 동일한 개발도구를 제공하는데 윈도우즈용만 제공을 하고 있어 처음에는 왜 윈도우용만 있을까 했지만..

다시 알아보니 기존의 이클립스에 Help - Install New Software메뉴를 선택하여 필요한 기능들을 설치하면 된다.


http://www.egovframe.org/wiki/doku.php?id=egovframework:dev2:install_guide


위의 링크에 들어가면 각 이클립스 버전에 맞는 프로그램 목록들이 잘 정리 되어 있다.


여기서 중요한건 하위 호환성을 위해서 자바는 1.5버전 사용을 권장하고 있다.

그리고 이클립스 최신버전인 Kepler버전도 미지원하고 있다.

그러니 이클립스 버전은 Juno로 설치해서 작업을 해야한다.

Kepler로 깔아놓고 설정 다해놓고 서버 작동하니 무수히 많은 에러들..

일단 Juno로 다시깔고 다시 작업해보자..

Posted by Z700zZz
개발2014. 4. 30. 13:30

MacBook을 구매한 이후 부터 개발을 MacOS로 하다 이직을 하면서 윈도우로 개발 환경을 세팅했다.

그러다 발생한 문제..

Eclipse의 Unhandled event loop exception이 발생한것..

윈도우에 자바를 설치하고 이클립스를 설치한뒤 이클립스를 실행하고 몇초 이내에 발생하는 문제..

이클립스를 종료할지 말지를 물어보는데 종료하지 않고 사용해도 계속해서 에러가 발생했다.


검색결과..ini파일의 내용을 바꿔 보라는 내용과 윈도우7에서의 버그라 업데이트를 하면 해결 된다는 검색결과가 나왔다.

그래서 업데이트 실행..업데이트 목록은 214개..두시간에 걸쳐 업데이트를 진행하고 이클립스를 실행하니..

아주 정상적으로 실행이 되는것..

자바 설치부터 이클립스 설치까지 익숙하지 않아 힘들다..ㅋ

Posted by Z700zZz
개발2014. 3. 24. 17:28

평소SVN에서 남이 짜놓은 프로젝트만 다운받아 개발을 하다가 이번에 새로 프로젝트 생성하고 개발하려 했는데..

Dynamic Web Project생성하고 WebContent/WEB-INF에 web.xml이 없는것을 발견..

내가 뭔 실수를 한거지라고 생각했지만..

아무리 생각해도 나너를..이 아닌..프로젝트를 제대로 생성한게 분명했다.

그래서 검색을 해보니..프로젝트 생성시 첫페이지에서 프로젝트 이름을 정하고 바로 Finish버튼을 누르지 말고..

Next 버튼 두번 더 눌러 나오는 화면에서..

web.xml파일 생성 옵션에 체크를 해줘야 한다.





빨간색 네모 안에 있는 Generate web.xml deployment descriptor를 체크 해주면 web.xml생성됨.

기본적인것도 모르고..아..

Posted by Z700zZz