본문 바로가기

Study

(120)
C++ 반복문을 이용해서 코드 줄이기 개요 next라는 변수의 값만 바뀌고, 나머지는 동일한 내용이 반복되는 코드였다. next = {cur+1, cur-1, cur+cur}로 선언하여 간결하게 코드를 작성할 수 있다. 예시 기존 코드 while(!q.empty()){ int cur = q.front(); q.pop(); int next = cur+1; if(next =0){ if(dist[next]==-1){ q.push(next); dist[next] = dist[cur]+1; } } next = cur+cur; if(next < MAX){ if(dist[next]==-1){ q.push(next); dist[next] = dist[cur]+1; } } } 개선한 코드 while(!q.empty()){ int cur = q.front()..
css 상속 상속 CSS 속성도 상속이 된다. 단! 되는 속성이 있고 안 되는 속성이 있다. box-model이라고 불리는 속성들(width, height, margin, padding, border)과 같이 크기와 배치 관련된 속성들은 하위엘리먼트로 상속이 되지 않는다. 다른 속성 (ex. fontsize)등은 하위 모델로도 상속이 된다. cascading CSS에서는 같은 노드를 표현하는 방법이 여러개가 있다. 같은 노드를 가리키지만 적용하는 스타일은 다를 수 있다. 그럼 어떤 스타일로 적용하느냐? 이것을 결정하는것을 'cascading' 이라고 한다. 1. 선언방식 : inline > internal = external : inline으로 설정한 값이 우선이다 2. 시간 순서 : 동일하면 나중에 적용한것이 우선..
[Java] String, String buffer, String builder 💡 String과 String buffer는 무슨 차이가 있을까? String과 Stringbuffer의 차이점을 아나요? 라는 질문을 받았다. 면접때는 답하지 못했지만 지금 이렇게라도 정리해본다. String String Buffer String Builder Storage Area Constant String Pool Heap Heap Modifiable No (immutable) Yes (mutable) Yes (mutable) Thread Safe Yes Yes No Performance Fast Slow Fast String The String class represents character strings. All string literals in Java programs, such as "ab..
C++ 배열, vector, array JS 배열 정리 보호되어 있는 글입니다.
코딩테스트를 할 땐 함수에 주석을 써두자 코딩테스트를 할 때 정신을 빼놓지 말자 점화식은 "dp[n,m] : s[n]을 포함하는 그룹의 시작 인덱스" 로 세워두고 코드에 짠건 "s[n]을 포함하는 그룹의 길이" 를 리턴하도록 짰다. 심지어 중간에는 인덱스로 잘 짜놓고 base case를 그룹의 길이를 리턴하도록 짜다니... 정신이 없다고 함수에 주석을 써두지 않았기 때문에 이런 실수가 발생했다. 함수를 작성할땐, 그리고 점화식을 작성할 땐 주석으로 잘 써두자. base case로 리턴하는 값도 주의해서 작성하자! 코테 끝나니까 바로 눈으로도 디버깅이 되더라. 무엇보다 제일 중요한건 당황하지 않는것. 첫번째 문제도 찬찬히 훑어보니 어디서 예외가 발생했는지 알 수 있었다. 첫번째 문제처럼 앞으로도 차분하게 해결하자. 과숙체락이니, 너무 코테 하나에..
마이크로서비스, 도커, 컨테이너 관련 글 모음 마이크로서비스를 위한 데이터베이스 선택 방법 마이크로 서비스 못 다한 이야기 | Popit 컨테이너와 마이크로서비스 보안이 어려운 이유 [번역] 마이크로 서비스 보안을 위한 10가지 팁 컨테이너와 마이크로서비스 시대의 보안 : 해결 과제와 베스트 프랙티스 Do Not Use MSA - 마이크로서비스 아키텍처가 꼭 필요한가요? 마이크로서비스란 무엇입니까? | AWS Micro Service, Docker로 할 수 밖에 없었던 사연 | Popit REST API로 통신하는것이 적절하냐? 시스템 개선을 위한 REST API 도입? | Popit MSA에 대한 이해와 컨테이너 기술의 활용 방안 https://www.itfind.or.kr/WZIN/jugidong/1887/file264527622734533026..
npm prototype pollution attack (CVE-2020-8203) 💡 lodash의 zipObjectDeep() 메소드에서 발견된 취약점 - prototype의 속성 식별자가 user-supplied일 경우, 악의적인 사용자가 오브젝트의 프로토타입을 수정할 수 있는 이슈 깃헙에 lodash 관련 이슈가 터졌다. 메일로도 알림이 올 정도면 얼마나 큰 이슈라는거지? 'low severity'라고 되어있지만 알림이 왔으니 한 번 확인해봤다. # Prototype Pollution Prototype Pollution 공격에 대한 원문은 이 링크에서 확인할 수 있다. node.js의 third party 앱중에 lodash 라는 라이브러리가 있었다. lodash 홈페이지 Underscore같은 자바스크립트 유틸리티 라이브러린데, 데이터를 쉽게 다룰 수 있게 해준다고 한다. 이 ..
priority_queue에 struct를 넣을 때는 연산자 오버로딩이 필요하다 연산자 오버로딩이 없으면 위와 같은 에러가 난다. priority를 정해줄 수 없어서 그런 것 같다. `operator