일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 경제
- C
- algorithmTest
- 독후감
- 알고리즘공부
- 알고리즘트레이닝
- 책을알려주는남자
- 재테크
- Java
- 프로그래밍언어
- algorithmtraining
- 주식
- 서평
- 자바
- JavaScript
- algorithmStudy
- 다독
- 채권
- C++
- 성분
- 돈
- 독서
- 책알남
- 자바스크립트
- 프로그래머스 알고리즘 공부
- 알고리즘 공부
- 투자
- 백준알고리즘
- 지혜를가진흑곰
- 화장품
- Today
- Total
목록분류 전체보기 (565)
탁월함은 어떻게 나오는가?
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nNpCC/btrUfaWvOQM/SiTRyNFscBOTTnkV4v7cGk/img.png)
의존관계 역전 원칙 객체 지향 프로그래밍에서 의존관게 역전 원칙은 소프트웨어 모듈들을 분리하는 특정 형식을 지칭한다. 이 원칙을 따르면, 상위 계층(정책 결정)이 하위 계층(세버 사항)에 의존하는 전통적인 의존관계를 반전(역전)시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있다. 이 원칙은 다음과 같은 내용을 담고 있다. 첫째, 상위 모듈은 하위 모듈에 의존해서는 안된다. 상위 모듈과 하위 모듈 모두 추상화에 의존해야 한다. 둘째, 추상화는 세부 사항에 의존해서는 안된다. 세부사항이 추상화에 의존해야 한다. 이 원칙은 '상위와 하위 객체가 모두가 동일한 추상화에 의존해야 한다'는 객체 지향적 설계의 대원칙을 제공한다. - 위키 백과 - 의존관계 역전 원칙은 간단히 DIP라고 부른다. D..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SHsw0/btrTPtIbxzK/DkI9Fdi36e8cmv1jrkdgBK/img.png)
문제 설명 한국중학교에 다니는 학생들은 각장 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국 중학교 학생들의 번호를 나타내는 정수 배열 number 가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수를 완성..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cKk76D/btrTsmCRW7o/jPQjnGSbHSvh11MpHipo70/img.png)
문제 설명 문자열 s 가 주어졌을 때, s 의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다. 예를 들어, s = "banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다. n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다. a는 자신보다 두 칸, 네 칸 앞에 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b96ys7/btrTiVdSZF3/pdDc7VGzkHt7o80TJ09OFK/img.png)
참조 무결성이란 데이터베이스 상의 참조가 모두 유요함을 일컫는다. 관계형 데이터베이스에서 하나의 속성이 다른 테이블의 속성을 참조하고 있다면, 참조한 해당 속성이 필히 존재해야한다. 참조 무결성을 통해 Primary Key(PK, 기본키)와 Foreign Key(FK, 외래키) 간의 관계가 항상 유효하도록 관리한다. 따라서 PK를 참조하는 FK가 있다면, 해당 PK는 수정과 삭제가 불가능해진다. FK의 역할은 두 개의 테이블을 연결해주는 연결 다리 역할을 한다. 기본키가 중복된 데이터가 하나의 테이블에 삽입되는 것을 방지하는 역할을 하는것처럼 외래키 역시 비슷하게 문제를 방지하는 역할을 수행한다.(무결성 유지를 위해서) FK는 새롭게 추가되는 행에서 외래키에 해당하는 값이 외래키가 참조하는 테이블에 존재..
최근에 프로젝트가 NestJS로 만들고 있으면서 백단을 구축하고 있다. 하지만, @Get('/')요청으로 Board들의 list 를 불러오기위해 컨트롤러 단에서 @UseGuards를 사용하지 않았는데도 불구하고, Response가 Unauthorized가 발생했다. 물론, 내가 실수를 한부분이 있는지 확인을 했지만 없었다. 혹시 몰라서 @Post로 요청을 해봤더니 정상적으로 동작을 하게 됬다. 이게 뭐지?? 고민을 하고 개선을 해보다가 혹시나 해서 @Get('/)요청을 맨위로 올렸더니 정상적으로 작동이 됬다. 그래서 몇가지 테스트를 했더니 @UseGuards가 없는 컨트롤러단은 위에 2개까지 있을때는 @Get 요청을 했을 경우 401 Unauthorized가 발생하지 않았다. 결론적으로는, @UseGua..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkHGvz/btrS4YvN0L1/F5U2DrnqkHL6t7OTV7xEak/img.png)
대지지분이란? 대지지분은 단지 전체 면적을 단지 전체 가구수로 나누어 등기부등본에 표기되는 면적을 말한다. 우리가 살고 있는 아파트, 빌라, 다가구 등 모두 해당하는 토지가 있으며, 토지면적이 등기부등본에 표기되어져 있다. 극단적으로 건물이 멸실되었을 경우에 전체 땅 중에서 내가 차지하여 소유할 수 있는 몫이 대지지분이다. 대지지분은 대지권 비율로 표기되어 있다. 위의 예시를 보자면 24.7601 * 0.3025 = 약 7.48평 정도가 해당 호수의 대지지분이다. 그럼 대지지분을 체크하는 이유가 무엇일까? 사실 위에서는 극단적인 예로 멸실을 예를 들었지만, 그럴 가능성은 매우 낮다. 현실적으로는 재개발이나 재건축을 위해 대지지분을 체크하는것이라고 보면 좋을듯 하다. 쉽게 말해, 아파트를 다시 짓게되면 2..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BNFAV/btrSUAvFdSA/K6K70rpVsoxaJQkxF5ZpSK/img.png)
Web Server란 웹 서버(Web server)는 다음의 두 가지 뜻 가운데 하나이다. 1. 웹 서버 : 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램 2. 웹 서버 (하드웨어) : 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터 웹 서버(Web server)는 HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트 (이미지 파일 등)을 전송해주는 서비스 프로그램을 말한다. 웹 서버 소프트웨어를 구동하는 하드웨어도 웹 서버라고 해서 혼동하는 경우가 간혹 있다. 웹 서버의 주된 기능은 웹 페이지를 클라이언트로 전달하는 것이다. 주로 그림, CSS, 자바스크립트를 포함한 HTML 문서가 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lmiu0/btrSCHN1o3c/W4OoU0kGYfvSntwz5kEASk/img.png)
변수란 ? 컴퓨터 프로그래밍에서 변수(variable) 또는 스칼라(scalar)는 아직 알려지지 않거나 어느 정도까지만 알려져 있는 양이나 정보에 대한 상징적인 이름이다. 컴퓨터 소스코드에서의 변수 이름은 데이터 저장 위치와 그 안의 내용물과 관련되어 있으며 이러한 것들은 프로그램 실행 도중에 변경될 수 있다. 컴퓨터 환경에서 변수는 반복적인 과정 안에서 이용할 수도 있다. 이를테면 한 장소의 값을 할당한 뒤 어느 곳에서 사용한 다음 새로운 값으로 다시 할당하고 같은 방법으로 다시 사용할 수도 있다. 컴파일러는 변수의 상징적인 이름을 데이터의 실제 위치로 치환해야 한다. 변수 값, 형, 위치는 일반적으로 유지되는 반면 위치에 저장되어 있는 데이터는 프로그램 실행 도중 변경될 수 있다. - 위키 백과 -..