전체 글

전체 글

    에러 The goal you specified requires a project to execute but there is no POM

    에러 The goal you specified requires a project to execute but there is no POM

    [ERROR] The goal you specified requires a project to execute but there is no POM in this directory (D:\......................). Please verify you invoked Maven from the correct directory. -> [Help 1][ERROR][ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR][ERROR] For more information abo..

    Intellij IDEA를 사용하는데 Webstorm을 사용할 필요가 있을까?

    Intellij IDEA를 사용하는데 Webstorm을 사용할 필요가 있을까?

    https://intellij-support.jetbrains.com/hc/en-us/community/posts/207461065-IntelliJ-Idea-Ultimate-vs-WebStorm 저는 intellij idea ultimate를 사용하고 있습니다. 혹시 webstorm으로 사용할 수 있는 기능을 놓치고 있지는 않나요? 전 주로 자바스크립트와 노드 개발을 합니다. 괜찮습니다. 파일 다이렉토리 또는 원격 파일 프로젝트 오픈 이외에는 놓치고 있는 부분이 없습니다.(이 부분 잘 이해 못해서 번역이 이상할 수 있습니다.) IDEA 에서 당신이 필요로 하는 프로젝트 위자드와 모듈을 사용할 수 있습니다. 자세한 정보는 이쪽에서 보세요. http://stackoverflow.com/a/13829907/1..

    javascript, jquery 자신을 제외한 / 이외의 다른 개체의 이벤트 발생

    javascript, jquery 자신을 제외한 / 이외의 다른 개체의 이벤트 발생

    부트스트랩 4으로 이러한 ul을 만들 수 있다. 코드는 아래와 같다. Basic Advanced Superior 클래스에 itemli 를 주었다. disabled 가 a 태그의 글씨를 회색으로 만들어버리는 태그이다. var itemli = $('.itemli'); itemli.click(function () { $(this).find('a').removeClass('disabled'); itemli.not($(this)).find('a').addClass('disabled'); }); itemli를 변수로 잡은 뒤 클릭 메소드 -> a tag 찾기 -> disabled 지우기 자신을 제외한 itemli 찾기 - > a tag 찾기 -> disabled 추가해주기 basic을 클릭하면 basic이 파란불이..

    네비게이션 바 fixed-top 설정 시 겹치는 문제

    네비게이션 바 fixed-top 설정 시 겹치는 문제

    네비게이션 바의 fixed-top 설정을 할 때 최상위에 설정된 nav bar가 화면을 먹는다. 원래 이래야 하는 것이 이렇게 먹어버리는 것이다. 해답은 https://stackoverflow.com/questions/11124777/twitter-bootstrap-navbar-fixed-top-overlapping-site 이쪽에서 알려주고 있다. 요약: 만약 당신이 padding 속성을 추가하지 않는다면, fixed navbar는 당신의 다른 컨텐츠를 잡아 먹을 것입니다. 나는 부트스트랩을 사용하는데 다른 페이지들의 body에 padding 속성을 추가해도 해결됐지만 이렇게 nav bar를 사용하는 헤더파일의 body에 패딩을 주니, 다른 모든 페이지에 padding을 줄 필요 없이 다 해결됐다.

    부트스트랩 네비게이션 fixed-top 설정 시 모달 먹통 문제

    부트스트랩 네비게이션 fixed-top 설정 시 모달 먹통 문제

    부트스트랩을 사용하면서 자주 보게되는 것이 이런 top-navigation bar 다. 이걸 스크롤 여부에 관계없이 항상 위에 놓고싶으면, class 에 fixed-top 옵션을 주면 된다. 하지만 만약 navigation bar 안에 modal을 작동시키는 버튼이 있다면 모달은 먹통이 되어버리고 만다. 문제의 해결은 Stackoverflow에서 찾을 수 있다. https://stackoverflow.com/questions/10636667/bootstrap-modal-appearing-under-background If the modal container has a fixed or relative position or is within an element with fixed or relative pos..

    스프링 시큐리티 5 - There is no PasswordEncoder mapped for the id "null"

    스프링 시큐리티 5 - There is no PasswordEncoder mapped for the id "null"

    https://spring.io/blog/2017/11/01/spring-security-5-0-0-rc1-released#reverting-to-previous-behavior-insecure The general format for a password is:{id}encodedPasswordSuch that id is an identifier used to look up which PasswordEncoder should be used and encodedPassword is the original encoded password for the selected PasswordEncoder. The id must be at the beginning of the password, start with { a..

    이펙티브 자바 규칙 24 - 무점검 경고를 제거하라

    이펙티브 자바 규칙 24 - 무점검 경고를 제거하라

    제네릭은 컴파일러의 경고를 많이 보게되는 기능 중 하나입니다. 무점검 형변환 경고(uncecked warning), 무점검 메소드 호출 경고(unchecked method invocation warning), 무점검 제네릭 배열 생성 경고 등 밑의 코드를 한번 볼까요 컴파일러 상 에러는 나지 않았지만 Unchecked assignment로 경고를 주고 있습니다. 저번 포스트에서도 봤던 거죠. 밑의 코드대로 바꾸면 경고는 사라집니다.Set exaltation = new HashSet(): 이 경고는 간단하게 제거가 가능했지만 제네릭은 경고가 나오기 쉬운만큼 지우기 어려운 경고들도 많습니다. 만약 형 안정성이 확실한데 경고를 지우기 어렵다면 어노테이션을 사용하는 방법이 있습니다. ArrayList의 일부인 ..

    이펙티브 자바 규칙 23 - 새 코드에는 무이자 제네릭 자료형을 사용하지 마라

    이펙티브 자바 규칙 23 - 새 코드에는 무이자 제네릭 자료형을 사용하지 마라

    자바 1.5부터 제네릭을 사용할 수 있게되었습니다. 리스트, 셋 등에서 많이 사용해보셨겠지만, 제네릭은 자료형을 매개로 받아 지정하는 것을 이야기 합니다. public static void main(String[] args){ class test { private T data; public test(T data) { this.data = data; } } test test = new test("text"); System.out.println(test); } 이런식으로 말이죠. 이 제네릭은 무인자로도 사용이 가능합니다. test test = new test("text");이렇게 말이죠. 컴파일 에러가 뜨지 않습니다. 하지만 권장되지 않습니다. 무인자로 사용할 경우 형변환 하는 과정에서 의도되지 않게 삽입된..

    jquery textarea 변수 값 가져오기

    1. 선택자일 때$('#textarea').val() 크롬이나 익플에서는 html()도 되지만, 파폭에서는 안될 수도 있다. 때문에 val을 사용해주는 것이 바람직하다. 2. 변수 처리 했을 때 var textarea = document.getElementById('#textarea');console.log(textarea.value);다른 기능들과 유사하게 직접 선택할 때에는 val이지만 변수를 통해 값을 가져올 때는 value를 사용한다.

    이펙티브 자바 규칙 22 - 내부클래스 종류와 멤버 클래스는 가능하면 static으로

    자바에서 중첩(nested)클래스는 4가지로 나뉩니다. 1. 정적 멤버 클래스(static member class)2. 비 정적 멤버 클래스(non-static member class)3. 익명 클래스4. 지역 클래스 먼저 정적 멤버 클래스는 가장 간단한 중첩클래스 형태입니다. 클래스 안쪽에 static 클래스를 선언해 바깥 클래스를 사용할 때 클래스를 자동으로 생성시켜주는 역할을 합니다. 바깥 클래스를 사용할 때 자연스럽게 사용되는 헬퍼 클래스의 역할을 하는 만큼, 매번 바깥 클래스를 호출할 때마다 내부 클래스를 재생성하는건 메모리 효율상 좋지 않기 때문에 내부 클래스에서 바깥 객체에 접근할 필요가 없는 클래스의 경우 static을 붙여 생성시켜놓고 쓰게끔 하는 것입니다. 이 경우 정적 멤버 클래스는 ..

    JSTL c tag 에서 eq, ne null check 하기

    이런 식으로 사용하는 c tag는 많이 보셨을 겁니다, jstl에도 if가 있지만, when 이 if의 기능을 포함하기 때문에 저는 when 태그를 주로 사용합니다. 여기서 사용할 수있는 연산자는 그 생김새가 좀 다릅니다. equal로 추측..eq 연산자는 ' = ' 의 역할을 합니다. 문자열 등을 비교할 때 사용하죠. negative equal로 추측..ne는 ' != ' 를 의미합니다. null 체크는 empty로 하시면 됩니다. 이 의미는 name 변수의 값이 비었냐(empty)는 의미입니다. null일 경우 true, null이 아닐 경우 true를 리턴합니다. not null의 경우는 not을 추가해주면 됩니다.

    에러 - Optional int parameter is present but cannot be translated into a null value

    에러 - Optional int parameter is present but cannot be translated into a null value

    int를 null로 선언할 수 없으니 long등 다른 자료형을 사용하라는 이야기이다. 기본자료형 int는 null로 선언할 수 없다. 저 HTTP 500 에러는 어떤 과정상에서 int 기본변수에 null값이 들어가서 생기는 에러이다. 자신의 로직 중 int에 null이 들어갈 수 있는 장소를 찾아내서 수정해줘야한다. 내 경우는 어디가 문제인지 2시간동안 찾았는데.. ajax로 input으로 넘거야 하는 값을 form으로 넘겨서 url이 바뀌어서 기존 파라미터 변경으로 인해 생기는 에러였다...

    Bootstrap에서 tr td th 가로 사이즈 조정하기

    Bootstrap에서 tr td th 가로 사이즈 조정하기

    https://stackoverflow.com/questions/15115052/bootstrap-how-to-set-up-fixed-width-for-td StackOverflow에 100점짜리 답변이 있다.

    Mybatis 다중 매개변수 중 객체(오브젝트) 변수 넘기기

    일반객체를 @Param으로 보내는 방법은 다른 블로그나 검색을 통해서도 쉽게 정보를 구할 수 있는데 매개변수 여러개 중 오브젝트 변수 또는 객체 변수가 포함되어 있을 때는 나오질 않아서 그 방법을 적습니다. String select(@Param("obj")Object object); 1. 오브젝트 1개 오브젝트문이 하나라면 그냥 그 안의 변수들을 사용하면 됩니다. 예를들어 object 안에 attribute1 attirbuete2 변수가 포함되어 있다면 get에서 설정한 이름 대로 그냥 사용하시면 됩니다."select * from thistable where id = #{attributename1} and pw = #{attributename2}"이런 식으로 말이죠. 2. 오브젝트 객체와 다른 변수Str..

    ORA-00936 누락된 표현식의 원인

    ORA-00936 누락된 표현식의 원인

    어제부터 자꾸 이런 에러가 떳다. 이 에러의 이유는 보통 ' ' , . ; * 이런 기호들을 잘못 사용해서 발생한다. 이 포스트에 들어왔다면 자기 쿼리문의 기호를 다시 체크해보도록 하자 나는 기호는 다 맞추었는데, 안되는 경우였다. String SQL_SELECTPAGE = "select b.writer, b.title, b.topicdate, b.lecturekey, b.tcontent" + "from (select rownum rn, a.* from (select * from topics WHERE LECTUREKEY = #{lid}" + "order by topicdate desc) a) b" + "where rn between #{c.start} and #{c.end}";내 쿼리문은 이러하다. 처..

    Oracle DB 외래키 생성 예제(forign key example)

    - 테이블 생성 시 설정 CONSTRAINTS 외래키 이름 FOREIGN KEY(컬럼명) REFERENCES 참조 테이블명(참조컬럼) - 테이블 생성 후 설정 ALTER TABLE 테이블명 ADD CONSTRAINTS 외래키 이름 FOREIGN KEY (참조컬럼) REFERENCES 참조 테이블명(참조컬럼) - 테이블 생성 시 예제 CREATE TABLE topics(user varchar2(20) NOT NULL,title VARCHAR2(255) NOT NULL,lecturekey VARCHAR2(100) NOT NULL,CONSTRAINT FK_TOPICS FOREIGN KEY(lecturekey)REFERENCES LECTURE(LID)); - 외래키 삭제, 해제ALTER TABLE 테이블 이름 ..

    JSTL c tag 링크 에러

    JSTL c tag 링크 에러

    According to TLD or attribute directive in tag file, attribute [test] does not accept any expressions 스택오버플로우에서 가져온 오류 이유입니다. You must use JSP, JSTL - is just set of custom tags and can not be used separately. As well as Expression Language. If you are not using any MVC frameworks, then you need to do some of their work by yourself. Please take a look (if you haven't yet) at following design pat..

    백준 9012번 - 괄호

    import java.util.Scanner; public class algo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int value=0; int num = sc.nextInt(); sc.nextLine(); for (int i = 0; i < num; i++) { String line = sc.nextLine(); char[] temp = line.toCharArray(); for(int y=0; y

    자바 스택 구현

    원래 백준 10828을 풀다가 스택의 갯수의 동적할당이 아니라 명령어의 수를 동적할당으로 하라고 했는데 잘 못읽어서 만들었다. 런타임 에러 나오는 거 보고 다시 읽어봐서 발견.. 그냥 지우긴 아까워서 기록한다. 백준 10828 기반에 스택 갯수 동적할당 코드 import java.util.Scanner; public class algo { public static void main(String[] args) { int count = 0; int push = 0; Scanner sc = new Scanner(System.in); int size = sc.nextInt(); int array[] = new int[size]; while(true) { String value = sc.nextLine(); if..

    Stack overflow에 질문하기

    Stack overflow에 질문하기

    프로그래밍을 하다보면 잘 안될 때가 있지만 물어볼 곳이 없을 때가 있습니다. 국내 커뮤니티는 접속자 수도 뜸하고, 큰 곳도 없는 것이 현실이죠. 이 포스트에서는 세계적으로 유명한 StackOverflow에 질문해볼께요. https://stackoverflow.com/ 먼저 접속해서 오른쪽 위의 Sign Up을 누르거나 폼에 정보를 적어서 가입을 합시다. Sign up을 누르면 이런 화면이 뜹니다 그리고 이메일 인증을 하니 차례대로 진행해주시면 됩니다. 그리고 로그인을 하면 오른쪽 위에 Ask Question이 보이실 겁니다, 클릭 빨간 부분을 제가 네모 쳐놨는데 빨간 부분이외에도 읽어보셔야 합니다. 요약하자면 질문하기 전에 검색하고, 명료하고, 뚜렷하게 질문하라 라는 말입니다. 대충넘기시고 질문 이상하게..

    JQuery 에러 “TypeError: $.getJSON is not a function”

    JQuery 에러 “TypeError: $.getJSON is not a function”

    JQuery.Deferred exception: $.getJSON is not a function TypeError: $.getJSON is not a function “TypeError: $.getJSON is not a function” jquery slim 버전에는 JSON을 처리하는 함수가 존재하지 않는다. 때문에 slim 버전을 일반버전으로 바꾸어 주면 완료된다. 하지만 내 코드는 일반버전을 참조하고 있다. 왜 이런오류가 일어날까? 코드를 살펴보면 header 처리를 위한 액션태그를 사용하고 있는데 이 헤더 JSP에서 slim.min.js 를 참조하고 있다. 액션태그는 읽는 순간부터 참조파일까지 다 바꿔버리는듯하다. 이부분을 바꿔주면 에러가 해결된다.

    백준 11721번 - 열 개씩 끊어 출력하기

    import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String text = sc.next(); for (int i = 0; i

    백준 11720번 - 숫자의 합

    import java.util.Scanner; public class algo { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int i = sc.nextInt(); String y = sc.next(); int total=0; for(int q=0;q

    이펙티브 자바 규칙 21 - 전략을 표현하고 싶을 때는 함수 객체를 사용해라

    프로그래밍 언어들 중에는 특정 함수를 호출할 수 있는 언어들이 있습니다. C같은 경우에는 포인터를 이용해서, 대리자(delegate), 자바도 사용할 수 있는 람다 표현식이 있죠. 전략을 표현하는데에 포인터가 좋은 방법이 될 수 있지만 자바는 포인터를 지원하지 않습니다. 자바는 어떤 경우라도 주소값을 직접 건드리지 못하게 하죠. 하지만 비슷한 메소드를 사용할 수 있습니다. 함수 객체(function object)라고 하는 방법입니다. public class StringLengthComparator { public int compare(String s1, String s2) { return s1.length() - s2.length(); } }이 코드는 문자열을 비교하여 차이를 계산해주는 전략을 가지고 있..

    백준 11718번 11719번 - 그대로 출력하기 1, 2

    public class algo { public static void main (String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { String line = sc.nextLine(); System.out.println(line); } } } 11718맞았습니다!!12336 KB128 MS sc.next() -> 다음 토큰을 읽습니다. sc.nextLine -> 다음 행을 읽습니다. sc.hasNext -> 토큰이 있는지 확인하고 boolean을 리턴합니다. 공백의 경우 무시합니다. sc.hasNextLine -> 행이 있는지 확인 후 boolean을 리턴합니다. 줄바뀜이 있으면 true를 리턴합니다. 예를 들어 ..

    HTTP Status 500 - JSP 액션태그 에러

    HTTP Status 500 - JSP 액션태그 에러

    org.apache.jasper.JasperException: /WEB-INF/views/board/../subPage/header.jsp (line: [8], column: [1]) Page directive: illegal to have multiple occurrences of 'contentType' with different values (old: [text/html; charset=UTF-8], new: [text/html;charset=UTF-8]) JSP 헤더나 풋터 같은 액션태그를 사용할 때 컨텐트 타입의 형식이 맞지 않으면 발생하는 에러입니다. 설정이같아도 형식이 다르면 에러가 날 수 있습니다. 액션태그 대상과 컨텐트 타입을 맞춰줍시다.

    이펙티브 자바 규칙 20 - 태그가 달린 클래스 대신 클래스 계층을 활용하라

    태그가 달린 클래스라는 것이 있습니다. 두가지 이상의 기능을 커버하는 클래스인데 아래 예제를 보죠. class Figure { enum Shape { RECTANGLE, CIRCLE }; final Shape shape; double length; double width; double radius; Figure(double radius) { shape = Shape.CIRCLE; this.radius = radius; } Figure(double length, double width) { shape = Shape.RECTANGLE; this.length = length; this.width = width; } double area() { switch (shape) { case RECTANGLE: retu..

    SpringFramework - ProxyFactoryBean 예제로 알아보기

    SpringFramework - ProxyFactoryBean 예제로 알아보기

    이전에 InvocationHandler 를 사용한 프록시 패턴과 팩토리 빈을 포스트 한 적이 있습니다. 저 위의 내용을 모르신다면 읽으셔야 이 포스트 내용이 이해가 가능합니다. Spring에서는 이 두 개를 단점을 보완하고 장점을 살려 두 개를 동시에 지원해 줄 ProxyFactoryBean이라는 클래스가 있습니다. 먼저 InvocationHandler를 대체할 MethodInterceptor를 설명할까요. InvocationHandler는 MethodInterceptor와 비슷하지만 한가지 다른 점이 있습니다. InvocationHandler는 아래와 같이 String plus2 = (String) method.invoke(target, args); invoke 메소드가 타겟 함수에 대한 정보를 가지고..

    SpringFramework(스프링) - 팩토리 빈(FactoryBean)

    SpringFramework(스프링) - 팩토리 빈(FactoryBean)

    스프링에서는 빈으로 관리할 수 없는 몇몇 객체들을 빈으로 활용할 수 있게끔 하기 위해 FactoryBean 기능을 제공하고 있습니다. 말 그대로 Bean을 뽑아내는 공장역할을 하는 클래스이죠. 예제코드로 살펴봅시다. 구성은 이러합니다 express 라는 메시지를 담고있는 객체를 FactoryBean에서 뽑아내며 xml은 Spring의 주입에 필요한 설정을 해주는 파일이고 Test는 테스트 클래스입니다. 위에서부터 볼까요public class express { String express; private express(String express) { this.express = express; } public String getExpress() { return express; } public static ex..

    이펙티브 자바 규칙 19 - 인터페이스는 자료형을 정의할 때만 사용하라

    인터페이스는 해당 클래스의 객체를 참조 할 수 있는 자료형(type)의 역할을 합니다. 인터페이스를 구현하면 int, string 등의 자료형을 그대로 오버라이드 하게되는데 이 목적을 위해 언터페이스를 사용하죠. 하지만 개중에는 그렇지 않은 인터페이스도 있습니다. public Interface PhysicalConstants { // 아보가르도 수(1/mol) static final double AVOGADROS_NUMBER = 6.02214199e23; // 볼쯔만 상수(J/K) static final double BOLTZMANN_CONSTANT = 1.3806503e-23; // 전자 질량(kg) static final double ELECTRON_MASS = 9.10938188e-31; } 이는 ..