
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) 숫자값이..

2장 컨테이너 기술과 Docker의 개요 2.1 컨테이너 기술의 개요 컨테이너: 호스트 OS 상에 논리적인 구획을 만들고 애플리케이션을 작동시키기 위해 필요한 라이브러리나 애플리케이션 등을 하나로 모아 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것 Linux Containers(LXC): 컨테이너는 namespace와 cgroups라는 리소스 관리 장치를 사용하여 분리된 환경을 만든다. 2.2 Docker의 개요 애플리케이션의 실행에 필요한 환경을 하나의 이미지로 모아두고 그 이미지를 사용하여 다양한 환경에서 애플리케이션 실행 환경을 구축 및 운용하기 위한 오픈소스 플랫폼 2.3 Docker의 기능 Docker 컴포넌트 Docker Engine: 도커 이미지를 생성하고 컨테이너를 기동시키기 위한 기..

1장 시스템과 인프라 기초 지식 1.1 시스템 기반의 기초 지식 기존의 온프레미스 환경에서 자사 데이터센터로 이용하던 것을 클라우드 상의 가상 인스턴스로 옮기고 자동화 된 툴을 사용하여 오케스트레이션한다. 클라우드가 적합한 경우: 트래픽의 변동이 많은 고객용 시스템, 트래픽 양을 예측하는 것이 어렵기 때문에 단기간에 쉽게 증설시킬 수 있는 클라우드 시스템으로 구성하는 것이 좋다. 온프레미스가 적합한 경우: 높은 가용성, 기밀성, 특수한 요구사항 1.2 하드웨어와 네트워크 기초 지식 CPU: 연산능력으로 코어수가 많으면 연산을 동시에 처리할 수 있는 수가 늘어난다. Memory(주기억장치): 데이터 용량이 크거나 데이터 전송 속도가 고속일수록 고성능, 서버용은 전력 소모가 적고 오류 처리가 있는 것으로 S..