분류 전체보기 433

[Dev] http://www.soen.kr/ 학습사이트

자바스크립트 canvas 관련 검색을 하다가 재밌는 사이트를 하나 발견했다.  www.soen.kr/ SoEn:소프트웨어 공학 연구소 www.soen.kr 소프트웨어 공학 연구소라는 사이트인데, 정말 정리가 잘 되어있는 사이트다.  특히 c/c++ 관련한 내용이 문법부터 시작해서 고급내용까지 너무 잘 정리되어 있어서 놀랐다.  이외에도 javascript의 canvas에 대해서도 아주 잘 정리되어 있다.  가끔 이렇게 너무 잘 정리해놓은 사이트를 보면 굳이 책을 사야하나 싶을 때도 있다.

개발 정보 2021.02.22

[JS] event.cancelable 프로퍼티

버튼 cancelable 값을 alert 로 찍어보는 예제이다. 그런데 해당 예제를 실행하는 와중에 이해가 안되는 동작이 존재했다. 우선 처음 실행했을 때 동작은 다음과 같다. 보다시피 alert 창으로 cancelable 프로퍼티의 값이 찍히게 된다. 내가 설정한 false 값으로 잘 출력되는 것을 볼 수 있다. 그리고 여기서 확인을 누르면 다음과 같이 표시된다. button 태그를 body에 정의해놓았다. 그런데 여기서 버튼을 다시 클릭하게 되면 다음과 같은 결과를 확인할 수가 있다. 맨 처음의 cancelable 의 값이 찍힌 건 false 였다. 스크립트에서 event.initEvent("click",true,false); 에서 세번째의 인수인 cancelable에 false를 잘 전달했는데, 갑..

Web/javascript 2021.02.21

[JS] createDocumentFragment()는 무슨 기능을 할까?

노드를 생성하는 메서드들을 살펴보던 중 createDocumentFragment()라는 메서드를 발견했다. 다른 메서드들은 무난하게 설명이 이해가 됬는데, 이 메서드는 설명란에 도큐먼트 프래크먼트 라고만 적혀 있었다. 그래서 찾아보게 되었다. 해당 블로그에서 많은 도움을 얻었다. 출처: programmer-seva.tistory.com/60 DocumentFragment 노드를 생성해서 사용하면 라이브DOM 트리 외부에 경량화된 문서 DOM을 만들 수 있다. 마치 라이브 DOM 트리처럼 작동하되, 메모리상에서만 존재하는 빈 문서 템플릿으로 생각하면 된다. 자식 노드를 메모리상에서 손쉽게 조작한 후 라이브 DOM에 추가하는 것도 가능하다. 라고 설명 되어있는데, 해당 블로그의 코드들을 살펴보고 설명을 계속..

Web/javascript 2021.02.19

[JS] Navigator 객체의 vibrate() 메서드와 hoax 계열의 광고

Navigator 객체를 살펴보던 중 재밌는 메서드를 발견했다. vibrate() 메서드인데, 단말기를 진동시키는 메서드이다. 웹 브라우저에서 직접 디바이스를 컨트롤할줄은 몰랐는데, 진동을 시킬 수 있다는 게 신기했다. 그리고 검색해보니 이 메서드가 hoax 계열의 광고에서 자주 사용한다는 것을 알게 되었다. 가끔 웹서핑을 하다가 이상한 사이트에 접속하거나 하게 되면, 갑자기 배터리가 부족? 하다거나 바이러스에 감염되었다거나 디바이스에 치명적인 손상이 있다는 둥 갑자기 번쩍거리는 이펙트와 함께 진동이 울리면서 창들이 막 뜨게 되는 경우가 있다. 그런데 이 허위 광고에 속는 사람들도 꽤 많아서 아직까지 많이 쓰이고 있다고 한다. 그리고 여기서 바로 진동 이펙트를 주기 위해서 vibrate() 메서드를 사용..

Web/javascript 2021.02.19

[JS] 처음 배워보는 자바스크립트

servlet&jsp 을 배우고나서 spring 까지 어떤 식으로 다루는지 살펴보는 시간을 가졌다. 대략 한달 반 정도 걸린것 같다. 라는 책이 그렇게 좋다고 소문이 자자해서 괜찮겠다 싶어서 공부했는데, 정말 소문이 85%정도는 맞는 것같다. 조금 호불호가 갈리는 부분이 있었는데, 그건 지극히 주관적인 관점이었다. 아무튼 그렇다 치고 spring을 더 깊게 파보려고 생각하다가 지금은 그럴 때가 아니라는 생각이 들어서 자바스크립트를 한번 훑어보려고 했다. 이라는 책을 사서 공부중인데, 솔직히 말해서 살짝 어색한 감이 있다. 자꾸 C 혹은 JAVA에서는 허용안되는 개념들이 등장하면서 이것도 따로 외워야하겠다는 생각이 들면서 헷갈릴 수도 있겠다는 생각이 들었다. 여타 다른 언어들과는 살짝 다른 면이 보였다. ..

Web/javascript 2021.02.02

[Spring] Unable to locate persistence units 에러

JPA 프로젝트에서 하이버네이트를 JPA 구현체로 사용하여 실행결과를 로그로 출력하는 프로젝트를 만들고 있었는데, 에러가 발생했다. 에러를 거슬러 올라가면서 고쳤기 때문에 그 순서대로 원인과 해결방법을 설명하겠다. 우선 가장 처음의 에러는 XML 버전 2.2를 인식할 수 없다는 에러였다. 위에 동그라미 친 곳을 보면 버전이 2.1로 되어있는 것을 알 수 있다. 내가 다시 수정했기 때문에 2.1로 적용이 가능한 것이다. 수정하기 전에는 2.2버전으로 써놓았었는데, 이때 2.2버전을 인식할 수 없다는 에러가 발생한 것이다. 그래서 다음과 같이 porm.xml을 써놓았다. 4.0.0 com.springbook.biz.board JPAProject 0.0.1-SNAPSHOT jar JPAProject http:..

[Spring] 메이븐 프로젝트 생성 maven-archetype-quickstart

메이븐 프로젝트를 만들려고 File-> New -> Maven Project를 누르고 Next를 눌러서 아래와 같은 창에 진입했다. 메인 창에 수많은 groupid가 표시되는데, 처음에는 이게 바로 표시되지 않아서 내 maven에 무언가 문제가 있다고 생각했다. 그러다가 좀 시간이 지나니 갑자기 메인창에 나타났다. 아마 적용이 느려서 그런 것 같다. 다음부터는 창에 뭐가 안뜨면 좀 기다려보자. 저번에도 이런 비슷한 일이 있어서 일부러 빙빙 돌아서 더 어려운 방법으로 적용했던 기억이 있다.

[SpringBoot] java.lang.IllegalArgumentException : Mapped Statements collection does not contain value 에러

mybatis를 통해 원하는 결과를 콘솔창에 출력해서 보려고 하는 중인데 java.lang.IllegalArgumentException 에러가 발생했다. 세부 사항을 보니 Mapped Statements collection does not contain value 라고 뜨는 것을 확인할 수 있었다. 이번 오류는 모두 오타로 인함이었다. 이전 포스팅과 연계된 포스트인데, 이전 포스팅에서는 xml문서에서 첫라인에 띄어쓰기가 들어가서 발생한 문제였다. 이번경우는 mapper에 있는 namespace에 #이 들어간 것이었다. 저 # 때문에 인식을 하지 못한 것이다. 아 그리고 sql 구문을 써줄 때 예를 들어서 insert into board(seq,title,writer,content) values((sele..

[SpringBoot] target matching "[xX][mM][lL]" is not allowed 에러 발생

스프링에서 mybatis를 사용하던 도중에 위와 같은 에러를 만났다. 너무 간단한 이유에서 발생했다. 위에 xml문을 보면 알겠지만, 맨 처음 1번째 라인에서 한칸이 띄어쓰기 되어 있어서 발생한 오류였다. 왜 한칸이 띄어져 있었는지는 잘 모르겠지만, 아마 내가 코딩하다가 스페이스바를 잘못 눌렀다거나 해서 저기 첫줄에 띄어쓰기가 한칸 적용된 것 같았다. 아무튼 주의하자. developer-ek.tistory.com/49

[SpringBoot] 이클립스에서 Mybatis 사용하기

이클립스에서 Mybatis를 사용하려고 설정을 진행하는 와중에 좀 고생을 했다. 우선 이클립스에서 orm 플러그인을 받아서 사용할 수 있다고 해서 마켓 플레이스에 들어가서 Java orm 플러그인을 찾으려고 했다. 그런데 여기서 문제가 발생했다. 마켓에서 orm 플러그인을 찾을 수가 없었다. 참조한 블로그의 설명을 따르면 마켓에서 해당 파일이 사라진 것 같다고 했다. (그런데 더보기 메뉴에서 찾아보니까 orm 플러그인이 있었는데, drag 로 끌어다가 install 하라는 설명이 있었다. 그래서 계속 드래그 했는데, 의미없는 로딩? 같은 작동만 하더니만 아무 도움도 안됬다. ) skyfox83.tistory.com/532 [에러/Spring] Java ORM Plugin 설치 0. 참고도서 - 스프링 퀵..

[Spring] JAXB2 API 사용중 어노테이션을 썼지만, import가 안될 때 !!

자바 객체를 xml 형태의 테이터로 바꾸려고 어노테이션을 써주었는데, 아무리 ctrl shift o 를 눌러도 import가 안됬다. 그래서 이상하다 싶어서 직접 import 경로를 써줬는데도 안되더라... 그래서 보니까 아예 어노테이션 자체를 인식을 하지도 못했다. 그래서 검색을 해보니 JAXB2 API는 자바6 부터 자바 8까지는 지원이 되는데, 자바 10부터는 자동으로 지원이 안된다고 한다. 그래서 따로 설치해줘야 한다고 한다. 그래서 porm.xml에 다음과 같이 적어주면 메이블 라이브러리에 추가가 되는 것을 확인할 수 있다. 이렇게 써주고 난 뒤에 import 해주면 잘 작동하는 것을 확인할 수 있다. 자바 6이후 버전에 기본으로 포함되어 있다고만 알고있었는데... 10이후부터는 지원이 끊긴 것..

[Spring] 스프링 파일 업로드에서 엑세스가 거부되었을 경우

스프링 프레임워크를 사용해서 게시판에 글을 등록하는 예제를 진행중이었다. 파일업로드를 구현하기 위해 이제 마지막으로 테스트를 해보려고 파일을 업로드 하려고 했더니 에러가 발생했다. 에러의 내용은 즉슨 엑세스가 거부되었다는 내용이었다. 이런 종류의 에러는 처음 보았는데, 검색해보니 여러 블로그에서 액세스 권한? 과 관련된 설정을 해주는 걸 볼 수 있었다. 업로드한 파일이 저장되는 위치를 C:/ 로 지정했는데, 여기에 파일을 업로드하는 것이 엑세스 거부된 것이었다. 즉 위 사진의 코드에서 보면 new File() 부분에서 경로를 C:/ 로 설정했는데, 이 경로에서 엑세스가 거부되었다. 그래서 해당 경로를 (일단 테스트해보는 것이 목적이기 때문에) 바탕화면으로 해두기로 했다. 그래서 위의 경로를 다음과 같이 ..

[Spring] Error: Could not find or load main class test

user 서비스 컴포넌트를 만드는 중이었는데, 마지막에 Client 클래스를 만들어서 최종으로 실행시키려고 했다. 원래대로라면 스프링 컨테이너가 정상적으로 구동되면서 관리자님 환영합니다.! 라는 메시지가 출력되어야 했다. 그런데 정말 무슨 짓을 해도 저 에러가 사라지지 않았다. 저 에러가 뜨기 직전에 한 행동은 한개의 일반 자바소스파일을 하나 더 만든것 뿐이다. 환경변수도 절대 건드리지도 않았고, build path 라던지 문제가 될만한 건 아무것도 건드리지 않았다. 그냥 코딩만 하고 있었다.... 그런데 갑자기 저 에러가 떠버려서 이리저리 찾아봤는데, 정말 도움이 될만한 정보를 얻지 못했다. 1. 환경변수 바꾸기 -> 확인해봤는데, 잘 설정되어 있었다. 혹시 몰라서 정석대로 다시 설정해봤고, 조금 다른..

[Java] Java - Properties 컬렉션 매핑

Java 에서 properties 파일을 사용하는 경우가 있다. 설정값들은 properties 파일로 빼서 관리하는 경우가있다. 그때 쓸 수 있는 컬렉션이 Properties 컬렌션이다. HashTable을 상속받아서 구현한 컬렉션의 한 종류라고 한다. HashMap 같은 경우는 키 값 형태로 Object, Object 형태로 저장하는데 Properties 는 오브젝트가 아니라 String 형태로 저장하는 간단한 컬렉션 클래스라고 한다. 일단은 *.properties 형식의 파일이 있다고 가정하자. 그러면 Java 코드 상에서 실제로 그 파일을 불러와서 그 파일에 있는 속성값을 불러다가 사용할 수 있다는 의미이다. pro.load 를 통해서 FileInputStream으로 읽어들인 파일을 열어주고 이후에..

Java 2021.01.21

[Java] Java Map 타입 매핑하기

Map 컬렉션을 사용하는 예제를 작성하던 중 Map 객체에 이터레이터를 쓰는 둥 다양한 방법이 나와있어서 올려둔다. package com.springbook.ioc.injection; import java.util.Iterator; import java.util.Map; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; public class CollectionBeanClient { public static void main(String[] args) { AbstractApplicationContex..

Java 2021.01.21

[기술서적] 처음 해보는 Servlet&JSP 웹 프로그래밍 - 오정임

코로나라서 남는시간동안 뭘 할까 하다가 웹프로그래밍을 해보기로 했다. 그래서 이책을 골랐는데, 일단 처음 책을 골랐을때 후기남기신 분들이 정말 좋은 평들을 많이 써주셔서 기대를 많이 했다. 예상대로 정말 괜찮은 책이었다. 상당히 친절하게 설명해주는게 이책의 매력인 것 같다. 물론 이 책이 관련된 모든 내용을 담고 있지는 않다. 읽으면서 느낀건 광범위한 부분들을 친절하게 훑어주면서도 코드와 함께 살펴보기 때문에 이론만 배우는 게 아니고 실제로 써먹을 수 있게 해주는 책이라는 걸 느꼈다. (굳이 매겨보자면 이론 20에 실제 활용도가 80 정도로 구성된 것 같다. ) 책이 출판된지 어느정도 시간이 지났다. 2018년에 나온 책이라 혹시나 안맞는게 있을까 걱정했는데, 다행히도 안맞는건 없었다. 책에 나온대로 잘..

[JDBC] 메소드를 잘 확인합시다. setter메소드 ㅠㅠ 복붙의 위험성

package com.dev.controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.dev.service.MemberService; import com.dev.vo.MemberVO; public class MemberInsertController implements Controller{ public void execute(HttpServletRequest request, HttpServletResponse response) throws ..

Servlet & Jsp 2021.01.19

[JDBC] pstmt.executeUpdate() 까먹지 않기...

위 코드에서 pstmt.executeUpdate(); 를 써주지 않아서 한참을 헤맸다. 애초에 db에 정보를 집어넣으려고 계속 시도했는데, 값이 들어가지 않은 걸 보고 db관련 부분에 문제가 있겠거니 해서 connection 부분만 계속 찾아봤다. 앞으로는 db에 값이 들어가지 않는 상황이 발생한다면 일단 기본적으로 내가 쿼리를 실행시키긴 했는지 자체를 먼저 살펴야 겠다. 애초에 쿼리 실행도 안했는데, 값이 적용될리가...

Servlet & Jsp 2021.01.19

[JDBC] ORA-00942: table or view does not exist 에러

오라클 jb를 이용하는 jdbc 프로그래밍을 하는 와중에 갑자기 이 에러가 발생했다. 에러의 원인은 쿼리에 사용된 , 테이블이나 View가 없을 때 발생하는 에러라고 한다. 즉 그말인 즉슨... 내가 sql문에 오타를 냈거나 아니면 진짜 아직 생성되지도 않은 건데 사용하려고 했을 때 발생할 수 있는 에러이다. 나 같은 경우는 파일별로 돌아다니면서 쿼리문을 확인했는데, 해당 파일에 sql문에서 내가 테이블 명을 잘못 적어줬다. 그래서 다시 고쳐줬다. 결론! 오타 확인하고 테이블 있는지 확인하기 !! Error code - ORA-00001 : 유일성 제약조건에 위배됩니다 (unique constraint violated) Solution : UK, IK, PK, FK와 같이 테이블에 단 하나만 존재해야하는..

Servlet & Jsp 2021.01.19

[Dev] 키보드 문자 읽는법

문자영 문한 글또 다른 영문표기Space (스페이스)공백, 공란blank, ghost&~Tilde (틸드)물결(표) `Grave (그레이브)강세표accent, back quote!Exclamation point(익스클레메이션 포인트)느낌표exclamation mark, wow, hey@At Sign (앳사인 또는 앳)골뱅이at, each, rose#Crosshatch (크로스해치)우물표시pound, number, sharp$Dollar sign (달러 사인) cash, currency symbol%Percent sign (퍼센트 사인)백분표double-oh-seven, grapes^Circumflex (서큠플렉스)삿갓, 모자, 윗꺾쇠carrot, hat, cap&Ampersand (앰퍼센드)and *As..

개발 정보 2021.01.18

[JSTL] JSTL의 SQL사용 columnNames와 rows 의 사용

JSTL에서 SQL 문을 사용하는 예제를 작성하던 도중에 본적이 없는 구문을 찾았다. 그래서 어떻게 동작하는지 궁금해서 찾아보았다. 위에 보면 알겠지만 10번째와 15번째에 columnNames와 rows 로 접근하여 열과 행의 정보를 가져온다. 그런데 이게 어떻게 이런게 열과 행의 정보를 가져오는지가 이해가 안됬다. 설명도 없을 뿐더러 저장되어있는 필드 변수의 값을 가져오는건지 아니면 메소드를 사용해서 가져오는건지 잘 이해가 안됬다. (애초에 사실 ${} 표현에 대한 이해가 조금 부족했던 것 같다. 그래서 이해가 안된거지) 그래서 일단은 저기에 쓰인 rs 참조변수가 ResultSet 타입이어서 java api 문서에서 ResultSet파트에서 메소드를 다 봤는데, 없었다. 근데 이게 접근법이 잘못된거였..

Servlet & Jsp 2021.01.18

[JSP] JSP 관련 잘 정리된 블로그

jsp 액션 태그 정리 velog.io/@ye050425/JSP-JSP-Action-Tags-%EC%A0%95%EB%A6%AC [JSP] JSP Action Tags 정리 JSP Action Tags 각 JSP 작업 태그는 특정 작업을 수행하는 데 사용 JSP 태그는 페이지 간 플로우를 제어하고 Java Bean을 사용하는 데 사용 JSP | Action Tags Description ----|---------------------------- jsp:forward | 요 velog.io jsp EL 내용 정리 velog.io/@ye050425/JSP-Expression-Language-EL-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC [JSP] Expression Language..

Servlet & Jsp 2021.01.17

[JSTL] JSTL 사용중에 NoSuchMethodError 에러가 발생한다면

JSTL을 사용해서 작성중에 NoSuchMethodError 가 발생하면서 5XX 관련 메시지가 출력되면서 서버가 동작하지 않을 경우에는 이 구문에 uri를 잘 작성해주었는지 반드시 확인해주자. 이 에러는 코드를 작성할 때 빨간줄로 표시되지도 않고, 나머지 구문들을 잘 작성해줘도 발생하기 때문에 주의가 필요하다. 맨 처음에 내가 에러가 발생한 이유는 uri 에서 java.sun.com/jstl/fmt 라고만 적었다. 즉 jsp가 빠졌다. 그래서 java.sun.com/jsp/jstl/core 라고 쓰면서 prefix="c" 관련 코드를 작성할때와 경로가 뭔가 다른 것 같아서 혹시나 해서 jsp 를 추가해줬다. 그러니까 에러가 해결됬다. 어떤 블로그들을 보면 java.sun.com/jstl/fmt 라고만 ..

Servlet & Jsp 2021.01.17

[JSP] properties 플러그인 에러

jp.gr.java_conf.ussiy.app.propedit 을 검색하면 properties 생성 플러그인을 다운받을 수 있는 사이트가 나온다. 거기서 플러그인을 다운받아서 eclipse 설치 폴더의 상위폴더에서 압축해주면 된다고 해서 했는데... 안된다. 이클립스 폴더 내에 features와 pluginns 폴더에도 다운받은 플러그인 관련 파일들이 잘 들어가있는데도 이클립스 켜고 ctrl+n 눌러서 prop라고 검색했을 때 properties 관련 생성 목록이 아예 안뜬다. -> 참고로 해당 플러그인을 설치한 이유는 ctrl+n을 눌러서 바로 properties 파일을 생성해주기 위함이었다. 위에 이미지를 보면 알 수 있듯이 관련 목록이 아예 안뜬다. 그래서 이클립스 마켓과 다른 관련 사이트에서 다운..

Servlet & Jsp 2021.01.17

[JSP] Can not find the tag library descriptor for "http://java.sum.com/jsp/jstl/core" 에러

tag파일을 작성하면서 variable 지시자를 사용하던 와중에 이렇게 빨간줄이 그어졌다. 원인이 궁금해서 갖다대보니 Can not find the tag library descriptor for "http://java.sum.com/jsp/jstl/core" 라는 오류가 발생했다고 알려주었다. 즉 jstl이 아직 설치되어있지 않은데, jstl을 사용하려할때 발생하는 오류였다. 종종 저자는 jstl을 깔아서 사용중인데, 나는 jstl이 아직 설치하지 않아서 예제에서 오류가 발생하는 경우가 있다. 이런... 글 쓰고 나서 jstl 깔아서 clean까지 해줬는데, 에러가 난다. 뭐가 문제일까.... /WEB-INF/lib에도 잘 넣어줬는데... 뭐가 문제일까. 2021.01.16 16:97 드디어 해결했다 ..

Servlet & Jsp 2021.01.16
반응형