[Cannot create a session after the response has been committed] 1. 응답이 이미 커밋되었기 때문에 [/brandcollectionlist] 요청에 대한 오류 페이지로 전달할 수 없습니다. 따라서 응답의 상태 코드가 잘못되었을 수 있습니다. 응용 프로그램이 WebSphere Application Server에서 실행 중인 경우 com.ibm.ws .webcontainer.invokeFlushAfterService를 false로 설정하여 이 문제를 해결할 수 있습니다 => 에러 코드 번역입니다. 2. *** 컨트롤러 상의 문제를 확인하거나 컨트롤러 상에서 HttpServletResponse에 데이터를 처리하는 경우 try catch를 통해 발생된 excep..
(1) 성능 데이터 모델링 1-1. 성능 데이터 모델링 개념 1-2. 성능 데이터 모델링 수행 1-3. 성능 데이터 모델링 고려사항 1) 데이터모델링을 할 때 정규화를 정확히 수행 2) 데이터베이스 용량 산정 수행 3) 데이터베이스에 발생되는 트랜잭션 유형 파악 4) 용량과 트랜잭션 유형에 따라 반정규화를 수행 5) 이력모델의 조정, pk/fk 조정, 슈퍼타입/서브타입 조정 등을 수행 6) 성능관점에서 데이터 모델 검증 (2) 정규화 2-1. 정규화 개념 2-2. 정규화 이론
1장. 데이터 모델링의 이해 (1) 모델링 - 복잡한 현실세계를 단순화시켜 표현하는 것 - 추상화, 단순화, 명확화 (2) 데이터 모델링 중요성 및 유의점 - 파급효과, 간결한 표현, 데이터 품질 (3) 데이터 모델링의 3단계 - 개념적 데이터 모델링: 추상화 수준이 높고 포괄적인 수준의 모델링 - 논리적 데이터 모델링: key, 속성, 관계 등을 표현하고 재사용성이 높음 - 물리적 데이터 모델링: 물리적인 성격 고려 설계 (4) 데이터베이스 3단계 구조 - 외부 스키마: 사용자 관점 - 개념 스키마: 통합 관점 - 내부 스키마: 물리적 관점 -> 외부 스키마와 개념 스키마 사이에 논리적 데이터 독립성 필요 -> 개념 스키마와 내부 스키마 사이에 물리적 데이터 독립성 필요 (5) 데이터 모델링의 3가지 ..
* 원인 brew로 mysql 설치 한 경우, 실행 명령어 입력 시 Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/sooinsoft/Library/LaunchAgents/homebrew.mxcl.mysql.plist` exited with 5. 해당 에러 메시지가 뜨게 되는데 해당 사이트의 명령어 입력을 통해 해결할 수 있었다. https://stackoverflow.com/questions/70266791/cant-start-httpd-failure-while-executing-bin-launchctl-bootstrap-gui-501 Can't start httpd - Failure while executing; `/b..
더블 쿠폰을 선택해주세요 => select 박스의 class 요소를 selectbox라고 명시한다. => 하위 요소로 option 박스가 있다. /* 쿠폰이 없는 경우, 비활성화 처리 및 '적용 가능한 쿠폰이 없습니다' */ $(document).ready(function () { $(".selectbox").each(function (e) { var selectBoxOption = $(this).children('option'); var selectBoxLength = selectBoxOption.length; if(selectBoxLength == 1) { $(this).prop('disabled',true); $(selectBoxOption).text('적용 가능한 쿠폰이 없습니다.'); } }) ..
1. $(document).ready(function () { }); * html 문서의 로딩이 이루어진 후(DOM 객체를 불러온 후) 안에 코드 입력 $(document).ready(function (e) { $(".selectbox").each(function (e) { //class명이 selectbox인 것의 요소들 중 var selectBoxOption = $(this).children('option'); //지금의 요소의 하위 요소 중 option 태그를 찾는다. var selectBoxLength = selectBoxOption.length; //option 태그의 길이 if(selectBoxLength == 1) { //selectBox의 길이가 1일 때, $(this).prop('disa..
* HomeBrew가 설치되어있다고 가정한 후 시작합니다. * 설치 가능한 모든 jdk 찾기 $ brew search jdk * 원하는 자바 버전 설치하기 brew install --cask adoptopenjdk11 brew install --cask adoptopenjdk14 * 자바가 설치된 곳 확인하기 $ /usr/libexec/java_home -V * 자바 버전 세팅하기 $ vi ~/.zshrc * 자바 변수 선언과 사용 # Java Paths export JAVA_HOME_11=$(/usr/libexec/java_home -v11) export JAVA_HOME_14=$(/usr/libexec/java_home -v14) # Java 11 export JAVA_HOME=$JAVA_HOME_1..
* splice(): 배열에서 중간에 있는 요소를 제거하기 위해서는 splice 기능을 사용하면 된다. 배열에서 원하는 요소를 제거 // 1) 인덱스 1개만 삭제 const array = ['a', 'b', 'c', 'd'] array.splice(1, 1) //인덱스 1인 요소를 포함해 (순서대로) 1개 삭제한다. 1개만 삭제하므로 인덱스 1만 삭제. console.log(array) //['a', 'c', 'd'] // 2) 인덱스 2개 이상 삭제 const array = ['a', 'b', 'c', 'd'] array.splice(0, 1) //인덱스 0인 요소를 포함해 순서대로 3개 삭제한다. 3개 삭제이므로 인덱스 0~2 삭제. console.log(array) //['d'] // 3) 숫자값이..