목록전체 글 (164)
개발의변화
빌드도구: 작성한 코드의 빌드 및 배포를 수행하는 도구, 각각의 구성요소와 모듈에 대한 의존성 관리를 지원하는 도구 Ant, Maven,Gradle 구현 도구: 코드의 작성과 디버깅, 수정 등과 같은 작업 시 사용되는 도구, 프로그램을 개발할 때 가장 많이 사용되는 경우 Eclipse, IntelliJ, Spring Tool Suite, NetBeans, Visual Studio 테스트 도구: 코드의 기능 검증과 전체의 품질을 높이기 위해 사용되는 도구 xUnit, PMD, Findbugs, Cppcheck, SonarQube 형상 관리 도구: 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구, 프로젝트 진행 시 필수로 포함되는 도구 CVS, SVN, Git 웹 서버: 웹 브라우저..

트랜잭션 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위, 여러 개의 쿼리들을 하나로 묶는 단위를 말한다. 원자성,일관성,독립성, 지속성 원자성: 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징 (트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 한다는 것->all or nothing) 1. 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다 2. 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다. commit: 여러 쿼리가 성공적으로 처리되었다고 확정하는 명령어, 트랜잭션 단위로 수행되며 변경된 내용이 모두 영구적으로 저장되는 것을 말함 1: commit 전에..
정규화(Normalization) 릴레이션 간의 잘못된 종속 관계로 인해 데이터베이스 이상 현상이 일어나서 이를 해결, 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 분리하는 과정 테이블 간에 중복된 데이터를 허용하지 않는 다는 것 이상현상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정 중복된 데이터를 허용하지 않음으로써 무결성을 유지할 수 있으며, DB의 저장 용량을 줄일 수 있다 제1 정규형(1NF(normal form) 1. 각 컬럼이 하나의 속성만을 가져야한다 2. 하나의 컬럼은 같은 종류나 타입(type)의 값을 가져야한다 3. 각 컬럼이 유일한(unique) 이름을 가져야 한다 4. 칼럼의 순서가 상관없어야 한다 유저번호 이름 스탯 평점 1 박지성 활동량,수비 10 2 손흥민 ..

ERD의 중요성 ERD(Entity Relationship Diagram): 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하며, 릴레이션 간의 관계를 정의(시스템의 요구사항에 따라) 문장 형식의 업무 처리 규정을 약속된 도형 형태로 나타내어 전체 업무 및 데이터의 구조를 쉽게 파악 문장으로 기술하지 않고 공통적인 약속을 통해 표현함으로써 업무의 파악과 이해가 용이 Entity: 의미 있는 유용한 정보를 제공하기 위하여 기록,관리하고자 하는 데이터의 유형 (사람,사물,개념 또는 사건)등을 표현한다 RelationShip 엔티티 간 존재하는 업무의 상호연관성으로 해당 엔티티와 관련된 업무가 수행되는 규칙을 의미한다 업무가 변경됨에 따라 관계는 변할 수 있다 두 엔티티 사이의 관계에 따라 1:N, 1:..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 function solution(sequence, k) { //정답이 될 수 있는 값을 담을 배열 var answer = []; var num = 0; var head = 0; for(var i = 0; ik){ while(sum>k){ num -= sequence[head++]; } } if( num===k){ answer.push([head,i]); } } var min = seq..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 답 //1,2,3,4 function solution(n, k) { function permutate (arr,x) { const result = [] if (x === 1) { return arr.map(e=>[e]) } arr.forEach((fixed,index,origin) =>{ const sub = [...arr.slice(0,index),...arr.slice(index+1)] ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/68645 해설 function solution(n) { //3*n-5 let arr= Array.from({length:n},(_,i)=>Array.from({length:i+1},()=>0)) //삼각형 배열 소환 let count = 0 let startY = 0 let startX = 0 let lastX = n-1 let lastY = 1 while (count= startX; i--) { if(arr[i][arr[i].length-lastY]===0) arr[i][arr[i].length-lastY]=++count }//오른족아래에서 위로 대가선 방향으로 이동하는 반복문 startX =..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42839 해설 function solution(numbers) { let question = new Set() let count = 0 function permutation(arr,n,result) { if (result.length==n) { question.add(Number(result.join(""))) return } for (let i = 0; i < arr.length; i++) { permutation([...arr.slice(0,i),...arr.slice(i+1)],n,[...result,arr[i]]) } } function searchDecimal(num) { if (num..