[개발환경] intellij Spring boot JUNIT5 package com.example.demo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; class UserServiceTest { @Autowired..
1. 전자가족관계등록 시스템 접속 중요! 절대 크롬으로 접속하면 안 됩니다. 크롬으로 접속하면 공동 인증서/금융인증서 인증 시, 비밀번호를 제대로 입력해도 무조건 틀렸다고 로그인이 되지 않습니다.(2022-03-2..
건강보험증 사본 발급 방법 1. 먼저, 국민건강보험 홈페이지에 접속합니다. 국민건강보험 이벤트 1 / 8 www.nhis.or.kr 2. 로그인 후, 자격득실 확인서 발급 메뉴를 선택합니다. 3. 왼쪽 메뉴에서 "자격 확인서"..
프로젝트 생성 먼저, 다음과 같은 환경으로 프로젝트를 구성합니다. intellij community 버전이기 때문에 spring boot 공식 홈페이지에서 만들었습니다. 프로젝트를 생성한 후 build.gradle의 dependencies를 확..
정부지원 산후도우미 지원 대상 국내에 주민등록 또는 외국인 등록을 둔 출산 가정 정부지원 산후도우미 선정기준 산모 및 배우자의 건강보험료 본인부담금 합산액이 기준 중위소득 150% 이하 금액에 해당하는 출..
java를 배우면 기본적으로 jsp를 배우게 됩니다. jsp는 일반적인 java MVC 구조에서 View 역할을 하는데, 요즘 Spring에서는 View로 Thymeleaf를 밀고 있습니다. 1. thymeleaf와 jsp의 차이 jsp의 경우에는 servle..
다음과 같은 코드가 있습니다. @Component @EnableScheduling public class ScheduledTasks { @Autowired private TaskJob taskJob; @Scheduled(cron = "0 0/5 * * * ?") public void foo(){ taskJob.doSomething(..
현상 인터넷 또는 이메일에서 다운로드한 Microsoft Office 파일(엑셀, 워드, 파워포인트 등)이 오피스 프로그램이 실행만 되고 파일은 열리지 않거나, 제한된 보기로 열리는 현상이 있습니다. 이때, 열리지 않는..
프로그래밍을 처음 배우면 꼭 나오는 소수점 반올림을 javascript에서는 보통 이렇게 합니다. Math.round(123.4567 * 100) / 100 위 코드는 다음과 같은 원리로 동작합니다. 나타낼 소수점 아래자리 개수만큼의 10..
이 오류 메시지가 발생하는 이유는 Apache Tomcat의 Native Library가 없어서입니다. 컴퓨터에 build path가 제대로 지정이 되어있지 않는 경우에 나타날 수 있고, 지정이 되어있는데도 이 오류 메시지가 발생할..
MyBatis를 사용할 때 sql에 parameterType 또는 resultType의 값으로 VO, DTO 클래스들을 넘길 때, 패키지 경로까지 모두 써야 하는 불편함이 있습니다. 예를 들어 다음과 같습니다. 1) User.java package com.exa..
올해 4월에 아내가 출산을 앞두게 되어 출산 혜택을 검색해보다가 자동차 보험도 임산부 할인이 적용하다는 것을 알게 되었습니다. 자동차 보험 임산부 할인은 모든 보험사가 다 있으나, 보험사 마다 할인률이 다..
Intellij idea, gradle 환경에서 빌드 시, 다음과 같은 오류 메시지가 발생하는 경우가 있습니다. Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'. 결론부터 말하자면, gradle의 설정..
ERR_CONNECTION_RESET 오류의 원인 HTTP통신을 하는 과정에서 요청자(브라우저)는 마지막에 FIN 패킷을 받습니다. 이것은 웹 표준 전송 프로토콜인 TCP(Transmission Control Protocol)에서 요청자에게 연결 종료..
QueryDSL 사용 중, 다음과 같은 query가 있습니다. factory .select(Projections.bean(ComboVO.class , pcTbPositionCode.userPositionCode.as("comboCode") , pcTbPositionCode.userPositionNameKr.as("comboLabe..
linux에서 tomcat의 heap memory size를 변경하기 위해서는 tomcat설치경로/bin 디렉토리 안에서 수정을 해야 합니다. 명령어를 입력합니다.(setenv.sh가 없다면 당황하지 말고 생성하면 됩니다.) # vi TOMCAT_HOM..
VMware의 가상 OS를 시작하려고 할 때, 또는 종료 하려고 할 때 등의 상황에 "Failed to lock the file" 메시지와 함께 동작을 하지 않는 경우가 있습니다. 이 경우 다음과 같이 간단하게 해결할 수 있습니다. 해..
CentOS에서 yum 명령어 수행 시 'Could not resolve host' 오류가 발생하면서 저상적으로 실행되지 않는 경우가 있는데, 다음과 같이 해결할 수 있습니다. 1. resolv.conf 확인 아래와 같이 resolv.conf에 nameser..
HTTPS 통신을 하기 위해서는 SSL 인증서가 존재해야 합니다. 하지만, SSL 인증서는 유료로 발급받아야 하기 때문에 테스트를 진행할 때 자체적으로 인증서를 발급해서 사용하기도 합니다. 이것이 바로 Self-signed..
1. IntelliJ IDEA 2018 & 2020 & 2021 File > Settings... > Editor > Code Style > Hard wrap at 2. IntelliJ 2018 & 2017 File > Settings... > Editor > Code Style > Right margin (columns):
Windows Server 2008에 oracle jdk 1.8 32bit를 설치 후 java가 정상설치 되었는지 확인하기 위해 java 명령어를 쳤더니 아래와 같은 에러 메시지가 출력되었습니다. 검색을 해보면 위 메시지에 표시되는 vcrunti..
SVN(Subversion)을 사용하다가 Git로 형상관리 도구를 변경해야 하는 상황이 되어 history를 포함해서 마이그레이션이 가능한지 찾아봤습니다. bitbucket으로 마이그레이션 하는 방법은 다음과 같습니다. svn 서버..
datetime 1953년 이전의 날짜를 저장하지 못한다.(에러 발생) 초 미만의 정확도가 떨어짐(.000, .003 또는 .007초 단위로 반올림) SQL 표준에 맞지 않고 정확도가 떨어져서 공식문서에서는 권장하지 않음 날짜 형..
control : 제어판 access.cpl : 내게 필요한 옵션 appwiz.cpl : 프로그램 및 기능 실행(프로그램 추가/제거) nusrmgr.cpl : 사용자 계정 netsetup.cpl : 네트워크 설정 마법사 nwc.cpl : 네트워크 게이트웨이 odbc..
SVN(Subversion)을 사용하다가 Git로 형상관리 도구를 변경해야 하는 상황이 되어 history를 포함해서 마이그레이션이 가능한지 찾아봤습니다. GitHub로 마이그레이션 하는 방법은 다음과 같습니다. git install..
인터넷에서 검색을 하다 보면 이전에 입력했던 입력 창에 다른 내용을 입력을 하려고 마우스를 클릭했을 때, 다음과 같이 이전에 입력했던 내용들이 화면에 표시되는 경우가 있습니다. 이 기능은 편리하지만, 여..
Spring Controller에서 특히 REST API에서 특수문자를 허용해야 하는 경우가 있습니다. (특정 버전 이후에는 특수문자가 그냥 허용된다고 합니다.) 예를 들어서 다음과 같은 경우입니다. 문자가 잘리는 예시 1. 요..
Spring에서는 @ResponseBody를 통해 DTO, VO, Map 등을 리턴하면 JSON형태로 변환됩니다. 그 과정에서 특정 키에 null이 있어도 key: null과 같이 리턴이 됩니다. 아래와 같은 코드가 있다고 가정해 봅시다. impor..
Windows 11을 설치한 후 가장 불편한 점 중 하나는 이전 방식의 우클릭 메뉴가 사라진 것입니다. 보통 프로그램을 설치하면 편의 기능이 우클릭 메뉴에 추가되는데요. 압축 프로그램을 설치하면 아래와 같이 표시..
gradle사용 중 build 할 때 다음과 같은 오류들이 발생하는 경우가 있습니다. java.lang.IllegalStateException: endPosTable already set error: cannot find symbol public class QClassName 이 때 다음과 같이..
gitlab을 사용할 때 권한이 Developer임에도 불구하고 push 할 때 git did not exit cleanly (exit code 1) 와 같은 오류 메시지가 발생하며 push가 되지 않는 경우가 있습니다. gitlab은 다음과 같이 5개의 권한..
Spring에는 RestAPI 호출을 도와줄 RestTemplate를 제공합니다. 이 때 HTTP가 아닌 HTTPS를 호출하면 아래와 같은 오류가 발생하는 경우가 있습니다. java.security.cert.CertificateException: No name matchi..
GitLab을 설치 후, 브라우저에 접속하면 GitLab 설치 후 502 GitLab is taking too much time to respond 에러가 발생하며 접속이 안되는 경우가 있습니다. 이 경우 /etc/gitlab/gitlab.rb 파일에서 8080을 찾아서..
1. OAuth2란? OAuth2(Open Authorization, Open Authentication 2)는 인증을 위한 개방평 표준 프로토콜입니다. 이 프로토콜은 Third-Party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원..
Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query querydsl에서 insert/update 시, 위와 같은 오류가 발생했을 경우..
No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system. 에러가 나면서 clean, compile 등 Maven으로 뭘 해도..
Windows에 파이썬을 설치하는 방법은 크게 두가지가 있습니다. 1. 파이썬 설치 2. 아나콘다 설치 여기서 아나콘다는 Anaconda(이전: Continuum Analytics)라는 곳에서 만든 파이썬 배포판으로, 수백 개의 파이썬..
java spring boot + slf4j 개발을 하다 보면 내가 추가하지도 않은 log4j-core.jar, log4j-to-slf4j.jar 등이 포함되어있는 것을 볼 수 있는데요 gradle 환경일 경우 build.gradle에 아래와 같이 코드를 추가하면..
1. text-shadow를 이용 기존 CSS에서는 그림자를 넣는 text-shadow를 이용해서 편법으로 외곽선을 넣을 수 있습니다. 테두리 스타일 각각 순서대로 왼쪽, 아래, 오른쪽, 위쪽을 그려줍니다. 또한 -1px, 0, #000에..
eclipse의 경우 maven repository의 기본 경로는 c:/Users/[사용자 이름]/.m2/repository(Windows) 입니다. 따라서 설정을 하지 않을 경우 모든 프로젝트의 maven repository가 같기 때문에 버전 간 충돌이 발생하..
logback을 사용하면서 logback의 설정을 변경해야 할 경우가 있습니다. java web project에서는 logback.xml을 수정 후 WAS를 재시작하면 되고 Spring boot의 경우에는 application.properties의 옵션으로 logback..
기본적으로 HTML에서 DIV밑의 DOM 객체를 클릭할 수 없습니다. 만약 워터마크를 표시하기 위해서 position:absolute; z-index: 9999 등을 사용해서 DIV를 맨 앞으로 빼서 화면을 덮었다면 아래 객체들을 하나도 클..
며칠전 log4j2에 심각한 보안취약점이 발견되어 난리가 났었는데요. 이번에 버전 1에서도 취약점이 발견되었다고 합니다. "로그4j, 버전 1도 위험"…새 취약점 발견 (naver.com) "로그4j, 버전 1도 위험"…새 취약..
Logging이란? 시스템 동작 시, 시스템 상태/작동 정보를 시간의 경과에 따라 기록하는 것을 logging이라고 하고 그 기록을 log라고 합니다. 이 log를 통해 사용자의 패턴이나 시스템 동작 자체의 분석에 사용될 수..
먼저 IBM 공식 홈페이지에서 DB2 커뮤니티 버전을 다운 받습니다. IBM Data Server Client를 다운받습니다. 위 두가지를 모두 설치합니다. 설치가 끝나면 command 창을 관리자 권한으로 실행합니다. command 창에..
try { User user = new User(); Method method = User.class.getDeclaredMethod("setName", String.class); method.setAccessible(true); method.invoke(user, "Some name"); System.out.println("user.getName()..
과학기술정보통신부, apache log4j2 웹서비스 긴급 보안패치 권고 보안패치 미 조치 시 공격자가 원격으로 공격코드 실행 가능 사실상 전세계 거의 모든 서버에서 사용되는 Open source logging 라이브러리인 log4..
개발을 하다보면, 프로그램 시작하자마자 실행되어야 할 코드가 있습니다. 예를 들어, Tomcat의 경우 web.xml에 listener를 등록하는 것 처럼요. Spring Boot에도 그런 것이 있습니다. 아래와 같이 ApplicationRea..
웹 서비스를 개발하면서 charset은 정말 중요합니다. 클라이언트와 서버가 charset이 맞지 않으면 문자가 제대로 표시되지 않는 문제가 발생할 수 있습니다. 아래와 같이 사용자의 정보를 리턴하는 URL이 있다고..
생성자를 사용하는 방법 HashMap copyMap = new HashMap (origMap); clone()를 사용하는 방법 HashMap cloneMap = (HashMap )origMap.clone(); putAll()를 사용하는 방법 HashMap putMap = new HashMap (); putM..
크래프트 아이템이란 크래프트 아이템이란, 아이템에 정해진 조합 공식(매직 아이템 + 룬 + 최상급 보석 + 주얼(매직/레어/유니크 모두 가능)을 사용하여 호라드릭 큐브로 조합하여 제작한 오렌지색 이름의 아이템..
MariaDB를 설치하는 중, 아래 화면에서 Use UTF8 as default server's character set을 체크하면 자동으로 utf-8로 charset이 설정됩니다. 설치 후 SHOW VARIABLES LIKE 'c%'; 명령어를 사용하여 보면 다음과 같..
비밀키를 생성했으면 DB나 파일 등에 저장해야 합니다. 다음은 key를 String으로 변환하여 저장하는 방법과 반대로, String으로 key로 변환하는 방법입니다. import javax.crypto.KeyGenerator; import javax.cryp..
CentOS에서 network printer로 출력을 하는 방법 중, lpr 명령어를 사용하는 방법이 있습니다. 출력을 하려면 아래 절차대로 진행해야 합니다. cups install yum install -y cups foomatic install 이것을 설치..
모바일 웹의 경우 보통 모든 페이지의 최상단에 뒤로가기(←) 버튼이 존재합니다. 보통의 경우는 상관없지만 때로는 외부에서 child 페이지로 바로 접근하는 경우 가장 많이 알려진 것 중 하나인 history.back()..
인터넷에서 jquery plugin이나 다른 script, css 파일을 보면 css selector의 구분자가 모두 underscore(_)가 아닌 hyphen(-)로 되어있는 것을 볼 수 있습니다. 그런데 이상합니다. user_name같이 understore로 되..
Key Promoter X 사용자가 어떤 행동을 했을 때 그 행동에 대한 단축키를 오른쪽 아래에 표시합니다. 단축키를 변경했다면 변경한 단축키가 표시됩니다. Presentation Assistant Key Promoter X와 마찬가지로 단축..
java -jar "app.jar" 명령어를 이용하여 jar 파일을 실행할 때, 아래와 같은 에러 메시지가 발생하는 경우가 있습니다. no main manifest attribute, in "app.jar" 이 에러 메시지가 발생한 경우는 해당 jar 파일..
java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for 위 에러가 발생할 수 있는 경우는 다음과 같습니다. mapper id가 다를 경우 mapper파일(MyBatis의 쿼리..
1. 룬 조합(룬 큐빙) 1. 일반 조합재료 결과 엘룬 3 엘드룬 엘드룬 3 티르룬 티르룬 3 네프룬 네프룬 3 에드룬 에드룬 3 아이드룬 아이드룬 3 탈룬 탈룬 3 랄룬 랄룬 3 오르트룬 오르트룬 3 주..
디아블로를 하다 보면 "매우 빠른 캐스팅 속도 증가"라는 옵션이 붙은 아이템을 볼 수 있는데요. 이 옵션을 보통 패스트 캐스트 레이트(Fast Cast Rate, 이하 패캐)라고 부릅니다. 이 아이템을 착용하면 기술을 쓰..
갑옷 무게 타입에 따라 달려에 페널티가 붙습니다. 라이트: 0%. 미디엄: -5%. 헤비: -10%. 용병 갑옷은 상관없지만, 자신의 캐릭터가 착용할 것이라면 참고하시는 것이 좋을 것 같습니다. 먼저 변경된 용어..
Eclipse (STS)를 새로 설치하면 javascript의 내용의 흑백으로 표시되는 경우가 있습니다. 이때 다음과 같이 해결할 수 있습니다. Window - Preferences - File Associations 메뉴로 이동 Add 버튼 클릭 후 .js 입..
리스트를 표시하기 위한 Grid 제품 중에 jqGrid라는 것을 많이 사용하는데, 이 제품은 버전에 따라 유료/무료가 나뉘어 상업용으로 사용하려는 경우 버전을 꼭 확인하고 사용해야 합니다. 결론부터 말하면, v4.7(..
모바일 웹 페이지 개발 시, 브라우저에서 F12를 눌러 개발자 모드에 진입 후 아래와 같이 Toggle device toolbar를 사용하여 보는 경우가 많은데요. 이 기능이 편하고 좋지만 결국 모바일 기기에서 직접 하는 것..
정상 경로(WebContent/index.jsp)에 파일이 있는데 웹 페이지 접근 시(localhost:8080/index.jsp)를 접속했을 때 아래와 같이 404에러가 발생하는 경우가 있습니다. 먼저, 현상을 확인해보니 이상한 점이 있었습..
기존 디아블로2에서는 레더 전용 룬워드 조합이 있었지만 현재 레더가 아니어도 적용되고 있습니다. 1. 구렁텅이 (Nadir, 구 천저) 13레벨 투구 2소켓 네프 Nef + 티르 Tir +50% 방어 상승 +10 방어 +30 원거리 공..
급격한 무인점포의 확산 마트나 편의점에 캐셔(계산 해주는 사람)가 없는 무인점포가 늘고 있습니다. 심지어 대형마트에도 무인 결재하는 곳이 있는데요. 최근 최저임금 인상 등 여러가지 이유로 무인점포가 꾸준..
html 웹 페이지 개발 시 이미지를 표시하기 위해 보통 아래와 같이 img 태그를 사용합니다. 그런데, 실무에서 웹 서비스를 개발하다보면 아래와 같이 특정 URL을 호출해서 이미지를 보여주는 경우가 정말 많습니다..
웹 페이지 개발 시, 난 분명 수정을 했고, 서버에도 반영이 되어있는데 웹 브라우저에서 확인해보면 수정하기 이전 파일이 로딩되어 사용자가 안된다고 하거나 에러가 난다고 하는 경우가 항상 있습니다. 그럴때..
Centos에서 yum을 정말 많이 사용하는데요. yum을 사용하다보면 다음과 같은 에러가 발생하는 경우가 있습니다. Another app is currently holding the yum lock; waiting for it to exit 이 에러는..
IE는 웹 개발자의 암 유발자인데요. 그중에 큰 비중을 차지하는 것이 바로 "호환성 보기"입니다. 마이크로소프트는 호환성 보기(Compatibility view)를 다음과 같이 설명합니다. 이전 버전의 Internet Explorer에..
서버단에서 파일 업로드 프로그램을 다 만들었으면 테스트를 해야 하는데요. 이를 위해 파일 전송 html을 만들기 여간 귀찮은 것이 아닙니다. Postman은 웹 개발 시 테스트를 하기 위한 가장 유명한 프로그램 중..
안녕하세요 노루 아부지 입니다. 최근 웹 프로젝트 배포의 대세가 war에서 jar로 바뀌고 있는 이유에 대해 알아보다가 마이크로서비스 아키텍처라는 것에 대해 알게 되었는데요 마이크로서비스 아키텍처란 무엇일..
얼마전에 임신 사실을 알게 돼서 이것저것 검색해보다 임산부는 영양제도 잘 골라 먹어야 한다는 것을 알았는데요 대표적으로 비타민 A의 경우 동물실험에서 기형을 유발함이 증명되었으며 인간에서도 임신 초기..
데이터베이스 테이블을 설계하다 보면 column이 중복되는 경우가 생각보다 많습니다. 대표적으로 등록한 사람, 등록일시, 수정한 사람, 수정일시 등이 있는데요 이것을 일일히 쓰기에는 여간 귀찮은 일이 아닙니다..
CentOS에서 mariadb를 설치 하면 Database가 대소문자 구분을 하여 쿼리 할 때 정말 불편한 경우가 있습니다. 예를 들어 테이블이 TB_USER로 생성되었을 때 SELECT * FROM tb_user로 쿼리하면 오류가 발생하는 것..
임산부에게 있어 올바른 영양섭취는 임산부뿐만 아니라 태아의 건강을 위해서도 매우 중요합니다. 예전에는 임산부의 영양섭취가 태아에게 영향이 없다고 여겨졌으나, 1960년대 탈리도마이드 사건 이후 태아가 외..
SQL 보기 옵션 - Hibernate가 DB에 보내는 모든 쿼리를 보여줍니다. application.properties인 경우 spring.jpa.properties.hibernate.show_sql=true application.yml인 경우 spring: jpa: properties: hibernat..
데이터베이스를 사용할 때 등록일, 수정일을 기록하는 경우가 아주 많습니다. 이력 관리 차원에서 아주 중요합니다. JPA에서 엔티티를 등록, 수정할 때 아래와 같이 날짜를 수정하는 코드가 많이 들어갑니다. Book..
Eclipse에서 commit 할 때 locked 되었다는 오류가 발생할 수 있습니다. 이때 Eclipse가 보여주는 메시지는 cleanup을 하라고 하는데 cleanup은 team > cleanup을 하면 됩니다. 하지만 cleanup을 해도 해결되지 않..
이클립스로 개발 시 Console에 나오는 메시지로 디버깅을 하는데, 기본 설정으로 사용하는 경우 한 번에 표시 가능한 라인 수가 적어서 앞의 로그가 잘려서 보이지 않는 경우가 많습니다. 이때 Console의 버퍼 사..
Presentation Assistant 플러그인 활용 이 플러그인을 설치하면 intellij의 기능이 실행될 때마다 기능 및 단축키를 하단에 보여줍니다. 설치방법 : settings(단축키: Ctrl + Alt + S) > plugins, browse reposit..
아래와 같이 IDENTITY를 사용하여 테이블을 생성했다면 seq 컬럼은 자동 증가 값을 가지게 됩니다. CREATE TABLE [dbo].[tb_user] ( [seq] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [user_name] [varchar] (70)..
아래 단축키는 맥북 기준이며, 괄호 안의 단축키는 윈도우, 리눅스 버전 단축키 입니다. 0~9(Alt+#[0-9]) 각 단축키에 해당하는 도구창을 엽니다 예를 들어 1 을 사용하면 프로젝트 도구창을 토글할 수 있습니..
Jackson ObjectMapper을 이용하여 Object(VO, DTO 등)를 Map으로 값을 복사할 때 그중 날짜 형태의 데이터(java.util.Date나 java.util.LocalDateTime 등)가 포함되어 있다면 그 값이 우리가 알고 있는 yyyy-MM-dd..
어느 날부터 타자를 칠 때 갑자기 영어로 변경되거나 이상한 특수문자가 입력되는 현상이 발생했습니다. 심지어 카카오워크나 카카오톡 같은 메신저에서 입력할 때도 마찬가지 현상이 발생해서 대화가 제대로 안될..
Method 1 String userDirectory = System.getProperty("user.dir"); System.out.println("path : " + userDirectory); Method 2 String userDirectory = new File("").getAbsolutePath(); System.out.println("p..
생성자를 사용한 복사 HashMap src = new HashMap<>(); src.put("name", "hong"); src.put("age", "19"); HashMap dst = new HashMap<>(src); clone()을 사용한 복사 HashMap dst = (HashMap )src.clone(); pu..
금메달을 딴 선수가 칭찬받기는 커녕 '온라인 반 페미니스트 운동'의 표적이 됐다. (폭스뉴스) 헤어스타일을 보고 '페미니스트'라고 부르는 '온라인 학대'는 한국 젊은 남성들 사이의 반페미니즘 정서에 기인한다...
Spring Web Project 개발 시 반드시 Controller가 필요합니다. 일반적으로 Spring 책으로 공부를 하다 보면 Controller에는 @Controller 애노테이션을 사용하는데요 @Controller 전통적인 Spring MVC의 컨트롤러인..
한국 개발자의 가장 큰 비애는 한글인데요 개발을 하다 보면 한글이 깨지는 경우가 정말 많습니다. 한글이 안깨지게 하기 위해 character를 UTF-8로 설정을 해야 하는데요. SpringBoot에서는 아래와 같이 간단하게..
Hong Kim Lim get value 위와 같은 코드가 있다고 가정할 때, 선택된 라디오 버튼의 값을 구하는 방법은 다음과 같습니다. querySelector 이용 이 방법은 IE9 이상 및 기타 모든 브라우저에서 동작합니다. functio..
데이터 또는 수식 복사 : Ctrl + d 엑셀 작업을 하다보면 바로 위의 내용과 똑같은 내용을 입력해야 할 경우가 생각보다 많습니다. 이 경우에 단축키를 모를 경우 보통 ctrl + c, ctrl + v를 이용하여 내용을 입력..
우리가 일반적으로 알고 있는 IP는 192.168.0.1, 127.0.0.1과 같은 형태인데, java에서 request.getRemoteAddr()의 IP가 0:0:0:0:0:0:0:1인 경우가 있습니다. 여기서 0:0:0:0:0:0:0:1이라는 건 IPv6의 주소입니다...
API 통신에서 JPA를 사용할 때 entity를 그대로 return 하면 좋지 않습니다. 그 이유는 다음과 같습니다. entity 변화 시, API도 변경 Database를 관리하다 보면 의외로 생각보다 Database가 변경되는 경우가 많습..
JSP에서는 java를 사용할 수 있기 때문에 다음과 같이 java 코드를 사용하여 Spring Security Principal을 가져올 수 있습니다. <%=org.springframework.security.core.context.SecurityContextHolder.getContext(..
Spring boot로 개발을 하다 보면 application.properties나 application.yml 등의 설정 파일을 사용합니다. 이 설정 파일에는 서버 연결 정보, DB 연결 정보 등과 같은 민감한 정보가 있을 수 있습니다. 그래서 실..
eclipse에서 debug mode에서만 속도가 느려질 때가 있습니다. (run 시에는 정상 속도) 결론부터 말하면, break point가 너무 많으면 이런 현상이 발생할 수 있습니다. 따라서 불필요한 break point를 모두 지우면..
SpringBoot에서 war 파일을 만들기 위해서는 @SpringBootApplication에서 SpringBootServletInitializer를 확장해야 합니다. 그 방법은 다음과 같습니다. pom.xml의 packaging을 war로 변경합니다. war pom.xml..
Spring Boot에서 프로젝트 실행 시 아래와 같은 에러 메시지 발생하며 실행되지 않는 경우가 있습니다. Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hib..
얼마 전에 테스트 서버의 DB를 Oracle 12c를 사용하다가 서버를 포맷하게 되어 포맷을 한 김에 19c로 업그레이드했는데 상상하지 못했던 문제가 발생했습니다. Spring JPA + Hicaricp 환경에서 DB 접속 시간이 너..
안녕하세요 노루 아부지 입니다. 요즘 삼성 페이 많이 사용하시죠? 저도 삼성 페이를 사용하는데요 주변에 보면 삼성페이 때문에 갤럭시를 벗어날 수 없다는 분들이 정말 많은데요 오늘은 삼성페이를 사용하면서..
1. IntelliJ Run > Edit Configurations choose your project remove the 'Enable launch optimization' and 'Enable JMX agent' checkboxes 2. Eclipse Run > Run Configurations choose "Spring Boot" tab re..
DATE ONLY FORMATS 1 convert(varchar, getdate(), 1) mm/dd/yy 12/30/06 2 convert(varchar, getdate(), 2) yy.mm.dd 06.12.30 3 convert(varchar, getdate(), 3) dd/mm/yy 30/12/06 4 convert(varchar, getdate(..
1. 개요 코로나 19로 인한 위기는 세상에 상당한 충격을 주었다. 이 충격은 기업의 인프라와 운영에 관해 거의 모든 향후 기술에 영향을 미친다. 미국의 정보 기술 연구 및 자문 회사인 가트너의 리서치 부사장인..
java에서는 다음 클래스들을 이용하여 파일을 쓸 수 있습니다. java - write to file BufferedWriter PrintWriter FileOutputStream java.nio.file 1. BufferedWriter import java.io.BufferedWriter; import java..
DBMS별 함수 비교 NULL TO STRING ORACLE: NVL MSSQL: ISNULL MYSQL: IFNULL substring ORACLE: SUBSTR MSSQL: SUBSTRING MYSQL: SUBSTRING 문자열 합치기(concat) ORACLE: || MSSQL: + MYSQL: CONCAT 공백 제거 O..
java로 개발을 하다 보면 미처 신경을 못써서 개발환경의 jdk와 운영환경의 jdk가 다른 경우가 있는데, 기본적으로 java에서 하위 호환은 되지만, 상위 호환은 되지 않습니다. 예를 들어 java8로 컴파일된 class는..
일반적으로 query를 하거나, 프로그램 개발을 하다보면 문자열의 길이를 구해야 하는 경우가 생각보다 많습니다. MySQL의 경우 문자열의 길이를 가져올 때 사용하는 함수는 LENGTH함수입니다. 하지만 테스트로 LEN..
Spring boot에서 프로그램을 run 할 때 다음과 같은 메시지가 발생하는 경우가 있습니다. java.lang.NoClassDefFoundError: javax/servlet/Filter 해결방법은 gradle 또는 maven에서 spring-boot-starter-tomcat의..
Spring에서 의존관계 주입을 받을 때는 당연하게 아래와 같이 인스턴스 변수에 @Autowired나 @Inject를 사용해 왔습니다. public class ExampleController { @Autowired private UserService userService; } 그러..
컴퓨터를 사용하다 보면 탐색기를 자주 호출하게 됩니다. Windows 10이 되면서 아래와 같이 탐색기에 '자주 사용하는 폴더'와 '최근에 사용한 파일' 목록이 표시됩니다. 이 기능이 편리한 점도 있지만 여러 사람..
eclipse에서 프로그램을 실행하는데는 문제가 없는데 debug모드를 걸려고 하면 아래와 같은 메시지가 뜨며 실행되지 않는 경우가 있습니다. FATAL ERROR in native method: processing of -javaagent failed, appe..
Linux에서 MariaDB 설치한 후 query 시, 대소문자를 구분하는 문제가 있습니다. (Windows에 설치 할 경우 이런 문제가 없습니다.) 그 이유는 lower_case_table_names 옵션 때문인데요 이 옵션의 값은 아래와 같습..
프로그래밍을 하다 보면 아래와 같이 파일 경로에서 파일명만 추출해야 하는 경우가 생각보다 많습니다. 예를 들어 C:/Document/Temp/FileName.txt 에서 FileName.txt만 추출해야 할 경우 입니다. 방법 1. File.ge..
안녕하세요 노루 아부지입니다. 오늘은 Adobe Flash Player 지원 종료에 대해 포스팅을 하려고 합니다. 1. Adobe Flash Player 개요 1996년 11월 처음으로 등장한 Flash는 2020년 12월까지 서비스가 제공되었습니..
Eclipse에서 웹 프로젝트를 실행할 때, Run > Run on server를 이용하여 실행해야 하는데, Run에 Run on server가 없는 경우가 있습니다. 해결방법을 아래에 나열합니다. 1. Dynamic Web Module 옵션 체크 확인 검..
HTTPS로 웹 서비스를 올렸는데, 사용자가 HTTP로 접근하는 경우가 있습니다. 이 경우 보통 설정에서 HTTPS로 리다이렉트 시켜주는 경우가 많습니다. 하지만 이 리다이렉션 자체가 보안에 취약점이 될 수 있습니다...
혹시 디지털 노마드라는 말을 들어보셨나요? 디지털 노마드란 디지털(digital)과 유목민(nomad)을 합성한 신조어로서, 인터넷 접속을 전제로 한 디지털 기기(노트북, 스마트폰 등)를 이용하여 공간의 제약을 받지..
여러분들 콜라, 사이다 좋아하시죠? 특히, 무더운 여름철에는 더욱 '탄산음료'를 찾게 됩니다. 실제로, 탄산음료의 소비량은 여름에 집중됩니다. 그런데, 혹시 탄산음료가 치아에 안 좋다는 이야기를 알고 계신가..
안녕하세요 노루아부지 입니다. 혹시 이 글을 보시는 여러분들은 집 번호키 눌러서 문을 여시나요? 요즘엔 세상이 좋아져서 스마트폰으로도 문을 열 수 있는데요 (아이폰은 아직 안되지만요) 혹시 만화나 영화에서..
혹시 탄소포인트제라는 것을 아시나요? 탄소포인트제는 정부가 온실가스 감축 및 저탄소 녹색성장에 대한 시민의식과 참여 확대를 위해 도입한 제도입니다. 벌써 10년이 넘은 제도라는데 전 이번에 처음 알았네요..
1. 앱테크란? 여러분들 앱테크를 아시나요? 앱테크는 애플리케이션의 줄임말인 '앱'과 재테크의 합성어입니다. 즉, 휴대폰 앱을 통해 수익을 얻는 활동을 말하는 것입니다. 앱테크에는 여러가지 유형이 있는데요..
안녕하세요 노루아부지입니다. 혹시 탄소포인트제에 대해서 아시나요? 탄소포인트제란 탄소배출을 줄이기 위해 에너지를 절약하면 이에 따른 인센티브를 지급하는 제도입니다. 이 탄소포인트제의 자동차 버전이 자..
안녕하세요 노루 아부지입니다. 오늘은 "광역알뜰교통카드"에 대해 알아왔는데요 이게 엄청난 녀석입니다! 알뜰교통카드 휴대폰 어플로 1차 할인받고, 체크/신용 카드로 2차 할인을 받을 수 있는 제도인데요 일반..
안녕하세요! 오늘은 티스토리 블로그 운영의 첫걸음! 구글 검색 등록에 대해 알아보려고 합니다. 네이버 블로그의 경우 국대 최다 사용자를 보유한 네이버에서 검색이 되기 때문에 별도의 작업 없이도 사용자가 유..
생강은 우리나라의 식생활에서 없어서는 안될, 가장 많이 사용하는 식재료 중 하나입니다. 또한 생강은 예로부터 약으로도 많이 쓰였습니다. 생강이란? 생강(生薑)은 생강과에 속하는 여러해살이풀이다. 새앙, ..
회사에서 GS 인증을 받던 중, 비밀번호에 SALT를 적용해야 GS 인증을 받을 수 있다고 연락을 받아서 관련 내용을 정리해 보았습니다. 암호 SALT는 패스워드 크래킹을 방지하기 위한 가장 널리 알려진 방법입니다...
Spring boot 환경에서 Controller의 Test를 만드는 중, @Autowired된 클래스가 null이 되는 현상이 발생했습니다. 해결방법은 다음과 같습니다. 1. 개발 환경 1) OS : Windows 10 2) 개발 툴 : IntelliJ 3) 빌드..
안녕하세요 노루아부지 입니다. 이번에 새로운 java 프로그램을 JPA로 개발하던 중, 예약어로 인해 에러가 발생했습니다. 저희 회사에서는 mssql, mariadb, oracle 이렇게 3개의 Database를 사용하는데요. 문제는..
안녕하세요 노루아부지입니다. 집이나 회사에서 대부분 Microsoft office를 사용하고 있으실겁니다. 아마 대부분의 사람들이 정품이 너무 비싸기 때문에(2021-03-07 기준 Office 2019 Home 가격: 약 120,000 원)..
예전에는 windows 설치 CD나 USB를 만들려면 ISO 파일을 구해서 CD 굽는 프로그램, USB 설치 프로그램을 받아서 만들어줘야 했습니다. 하지만 Windows 10은 공식적으로 설치 USB 만드는 프로그램을 제공합니다. 먼..
MS office 삭제 할 때 아래아 같이 "사용자 시스템에서 설치 패키지이 언어가 지원되지 않습니다." 라는 메시지가 표시되면서 삭제가 되지 않는 경우가 있습니다. 이 경우 아래 MS(Microsoft) 홈페이지에서 제공..
Office 프로그램 설치를 할 때 보통 torrent 등에서 설치 파일을 받아서 사용하는데, 순정을 설치하지 않을 경우 컴퓨터에 악성코드나 바이러스가 감염될 수 있습니다. 그래서 오늘은 순정 MS Office를 설치하는..
어떠한 문제로 와우를 삭제후 재설치 해야 하거나, 정말 와우를 삭제 하고 싶을 경우 일반적으로 아래와 같이 제어판의 프로그램 및 기능에서 와우를 삭제하려고 시도합니다. 하지만 이럴 경우 아래와 같이 이 게..
인터넷 강의 동영상을 보다 보면 마우스 커서 주위에 반투명한 원이 있는 경우를 자주 볼 수 있는데요 오늘은 그 커서를 어떻게 만드는지 알아보도록 하겠습니다. 윈도우 마우스 포인터 변경 기능으로 바꿀 수도..
드넓은 땅과 풍부한 자원을 가지고 있고, 남미의 꽃이라 불리는 아르헨티나. 한때 세계 5위의 경제 대국이었던 아르헨티나. 유명한 만화영화인 엄마 찾아 삼만리에서 주인공 마르코의 엄마가 돈을 벌려고 떠났던..
DB에 접속 중인 세션을 오랫동안 사용하지 않거나 네트워크에 문제가 발생하는 경우 DB 세션이 끊어질 수 있습니다. DB 세션이 끊어지는 경우 재접속 처리를 해야 다시 정상적인 서비스가 가능해집니다. 재접속 처..
이클립스에서 Junit 테스트를 할 때 No Tests found with test runner 'JUnit 5' 메시지가 뜰 경우 해결 방법은 다음과 같습니다. 이클립스 상단 메뉴 [Run] 클릭 후 [Run Configurations] 항목을 선택 Junit > [..
0. Check the maven repositiory server is up 1. Check Proxy is set up and working First I thought it was a proxy problem, I made sure that maven settings.xml contained the proxy settings (settings.xm..
CentOS 7에서 ip addr 명령어를 입력하면 아래와 같이 Network 정보가 표시되는데 인터넷이 안될 경우 아래와 같이 IP 정보가 표시되지 않습니다. * [참고사항] 기존에는 ifconfig를 통해 Network 정보를 확인 했..
CentOS 7 부터는 iptables 가 아니라 firewall 명령어로 Port를 열어야 한다고 합니다. 명령어는 아래와 같습니다. firewall-cmd --zone=public --permanent --add-port=2888/tcp firewall-cmd --reload 열린 포트..
VMware에서 OS를 설치할 때, 기본 설정은 NAT 입니다. 이 경우 아무 설정도 하지 않을 경우 VMware를 설치한 PC에서는 VMware로 접속이 가능하지만, 외부에서는 접근이 불가능합니다. 이 때 port forwarding을 설..
1. VMware Workstation Pro download. 1.1 아래 링크를 클릭하여 VMware를 다운로드합니다. [다운로드 링크] 1.2 스크롤을 내리다 보면 아래와 같은 버튼이 보이는데, 설치하고자 하는 OS에 따라 맞는 버튼을 눌러..
mysql과 mariadb는 기본 명령어가 같기 때문에 같은 명령어로 외부 접속이 가능하도록 할 수 있습니다. // mariadb 접속 # mysql -u root -p // database를 mysql로 변경 $ use mysql; $ select host, user from u..
MySQL, MariaDB, PostgreSQL, MSSQL, Oracle 등의 Database를 사용하면서 보통 utf8로 설정합니다. 하지만 MariaDB, MySQL의 경우 최근 utf8mb4로 설정하는 경우가 많다고 합니다. 그 이유는 emoji 때문입니다. My..
CentOS 7에서 MariaDB를 yum으로 설치하면 예전 버전이 설치됩니다. 그 이후 버전을 설치하기 위해서는 repo를 등록한 후 설치해야 합니다. 1. MariaDB yum repo 등록 # vi /etc/yum.repos.d/MariaDB.repo [mariad..
코딩을 하다 보면 특정 클래스, 메서드가 어디에서 사용 중인지 필요할 때가 있습니다. 기존에는 클래스나 메소드가 어디에서 사용 중인지 찾기 위해서는 단어로 찾는 등 너무 힘이 들었습니다. 하지만 최근에 좋..
Install OpenJDK Tomcat 9는 Java SE 8 이상의 버전을 설치해야 합니다. 1. 설치 가능 JDK 목록 확인 # yum list java*jdk-devel 2. OpenJDK 설치 # yum install –y java-11-openjdk-devel.x86_64 Tomcat sys..
ArrayBlockingQueue는 Array로 구현된 BlockingQueue입니다. 특징은 아래와 같습니다. BlockingQueue 인터페이스를 구현 Queue를 생성할 때 크기를 설정(Queue의 크기가 정해져 있음) FIFO(First In First Out)로..
Spring Boot를 사용하면 Spring 버전이 바로 눈에 보이지 않습니다. 이 경우 Spring Boot에서 사용하는 Spring의 버전을 알고 싶을 경우 아래와 같이 getVersion() 메서드를 사용하면 됩니다. String version = or..
maven 프로젝트에서는 태그를 이용하여 profile을 설정했습니다. 하지만 Spring Boot를 이용한다면 Spring Boot를 이용하면 application.properties 파일을 이용하여 손쉽게 profile을 설정할 수 있습니다. 1. app..
전원 설정에서 "고성능"으로 변경 1. 윈도우키 + E키를 눌러 파일 탐색기를 실행 2. 아래 그림과 같이 탐색기 경로에 "제어판\하드웨어 및 소리\전원 옵션" 입력 3. 아래 이미지와 같이 전원 옵션을 "고성능"으로..
stackoverflow.com/questions/1049210/adding-an-identity-to-an-existing-column
Infinitest는 지속적인 테스트를 해주는 Eclipse와 IntelliJ 플러그인입니다. Infinitest는 소스 코드 변경을 감지해서 영향도가 있는 테스트를 수행합니다. github: http://infinitest.github.io user guide: h..
때때로 MySQL에 날짜를 저장할 때 Database의 날짜가 시스템이나 JVM과 다르다는 것을 알게 됩니다. 이런 경우에는 Timezone을 설정하면 됩니다. 방법 1. URL parameter로 Timezone 설정 MySQL은 기본적으로 useLe..
Java 애플리케이션을 개발하면서 제일 중요한 것 중 하나는 Test라고 할 수 있습니다. 그런데 Eclipse에서 Test class를 만들려면 너무 번거롭습니다. 그 이유는 일반적으로 Test class를 만들 때, src/test/java..
Take a deep breath. Run npm cache clean --force Uninstall from Programs & Features with the uninstaller. Reboot (or you probably can get away with killing all node-related processes from Task Manag..
위와 같이 Date type으로 변경한 후 변경된 값을 format에 맞도록 바꾸는 형태로 사용
Tomcat에 배포할 때 아래와 같이 오류가 발생하는 경우가 있습니다. org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool 이런 요류가 발생하는 이유는 프로젝트를..
일반적으로 Spring Boot는 resources에 파일을 위치시킵니다. resources 하위에 text 파일을 Spring에서 제공하는 ResourceLoader를 이용하여 Read 하는 코드가 있습니다. import org.springframework.beans.facto..
특정 month의 1일과 마지막 날짜를 구하고 싶다면 아래와 같이 하면 됩니다. 방법 1. LocalDate monthstart = LocalDate.of(year,month,1); LocalDate monthend = monthstart.plusDays(monthstart.lengthOfMonth()..
LocalDate에서 LocaldateTime으로 변환하는 방법은 크게 두 가지가 있습니다. atStartOfDay() : 이 메서드는 자정(00:00) 시간을 추가하여 리턴합니다. atTime() : 지정된 시/분/초 를 추가하여 리턴합니다. Local..
undertow란? 초경량 & 고성능 웹 서버 NIO 기반의 Bloking / NON-Bloking API 모두 제공 Java로 구현되어 임베디드 모드의 모든 JVM 기반 응용 프로그램에서 사용 가능 Apache License, version 2.0을 따르는 오픈..
오류처리는 애플리케이션 개발에 있어서 매우 큰 부분을 차지합니다. 오류 예측과 예방, 그리고 오류를 빨리 발견하고 고칠 수 있는 것은 개발자의 필수 조건입니다. ErrorController Spring boot에서 별 다른 설..
spring boot에서는 기본적으로 jsp를 권장하지 않습니다. 하지만 jsp를 사용해야 하는 경우에는 아래와 같이 하면 됩니다. 1. 의존성 추가 1.1 gradle compile('org.apache.tomcat.embed:tomcat-embed-jasper') co..
spring boot + gradle 환경에서 외부 라이브러리(jar)를 추가하는 방법입니다. gradle에서 lib를 추가하기 위해서는 build.gradle 파일에 다음과 같이 명시해야 합니다. 1. 한 개의 파일을 넣는 방법 dependencies..
웹 개발을 하다 보면 가장 많이 발생하는 이슈 중 하나는 분명 수정해서 보내줬는데 받은 쪽에서 에러가 났다던지, 변경이 안되었다던지 하는 경우가 있습니다. 이런 경우는 웹 개발자의 최대의 적 중 하나인 브라..
교차 출처 리소스 공유(CORS, Cross-origin resource sharing)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에..
jsessionid는 새 세션이 만들어지면 클라이언트가 쿠키를 지원하는지 여부를 서버가 알 수 없으므로, 쿠키와 URL에 모두 jsessionid를 만들어 주는 것을 의미하며 url에 붙이거나 헤더에 붙여서 나오게 됩니다. 클..
JPA에서 기본으로 제공하는 findById(), findAll() 등을 사용하면 기본적으로 모든 컬럼을 select합니다. 만약, 특정 컬럼을 구하려고 할 경우 아래와 같이 하면 됩니다. 먼저, 아래와 같은 User Entity가 존재한..
nested exception is org.hibernate.AnnotationException: No identifier specified for entity: com.snowdeer.database.board.Member 만약 위와 같은 오류가 발생한다면 Entity 클래스의 @Id 어노테이션이 없거나..
웹 개발을 하다 보면 데이터베이스를 사용하게 되는 경우가 정말 많습니다. 하지만, 로컬에서 개발하기 위해 로컬환경에 데이터베이스를 설치하고 스키마, 테이블을 생성하고 관리하기 여간 귀찮은 것이 아닙니다...
intellij, Gradle 환경에서 프로젝트를 첫 실행 할 때 아래와 같은 오류가 발생하는 경우가 있습니다. Execution failed for task ':DemoSpringApplication.main()'. > Process 'command 'JDK경로/bin/java.exe''..
Spring boot에서 아래와 같은 class를 return하는 API가 있다고 가정합니다. public class User { private String userId; private Date createDate; } createDate가 String이라면 상관없지만, 위와 같이 Date형태..
@Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Autowired HandlerInterceptor yourInjectedInterceptor; @Override public void addInterceptors(InterceptorRegistry registry)..
웹 애플리케이션에서 기본적으로 꼭 해야 할 보안 중 하나로 XSS 방지가 있습니다. XSS(크로스 사이트 스크립트)란? 검증되지 않은 입력 값으로 인해 사용자의 웹 브라우저에서 의도하지 않은 악성 스크립트가 실..
아래 코드에서는 Null Pointer Exception이 발생합니다. 이 예외를 try catch문으로 printStackTrace를 하면 에러 메시지가 표시됩니다. public class Test { public static void main(String [] args) { String a..
만약 아래와 같은 class가 있다고 가정합니다. public class Member { private Long id; private String name; // 이름 private Integer age; // 나이 private String address; // 주소 private String telNo; //..
프로젝트 root에서 마우스 오른쪽 클릭 Run As > Run Configurations... 클릭 왼족에 Maven Build에서 마우스 오른쪽 버튼을 클릭하고 "새로 만들기" 기본 프로젝트를 선택하고 이름 지정 목표 텍스트 필드에 빌드..
StringBuffer/StringBuilder 사용 이것은 java code의 입니다. + 연산자는 사용하면 안됩니다. 그 이유는 String은 불변(immutable) 객체이기 때문입니다. 예를 들어, 아래와 같은 코드가 있다면 어떻게 될까요? S..
Eclipse의 경우 Lombok을 사용하려면 나름(?) 복잡한 절차를 거쳐야 하지만, IntelliJ에서 lombok을 사용하려면 간단하게 plugin을 설치하면 됩니다. 1. IntelliJ를 실행 한 후, Settings에 들어갑니다. (단축키:..
Spring은 정말 편하고 좋은 프레임워크이지만 초기 설정이 정말 어려웠습니다. 실제로 스프링을 사용하면서도 왜 이렇게 쓰는지 모르고 쓰는 경우가 많았고, 심지어 자신이 세팅한 세팅한 빈 프로젝트에 설정을 다..
jpa에서 @CreateDate는 DB에 insert를 할 때 자동으로 현재 시간을 넣어주는 annotation입니다. 보통 이것을 사용할 때 아래와 같이 사용하는데요 @Getter @Setter @Entity @EntityListeners(AuditingEntityListen..
애플리케이션에서 불필요한 모듈 및 Bean 정의를 제거하십시오. 개발자가 저지르는 일반적인 실수 중 하나는 애플리케이션에 웹 환경이 필요하지 않은 경우에 spring-boot-starter-web를 포함하는 것입니다. 다른..
-Xms Java Heap의 최초 크기를 지정합니다. Java Heap은 -Xms 옵션으로 지정한 크기로 시작하며, 최대 -Xmx 옵션으로 지정한 크기만큼 커집니다. Java8에서 이 옵션은 Deprecated 되었습니다. -Xmx Java Heap의 최..
차가버섯은 자작나무에서 기생하면서 자작나무 진을 빨아먹고 사는 기생 버섯입니다. 여기까지만 보면 일반 버섯 같지만, 차가버섯은 일반 버섯과 다르게 돌덩이처럼 딱딱해서 망치로 깨 부숴야 합니다. 차가버섯..
socket 생성시 특히 linux에서 아래와 같은 메시지가 발생하는 경우가 있습니다. Caused by: java.io.IOException: 열린 파일이 너무 많음 또는 Caused by: java.io.IOException: too manny open files 보통 이 에..
spring boot는 application.properties 파일을 통해 설정을 할 수 있습니다. properties의 값은 @Value annocation을 통해 읽어올 수 있습니다. # application.properties noroo.test=test import org.springframe..
개발할 때 Console 창을 많이 보는데, Intellij에서는 이에 해당하는 부분이 output 창입니다. 그런데, 여기에 한글이 출력될 때 아래와 같이 깨지는 현상이 발생하는 경우가 있습니다. 이 경우 아래와 같이 진..
mybatiss를 사용할 경우 ${param}, #{param}과 같이 # 또는 $으로 parameter를 받을 수 있는데, 보통 아래와 같이 #을 사용해서 받는 것을 권장합니다. 그 이유는, #{}이 SQL Injection 공격에 안전하기 때문인데..
우슬은 비름과에 속하는 여러해살이 초본식물인 쇠무릎의 뿌리입니다. 쇠무릎이라는 이름은 식물 줄기에 있는 마디의 형상이 소의 무릎과 유사하다고 해서 붙여진 이름이라고 합니다. 우슬의 주요 유효성분으로는..
NullPointerException은 개발 과정에서 가장 많이 접하면서 간과하기 쉬운 예외 중 하나입니다. reference type을 다룰 때는 항상 null에 대비하여 프로그래밍을 해야 합니다. 이 과정에서 불필요한 null check co..
개요 향이 매우 진해서 향이(향 버섯)이라고도 부른다. 본래 이름은 웅이(熊茸)이며 방언으로는 능이(能耳)라고 한다고 19세기 중엽의 문헌인 이규경(李圭景)의 『오주연문장전산고(五洲衍文長箋散..
개발환경 OS: windows 10 java version: openjdk-1.8 Gradle version: 7.0 Springboot Version: 2.3.5 flyway version: 6.4.2 Database: MariaDB 1.5.6 Flyway란? Flyway는 Open Source Migration Tool 입니다. Ja..
철길과 좁은 터널 너머로 보이는 북한산이 어우러지는 풍경. 바로 인생 사진의 명소로 알려진 고양시 '벽제 터널'입니다. 하지만 최근 인생 사진을 위해 벽제역(벽제 터널)을 찾았다가 과태료를 내는 사례가 부쩍..
로열젤리(royal jelly)는 여왕벌의 음식입니다. 로열젤리는 꿀벌 중 일벌이 유충을 기르는 시기에만 타선이 포육선으로 발달되어 분비되는 유상의 물질로 고대에서는 불로장생의 묘약으로 알려졌다고 합니다. 모든..
Logback이란? Java에서 Log 기록을 위한 Open-Source framework. SLF4J의 구현체입니다. Spring Boot에서는 default로 설정되어 있어서 사용 시 별도로 라이브러리를 추가하지 않아도 됩니다. spring-boot-start-w..
바다의 우유라고 불리는 굴은 동서양을 막론하고 완전식품으로 사랑받아왔습니다. 고대 로마의 황제들과 나폴레옹도 굴을 즐겨 먹었으며, 독일의 재상 비스마르크는 하루에 175개나 되는 굴을 먹었다고 합니다. 굴..
카무트는 6,000년 전 고대 이집트에서 재배됐던 밀의 종류로, 투탕카멘의 무덤에서 최초로 발견되었다고 합니다. 4,000년 전의 무덤에서 발견된 씨앗이 놀랍게도 살아 있었기 때문에 생명의 씨앗이라고도 불린다고..
김포 -> 부산 항공권을 알아보던 중 아래와 같은 것을 발견했습니다. 분명히 같은 항공사이고, 같은 비행기인데 가격이 다른것이었습니다. 그런데 일반석, 할인석의 차이점은 뭘까? 궁금해서 여기저기 알아봤습니..
HikariCP란? HikariCP는 Brett Wooldridge 가 2012년 경 개발한 매우 가볍고 빠르고 안정적인 JDBC Connection Pool 입니다. 심지어 HikariCP는"zero-overhead"라고 홍보를 하고 있습니다. 또한 신뢰감을 높이기..
곰보배추란? 우리나라 중남부지방에서 주로 자라는 배추로 잎의 생김새가 올록볼록하게 생겨 얼굴에 난 곰보를 연상케 한다고 하여 곰보배추라고 불린다고 합니다. 경상도 지방에서는 문디배추 또는 못난이배추라..
달팽이란? 달팽이는 연체동물 복족류(배가 발인 무리) 가운데 나선형의 껍데기가 있는 종류를 통칭하는 말입니다. 야생의 달팽이는 주로 이끼, 곰팡이, 버섯 등을 먹고사는데, 큰 식물들을 좀먹고 심하면 죽음에..
10월 9일은 한글날이다. 한글날은 우리나라의 공휴일 가운데 오직 하나뿐인 세계적인 문화의 날이다. 세계에서 그 나라 글자를 기려 공휴일로 정한 나라는 우리나라뿐이다. 그런데 지난 92년부터 한글날이 공휴일..
에러 메시지 발생한 환경 spring boot에서 maven install 후 생긴 war 파일을 tomcat 9에 배포 에러 메시지 Caused by: java.lang.IllegalArgumentException: 이름이 [org_apache_tomcat_websocket]인, 둘 이상..
프랑스 연구진, 식습관 영향 분석 발효 배추가 코로나 결합 효소 억제 발효 음식이 주식인 국가들도 사망 적어 2003년 사스 때도 예방효과 추측 신종 코로나 바이러스 감염증(코로나19)이 장기화되면서, 전 세계에..
기존에는 회사에서 프로젝트를 진행할 때 mybatis를 사용했는데 신규 프로젝트는 JPA 2.0을 사용하게 되었습니다. PK로 sequence를 사용하는 신규 테이블의 경우 요즘 대세인 테이블 전략을 사용하여 구성했습..
Tomcat 운영 중에 cache가 부족하면 아래와 같은 에러 메시지가 발생합니다. 경고 [main] org.apache.catalina.webresources.Cache.getResource [/WEB-INF/classes/static/js/jquery-ui-1.12.1.base/images/ui-..
[DEBUG] 2020-07-14 17:39:44.649 [o.springframework.jndi.JndiTemplate.lookup(155)] - Looking up JNDI object with name [spring.liveBeansView.mbeanDomain] 이 로그는 디버그 메시지로 에러가 아닙니다...
밥을 하고 난 뒤 밥솥에서 김이 나오는 부분이 찝찝했던 적 있으신가요? 요즘에는 세상이 좋아져서 자동 세척이 있더군요 세척 버튼 한 번만 클릭하면 고압 증기로 깨끗하게 세척해서 더 위생적으로 사용할 수..
결혼한 지 어느덧 1년이 훌쩍 넘었는데요 결혼 준비를 하며 정수기를 알아봤어요 여기저기 다니며 쿠쿠 정수기로 결정했는데요 그 이유는 바로 필터 셀프 교체 때문이었어요 보통 정수기는 필터를 교체해 주시..
건강에 좋은 음식을 소개해 주는 대표적인 프로그램 중 하나인 천기누설에서 2020년 7월 24일 호랑이콩이 방영되었는데요.. 오늘은 이 호랑이콩에 대해 알아보려 합니다. 강낭콩이란? 강낭콩은 콩과의 한해살이풀..
오늘은 파주에 위치한 피셔맨스키친 운정점에 다녀왔어요 열씸히 맛집을 검색하다가 발견한 맛집이에요 피셔맨스키친 운정점 주소: 경기 파주시 심학산로423번길 30 운영시간: 평일,주말 11:30 - 22:00 브레이..
API 개발 후 jMeter를 이용하여 성능테스트를 하던 중 아래와 같은 오류 메시지가 발생했습니다. hikari-pool-1 - Connection is not available, request timed out after 30000ms. 장애의 원인 장애의 원인을..
MBP란? MBP는 Milk Based Peptide의 약자로 우유 단백질에서 분리한 펩타이드를 의미합니다. 또한 MBP는 ‘뼈 건강’ 기능성을 개별 인정받은 소재라고 하는데요 우유의 유청 단백질에서 발견되는 소량의 단백질로..
안녕하세요 이번엔 제가 가전제품 중에 가장 잘 샀다고 생각하는 건조기를 포스팅하려고 합니다. 건조기는 몇 년 전부터 주부들의 로망이었는데요 결혼할 때 주변에서 건조기는 꼭 있어야 한다고 해서 샀지만..
Docker 다운로드 1. 아래 URL에 접속합니다. https://docs.docker.com/docker-for-windows/install/ 2. Download from Docker Hub 버튼을 클릭합니다. 3. 오른쪽에 있는 Get Stable 버튼을 클릭합니다. 4. 저..
도커 이미지는 컨테이너를 실행하기 위한 모든 정보를 가지고 있기 때문에 용량이 큽니다. 새로운 이미지를 만들 경우 기존 이미지에 파일 하나 추가했다고 용량이 큰 파일을 다시 받는건 비효율적입니다. 도커는..
java.util.UUID.randomUUID(); 는 강력한 암호화 난수 발생기입니다. 이 함수를 실행하면 아래와 같은 결과가 return 됩니다. 4178b983-01f8-11eb-8cd2-47e9de425ea4 결과는 16진수 32자리 문자열입니다. 이는 256..
컨테이너 생성 및 시작하기 아래 명령어를 이용하여 컨테이너를 생성할 수 있습니다. run 명령어를 사용하면 사용할 이미지가 저장되어있는지 확인하고 없다면 다운로드(pull)를 한 후, 컨테이너를 생성(create)하..
* hyper-v가 지원되는 컴퓨터라면, windows에서도 linux container를 사용할 수 있습니다. mysql docker image 다운로드 - command 창에서 아래 내용 입력 docker pull mysql * 자세한 내용은 공식 페이지(https:/..
2020.08.07일 방송된 천기누설에서는 자색 옥수수가 소개되었는데요 그래서 이번엔 자색 옥수수가 무엇인지 알아보려 합니다. 자색 옥수수란? 자색 옥수수는 일반 옥수수와는 다르게 보라색인 옥수수입니다. 자색..
가지란? 출처: https://namu.wiki/w/%EA%B0%80%EC%A7%80(%EC%B1%84%EC%86%8C) 속씨식물문 쌍떡잎식물강 가지목 가지과 가지속에 속하는 한해살이풀 채소. 열매를 빼면 전체적으로 회색빛 별 모양 털이 특징인 식물..
퀴노아란? 출처 : https://ko.wikipedia.org/wiki/%ED%80%B4%EB%85%B8%EC%95%84 남아메리카 안데스산맥의 고원에서 자라는 곡물이며 잉카어로 '곡물의 어머니'라는 의미를 갖고 있다. 원산지는 페루, 볼리비아,..
Maven2에서는 dependency를 가지는 대상에 대해서 다음과 같이 scope를 지정하고 있습니다. * compile - 기본영역으로 아무것도 지정되지 않은 경우 사용 - compile 의존관계에 있는 것은 프로젝트의 모든 클래스..
기본적으로 스프링 IOC는 애플리케이션을 시작할 때 모든 Bean을 초기화합니다. 이 과정에서 Bean 초기화에 실패할 수도 있는데 이로 인해 애플리케이션 실행 시점에 장애를 사전에 발견할 수 있습니다. 반면에,..
세균이나 바이러스 같은 외부 공격에 대한 방어 반응이 바로 염증이라고 합니다. 염증 물질이 쌓이면 미세혈관과 신경을 훼손 시켜 각종 질환을 불러올 뿐만 아니라 여러 가지 만성 질환을 악화시켜 결국 암으로까..
Tomcat은 시작되지만 아래와 같은 메시지가 표시되는 경우가 있습니다. SEVERE: Exception loading sessions from persistent storage 이것은 Tomcat이 종료될 때 이전에 직렬화된 웹 세션을 로드 할 수 없는 것과..
매운맛은 중독성이 있다고 합니다. 스트레스를 받을 때 매운 음식이 먹고 싶었던 적이 한 번쯤은 있으셨을 텐데요 그래서인지 요즘 매운 음식 먹방이 크게 증가했습니다. 고추란? 고추는 가지과의 식물로서, 열매..
오징어란? 오징어(영어: Octopus, 학명: Caribbean Reef Squid)는 십완상목의 해양 연체동물의 총칭입니다. 가장 작은 오징어는 꼬마오징어로 몸길이가 겨우 2.5cm이고, 가장 큰 오징어는 대서양에 사는 대왕오징..
SELECT * FROM TB_USER WHERE USER_NAME = '홍길동'; MSSQL은 DataType에 대한 우선순위가 있습니다. nvarchar가 varchar보다 우선순위가 높기 때문에 index가 있는 varchar 컬럼에 nvarchar parameter가 mapping..
이클립스에서 만들어진 프로젝트를 IntelliJ에 import하여 사용하는 방법입니다. 1. Import Project IntelliJ를 실행하면 아래와 같은 첫 화면이 나오는데, 여기서 Open or Import를 클릭합니다. 그 이후 import..
1. pom.xml 에 dependency 추가 com.querydsl querydsl-jpa com.querydsl querydsl-apt org.eclipse.jdt.core.compiler ecj com.querydsl querydsl-sql 4.1.4 com.querydsl querydsl-sql-spring 4.1.4 2. pom.xml..
Wireshark에서 localhost의 패킷을 보기 위해서는 Adapter for loopback traffic capture를 체크해야 합니다. 1. 옵션 버튼 클릭 2. loopback 의 체크박스 선택 후 Start 버튼 클릭
1. IntelliJ 상단의 [view > Tool Window -> Maven Project] 메뉴 또는 아래 사진과 같이 오른쪽의 Maven을 클릭 2. [프로젝트 이름 > Lifecycle] 하위 메뉴로 maven의 실행 명령들이 표시됩니다. - scApi가..
1. Maven Projects 창을 띄웁니다. (아래 두가지 방법 중 선택) - [View > Tool Windows > Maven Projects] 메뉴 선택 - IntelliJ 오른쪽 상단의 Maven 버튼 클릭 2. 아래 아이콘 클릭하여 활성화
javascript에서 ajax 요청을 보내면 브라우저 콘솔에 아래와 같이 에러가 나면서 요청이 실패합니다. 1) 크롬 No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ‘[요청..
val val은 lombok 0.10에 도입되었습니다. val은 실제로 변수 type을 작성하는 대신 지역 변수 선언의 type으로 사용할 수 있습니다. 이렇게 하면 initializer표현식에서 type이 유추됩니다. 지역 변수도 final..
mvnw package 명령어 실행 시 아래와 같은 오류 메시지가 발생합니다.(요약) 더보기 [INFO] BUILD FAILURE [ERROR] Failed to execute goal io.spring.javaformat:spring-javaformat-maven-plugin:0.0.17:validate..
아르간 오일은 아르가니아 스피노사(Argania spinose)라는 나무의 작은 열매의 씨앗으로 만들어지는데, 이 나무는 모로코 남서부 지역에서 자라는 나무입니다. 모로코에 사는 염소는 아르간 나무의 열매를 먹습니..
특정 컬럼을 수정/삭제할 때 아래와 같은 메시지가 발생할 수 있습니다. 메시지 5074, 수준 16, 상태 1, 줄 4 개체 'DF__TB_CONFIG_P__DESC__0D84EF7E'은(는) 열 'DESC'에 종속되어 있습니다. 메시지 4922..
우유가 골다공증을 일으킨다? 우유는 칼슘 함량만 봤을 때는 칼슘의 대명사로 손색이 없습니다. 하지만 우유가 골다공증을 일으킨다는 주장은 외면하기 어렵습니다. 2007년 일본의 의사인 신야 히로미는 그의 저서..
1. @interface 생성 - 마커용 Annotation 생성 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface LoginExecutionTime { } @Target: 어디에 쓸 수 있는지 지정 @Retention: 이..
Apache Cordova는(이전 명칭: PhoneGap)은 니토비(Nitobi)가 만들고 어도비가 인수한 모바일 개발 프레임워크입니다. 소프트웨어 개발자들이 오브젝티브-C처럼 기기에 특화된 언어들 대신 javascript, HTML5, CSS3..
1. 사용하지 않는 게 좋은 Calendar, Date 클래스 Java를 처음 공부할 때나 단순하게 표현할 때는 Calendar, Date 클래스를 사용할 수 있지만, 문제가 많은 클래스 이기 때문에 실무에서는 사..
You need to run build with JDK or have tools.jar on the classpath.If this occures during eclipse build make sure you run eclipse under JDK as well (com.mysema.maven:apt-maven-plugin:1.0.9:process:de..
AWS란? AWS는 클라우드 서비스의 일종입니다. 대표적인 클라우드 서비스로는 네이버 클라우드, AWS, icloude, GCP(Google Cloud Platform), MS 등이 있습니다. 그중 AWS는 빅 3(아마존, MS, 구글) 중 하나로, 클라..
작업 환경 Microsoft SQL Server Management Studio 17 Microsoft SQL Server 2016 SP2 백업 1. 백업파일을 생성할 DB를 우클릭하여 [태스크 > 백업] 메뉴를 클릭합니다. 2. 백업할 경로를 추가/변경 후 "확..
이클립스에서 SVN 작업 내용을 commit 하려고 할 때 is out of date 라는 에러 메시지가 발생하며 commit 되지 않는 경우가 있는데 크게 아래와 같은 경우에 발생합니다. 1. 기존에 작업중인 package가 삭제나 변..
import java.io.File; import java.text.DecimalFormat; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.x..
삭제된 스크립트의 코드는 수행할 수 없습니다. 이 오류는 Chrome에서는 발생하지 않고, IE에서 발생합니다. ( 하.... 역시 IE ) (다른 브라우저는 확인하지 못했습니다.) javascript에서 대입의 개념 JavaSc..
org.apache.catalina.core.ApplicationDispatcher invoke 심각: Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/c..
1. conf/context.xml의 내용을 수정하여 TLD를 스캔하지 않도록 변경 [참고] TLD scan을 모니터링 하려면 conf/logging.properties에 아래 내용을 추가합니다. org.apache.jasper.compiler.TldLocationsCache.leve..
Method 1. Use "org.codehaus.jackson.map.ObjectMapper" import org.codehaus.jackson.map.ObjectMapper; Map map = new HashMap<>(); map.put("userId", "admin"); map.put("userName", "administrator"); Objec..
tomcat/bin 폴더에 가서 tomcatw.exe를 실행 Java 탭으로 이동 Java Options: 항목 맨 아래에 다음과 같은 문구 추가 -Dfile.encoding=UTF-8
String originalStr = "Å×½ºÆ"; // 테스트 String [] charSet = {"utf-8","euc-kr","ksc5601","iso-8859-1","x-windows-949"}; for (int i=0; i OutPut [utf-8,utf-8] = Å×½ºÆ [utf-8,euc-kr] = ..
Apache Commons IO의 FilenameUtils.getExtension을 사용하면 손쉽게 확장자를 구할 수 있습니다. 1. Maven dependency commons-io commons-io 2.6 2. 코드 예제 String ext1 = FilenameUtils.getExtension("/path..
파일 업로드 취약점이란? DBD(Drive-By-Download) 공격을 이용해 공격이 이루어지면 일반 클라이언트는 어떠한 액션을 추ㅢ하지 않아도 취약한 사이트를 방문하는 것 만으로도 감염시킬 수 있습니다. 즉, 파일 업..
ibatis에서 객체를 초기화 할 때 생기는 예외입니다. 저같은 경우는 xml에서 select문을 사용할 때 resultClass="java.util.Map" 으로 사용했는데 아래와 같이 Cause가 발생했습니다. Cause: java.lang.RuntimeEx..
보안상의 이유로 HTTP의 Method를 제한해야 할 경우가 있습니다. HTTP의 메소드는 GET, POST, PUT, DELETE, HEAD, TRACE, OPTIONS 이렇게 총 7개 인데 일반적으로 GET, POST를 제외한 모든 METHOD를 막는다고 합니..
HttpsURLConnection이란? java 소스 내에서 SSL 적용된 사이트에 접근하기 위해 사용 데이터의 타입이나 길이는 거의 제한이 없으며, 주로 미리 길이를 알지 못하는 스트리밍 데이터를 주고받는 데 사용된다. URLC..
받는 쪽 코드 ( Receiver ) import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Objects; import..
URL url = new URL(serviceURL); URLConnection conn = url.openConnection(); String userCredentials = "username:password"; String basicAuth = " " + new String(Base64.getEncoder().encode(userCredentials..
-- Step 1. Create tablespace ( 테이블스페이스 생성 ) CREATE TABLESPACE [table space name] datafile 'table space file path' size 500M; ex) CREATE TABLESPACE docs_test datafile 'docs_test.dbf' siz..
요즘 spring, spring boot가 대세지만, 필요에 따라서는 순수 JAVA 프로젝트를 생성해야 할 경우가 있습니다. 이 경우를 위해 순수 JAVA에서 logback 사용하는 방법을 기술합니다. 1. 준비물 우선 필수적으로 총 3..
모링가는 인도, 파키스탄, 아프가니스탄 등 히말라야 지역이 원산지인 식물로, 어느 곳에서도 잘 자라는 특성이 있어서 세계 곳곳에서 재배한다고 합니다. 미국 국립 보건원의 발표에 따르면 모링가는 46가지의 항..
[참고] 192.168.0.158:8081은 target URL입니다. 1. Redirect 명령어를 사용하는 방법 Redirect / http://192.168.0.158:8081 2. Rewrite를 사용하는 방법 RewriteEngine On RewriteRule ^/$ http://192.168.0...
1. https://www.apachelounge.com/download/ 에 접속하여 다운로드합니다. 2. 다운받은 파일의 압축을 해제합니다. Apache24 폴더를 C:\ 폴더로 이동합니다. 최종 경로는 C:\Apache24 입니다. 3. 환경설정..
가르시니아는 "가르시니아 캄보지아"를 줄여 부르는 이름으로써, 과일 이름입니다. 가르시니아는 다이어트를 하고 싶은 사람들이 가장 많이 찾는 건강기능식품입니다. 실제로 2015년 건강기능식품 판매량 중 8위를..
관절염이 만성화되면 가벼운 걷기마저 힘들어져 삶의 질이 떨어집니다. 관절은 한번 손상되면 원래 상태로 되돌릴 수 없기 때문에 평소 꾸준한 운동과 관절에 좋은 음식을 섭취해야 합니다. 초록입홍합이란? 뉴질..
아르기닌(또는 아르 지닌 이라고도 불림)은 모든 생물체에 존재하는 필수 아미노산입니다. 아르기닌은 상피세포, 중성구, 산화질소 생성에도 반드시 필요합니다. 특히 혈압, 장운동의 조절, 혈소판의 응고, 식균세..
콜라겐이란? 피부 탄력과 주름의 관여하는 진피의 70% 이상을 차지하는 단백질이 바로 콜라겐인데요. 어류 콜라겐은 주로 어류의 비늘이나 껍질에 풍부한 콜라겐을 추출한 물질을 말합니다. 최근에 어류 콜라겐이..
xxx.sql 파일이 있습니다. 일반적으로 파일을 열어서 그냥 실행하면 되지만, 용량이 너무 큰 경우에는 제대로 열리지 않는 경우가 있습니다. 그래서 별도의 editor로 open 한 후에 복사, 붙여넣기를 하려고 해도..
벌들이 인간에게 주는 귀한 선물로 꿀이 대표적이지만, 요즘 더욱 주목받는 것은 프로폴리스입니다. 프로폴리스는 벌들이 번식과 생존을 위해서 각종 나무에서 모은 수액과 꽃가루에 꿀벌의 분비물이 더해져 만들..
새우는 전 세계인들이 즐겨먹는 음식으로서 우리나라에는 서해안의 대하, 남해안의 보리새우, 젓새우 드이 대표적입니다. 특히 제철 시기에 잡히는 대하를 소금으로 구워 먹는 대하 소금구이는 맛이 일품이기 때문..
업무를 하다보면 업체끼리 또는 프로그램끼리 API 통신을 해야 할 경우가 많습니다. API 통신에는 크게 SOAP과 REST가 있는데 SOAP의 대안으로 나온 것이 RESTful 입니다. 위키에는 아래와 같이 정의되어 있습니다..
을 사용한다. 사용방법 Link to your client 결과 Link to your client [주의사항] 을 사용할 경우 contextPath가 자동으로 들어간다. 만약 URL 주소 : http://localhost/wsm/yourClient contextPath : http://l..
jqGrid는 버전에 따라 2가지의 unload 방법이 있습니다. 방법 1. 4.x 버전 이하에서 사용합니다. $("#jqGrid").jqGrid("GridUnload"); 방법 2. 5.x 버전 이상에서 사용합니다. $.jgrid.gridUnload('#jqGrid');
JAVA Controller public void testByte() throws Exception { String tmp = " 홍길동 "; String cd = String.valueOf(System.currentTimeMillis()); map.put("CD", cd); map.put("VAL", tmp.getBytes()); dao.inse..
Locale Resolver의 종류 1. AbstractLocaleContextResolver http의 헤더의 Accept-Language에 의해 선택된다. setLocale이 지원되지 않는다. 오직 브라우저 설정에 의해서만 결정 2. SessionLocaleResolver 처음..
문자 인코딩 개요 웹 페이지의 소스를 들여다보면 태그를 볼 수 있습니다. 바로 이 태그 내부에 문자 인코딩 설정을 태그로 작성하게 됩니다. 여기서 는 해당 웹 페이지의 여러 메타 정보를 담고 있게 됩니다. 이..
JVM에 -server 옵션을 지정하면 일반적인 상태(client 상태) 보다 더 많은 최적화 방법을 동원하는데, 예를 들어 반복문 내부에서 전혀 값이 바꾸지 않는 내용을 반복문 밖으로 빼내는 등의 최적화 작업이 일어난..
import java.lang.reflect.Field ===중략 Test test = new Test(); //필드가 포함되어 있는 class Field fd = test.getClass().getDeclaredField("필드명"); //"필드명"의 값 가져오기 String testFieldVal = (Str..
일반적으로 Spring에서 @Controller를 사용하면 클래스명과 같은 이름으로 Bean이 생성됩니다. 예를 들어 UserController의 경우 userController로 생성됩니다. 그런 이유로 아래와 같이 서로 다른 패키지에 같은..
@Component public class CommonMessageContainer { @Inject RootAbsolutePath rootAbsolutePath; @Autowired WebApplicationContext webApplicationContext; public void init() throws Exception { // 그냥 run..
If you are using Maven, you need to add the taglibs library to your pom.xml. org.springframework.security spring-security-taglibs 3.1.3.RELEASE Then in jsp added: <%@ taglib prefix="se..
USER_NAME -> userName user_name -> userName 등으로 변경하는 방법 SUBSTR(REPLACE(INITCAP('z'||'USER_NAME'), '_'), 2) [원리] 순서 명령어 결과 1 'z'||'USER_NAME' zUSER_NAME 2 INITCAP('z'||'USER_NAME')..
import java.io.Serializable; import java.util.List; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; import org.springframework.ste..
1. pom.xml에 sitemesh 추가 org.sitemesh sitemesh 3.0.1 2. WEB-INF 밑에 decorator 파일 생성 (저는 WEB-INF/decorator/decoratorList.jsp로 생성했습니다.) <%@ page language="java" contentType="text/htm..
// minValue : 지정한 날 이전은 선택할 수 없다. // maxValue : 지정한 날 이후는 선택할 수 없다. Ext.create('Ext.form.field.Date', { xtype: 'datefield', id: 'rcpDate', width: 124, renderTo: 'rcpDate',..
1. grid의 listener에 아래와 같이 추가 listeners: { viewready: gridToolTip } 2. 아래와 같이 함수 선언 function gridToolTip(grid) { var view = grid.view; // record the current cellIndex grid.mon(view,..
String.prototype.format = String.prototype.f = function() { var s = this, i = arguments.length; while (i--) { s = s.replace(new RegExp('\\{' + i + '\\}', 'gm'), arguments[i]); } return s; }; // Usag..
주석을 문서화 하기 위해서는 아래와 같이 주석을 달아야 한다. ( jsDoc ) /** * Adds two numbers * @param {Number} a * @param {Number} b * @return {Number} sum */ function sum(a,b) { return a + b; }
deferredRender:false
Ext.getCmp('sellPeriod1').onTriggerClick();
function changeStat(rowIndex, value) { var models = Ext.getCmp("gridList").getStore().getRange(); if(value === P_BARCD_STAT_NOT_USE) { models[rowIndex].set('BARCD_STAT',P_BARCD_STAT_USE); } else { m..
(function ($, undefined) { $.fn.getCursorPosition = function() { var el = $(this).get(0); var pos = 0; if('selectionStart' in el) { pos = el.selectionStart; } else if('selection' in document) { el.f..
자바에서 문자열의 배열에 문자열을 포함하는 ArrayList를 반환하는 방법 List list =new ArrayList (); list.add("android"); list.add("apple"); String[] stringArray = list.toArray(new String[list.size()]);
function test(t) { if (t === undefined) { return 'Undefined value!'; } return t; } var x; console.log(test(x)); // expected output: "Undefined value!" var v = 1; 에서 v는 undefined로 정의 되고 코..
callee 속성은 현재 실행되고 있는 함수(함수 객체)를 나타낸다. 마치 생성자 안에서 사용되는 this와도 유사한 개념이다. arguments.callee 속성을 이용하면 익명함수(unnamed function)가 자신을 참조할 수도 있..
1. viewConfig에 forceFit: true 추가 2. size를 변경했으면 하는 column에 flex: true 추가 3. 한 컬럼만 변경되었으면 할 경우에는 한군데만 쓰고 여러군데가 바뀌게 하고 싶으면 여러군데다가 사용하면..
minimumResultsForSearch: -1
1. Read BufferedReader instrm = new BufferedReader( new InputStreamReader( new FileInputStream( new File(getFilename())), "ms949")); while((tmpstr = instrm.readLine()) != null ) { } 2. Write OutputS..
1. script 2. HTML
{ xtype:'gridcolumn', itemId: 'id', width: 90, align: 'center', dataIndex: 'id', text : '바로가기', renderer: function(value, meta, record, rowIndex, colIndex, store, view){ return Math.round(value/..
{ xtype: 'actioncolumn', handler: function(view, rowIndex, colIndex, item, e, record, row) { onclickWebPosManagementDetailPopup(rowIndex); }, width: 85, align: 'center', text: '바로가기', dataIndex:..
자바스크립트에서는 최대 숫자를 벗어나는 숫자를 표현하기 위해 Infinity라고 하는 값이 정의되어 있다. 실제로 Infinity의 타입은 “number”로 나온다. 자바스크립트에서 지원하는 최소값을 벗어나는 문자를..
웹 페이지에서 내용 복사를 막기 위해 text 선택을 css로 방지 할 수 있다. -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none..
import net.sf.json.JSONObject; // string을 json으로 변경해서 써야할 때. JSONObject temp = JSONObject.fromObject("{'a':'b'}");
Map map = new HashMap (); map.put("PARTNER_NO" , "0002485000" ); map.put("RSRVCH_DIV" , "91" ); map.put("RSRV_NO" , BARCODE ); map.put("RSRV_STAT" , "2" ); // 1 JSONSerializer.toJSON(map); // net.sf..
도메인이 다른 곳으로 ajax를 보내면 크롬에서는 console창에서 오류 메시지가 뜨고 IE에서는 아예 차단을 시켜 버린다. jsonp로 처리하면 문제가 없다. $.ajax({ url: 'http://127.0.0.1:8090/STAY_OUT?server='..
function sortObj(arr){ var sortedKeys = new Array(); var sortedObj = {}; for (var i in arr){ sortedKeys.push(i); } sortedKeys.sort(); for (var i in sortedKeys){ sortedObj[sortedKeys[i]] = arr[sorted..
두개의 array를 비교하여 같은 array인지 알고 싶을 경우 $(arr1).not(arr2).length == 0 를 사용한다. 두개의 array가 같다면 $(arr1).not(arr2).length는 0이다.
// javascript에 기본적으로 array sort 함수를 지원한다. var arr = [40, 1, 10, 5, 25]; // 이와 같이 쓸 경우 1, 10, 25, 40 과 같이 문자로 취급하여 정렬한다. arr.sort(); // 1, 5, 10, 25, 40 과 같이 정렬..
1. php.ini 수정 session.gc_probability = 100 session.gc_divisor = 100 session.gc_maxlifetime = 5 5초간 서버에 입력이 없는 session을 100%확률로 kill 확률은 gc_probability / gc_divisor 2. unload 방식..
var from = new Date().getTime(); var to = new Date().getTime(); // unit : ms alert(to - from);
var json_object = {} var json_array = [] json_array의 경우는 비어있는지 체크할 때 json_array.length 가 0인지 체크하면 되지만 json_object의 경우는 length를 사용하면 제대로 된 결과를 얻을 수 없다. 이..
Hello Goodbye After Hi Hello Goodbye
$enable = '1'; $count = 10000; for($display_cnt = 0; $display_cnt < $count; $display_cnt ++) { $result2['list'][$display_cnt] = array( 'enable' => $enable, 'id' => $enable, 'users' => $enable, 'srcs..
java는 junit이라는 훌륭한 테스트 모듈이 있는데 javascript도 정말 좋은 테스트 모듈이 있습니다. 1. 공식 홈페이지 http://qunitjs.com/ QUnit QUnit: A JavaScript Unit Testing framework. What is QUnit? QU..
1. HashMap vs HashTable 비동기화 vs 동기화 비동기화가 성능이 좋고, 동기화는 성능이 안좋다. 비동기는 Multi Thread환경에서 사용하면 안된다. 여러개의 thread가 동시에 HashMap을 건드려서 key, v..
var elements = {}; var key = 'bond'; var v = 'network gear'; // error elements.key = b; // 에러 발생 // error 아님 elements[key] = v; // 성공
{"data":[]} 를 script로 보내면 array이기 때문에 key : value 의 형태로 값을 넣을 수 없다. 또한 {"data":{}}로 되어 있더라도 json_decode를 하면 []로 변경된다. json_encode(변수, JSON_FORCE_OBJECT) 를 하..
1. String 이용 public static void main(String[] args) throws Exception { Path newP = Paths.get("d:/result.exe"); String content = binaryFileToHexString("d:/attach.exe"); System.out.println(content.i..
System.getProperty("os.name");
자바의 sendmail을 사용하여 첨부파일을 보내면 수신자의 메일에서 파일명이 개지는 현상 해결방법 setAttachFileName(파일명) 또는 setFileName(파일명)에서 "파일명" 을 아래와 같이 변경 MimeUtility.encodeTex..
1. HTML 등록 2. FileUploadBean public class FileUploadBean { private MultipartFile file; public MultipartFile getFile() { return file; } public void setFile(MultipartFile file) { this.file = file; }..
String 클래스에는 문자열을 저장하기 위해서 문자형 배열 변수(char []) value를 인스턴스 변수로 정의해놓고 있다. 인스턴스 생성 시 생성자의 매개변수로 입력받은 문자열은 이 인스턴스 변수에 문자형 배열로..
.ellipsis{ white-space:nowrap; text-overflow:ellipsis; /* IE, Safari */ -o-text-overflow:ellipsis; overflow:hidden; -moz-binding: url('ellipsis.xml#ellipsis'); }
1. javascript $("#list").jqGrid({ url: g_url, // data: "table=users", postData: {table: 'users'}, /** 중요 **/ // cache: false, // global: false, /** trigger global Ajax event handlers for this requ..
1. this - 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다. - 모든 인스턴스메서드에 지역변수로 숨겨진 채로 존재한다. 2. this(), this(매개변수) - 생성자, 같은 클래스의 다른 생..
var arr = []; arr[0] = "a"; arr[1] = "b"; arr[2] = "c"; arr[3] = "d"; // splice의 2번째 인자는 삭제할 아이템의 갯수인데 // 0이므로 특정 위치에 값 추가의 효과를 볼 수 있다. arr.splice(2,0, "ee"); * s..
JBAS018014 에러가 발생할 경우 WEB-INF/lib/spring-modules-validation-0.7.jar 파일 내부의 META-INF/valang.tld파일 내용 중 13 line의 None 을 empty 으로 변경
1. 필요한 jar - jackson-core-asl.x.x.x.jar - jackson-databind-x.x.x.jar - jackson-mapper-asl.x.x.x.jar 2. spring context xml 파일에 아래와 같이 코드 추가
1. jar 파일 추가 - jackson-core-asl.x.x.x.jar - jackson-databind-x.x.x.jar - jackson-mapper-asl.x.x.x.jar 2. spring context에 설정 추가 3. controller @RequestMapping(value="/user/ajax/loginVal..
var people = [ {name: 'a75', item1: false, item2: false}, {name: 'z32', item1: true, item2: false}, {name: 'e77', item1: false, item2: false}]; function sortByKey(array, key) { return array.sort(fun..
참조 : http://php.net/manual/en/function.setcookie.php 쿠키를 사용 할 때 expire 인자를 사용하지 않으면 기본값이 세션이 유지되는 동안 쿠키유지이다. 따라서, 오랫동안 쿠키를 유지하고 싶을 경우에는 exp..
eclipse에서 웹 프로젝트를 생성할 때 target runtime이라는 것이 있다. 보통 설치되어있는 WAS가 dafault로 선택되어 들어가는데, 여기서 선택된 것에 따라서 servlet 객체(등)의 사용 주체가 바뀌게 되기 때문..
배경 색과 관계없이 html을 그릴 때 먼저 흰색배경이 칠해지고 나서 css가 적용되어 다른 색이 칠해지기 때문에 흰색 깜빡임 현상이 발생한다. 따라서 부모와 iframe/frame 배경을 원하는 배경색으로 칠해놓고 ifr..
/* explode 대신 아래와 같이 사용 */ $line = "aaa bbb ddd"; $cols = preg_split('/\s+/', $line);
Object.size = function(obj) { var size = 0, key; for (key in obj) { if (obj.hasOwnProperty(key)) size++; } return size; }; // Get the size of an object var size = Object.size(myArray); 출처 : http:..
// 아래와 같이하면 레퍼런스 참조로 복사된다. var aaa = [0, 1, 2, 3, 4, 5]; var bbb = aaa; // 참조 없는 배열 복사가 필요하면 아래와 같이 하면 된다. var aaa = [0, 1, 2, 3, 4, 5]; var bbb = JSON.parse(..
출처 : http://stackoverflow.com/questions/905222/enter-key-press-event-in-javascript IE에서 enter를 누르면 form submit이 동작하는데, submit이 불가능한 상황이 되면 현재 페이지의 첫번째에 있는 button..
window.open('', '_self', ''); window.close();
함수명이 getUserId 일 경우 // 1. 동일 문서 if("undefined" != typeof getUserId) { alert("함수가 존재하지 않습니다."); } // 2. iframe, frame으로 나뉘어져 있을 경우 if("undefined" != type parent.docume..
var data = []; data.push({"name": "홍길동", "phone", "111-1111"}); // 전송할 때 아래와 같이 문자열을 넣어서 전송 encodeURIComponent(JSON.stringify(data));
$ethx_info = isset($_REQUEST['ethx_info']) ? $_REQUEST['ethx_info'] : ""; $decode = json_decode($ethx_info, true); $field_info = $decode[0]; echo $field_info["ethx"];
add accesskey 속성은 마우스 등을 쓰지 않는 환경을 위해 링크나 입력 폼에서 키보드의 키 입력만으로 동작을 실행할 수 있도록 accesskey 속성값에 access 할 영어 또는 숫자 한문자를 지정하여 단축키를 설정한..
script나 jsp/php 등에서 복잡하게 프로그램을 만들 필요 없이 IE에 경우 간단하게 차단 가능하다. 1. HTML에서 아래 코드 추가 (lteIE8.js 는 임의로 변경하면 됨) 2. lteIE8.js에 원하는 script 코드 작성 ex..
function Rectangle(w, h) { var width = w; var height = h; this.getWidth = function() { return width; }; this.getHeight = function() { return height; }; this.setWidth = function(value) { if(value < 0..
ECMAScript 5 객체 속성 추가 - HTML5와 함께 출현한 javascript 표준안을 ECMAScript 5라고 부른다. - ECMAScript 5는 IE 8 이하에서는 지원하지 않는다. 메서드 이름 설명 Object.defineProperty() 객체에..
ECMAScript 5 객체 생성 - HTML5와 함께 출현한 javascript 표준안을 ECMAScript 5라고 부른다. - ECMAScript 5는 IE 8 이하에서는 지원하지 않는다. - 생성자는 틀은 기반으로 객체를 찍어내 객체를 생성하..
<!DOCTYPE html> 첫번째 두번째 첫번째 두번째 위와 같이 쓰게 되면 두번째 열 모두 숨겨진다. * 참고사항 ) IE에 한해서 버전에 따라 display: none이 되는 놈이 있고 visibility: collpase;가 되는 놈이 있는데,..
ui-state-default default ui-state-hover mouse hover ui-state-focus 초점이 맞춰진 상태 ui-state-active 강조 표시 ui-state-error 에러 ui-state-disabled 사용할 수 없는 상태 ui-helper-hidden 보이지 않게..
1. Avoid CSS expressions - CSS expression을 사용하지 않는다. 2. make fewer HTTP requests - HTTP request를 최소화 하라. - image background 처리 - 같은 크기의 이미지는 하나의 이미지로 합쳐서 bac..
display: table-cell 속성은 div를 td 처럼 쓸 수 있게 해 주는 css이다. 이어서 vertical-align: middle을 써주면 가운데로 간다.
출처 : http://appletree.or.kr/blog/web-development/javascript/script-%ED%83%9C%EA%B7%B8%EC%9D%98-async%EC%99%80-defer-%EC%86%8D%EC%84%B1/ 기본적으로 웹 브라우저가 외부 자바스크립트를 불러오는 일반..
1. 한글을 기본 입력 언어로 설정 2. 영어를 기본 입력 언어로 설정 3. 영어만 입력되도록 제한 ime-mode는 웹 표준이 아니기 때문에 동작하지 않는 브라우저가 존재할 수 있다.
$(”#myTable”).jqGrid('editGridRow', “new”, { … useDataProxy: true …});
yaxis:{ labelWidth: 50, tickFormatter: function(num, axis){ if(!num) return num; if (parseInt(num) <= 0) return num; num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num..
log4j.rootLogger=ALL, stdout, rolling log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # 화면에 로그 출력 log4j.appender.stdout.layo..
jquery에서 each 사용 시 break 또는 continue를 사용해야 할 때가 있다. 1. continue - return true; 2. break - return false;
You main error is the usage of rowNum: -1 instead of some large enough value like rowNum: 10000. Moreover you should use gridview: true parameter of jqGrid and data: mydata instead of much mo..
1. checked 된 radio 값 $(':input:radio[name="radio_name"]:checked').val(); 2. 특정 radio 버튼 checked $('input:radio[name="radio_name"]:input[value="Y"]').attr("checked", true); - checked 해..
1. homepage - http://www.jstree.com 2. create $("#" + val).jstree({ animation: 1000, load_open: true, real_checkboxes: true, "html_data":{ // html 형태의 데이터를 tree로 변환 "ajax":{ "url": "m..
XHTML 1.0부터는 이전 버전의 브라우저와 호환성을 위해 태그(tag) 요소 등에 name 속성과 id 속성을 같은 값으로 지정하면 스타일이 충돌할 가능성이 있다. 예를들어 a[name="c1"]{ color: red; } a#c1 { color:..
1. HTTP 요청을 줄여라. 우리가 웹에서 URL 입력 후 엔터를 치면 페이지가 보이게 된다. 페이지에 이미지가 3개라고 하면 총 4번의 요청이 생기게 된다. 1번(HTML) + 3번(이미지) 요청이 많으면 많을수록 속도가..
colModel에 classes:"ui-ellipsis" 추가
기본적으로 db 작업하고 싶은 필드에 editable: true 속성을 넣어준다. default로 text box가 나타나는데, selectbox로 바꾸고 싶다면 edittype: 'select'와 editoptions:{value:{'0':'new window', '1': 'right w..
구문 parseInt(string, radix); 매개변수 string 분석할 값. 만약 string이 문자열이 아니면 문자열로 변환(ToString 추상 연산을 사용)합니다. 문자열의 선행 공백은 무시합니다. radix string이..
1, 원인 JSP2.0 파싱강화 (https://issues.apache.org/bugzilla/show_bug.cgi?id=45015) 2. 해결방법 2.1 유닉스/리눅스의 경우 startup.sh중에 "export CATALINA_OPTS" 부분에 문구 추가 또는 tomcat / conf / c..
Eclipse 환경에서 Tomcat 기동시 이와 같은 에러가 발생한다면 1. 먼저 웹 서버를 중지 2. 이클립스 서버 뷰를 열고 해당 서버를 더블클릭하면 설정창이 나온다. 3. overview의 server option의 publish module co..
1. $("#id").css(속성, 값); ex) $("#abc").css("background", "red"); 2. $("#id").css({속성: 값, 속성: 값, 속성: 값}); ex) $("#abc").css({ background: red, font-color: blue});
javascript에는 replaceall이 존재하지 않는다. 대신 쉽게 구현할 수 있다. var d = "2011-07-07"; d = d.split("-").join(""); 결과 : 20110707
Introduction jQuery is awesome. I've been using it for about a year now and although I was impressed to begin with I'm liking it more and more the longer I use it and the more I find out about it's..
jQuery 성능 조정 이 기사의 두 번째 부분에서는 jQuery 코드의 성능을 향상시키는 방법을 살펴본다. 앞 섹션에서는 jQuery를 JavaScript 라이브러리로 선택하는 것이 성능을 고려했을 때 현명한 선택이라는 점을..
$("#site_id").css("display", "none"); $("#site_id").css("color", "red"); $("#site_id").css("border", "1px solid #cccccc"); 와 같이 사용할 경우에는 매번 객체를 search 하기 때문에 오래 걸린다. 이와 같..
톰캣이 request.getRemoteAddr();시 IPV6형식으로 주소값을 반환할 때 톰캣실행시의 JVM에 환경변수를 추가한다. 이클립스 > Run > Run Configuration > Arguiments > -Djava.net.preferIPv4Stack=true 또는 run C..
parent.document == document 를 쓰면 된다. parent.document를 하였을때, parent문서가 존자하지 않으면 자기 자신을 가리키기 때문에...
$(document).bind("contextmenu", function(e){ return false; });
a 요소에 tabindex 속성과 accesskey 속성을 지정하여 키조작에 의한 포커스 이동 방식을 사용자에게 제공할 수 있다. 1. tabindex 키보드 Tab키를 눌렀을 때의 포커스 이동 순서를 지정한다. 0에서 32767까지 지..
속성 선택자는 특성 속성명이나 속성값을 가진 요소에 스타일을 적용하기 위한 선택자다. 속성 선택자에는 네 가지 서식이 있다. 1. 요소명[속성명] id의 값은 관계 없이 id가 존재하기만 하면 된다. ex) h1[id] {..
jQuery에서는 class로 적용된 요소를 동적으로 처리할 수 있는 함수를 제공한다. #addClass(className) - 해당 className을 가진 클래스 속성을 추가. 즉 이벤트가 발생한 노드에 선언된 클래스 스타일을 적용시..
용어와 그 설명으로 구성된 목록을 정의형 목록이라고 한다. 정의형 목록은 dl 요소로 정의하고 용어를 나타대는 dt 요소와 그 설명인 dd요소를 포함한다. 많은 브라우저에서 dd 요소가 들여쓰기되어 표시된다. dd..
1. WCAG 1.0에서는 table 요소에 summary 속성으로 요약문을, th 요소에는 abbr 속성으로 약어를 지정할 것을 규정하고 있다. 2. width, height, border, frame, rules, cellspacing, cellpadding, align, valign..
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); }; var abc = " abc "; abc.trim(); document.frm.text.value.trim()
가나다라 http://search.naver.com/search.naver?where=nexearch&query=%BC%D2%B3%E0%BD%B4%EB+%C4%AB+%B8%F1%B7%CF&sm=top_hty&fbm=1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa..
$("#gridList").jqGrid({ url: 'string.jsp', datatype: "json", height:400, //높이 //width:300, autowidth: true, //자동 width 설정 colNames:['ID', 'Name', 'Date'], colModel:[ {name:'addin_id', index:'a..
자바스크립트(JavaScript)에서는 다음의 함수들로, HTML 페이지 주소를 인코딩/디코딩합니다. encodeURI() / decodeURI() 최소한의 문자만 인코딩합니다. ; / ? : @ & = + $ , - _ . ! ~ * ' ( ) # 이런 문자는 인..
private static StringBuilder htmlReader(String filename) { BufferedReader bufferedReader; InputStreamReader inputStreamReader; FileInputStream fileInputStream; StringBuilder builder = null; String h..
File dir = new File(realPath + "report/pdf/"); if(!dir.isDirectory()){ System.out.println("create folder"); dir.mkdirs(); } java 디렉토리(폴더) 생성
BigDecimal(숫자).setScale(반올림할 자리수, 올림/버림/반올림 타입) ex) BigDecimal(25.1234).setScale(2, BigDecimal.ROUND_UP) 결과 : 25.12
입력상자가 하나만 있을 경우, 엔터키를 누르면 강제로 Submit 되어버린다. 엔터를 눌렀을 때, submit을 막을 방법은 1. 보이지 않게 text박스를 하나 더 만든다. 2. javascript를 통한 강제 제어 3. form 자체에..
request 객체에서 ArrayList<클래스> 형식으로 파일을 리턴해준 것을 EL로 받을때, ex) 넘겨줄때 : request.setAttribute("array", 리스트객체); 받을때 : ${array} 와 같이 받을때, forEach를..
1. 을 이용한 방법 1.1 태그 호출 1.2 파라미터 사용 &{param.subTitle} * subTitle은 파라미터 이름 2. 태그 속성을 이용한 방법 2.1 사용자 정의 태그를 사용하겠다는 선언 <%@ tabl..
select site_id from esm_site_agent group by site_id order by site_id ${rows_site.site_id} select agent_id from esm_site_agent where site_id=? ${rows_site.site_id} ${rows_agent.agent_id}
1. 이클립스로 프로젝트를 만들 때, 상대경로로 파일을 생성하면 기본 Path인 eclipse 폴더에 파일이 생성된다. 따라서, 상대경로로 파일을 생성해야 한다. 2. spring project에서 WEB-INF폴더에는 외부에서 접근..
<%@ attribute name="변수명" required="true" rtexprvalue="true" %> 1. required : 속성의 옵션 여부 - true를 사용하면 옵션이 아니라는 의미 2. rtexprvalue : true의 의미는 문자열도 도리 수 있고, 표현식도..
equals 메소드는 객체가 가지고 있는 내용이 같은가를 비교하기 위한 메소드이고, ==는 기본 데이터 타입의 변수일 때는 두 변수의 값이 같은가를 비교하며, 레퍼런스 타입의 변수일 때는 두 객체가 같은 객체인가..
1. request : 클라이언트의 요청 정보를 저장하고 있는 객체 2. response : 클라이언트의 요청에 대한 응답 정보를 저장하고 있는 객체 3. out : JSP 페이지에 출력할 내용을 가지고 있는 출력 스트림 객체 4. ses..
1. /etc/init.d/tomcat 파일 생성 # /etc/init.d/tomcat #!/bin/bash # chkconfig: 345 50 50 export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64 export PATH=$PATH:$JAVA_HOME/bin export CATALINA_HOME=/usr/loca..
org.apache.catalina.core.ContainerBase startInternal 심각: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start comp..
속성 설명 port 포트번호 protocol 프로토콜명(HTTP/1.1, AJP/1.3 ...) acceptCount Request 큐의 길이를 설정한다. HTTP 요청시 IDLE 스레드가 없을 경우 해당 값만큼 요청을 대기한다. 대기 큐에 들..
tomcat7 //US//tomcat7 --JvmMs 512 --JvmMx 2048 JvmMs : 초기 메모리 ( Initial memory pool ) JvmMx : 최대 메모리 ( Maximum memory pool )
1. UI 버전의 경우 Java 탭의 Java Options에 아래와 같이 추가 -Xms40m -Xmx512m -XX:MaxPermSize=256M -XX:MaxPermSize=256m 2. UI 버전이 아닐 경우 set CATALINA_OPTS=-server -Xms256m -Xmx1024m -XX:PermSiz..
1. /WEB-INF/web.xml ktis.esm.common.abcde ktis.esm.common.abcde 1 2. abcde.java // import 생략 public class abcde extends HttpServlet { public void init(ServletConfig config) { System.out.println("*..
아래 코드로 하면 정상동작한다. public static void paramToEntity(Map paramMap, Object obj) throws Exception { ConvertUtilsBean convertUtils = new ConvertUtilsBean(); DateTimeConverter dateTimeConvert..
1. URL이 없을 경우 --> Caused by: java.io.FileNotFoundException: http://192.168.0.116:8080/soapServer003/services/TestPort?wsdl 2. targetNamespace가 다를 경우 --> Could not find se..
import static com.querydsl.core.types.dsl.Expressions.asString; jpaQueryFactory.select(asString("READ").as("type").from(tbUser);
JSP에서 다른 컨텐츠(다른 페이지)를 포함하는 방법은 3가지이다. 두가지는 다른 게시물에 존재하고 나머지 한가지는 JSTL 태그이다. 사용법 : 태그도 가능하지만 와 같이 사용 가능하고 iframe이나 기타..
<%@ attribute name="변수명" required="true" rtexprvalue="true" %> 1. required : 속성의 옵션 여부 - true를 사용하면 옵션이 아니라는 의미 2. rtexprvalue : true의 의미는 문자열도 도리 수 있고, 표현식도..
equals 메소드는 객체가 가지고 있는 내용이 같은가를 비교하기 위한 메소드이고, ==는 기본 데이터 타입의 변수일 때는 두 변수의 값이 같은가를 비교하며, 레퍼런스 타입의 변수일 때는 두 객체가 같은 객체인가..
1. request : 클라이언트의 요청 정보를 저장하고 있는 객체 2. response : 클라이언트의 요청에 대한 응답 정보를 저장하고 있는 객체 3. out : JSP 페이지에 출력할 내용을 가지고 있는 출력 스트림 객체 4. ses..
실제 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 이 코드에서 에러가 나는데, 두가지 경우가 있다고 한다. 1. jstl.jar, standard.jar를 추가시켜 주지 않았거나 2. 이클립스가 jar 파일..
JSP에서는 여러 JSP 페이지에서 공통적으로 포함하는 내용이 있을 때, 이러한 내용을 매번 입력하지 않고 저장해 두었다가 필요한 JSP 페이지 내에 삽입할 수 있는 기능을 제공한다. 이때 공통적으로 포함될 내용..
jsp를 사용해서 쪽번호를 사용했을 경우 쪽번호가 자기 마음대로 붙는 (랜덤) 사태가 발생하였다. Thread문제인가 하여 동기화 해본다고 설쳤지만 결국 실패했는데 Page of wkhtmltopdf..
테두리의 코더값은 아래와 같이 radius값으로 지정해 줄 수 있다. border-radius:값; ex ) border-radius:20px; -webkit-border-radius:20px; -moz-border-radius: 20px; ..
.pageBreak { page-break-before:always; } 위와 같이 스타일을 지정하면 지정된 부분에 사용하면 페이지가 넘어간다. 즉, html->pdf문서로 변환할 때, 일종의 출력을 하는 것이기 때문에 다음페이지로 넘어가..
1. 한글이 깨지는 이유 1(HTML, charset, data 포멧 관련) (1) HTML : ANSI, CHARSET : UTF-8, DATA : ANSI - > HTML태그 깨짐, 한글 깨짐 (2) HTML : ANSI, CHARSE..
톰캣을 설치하면 기본적으로 webapps/ROOT 경로가 홈디렉토리가 된다 원하는 경로로 변경하기 위하여 conf/server.xml 을 열어 사이에 아래와 같이 Context부분을 추가해 준후 톰캣을 리스타트 한다.. path 는 htt..
[주의사항] 톰캣 설정파일에서 한글을 사용하지 말자. (주석안의 한글고 사용하면 톰캣이 실행안된다.) TOMCAT_HOME : 톰캣 설치 디렉터리 1. 도메인으로 분류하는 방법 TOMCAT_HOME\conf\server.xml 을 열면 기본..
먼저 다음 페이지 이동 특성들을 미리 알아볼 필요가 있습니다 JSP에서는 페이지 이동시 다음 4가지 정도의 방법이 있습니다 ① JavaScript를 이용 window.open, location.href, location.replace 등을 이용할수..
1. 필요한 lib commons-logging.jar ojdbc14.jar postgresql.jdbc3.jar spring.jar tomcat-dbcp.jar 2. 테스트 소스 (1) DataStuff.java (JdbcTemplate를 이용해서 처리) import java.util.List; import javax..
/* 생략 */ public ConstructorConfusionDemo(String someValue) { System.out.println("string"); } public ConstructorConfusionDemo(int someValue) { System.out.println("int"); } /* 생략 */ 위와같은 생성..
Spring이 어떤 빈을 다른 빈에 주입하도록 설정하려면 먼저 두 개의 빈을 설정해야 한다. 하나는 주입할 것이고 다른 하나는 주입을 받을 대상이다. 그렇게 한 다음, 간단히 ref 속성을 대상 빈에 사용하여 주입을..
Context.xml의 태그 안에 아래 내용 추가 username=”test” password=”test” factory=”org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory” driverClassName=”org.postgresql.Driver” url=”jdbc:postg..
- Inversion of Control - 개념 : 객체 간의 의존관계를 객체 내부에 선언 또는 정의하지 않고, 외부의 조립기를 이용하여 의존 관계를 설명<?xml:namespace prefix = o /> - 장점..
1. 개념 객체 간의 의존 관계를 객체 내부에 선언 또는 정의하지 않고, 외부의 조립기를 이용하여 의존관계를 설명한다는 것 IoC(Inversion of Control)이라고도 함. 2. 예제 1) 직접 선언하는 방법 public class..
1. bean 생성과 의존관계 설정 스프링은 각 객체를 bean으로 관리한다. 태그는 스프링이 관리할 하나의 객체를 설정하는데 사용된다. 태그의 name속성이 bean의 이름을 의미하고, class속성이 생성될 객체의 클래..
1. TOMCAT 설치 http://tomcat.apache.org에서 tomcat 다운로드<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> # tar zxvf apache* # mv apache-tomcat-버전(기존 폴더이..
sqljdbc4.jar를 다운받은 후 pom.xml에 아래 내용 추가 com.microsoft.sqlserver sqljdbc4 4.0
MySQL MySQL은 information_schema가 하나의 데이터베이스로 관리되고 테이블 정보를 담고 있는 "TABLES" 테이블도 실제적인 자세한 정보를 담고 있다. SELECT COUNT(*) cnt FROM information_schema.tables WHER..
For the past ten years, developers and tech pros have made a game of comparing MySQLand PostgreSQL, with the latter seen by many as technically superior. Those who support PostgreSQL argue that it..
create or replace trigger trg_werror_log_history before insert on pc_tb_werror_log_history for each row begin :new.seqid := pc_sq_werror_log_history.nextval; end;
oracle DB 설정 중 아래와 같은 오류 발생. Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 38; 문서 루트 요소 "oraErrorSqlStateSqlExceptionMapping"은(는) DOCTYPE 루트 "null"과(..
INSERT INTO TB_USER(USER_NAME) VALUES('young&shin'); 을 실행하면 에러가 발생한다. 이 경우 & 를 || chr(38) || 로 변경하면 된다. INSERT INTO TB_USER(USER_NAME) VALUES('young' || chr(38) || 'shin');
접속 가능한 connection을 의미하는 user connections의 대한 내용은 아래와 같습니다. - 인스턴스 하나 당 설정 가능한 최대값은 32767입니다. - 인스턴스란 CREATE DATABASE 문에 의해 생성된 DB 스키마를 의미..
오라클에서 트리거를 건 테이블을 UPDATE 할 수 없다. UPDATE를 하기 위해서는 :NEW.컬럼 := '값'; 의 형태가 되어야 한다. 단, 트리거 유형을 AFTER로 하면 안되고 BEFORE로 해야 한다.
mybatis에서 parameterType이나 resultType에 VO를 사용하려면 com.abc.project.UserVO 와 같이 경로를 모두 써줘야 해서 불편하다. typeAlias를 이용하여 짧게 변경할 수 있는데 사용법은 크게 2가지가 있다. 1..
DB에 youn과 sin 두개의 스키마가 있다. 이 때 youn 스키마의 dept 테이블을 select하기 위해 아래와 같이 쿼리를 했는데 오류가 발생한다. SELECT * FROM youn.dbo.dept; [오류 메시지] sysservers에서 'you..
오라클에서는 Long Type이나 CLOB Type 컬럼을 select 할때 getCLOB() 가 구현되지 않았다면서 에러가 난다. 1. jdbc-context.xml ( spring 설정 파일 ) 에 mybatis-config.xml 추가 2. /WEB-INF/spring/mybatis-c..
SELECT 'DROP TABLE ' || object_name || ' CASCADE CONSTRAINTS;' FROM user_objects WHERE object_type = 'TABLE'; 위 쿼리를 해서 나오는 결과를 복사해서 실행
public static SqlSession getSqlSession(String prefix) throws Exception { SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(createSqlMap(prefix)); SqlSession sqlSession = factory.openS..
일반적으로 mybatis에서 xml을 mapper하기 위해 아래와 같이 사용한다. 이 경우는 프로젝트 내의 class path를 기본으로 하는 경로이기 때문에 프로젝트 외부를 참조할 수 없다. 프로젝트 외부를 사용하고 싶을 경..
1. 오라클 - EE 이상 버전에서 사용가능 - https://docs.oracle.com/cd/E11882_01/license.112/e47877/editions.htm#DBLIC109 2. MariaDB - pk만 파티션으로 분리 가능 ( 날짜단위로 파티션 테이블을 만들려면 pk..
1. repo 설정 # vi /etc/yum.repos.d/MariaDB.repo [mariadb] name=MariaDB baseurl=http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 2. 설치 # yum i..
hikaricp(히카리 커넥션풀)은 빠른 속도로 인해 점점 더 주목 받고 있는 커넥션 풀입니다. 공식 홈페이지 : https://github.com/brettwooldridge/HikariCP brettwooldridge/HikariCP 光 HikariCP・A solid, high-..
db의 characterSet을 utf-8로 이미 맞춘 상태라면 procedure나 function의 변수에 character set utf8 을 써준다. ex) CREATE FUNCTION foo ( param1 VARCHAR(30) CHARACTER SET utf8 ) RETURNS VARCHAR(30) CHA..
[현상 확인] 1. tab_a와 tab_b 테이블로 view를 생성한다. 1 2 3 4 5 6 create view join_tabs as ( select col_x as col_z from tab_a union select col_y as col_z fr..
힌트의 사용법 {SELECT | INSERT | UPDATE | DELETE} /*+ hint [text] [hint [text]] ... */ 혹은 {SELECT | INSERT | UPDATE | DELETE} --+ hint [text] [hint [text]] ... - 이러한 힌트의 사용은 SQL 전체가..
Join의 종류와 방식 Join의 종류 ( 논리적 Join ) - INNER Join - OUTER Join - CROSS Join - FULL OUTER Join - SELF Join Join의 방식 ( 물리적 Join ) - Nested Loop Join - 중첩반복 - Merge Join - 정렬병합..
1. archive mode인지 확인 SQL > archive log list; --> database log mode ( 데이터베이스 로그 모드 ) 가 No Archive Mode(아카이브 모드 없음) 인지 확인 2. "Archive Mode" 일 경우 변경방법 2-1. 특정 테이..
안녕하세요 노루아부지에요! 오늘은 그린웨일 캣폴 후기를 남겨볼까 합니다. 저희집엔 거실에 캣폴이 하나 있지만, 안방에 캣폴을 두면 저희 잘 때 캣폴에 올라가서 저희를 봐주지 않을까? 하는 마음에 구매를 결..
화장실은 늘 물을 사용하는 공간이기 때문에 항상 습기가 찰 수 밖에 없어요 이 습기를 제때 제대로 제거해 주지 않으면 곰팡이가 금방 생기고 냄새가 진동하기 때문에 화장실 습기 제거가 중요하다고 할 수 있습..
1. 로그를 남기도록 DB 설정을 한다. mysql> SET GLOBAL general_log='ON'; mysql> SET GLOBAL slow_query_log='ON'; mysql> SET GLOBAL log_output='TABLE'; 2. 로그를 확인한다. mysql> SELECT * FROM mysql.gen..
1. MySQL information_schema가 하나의 데이터베이스로 관리되고 테이블 정보를 담고 있는 "TABLES" 테이블도 실제적인 자세한 정보를 담고 있습니다. 따라서 아래와 같은 쿼리문으로 데이터 존재여부를 알 수 있..
개발을 하다 보면 페이징 처리를 위해 아래와 같이 COUNT(*)를 해야 할 때가 있다. SQL) SELECT COUNT(*) FROM [테이블명] WHERE [조건] 이 경우 전체 테이블을 FULL SCAN 할 수도 있고 INDEX SCAN을 할 수도 있..
일반 SQL 질의의 SELECT 절에의 *는 모든 컬럼을 가지고 오기 때문에 필요한 컬럼만 가지고 오는 SELECT 절에 비해 속도가 느리고 불필요한 자원을 낭비한다는 사실은 모두가 알고 있을 것입니다. 그렇기 때문에..
select a.Date from ( select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union al..
CaseInsensitiveMap (Apache Commons Collections 4.1 API) 으로 리턴
localhost 로 접속하는 경우는 문제가 없지만 IP 로 접속하는 경우에는 DNS 서버의 성능이 떨어지거나 장애가 있는 경우에 DB 연결 시 속도저하가 발생할 수 있습니다. 이 경우 skip-name-resolve를 설정함으로써..
1. 스케쥴 등록 SET GLOBAL event_scheduler = on; SET @@global.event_scheduler = on; SET GLOBAL event_scheduler = 1; SET @@global.event_scheduler = 1; 또는 my.cnf or my.ini 에 옵션(event_scheduler=On)..
sever.xml에 JNDI를 사용하게 되면 프로젝트를 서버에 올릴때 마다 server.xml을 수정해줘야 하는 번거로움이 있다. 이럴때 META-INF 폴더를 이용하면 간편하게 JNDI를 이용할수 있다. 1.webapp 폴더 아래 META-IN..
CREATE DEFINER=`prcsadmin`@`%` FUNCTION `menu_sys_connect_by_path`( `rootId` VARCHAR (50), `langCode` VARCHAR(3) ) RETURNS varchar(1000) CHARSET utf8 LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL..
CONV(BINARY(CONCAT(setting1, setting2)), 2, 10) oracle = bin_to_num
PURGE BINARY LOGS BEFORE '2009-05-01 00:00:00'; * 1기가 이상의 디렉토리 확인 du -h | grep [0-9]G
1. java List> list = new ArrayList>(); Map tmp = new HashMap(); tmp.put("code1", "A"); tmp.put("desc1", "A"); list.add(tmp); tmp = new HashMap(); tmp.put("code1", "B"); tmp.put("desc1", "B"); list.a..
// 아래 스크립트를 실행하면 현재 선택되어있는 줄의 아이디 값을 반환한다 // 만약 선택된줄이 없다면 null을 반환하며 // jqGrid를 만들때 multiselect옵션을 true로 주엇다면 선택된 줄들 중 마지막에 선택된..
Use window.location.href As noted in the comments, the line below works but is bugged for Firefox. document.URL 출처 : http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser
오라클은 12버전부터 offset과 limit가 추가되었다. 그 이전 버전은 존재하지 않음. 12 이전 버전은 페이징 처리를 직접 해야 함. 1. 12 이전 버전 SELECT * FROM ( SELECT a.*, ROWNUM AS "rnum" FROM ( <사용자..
DELIMITER // CREATE DEFINER=`mcouponbo`@`%` FUNCTION `getMaskName`(`v_code` varchar(10)) RETURNS varchar(50) CHARSET utf8 BEGIN declare return_value varchar(50); SELECT CASE CHAR_LENGTH(v_code) WHEN..
DELIMITER // CREATE DEFINER=`mcouponbo`@`%` FUNCTION `getMaskPhone`(`v_code` varchar(50)) RETURNS varchar(50) CHARSET utf8 BEGIN declare return_value varchar(50); SET v_code = replace(v_code, '-', '..
Internet Explorer 8 이하 버전에서 ajax 통신 할 때 No transport라는 에러가 발생 할 경우 $.ajax 윗 줄에 아래와 같은 코드를 추가하면 됩니다. $.support.cors = true;
Ie7에서 append를 사용시 script5022 에러가 발생합니다. ㅡ .html()도 마찬가지.. $("#content")[0].innerHTML = 내용 으로 해결할수있습니다.
document.title = 값 참고] $("title").text("값") 은 에러발생
mysqldump -u root -p DB_name > BACKUP_NAME.sql
1. 에러 메시지 /* SQL 오류 (1418): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_..
1. create ex) ryu / ssf4 mysql> create user 'ryu'@'localhost' identified by 'ssf4'; 2. ryu 유저에게 abc 데이터베이스를 로컬에서만 접속할 수 있게 권한 부여 mysql> GRANT ALL PRIVILEGES ON abc.* TO '..
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mes_sys' AND pid <> pg_backend_pid() AND state = 'idle' AND state_change < current_timestamp - INTERVAL '5' ..
OS : centos 6.2 DB : postgresql 8.4 1. 현상 postgresql의 data경로를 바꿔서 설치 할 경우에 # service postgresql initdb 를 실행하면 failed(실패)가 떨어지는데 로그가 남지 않아서 원인을 찾을 수 없는 경..
1. mysql 접속 - mysql -u root -p - pw 입력 2. DB change - use mysql; 3. 계정정보 조회 - select host, user, password from user; - 출력결과 +-----------+------+----------------------------..
1. 해결방법 JDBC 설정에서 defaultStatementTimeout를 삭제합니다. ex) 2. 상세 설명 defaultStatementTimeout 는 모든 JDBC 쿼리에 대한 timeout 시간(초) 지정합니다. 지정하지 않는 경우 timeout 없습니다...
출처 : http://voyager.egloos.com/2746558 (8.3.1도 동일한 방법으로 성공하여 업데이트 해둔다) 의외로 간단한 설치방법 같다. 단지 설치할 패스를 미리 지정해주기만 하면 별 무리 없음. 물론 옵션은 여러가지..
1. postgresql.conf listen_address='*' 2. pg_hba.conf host all all 0.0.0.0/0 password 위와 같이 수정했는데 접속이 되지 않는 경우는 # iptables -A INPUT -p tcp --dport 5432 -j ACCEPT 위의 명령어..
-이름 VACUUM 쓰레기 수집기 / 선택적으로 데이터베이스 분석하기 -개요 VACUUM [FULL] [FREEZE] [VERBOSE] [ table] VACUUM [FULL] [FREEZE] [VERBOSE] ANALYZE [ table [ (column [, ...] ) ] ] -설명 VACUUM 은..
출처 : http://www.ehowstuff.com/how-to-fix-an-old-version-of-the-database-format-was-found-while-starting-postgresql/ 아래와 같은 문제가 발생하면 [root@server ~]# service postgresql start An old ve..
2019 런온서울 대회는 월 일, 여의도 공원에서 출발, 도착하는 코스로 운영됩니다. + 는? (숫자만 입력해주세요) 정답은 38 입니다.
DROP TABLE IF EXISTS server_user; CREATE TABLE server_user ( server_user_id INTEGER NOT NULL AUTO_INCREMENT, server_id INTEGER NOT NULL, customer_user_id INTEGER NOT NULL, reg_date INTEGER NOT NULL,..
1. insert UNIX_TIMESTAMP() 2. 사용할 때 FROM_TIMESTAMP(유닉스 타입 시간, format)
1. backup pg_dump -h localhost -U [user name] -W -b -f [파일명] -t [테이블명] --inserts [스키마명] * 전체 백업 pg_dump -U [user name] [스키마명] > [파일명] mysql -u [user name] -ptest < [파일명]
# pgsql -h 127.0.0.1 -U abcd h는 ip주소를 입력하고, 여기서 U옵션은 DB의 user인데, -d옵션을 지정하지 않으면 abcd라는 이름을 가진 database를 검색해서 접속 시도를 한다. 따라서 abcd라는 이름의 database..
SELECT schemaname,relname,n_live_tup FROM pg_stat_user_tables ORDER BY n_live_tup DESC; row가 존재하는 table list가 필요하면 where n_live_tup > 0 을 추가한다.
select * from pg_stat_activity
1. su - postgres로 들어간다. 2. 경로 : /var/lib/pgsql/data/pg_log로 이동 3. tail -f 파일명 [ex : tail -f postgresql-Mon.log] * 에러가 발생하는 경우만 log가 추가된다.
Windows Xp에서 Postgresql 설치 시, 마지막 부분에 Service 등록에서 에러가 나면서 롤백되어 버리는 경우가 있다. 이 경우는 대부분 Windows의 사용자 계정을 추가하는 것으로 해결할 수 있다. 기존 사용자 계정..
1. CentOS 버전의 기본 설정된 Repository를 사용 할 경우 구 버전의 PostgreSQL이 설치 되므로 Yum Repository Update Rpm을 다운 받아 설치 한다. - 다운 경로 : http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-c..
http://technet.microsoft.com/en-us/library/ee844140(v=ws.10).aspx * 증상: 윈도즈에서 권한상승(UAC)를 사용해 관리자 권한으로 실행한 컴퓨터에서 네트워크 드라이브를 사용하지 못하는 경우가 있다. * 이유:..
net share 명령어 ============================================================== 1. 명령어 net share 공유명=공유위치 /grant:유저명,권한 ex) net share DHubDrive="C:\Dhub" /grant:kim,full /grant:hong,c..
net use 공유폴더이름 /user:접근허용계정 계정의비밀번호 ex) net use DHubDrive /user:hong pw1234
1. devcon 다운로드 - https://developer.microsoft.com/ko-kr/windows/hardware/windows-driver-kit WDK(Windows 드라이버 키트) 및 관련 도구 다운로드 – Windows 10 하드웨어 개발... Windows 10, Visual S..
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "Display Name" "프로그램 경로" 1. 등록 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "hstart_rinetd" "$INSTDIR\rin..
1. 복사할 destination 폴더 생성 CreateDirectory "$INSTDIR\rinetd" 2. destination 폴더 지정 SetOutPath "$INSTDIR\rinetd" 3. source 폴더 지정 File /nonfatal /a /r ".\Resources\rinetd\"
시작메뉴에서 uac검색 * 윈도우키 + R 에서는 동작하지 않음
윈도우의 파일 공유는 NETBIOS 기반으로 제작되었지만, CIFS가 되면서 TCP/IP기반으로 변경 되었습니다. 즉, 내부망이 아닌 외부망에서 자유롭게 사용 가능합니다. 하지만, 보안에 취약하기 때문에 인터넷 업체들..
지원: Windows XP Professional SP2 이상 Registry Hive HKEY_LOCAL_MACHINE Registry Path SOFTWARE\Policies\Microsoft\WindowsFirewall\StandardProfile\GloballyOpenPorts Value Name AllowUserPrefMerge..
wmic nicconfig where Description="Microsoft Loopback Adapter" call enablestatic (10.0.0.1),(255.255.255.0) wmic nicconfig where Description="Microsoft Loopback Adapter" call setgateways(10.0.0.254)..
살림이 많아지면서 수납공간이 부족해서 싱크인 선반을 알아봤어요 기존에는 그냥 싱크대 밑 부분에 대충 데이터를 넣었는데 너무 정신이 없더라구요 인터넷을 검색해 보다가 케이리빙의 싱크인선반이 좋아보여서..
현대 사회에서 TV는 꼭! 필요한 물품입니다. 그런데 다들 TV 리모콘 어떻게 관리하시나요? 저희집은 보통 아래 사진처럼 쇼파위에 올려놨었는데 이렇게 놓을 경우 심각한 문제가 있었습니다. 쇼파 사이에 리모컨..
마트에서 장을 보다가 너무 귀여운 발매트를 발견했어요 그것은 바로 요놈! 그런데 잠깐!! 이쁘고 좋은데..... 규조토? 바로 폭풍 검색을 시작했습니다. 규조토란? 출처 : 나무위키 아주 미세한 단세포 생물인 규..
http://download.microsoft.com/download/B/B/0/BB0A25CB-C624-4DC7-8451-20C04D87D6A0/IE8-WindowsXP-x86-KOR.exe
한국에서 사용하는 일반적인 키보드는 103, 106키 이지만 노트북을 사용하거나 기계식을 사용할 경우 한영키, 한자키가 없기 때문에 101키로 설정해야 한다. 1. [윈도우 키] + [R]을 동시에 눌러 [실행] 항목을..
보안업데이트를 하면 해결됨 http://www.microsoft.com/en-us/download/details.aspx?id=45154 Cumulative Security Update for Internet Explorer 11 for Windows 7 for x64-based Systems (KB3008923) A securit..
1. 인터넷 옵션에서 "보안"탭으로 이동 후 "신뢰할 수 있는 사이트"에 등록 2. 인터넷 옵션에서 "보안"탭으로 이동 후 "사용자 지정 수준" 버튼 클릭 후 "active 스크립팅 사용"으로 변경
jar 파일을 서비스로 등록하는 방법을 찾던 중 아래와 같이 해서 성공했음 sc create 명령어로 서비스를 등록하면 "서비스를 시작하지 못했습니다: 서비스가 시작이나 제어 요청에 시기 적절하게 응답하지 않았습..
윈도우 7 이상에서 사용 가능한 방법 1. 좌측 하단 "프로그램 및 파일검색" cmd을 입력 후 잠시 기다린다. 2. 검색된 프로그램에서 cmd에서 마우스 오른을 클릭 후 "관리자 권한을 실행" 클릭 3. 새로 뜬 창에서..
HKLM "Software\JavaSoft\Prefs" ( 32bit ) HKLM "Software\Wow6432Node\JavaSoft\Prefs" ( 64bit )
1. 실행창에서 msconfig 입력 2. "시스템 구성" 팝업창이 열리는데 여기서 "시작프로그램" 탭으로 이동한다. 3. 사용하지 않을 프로그램을 체크해제 하고 "적용" 버튼 클릭
갑자기 원격 데스크톱이 연결 안될 경우 해결방법 1. 윈도우키+R(실행창 오픈) 이후 gpedit.msc 입력 (로컬 그룹 정책 편집기 화면이 열림) 2. [컴퓨터구성 > 관리 템플릿 > 시스템 > 자격 증명 위임] 메뉴로 이동..
# useradd [user name] ex) useradd admin # passwd [user name]
1. vnc install # yum –y install vnc-server # cd /etc/sysconfig # vi vncservers 맨 아랫 부분에 VNCSERVERS=”1:root 2:사용자계정”를 저장 (192.168.10.242의 경우 3:root 2:dev로 지정) #]SERVICE VNCSE..
1. install 1.1 #] yum –y install java-1.6.0-openjdk.i386 을 이용하여 설치하는 방법이 있고 1.2 #] java 를 통해 자바 설치 확인 2. 환경변수 설정 2.1 #]vi /etc/profile 을 입력..
1. 설치할 폰트 파일( *.ttf )을 /usr/share/fonts/korean/TrueType/에 복사한다. 2. 아래 명령을 실행한다. # mkfontscale # mkfontdir 3. 폰트를 적용하기 위해 다음 명령어를 실행한다. # fc-c..
1. crontab 명령어 crontab -l : 등록된 crontab 목록을 보여준다. crontab -e : 등록된 crontab을 수정한다. crontab -r : 등록된 crontab을 삭제한다. 2. runnable jar 파일을 생성해서 커맨드라인에 vi 파일명..
1. cpu, memory 상태 보기 : vmstat 2. cpu core 별 상태 보기 : vmstat -P
mpstat -P ALL 1 1 | grep Average 1. yum install sysstat로 설치 2. -P ALL은 모든 cpu 출력 명령어 3. 1 1에서 앞의 1은 갱신 주기(초) 뒤의 1은 출력 횟수 4. grep Average를 하는 이유는, 출력 횟수를..
# vi /etc/sysconfig/netwok-scripts/ifcfg-eth0 ONBOOT="no" 를 "yes"로 바꾸고 reboot
ssh로 접속하여 background 실행(&) 하였을 때 ssh 종료하면 백그라운드로 실행한 프로그램도 종료되는 현상이 발생. 1. exit 명령어를 친 후에 ssh 종료 2. nohup ./[실행파일] ..
1. ojdbc버전.jar를 다운받는다. 2. classpath 등록 2.1 classpath 확인 # env 2.2 classpath 등록 # export set CLASSPATH=경로:경로 * 경로와 경로는 콜론(:)으로 구분하고, jar파일일..
1. svn 시작하기 # svnserve -d -r [svn 경로] ex) /home/svn 2. svn 시작여부 확인 # svn checkout svn://IP 주소/저장소 이름
1. Log4J 설치하기 (URL : http://logging.apache.org/log4j/docs/download.html ) 2.1 해당 파일 다운받기 2.1.1 기본파일 - log4j-버전.jar : log4j를 사용하기 위해서 필요한 jar 파일 ( http://logging.ap..
SSL Setting 1) openssl 설정파일 openssl.cnf 을 연다 [find . -name 'openssl.cnf' 로 경로 확인] ----------------------------------------- [ CA_default ] dir = /root/demoCA -----------------------..
www.career.co.kr에서 기업 채용담당자 247명을 대상으로 조사한 결과 호감 1위. ‘앞으로 ~분야에서 경험을 쌓고 싶다’는 ‘성장인재형’ 2위. ‘~을 통해 극복했습니다’의 ‘위기극복형’ 3위. ‘면접관님과..
1. 함수의 기본 형태 함수를 만드는 기본 형식은 다음과 같다. 리턴타입 함수이름(인수 목록) { 함수의 본체 } 1) 리턴타입 : 함수가 리턴하는 값의 데이터형이며 함수의 작업 결과라고 할 수 있다. 2) 함수이..
<%! // 파라미터 : 호출할페이지 , 파라미터명 , 파라미터값 private String call_jsp( String hostURL , String param_name , String param_value) { String revc_data = ""; String sending_data = ""; URL url..
//chart 한글 처리 //title chart.getTitle().setFont(new Font("HYGSRB", Font.BOLD, 20)); //범례 chart.getLegend().setItemFont(new Font("HYGSRB", Font.BOLD, 10)); CategoryPlot plot = (CategoryPlot)char..
TCPDF 인기있는 PHP 기반의 Free open source이다.(09년 기준 약18만개의 프로젝트) 암호화 지원 페이지 머리글 및 바닥글을 관리하기 위한 메소드 포함 여러가지 예제 지원 License : LGPL PDF Split and Merg..
C언어에서 기본 출력함수가 printf()가 있다면 입력함수는 scanf()가 있다. 본격적인 설명에 앞서 입력의 원리를 이야기 하겠다. 우리가 입력하는 것들은 프로그램에 바로 입력된다고 생각하지만 사실은 입력버퍼..
acrobat reader's clsid : CA8A9780-280D-11CF-A24D-444553540000
1. Eclipse Servers 프로젝트의 context.xml에 아래 내용 추가 <?xml version="1.0" encoding="UTF-8" ?><?xml:namespace prefix = o /> WEB-INF/web.xml 2. 사용할 DB의 jar 파일을 다운받아 WEB-INF/lib 폴더..
1. License1.1 GPL(General Public License ) 1.1.1 의무사항 소스코드 배포 시 : 저작권, 보증책임이 없음, GPL로 배포된다라는 것을 표시 실행파일 배포 시 : 위의 의무사항을 표시, 소스코드 공개 수정..
1. 변수의 정의 변수란 변하는 수라는 뜻이다. int a = 10; 위의 선언은 어떤 뜻일까? 위의 선언을 풀어 쓴다면 (1) 메모리 공간을 int 자료형만큼 할당한다. (2) 할당된 메모리 공간에 a라는 이름을 부여하겠다...
프로그램 : Runtime.getRuntime().exec("cmd /C wkhtmltopdf " + str + "/html/111.htm?" + param + " d:/1111.pdf"); 번역 : Runtime.getRuntime().exec("cmd /C wkhtmltopdf http://192.168.10.53:/8080/WebCha..
씨티 NEW캐시백카드입니다.
WEB 서버 경로 : /usr/local/nginx-1.4.7/ /usr/local/nginx-1.4.7/conf/nginx.conf 파일의 server 부분에 아래의 내용을 추가 server { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_a..
kill -QUIT $( cat /usr/local/nginx/logs/nginx.pid )
최근 Eclipse Oxygen 에서 SVN Connector가 정상적으로 설치되지 않는 현상이 있어, 이에 대한 해결 방법을 공유합니다. 현재 기준 최신 버전에서 발생하는 문제이지만, 향후에도 적용 가능한 해결 방법이고, 그냥..
1. AnyEdit 단축키 (1) To Lower Case : Ctrl + Alt + L ex) USER_ID --> user_id (2) To Upper Case : Ctrl + Alt + U ex) user_id --> USER_ID (3) Camel ↔ Underscores : Ctrl + Alt + K ex1) USER_ID -..
XFF는 HTTP Header 중 하나로 HTTP Server에 요청한 client의 IP를 식별하기 위한 사실상의 표준이다. 웹 서버나 WAS 앞에 L4같은 Load balancers나 Proxy Server, caching server, HTTP 서버용 WAS Connector 등..
노트북에서 와이파이 아이콘을 아무리 눌러도 흰색으로 활성화 되지 않을 경우 1. 시작 > 서버관리자에서 역할 및 기능 추가 클릭 2. 왼쪽에서 기능 클릭 ( 기능 메뉴가 활성화 되지 않은 경우는 다른 메뉴..
1. 오른쪽 금지 document.oncontextmenu = function(){return false;}; 2. 드래그 금지 document.onselectstart = function(){return false;};
1. cmd창에서 사용중인 프로세스 ID 확인 (해당 포트가 사용중인 PID) netstat -ao 2. taskkill로 삭제 ( PID가 1111일 경우 ) taskkill /PID 1111 3. netstat -ao로 다시 확인했을 때 아직 죽어있지 않으면 강..
먼저 프로젝트 경로로 가서 class 파일이 있는지 확인 만약 class파일이 없다면 이클립스의 해당 프로젝트에서 마우스 오른쪽 클릭하여 build path로 진입 Libraries에서 x표시된 것이 있나 확인 후 경로 수정 또..
Help –> install new software 메뉴 선택 Work with 항목에 URL주소 입력 http://springide.org/updatesite http://download.eclipse.org/technology/subversive/0.7/update-site/ http://community.polarion...
JSP에서는 request.setCharacterEncoding("UTF-8"); JSTL에서는 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 을 추가해 준 후에
9월 21일 생 아기고양이 노루가 12월 3일 우리집에 처음 왔어요 어렸을때는 이렇게 무릎위에서 그르릉도 해줬는데... 지금은.. ㅠㅠ
어느날 선물받은 afp 장난감! 그 효과는 놀라웠다! 어떤 장난감도 금방 질려하던 우리 노루가 몇개월동안 질리지 않고 물고빨고 난리가 났어요 가격은 9500원 정도로 비싸긴한데 돈이 아깝지 않아요 먼저, 우리..
우리 노루 사료가 떨어져서 급하게 펫마트를 찾아갔어요 간김에 여기저기 둘러보는데 우리 마나님께서 캣그라스를 키워보자고 해서 구매했어요 (3,500원 정도야 뭐.. ) 캣그라스 요놈 성장속도가 어마무시하더라..
출처 : http://kr.blog.yahoo.com/goodwoo78/3487 1. 이미지는 반드시 싸이즈를 지정 이미지의 WIDTH와 HEIGHT를 입력하여 주면 로딩속도가 빨라집니다. 이미지를 삽입시 가령 sample.gif (width=200, hei..
부모창에서 window.name = "pwin"; 자식창에서 target="pwin";
hostname 변경 ]# vi /etc/sysconfig/network hostname 바로 적용하기 ]# echo > /proc/sys/kernel/hostname ip adress 변경 5.0 이후는 system-config-network-tui 5.0 이전은 netconfig
출처 : http://www.wssplex.net/TipnTech.aspx?Seq=448 www.wssplex.net 이미 수많은 개발자 및 서버들에서 이용되고 있는걸 저도 한번 해봤습니다...^^ 샘플코드가 있으니 뭐 딱히 할꺼라론.... 전세계의 IP 할..
$("#customer_id").combobox(); $( "#autocomplete_customer_id").bind('autocompleteselect', function(e, ui) { var i = ui.item.option.value; // id var j = ui.item.value; // value var k = ui.item.option...
sed란? : Stream EDitor, 파이프를 통해 지나가는 스트림을 편집할 수 있다. 표준입력이나 파일로부터 데이터 스트림을 받아서 변환한 다음 표준출력으로 보낸다. 그리고 sed 명령은 기본적으로 모든 행에 적용된..
while read line; do # replace line=$(echo $line | sed "s@\[@@g") line=$(echo $line | sed "s@\]@@g") line=$(echo $line | sed "s@ @@g") # substring IFS=","..
#!/bin/sh let x=1 let sum=0 until [ $x -gt 100 ] do let sum=$sum+$x echo $sum let x=$x+1 done
if [ $cnt = 5 ]; then echo "aaa" else if [ $cnt = 6 ]; then echo "bbb" fi fi 1. else if문은 존재하지 않는다. 2. 대괄호( "[" ) 는 반드시 공백이 있어야 한다. 3. 닫는 괄호오른쪽에는..
if (top.location != window.location) top.location.reload(); if (window.opener) {window.opener.top.location.reload(); self.close();} 현재 윈도가 최상위가 아닐 경우 최상위에 새로고침한다. iframe이나..
1. select $.tree.reference('site_agent_tree_alert_list').select_branch($("#id")); 2. open $.tree.reference('site_agent_tree_alert_list').open_branch($("id"));
javascript는 배열이나 객체를 더욱 쉽게 다룰 수 있게 for in 반복문을 제공한다. // 배열 선언 var array = ['포도', '사과', '딸기', '바나나']; // 반복문 for(var i in array){ alert(array[i]); } 위의 코드..
tomcat에 port를 추가하기 위해서는 conf 폴더 안에 server.xml을 수정해 줘야 한다. 파일을 열어서 밑에 아래 내용을 추가
1. favicon 만들기 - IE에서는 반드시 ico인 이미지. 그중에서도 특정 ico 포맷에서만 제대로 동작한다. - 따라서 만든 ico가 제대로 적용되지 않을 경우 다른 방법으로 새로 만들 것 - 적용 성공한 site :..
plugin 개발 시 지켜야 할 사항 다른 라이브러리에서 $를 사용할 수 있기 대문에 $ 대신 jQuery를 사용 만약 $를 사용하고 싶다면 아래와 같이 plugin 정의 ex) (function($){ // defined plugin $.fn.plugin..
1. 원인 - 기본적으로 0 ~ 1023 까지의 port는 시스템에서 사용하는 port이기 때문에 사용하지 못하는데 사용하려 할 경우에 java.net.SocketException: Permission denied가 발생한다. 2. 해결방안 - java...
1. libconfig 파일 다운로드해서 압축 해제 후에 2. # ./configure --prefix=/usr --libdir=/usr/lib64 --build=x86_64-linux --target=x86_64-linux 3. # make && make install 4. 환경변수 설정 4.1 /root..
원본(출처) : http://www.boost.org/doc/libs/1_51_0/more/getting_started/unix-variants.html 의 Easy Build and Install Issue the following commands in the shell (don't type $; that represents the sh..
Tcpdump? 명령 줄에서 실행하는 일반적인 패킷 가로채기 소프트웨어. 사용자가 TCP/IP뿐 아니라, 컴퓨터에 부착된 네트워크를 통해 송수신되는 기타 패킷을 가로채고 표시할 수 있게 도와준다. 사용법 tcpdump [o..
우리카드 이벤트에서 증정하는 미니제습기 정확한 상품명은 모아르모아 600 미니제습기' 입니다. O에 들어가는 단어를 적어주세요 우리카드 이벤트에서 증정하는 미니제습기 정확한 상품명은 모아르모아 600 미..
1. 사용자 정보(home directory 등) /etc/passwd 2. 사용자 정보 변경 및 확인, 그룹 변경 2.1 usermod -g [groupname] [username] - 사용자의 그룹을 변경 2.2 groupmod -n [new_groupname] [old_groupname] ..
출처 : http://blog.daum.net/moon0sool/56 1. 서버 쪽(원본) 1.1 rsync 설치 확인 rpm -qa | grep rsync 1.2 rsync를 xinetd를 이용하여 실행시키기 위해 /etc/xinetd.d/rsync 파일을 수정 vi /etc/xinetd.d/r..
erwin에서 logical로 등록 physical로 등록 절대 integer에 increment 하면 안됨 [선택 - tools - forward engineer - schema generation] filter 누르고 preview 누르면 스크립트가 뜨는데 txt파일로 저장 저장..
1. 설정파일 열기 $ vi /etc/network/interfaces 2. IP 설정 2.1 고정 IP 설정 auto eth0 iface eth0 inet static address 192.168.10.50 netmask 255.255.255.0 gateway 192.168.10.1 dns-nameservers 168.126.63..
1. install # apt-get -y install postfix libsasl2 sasl2-bin libsasl2-modules popa3d dovecot-imapd dovecot-pop3d dovecot-common 2. 도메인 추가 등의 기본 설정 # postconf -e "myorifin = hostway.co.k..
# vi /etc/apt/source.list deb http://ftp.daum.net/debian/ squeeze main non-free contrib deb-src http://ftp.daum.net/debian/ squeeze main non-free contrib
를 사용하면 default로 height는 0, width는 전체에 영역이 잡힌다. 그런데, 여기서 말하는 전체와 style="width: 100%"는 절대 같지 않다. 만약, width를 주지 않고 로 사용 했을 경우 margin이..
1. 클래스 선언 public class Config() { private Properties configFile; public Config() { configFile = new java.util.Properties(); try { // 방법 1 시작 (이 방법은 프로젝트 내부의 파일만 사용할 수 있다..
BigInteger 개요 java의 64비트 정수인 long은 9223372036854775807 까지의 숫자를 나타낼 수 있습니다. 그 이상의 정수가 필요하다면 BigInteger를 사용해야 합니다. BigInteger는 숫자의 크기에 제한이 없습니..
1. 물놀이에 워터레깅스로 활용해 보세요. 2. 안다르 에어쿨링 레깅스는 미국 듀폰사의 하이테크놀로지가 응집된 소재를 사용하여 경험할수록 놀라움으로 가득합니다. 3. 안다르 에어쿨링은 국가공인 KOTITI 시험..
height: 23px \0/IE8+9; 와 같이 ;(세미콜론) 앞에 \0/IE8+9 를 쓰면 된다.
command line에 hostname과 hostname -s를 쳤을 때 다른 결과가 나오면 dnsdomainname 명령어를 쳤을 때 timeout이 걸린다.
1. g++, make, clean install 2. svn://192.168.0.91/svn/firewall/src/UI/extension 에서 checkout 3. logmanager 폴더를 설치해야 하는 서버로 복사 4. cd /설치경로/logmanager/logmanlib 5. make clean; make..
1. install - apt-get install rsyslog rsyslog-doc 2. setting - http://nil.uniza.sk/sk/sip/kamailio/kamailio-logging-how-debian-lenny - local0 등을 설정 하고 restart 3. php 사용법 3.1 syslog(LOG_..
1. Package: bridge-utils 2. install : apt-get install bridge-utils 3. use : brctl addbr eth10
/** * key를 넘겨서 key가 같으면 해당 field를 urlencode한다. * @param unknown_type $data * @param unknown_type $search_key */ function url_encode(&$data, $search_key) { foreach($data as $key => $valu..
1. 아래 경로에 접속 후 wkhtmltopdf-0.9.9 static 버전 다운로드 http://www.google.co.kr/url?sa=t&rct=j&q=wkhtmltopdf&source=web&cd=1&ved=0CDUQFjAA&url=http%3A%2F%2Fcode.google.com%2Fp%2Fwkhtmltopdf%2F..
라이브러리를 참조할때 기본은 /usr/lib를 참조하지만, /usr/local/lib가 설정되어있다면 /usr/local/lib를 먼저 참조한다. 만약 /usr/local/lib를 찾아봤는데 원하는 파일이 없다면 /usr/lib를 참조한다.
1. Dump 전체 dump svnadmin dump d:\Repository\Source > mysource.filename.dump 해당 리비전만 dump (리비전 10 만 덤프) svnadmin dump -r 10 d:\Repository\Source > mysource.filename.dump 지정된 범위 리..
public static void test(String query, String... strings) { System.out.println(query); for(String str : strings) { System.out.println(str); } }
public static void printBeanDefinitions(GenericApplicationContext gac) { List > roleBeanInfos = new ArrayList >(); roleBeanInfos.add(new ArrayList ()); roleBeanInfos.add(new ArrayList ()); roleBeanI..
/data/boot/grub/grub.cfg에서 90번째 라인에 linux /boot/vmlinuz root=/dev/sda1 ro maxcpus=1
1. WEB-INF/lib에 cos.jar 추가 2. form 태그에 enctype="multipart/form=data" 속성 추가 3. 받는쪽에 아래와 같이 추가 - import com.oreilly.servlet.* - com.oreilly.servlet.multipart.DefaultFileR..
Freemark는 현재 java에서 가장 대중적인 View Template Engine입니다. 자바 객체에서 데이터를 생성해서 템플릿에 넣어주면 freemarker에서 템플릿에 맞게 변환하여 HTML 파일을 생성합니다. freemark는 웹기반..
1. web.xml sitemesh com.opensymphony.module.sitemesh.filter.PageFilter debug.pagewriter false sitemesh /* freemarker freemarker.ext.servlet.FreemarkerServlet TemplatePath /WEB-INF/ NoCache true Cont..
1. $('#div1').clone().wrapAll(' ').parent().html(); 2. jQuery.fn.outerHTML = function(s) { return s ? this.before(s).remove() : jQuery(" ").append(this.eq(0).clone()).html(); };
종류 연산방향 연산자 우선순위 단항 연산자 ++ -- + - ~ ! (타입) 높음 낮음 산술 연산자 ------> * / % ------> + - ------> << >> >>> 비교 연산자 ------> < > <= >= instanceof -----..
++i 와 i = i + 1의 결과는 같지만 실제로 연산이 수행되는 과정은 다르다. ++i가 더 적은 명령만으로 작업을 수행하기 때문에 더 빠르다. * 바이트 코드 비교 수식 i = i + 1 ++i 컴파일된 코드 istore_1..
1. 개요 jQuery 1.6/1.6.1에서 .attr()와 .prop()로 나눔 ( checkbox에 버그가 존재해서 ) * 공식 API 문서 ( http://api.jquery.com/prop/ ) The difference between attributes and properties can be importa..
INSERT INTO Table1 (name) VALUES ('a_title') RETURNING id 위와 같이 RETURNING을 붙여준다. 출처 : http://stackoverflow.com/questions/6560447/can-i-use-return-value-of-insert-returning-in-anoth..
mybatis를 사용하다가 table의 키가 serial일 때 insert된 키의 값이 필요할 경우가 있는데 아래와 같이 사용합니다. insert문 keyProperty : map의 survey_id라는 이름의 변수 (혹은 키)에 값을 넣겠다는 의미 ke..
live()가 jquery 1.9에서 삭제되었습니다. 따라서 아래와 같이 사용을 권장합니다. $(document).on('keydown', 'input[name=basis_from], input[name=basis_to]', function(e) { alert('dddd'); }); 첫번째 인자 :..
google chrome에서는 form 태그에 autocomplete="off"라는 옵션을 주면 비밀번호를 저장하지 않게 할 수 있습니다. 그런데 Internet Explorer(IE)에서는 11버전부터 이 기능을 지원하지 않습니다. 근거 자료 : m..
subquery는 SQLExpressions.select를 사용하고, alias는 Expressions.as를 사용하면 됩니다. jpaQueryFactory.from(tbUser) .select( Expressions.as( SQLExpressions.select(tbDept.deptName) .from(tbDept) .w..
yum list installed 패키지명
1. SQL server 설치 # yum install mysql-server 2. server start # service mysqld start 3. 부팅 시 mysql 실행시키도록 설정 # chkconfig mysqld on 4. password 변경 (선택) (초기에는 root 비밀번호가 존재..
[데이터 - 데이터 유효성 검사 - 설정 - 제한대상 - 사용자 지정] o9999999999999999999999999999999999999999999999999999999999999999999999999999999999ii선택 후 아래와 같이 수식 입력 * E3은 셀 번호 =AND(F..
wkhtmltopdf란? QT Webkit 으로 작성된 오픈 소스(LGPLv3) 명령행 방식의 HTML 변환기 JAVA에서 사용하는 방법 프로그램 : Runtime.getRuntime().exec("cmd /C wkhtmltopdf " + str + "/html/111.htm?" + param +..
- #] vi .bash_profile (사용자 계정 profile) export XMODIFIERS=@im=SCIM export GTK_IM_MODULE=scim export QT_IM_MODULE=scim - #] source .bash_profile - Ctrl..
1. Eclipse Servers 프로젝트의 context.xml에 아래 내용 추가 <?xml version="1.0" encoding="UTF-8" ?><?xml:namespace prefix=o /> WEB-INF/web.xml 2. 프로젝트 내부의 web.xml에 tomcat->conf->web.xml과..
<%! // 파라미터 : 호출할페이지 , 파라미터명 , 파라미터값 private String call_jsp( String hostURL , String param_name , String param_value) { String revc_data = ""; String sending_data = ""; URL url..
tomcat 기능을 사용하여 배포 conf 폴더에서 tomcat-user.xml 파일 open ...... 이라는 부분 주석 해제 를 추가 tomcat의 index.jsp에 접속하면 왼쪽 상단에 tomcat manager를 클릭한 후 로그인 하단에 WAR file t..
출처 : http://entireboy.egloos.com/4201369 RHEL(Red Hat Enterprise Linux)에 설치된 Eclipse에 Subclipse를 설치하려고 시도를 했다. 일반적인 방법인 이클립스 애드온 업데이트를 통해 설치했다. 다음 업..
File - Import - General - Existing Project into Workspace Select root directory에 경로 입력 (또는 browse를 통하여 선택) Finish 버튼 클릭
System.getProperty("user.dir")
이클립스에서 자동 줄맞춤 ( Ctrl + Shift + f 등 )을 할 때 한 줄의 길이가 너무 짧을 때 아래 방법으로 길이를 조절할 수 있습니다. 1. JAVA [Window - Preferences - Java - Code Style - Formatter] 메뉴로 이..
Window > Customize Perspective... 메뉴를 선택한 후, Commad Groups Availability 탭을 선택하여 Available comand gruops 에서 SVN 항목을 체크 Window > Preferences > Keys 로 이동 후 Binding에서 commit, u..
서버를 더블클릭 Open launch configuration을 클릭 Common 탭을 클릭 File을 체크하고 경로 및 파일명 지정 서버 재시작
Ctrl + Shift + L : 이클립스 전체 단축키를 볼 수 있다. Ctrl + F11 : 최근 실행한 Run 실행 Ctrl + D : 줄 삭제 Alt + ↑ , Alt + ↓ : 줄 위치 바꿈 Ctrl + Shift + O : 사용하지 않는 import 삭제, 필요한 imp..
메이븐을 설치할 때 이클립스에서 marketplace를 사용해도 되지만 오류가 발생하는 경우가 많아서 메이븐을 수동으로 다운로드 후, 이클립스에 연동하는 방법을 사용했습니다. 적용 방법은 아래와 같습니다. 1. 이..
이클립스에서 작업을 하다가 이와 같은 에러가 발생하며 실행이 안되는 현상이 발생하면 아래 두가지 문제가 있을 수 있습니다. 1. ANT_HOME 재설정 Window -> Preference -> Ant -> Runtime 으로 찾아 ..
최근 Eclipse Oxygen 에서 SVN Connector가 정상적으로 설치되지 않는 현상이 있어, 이에 대한 해결 방법을 공유합니다. 현재 기준 최신 버전에서 발생하는 문제이지만, 향후에도 적용 가능한 해결 방법이고, 그냥..
개발을 하다보면 snake case를 camel case로 변경한다거나, 대/소문자를 변경해야 할일이 굉장히 많습니다. 이것을 편하고 효율적으로 할 수 있게 해주는 플러그인 AnyEdit를 소개합니다. 1. AnyEdit 단축키 (1)..
time_t lTime; struct tm *today; time(&lTime); // 현재시간 구하기 today = localtime(&lTime); printf("%04d-%02d-%02d %02d:%02d:%02d\n", today->tm_year + 1900, // tm_year는 1900을 더해야 한다. today->t..
변수를 두번 연속 free / delete / malloc / new / fclose 등의 동작을 했을 경우 나타나는 현상이다. free(buff); buff = NULL; NULL로 항상 초기화 하는 습관을 갖자
ifdef 로 debug모드를 정의해서 로그를 찍어 볼 경우, (ex. #ifdef __DEBUG Makefile을 vi로 열어서 CFLAGS = $(INCLUDES) 의 뒤에 -D__DEBUG 와 같이 추가한다.
1. 실행파일과 코드를 같은 경로에 둔다. 2. # ulimit -c unlimited (해당 명령어를 입력하면 프로그램 실행 시 core 파일이 떨어진다) 3. 프로그램 실행 4. # gdb [실행파일경로] [코어파일명]
mixed eval ( string $code_str ) (PHP 4, PHP 5) 이 함수는 php코드를 평가하기 위해 사용됩니다. 예를 들면, 다음의 결과로 이해할 수 있을 것입니다. 예제(ex #1 <?php $string = 'cup'; $name = 'coffee'..
우리 노루가 처음 우리집에 온 12월 3일 동영상이에요 ^^ 야옹 못하고 삐약삐약 거리던 시절 ㅎ_ㅎ
1. clean up을 해본다. 2. lock 파일 삭제 - 파일 옵션에서 숨김파일 표시로 변경 - svn 폴더로 들어가서 lock 파일 삭제
백업 svnadmin dump 명령 1.svnadmin dump repository-location > dump.file Visual SVN 일괄 백업 하기 도스 배치 파일을 이용하여 SVN 저장소들을 일괄 백업 하는 스크립트를 작성해 보았다. Visual SVN 저장소..
개발을 하다보면 부득이하게 동적으로 class에 값을 넣거나 값을 가져와야 할 경우가 있습니다. 아래와 같이 class.getDeclaredField() 를 사용하면 손쉽게 할 수 있습니다. public class TAllSaveThsusBean { /**..
먼저, 여기에서 말하는 동적 where는 아래와 같은 where절을 의미합니다. WHERE userName = '홍길동' AND ( age = 24 or telno = '010-1111-2222' ) Querydsl에서는 BooleanBuilder를 사용하여 이와 같은 복합 검..
Querydsl에서 CASE WHEN을 사용하기 위해서는 CaseBuilder()를 사용하면 됩니다. 사용 방법은 아래를 참고하시면 됩니다. 예1) Expression cases = new CaseBuilder() .when(c.annualSpending.gt(10000)).then("P..