일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- Database
- JVM
- Oracle
- POI
- eGovFramework
- web.xml
- input
- 배열
- 개념
- 정의
- 태그
- 과정평가형
- Java
- Ajax
- was
- mybatis
- TO_DATE
- 함수
- controller
- CSS
- javascript
- jQuery
- spring
- sql
- json
- eGov
- select
- array
- html
- 오류
- Today
- Total
목록전체 글 (151)
web developer
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bW0uPD/btrQeqBYl7I/k0OIA61xOTb9RMTQXrv4ik/img.png)
1/ JVM(Java Virtual Machine) JVM (Java Virtual Machine) : 자바 프로그램이 실행되는 가상 컴퓨터(Virtual Machine) 운영체제에서 바로 실행하면 되는 데 JVM 이라고 하는 가상 머신(기계)이 왜 필요한 것인가? 자바 프로그램은 바이트 코드이기 때문에 운영체제가 이것을 해석하고 실행 할 수 없다. 자바 가상 머신으로 자바 바이트 코드(.class 파일)를 OS에 특화된 코드로 변환(인터프리터와 JIT 컴파일러)하여 실행한다. JVM이 자바를 실행하는 가상의 운영체제 역할을 담당 한다. 즉 , JVM은 운영체제와 자바 프로그램를 연결 해주는 중간 다리라고 보면 된다. 그렇기 때문에 운영체제에 맞는 JVM을 설치하기만 하면 모든 운영체제에서 자바를 실행 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BXvpO/btrPRd4a6Ew/xgBeyhjCXx3CLU9nhEVQNk/img.png)
웹 개발 시 Chrome의 console 창에서 Uncaught TypeError: ~.replace is not a function 에러 메시지가 나타나는 경우가 발생합니다. 이러한 에러 메시지가 발생하는 원인으로는 replace를 하려고 하는 데이터가 parseInt, 즉 숫자일 때에 발생하는 오류입니다. 이러할 때에는 문자열로 교체하고 replace 하게 되면 정상적으로 오류를 해결할 수 있습니다. 또한 인코딩이 지정되지 않으면 원시 버퍼가 반환되기 때문에 발생하는 오류이기도 합니다. replace() 함수는 원시 버퍼가 아닌 인코딩 처리한 문자열로 처리되어야 하는 함수입니다. replace를 하려고 하는 데이터를 .toString()를 사용하여 문자로 변경하여 처리하도록 합니다. 출처 : http..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/UQc8a/btrLzRbUEiI/55n6RBOw6gDxLDFJwJCWQk/img.png)
1. 스트림과 바이트 스트림의 개념 1) 스트림 · 인간이 사용하는 문자는 이진수로 컴퓨터에게 전달된다. · 문자 뿐만 아니라 이미지, 동영상, 소리도 이진수로 인코딩된다. · 데이터는 이진수의 나열로 바뀌는데 이진수의 흐름을 바이트 단위로 읽어들인다. · 이러한 흐름을 스트림(Stream)이라 한다. 2) 바이트 스트림 · 바이트 스트림은 1 byte를 입출력 할 수 있는 스트림(흐름) 입니다. · 자바에서 입·출력 스트림을 통해 흘러가는 데이터의 기본 단위입니다. · 일반적으로 바이트로 구성된 파일, 즉 동영상 파일, 이미지 파일, 음악 파일을 처리하기에 적합한 스트림입니다. 2. 바이트 스트림 계층구조 자바의 출력 바이트 스트림의 기본 클래스가 되는 이 클래스는 추상클래스입니다. 즉 객체를 생성하진..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IGEyx/btrP9jBIc09/CKAUy8z4MqlyiECGaQZkvk/img.png)
JVM에서 java 코드를 실행하는 방법 JVM은 바이트 코드(Byte Code)라 불리는 기계어 코드를 실행하는 가상 머신이다. 우리가 Java로 작성한 코드들은 Compile time에(소스파일(*.java)이 목적파일(*.class)로 변환될때) 바이트 코드로 변환되며, 바이트 코드들은 Run time에 기계어로 변환되어 기계어가 JVM 상에서 실행된다. 즉, Java 코드는 프로그램 실행 시점 전인 컴파일 타임에 바이트 코드로 변환이 모두 완료되지만 JVM에서 바이트 코드를 실행하기 위해서는 바이트 코드를 기계어로 변환하는 단계를 하나 더 거쳐야 한다. 이때 JVM에서 바이트 코드들을 기계어로 번역하는 컴파일러가 바로 JIT 컴파일러이다. 정적 컴파일과 동적 컴파일의 한계점과 장점 컴파일러에서 프..
button 태그 form 태그 안에 form data와 관련 없는 버튼을 만든 후 그 버튼을 눌렀더니 form이 전송되는 경우가 있는데, 이는 button 태그의 type속성의 default값이 submit 이기 떄문입니다. 사실 button태그의 type 속성 값들은 input 태그의 type 속성 값들과 겹칩니다. button 태그의 type 속성 값인 submit, reset, button 은 input 태그의 type 속성으로도 사용할 수 있습니다. 그럼에도 불구하고, 더 다양한 type을 제공하는 input을 사용하지 않고, button을 사용하는 이유는 다음과 같습니다. button 태그의 type 속성 button 태그의 type속성값은 submit, reset, button 이 있습니다...
CDN (content delivery network) monthpicker 설정하기1. input 태그 한줄 작성2. 현재 시간 ; 2022년 8월month 값을 통해서 아직 다가오지 않은 9, 10, 11, 12의 값을 fot문을 통해서 months 에 담아줍니다.function loadMonthPicker() { var months = []; var dateObj = new Date(); var selectYear = dateObj.getFullYear(); var month = dateObj.getMonth() + 1; for(var i = month; j = 0; i 3. months에 담겨있는 9월, 10월, 11월, 12월을 비활성화 시킵니다./* disableMo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/czTUZw/btrCseamLhm/97yZ06VcsKCcRDGClkFzaK/img.png)
offine 상태에서 maven update 하기 위하여 repository 사용자 경로 설정하기 settings.xml 이 없어서 library(.jar)를 update를 하지 못하는 경우가 발생하였다. eclipse - Window - Preferences - Maven - User Settings 이클립스에서 프로젝트 작업 시 사용되는 라이브러리들의 기본 설치 경로는 C:\Users\(사용자 이름)\.m2\repository 에 위치하고, settings.xml 파일이 여기에 위치해있다. 이 파일이 없다면, 아래와 같이 .xml 파일을 생성하면 된다. C://(사용자 이름)/repository true false 이후에 위에 User Settings에서 browse 클릭 후에 선택해주고, apply..
excel upload 기능 구현하기 excel 파일을 업로드하여 데이터를 DB에 입력시키는 과정입니다. 업로드된 파일은 필요가 없어서 삭제처리하였습니다. poi로 excel 업로드하는 것에 대해 구글링을 하면, 아래와 같은 소스 파일이 존재하는데 수정할 사항들이 있어 수정하여 tistory에 공유합니다. 1. pom.xml Dependency 추가 더보기 org.apache.poi poi 3.11 org.apache.poi poi-ooxml 3.11 2. dispatcher-servlet.xml been 추가 더보기 3. ExcelFileType.java Excel 파일을 읽어 확장자를 비교하는 java 파일 더보기 import java.io.FileInputStream; import java.io.F..
ORA-01861: literal does not match format string : 리터럴이 형식 문자열과 일치하지 않음 literal does not match format string Oracle등 DB Tool을 사용하여 SQL Insert 할경우는 정상이지만, JDBC를 통한 SQL Insert 를 할경우 다음과 같은 에러 메시지가 발생하였다. 물론 이 부분도 개발서버에서는 정상적으로 SQL insert가 이뤄져서 운영서버에 반영할 떄에는 몰랐던 문제였다. 원인은 개발 DB의 문자셋과 언어설정, 날짜설정이 운영DB의 설정 값과 다르기 때문에 나타나는 문제였으며, TO_DATE 함수를 사용하여 해결하였다. INSERT INTO 테이블명( 컬럼명 )VALUES ( TO_DATE(컬럼명, 'YYY..
Package should contain a content type part [M1.13] 해당 에러는 Apache POI로 엑셀 파일을 Read 하는 도중 에러가 발생하였다. 이 에러는 엑셀 형식(xls, xlsx 등)이 다르거나 엑셀 파일이 잠금 등이 걸려 읽을 수 없는 상태거나 혹은 엑셀 파일이 손상된 경우 발생한다고 한다. 엑셀 파일이 손상되어 열리지 않거나 혹은 잠금 처리가 되었는지 확인한 후에 파일을 교체해 보면 해결이 된다 출처 : https://stackoverflow.com/questions/32878743/package-should-contain-a-content-type-part-m1-13 / 출처 : https://wakestand.tistory.com/262
1. label 태그의 'for'와 type가 file로 되어 있는 input 태그의 'id'가 동일하지 않은 경우 2. css파일이나 jsp파일에 style태그를 살펴보면, display:none으로 되어있는 경우 둘 중 하나로 인해서 파일 선택이 안 되는, input 태그가 작동되지 않는 에러가 발생합니다.
보통 click 이벤트를 사용하여 알람:alert 을 주곤 하는데, 오류가 발생하는 경우가 생깁니다. $("#selector").click(function(){ alert("OK"); }); 이런 경우에는 아래와 같이 'click' 이벤트가 아니라 'on' 이벤트로 변경하고, 선택자를 적어주면 됩니다. $(document).on("click", "선택자 : selector", function(){ alert("알림 : alert"); }); 출처 : https://vlog.tion.co.kr/%ED%95%B4%EA%B2%B0-jquery-click-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%95%88%EB%90%A8-%EB%8F%99%EC%A0%81-%ED%8E%98%EC%9D%B4%EC%..