일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 디자인패턴
- esbuild
- go-sql-driver
- go
- ssh 에이전트
- authorizationpolicy
- database/sql
- 캡슐화
- blank import
- 2024 톨스토이문학상 수상
- Infra
- redirect-gateway
- AWS
- RDS
- replication lag
- elasticsearch
- Intellij
- 오블완
- AI
- golang
- javascript
- 티스토리챌린지
- context7
- 구조체
- sqs fifo queue
- GoF
- GIT
- Kubernetes
- typescript
- goland
- Today
- Total
Fall in IT.
안녕하세요. 오늘은 Javascript에서 객체를 복사하는 방법에 대해서 알아보겠습니다. 객체를 복사하는 방법에는 얕은 복사 방법이있고 깊은 복사 방법이 있습니다. 얕은 복사와 깊은 복사 얕은 복사란, 객체의 첫 번째 부분만 복사하는 것을 의미합니다. Object의 내장객체인 assign() 함수를 사용하여 구현합니다. 깊은 복사란, nested한 객체의 모든 하위 객체까지 복사하는 것을 말합니다. JSON.parse()와 JSON.stringify() 함수를 사용하여 구현합니다. 코드 /** * 얕은 복사 * * @param {*} obj */ function shallowObjectCopy(obj) { let copyObj = {}; Object.assign(copyObj, obj) return co..
Javascript의 Array 내장객체인 shift, unshift, push, pop에 대해서 알아보겠습니다. 코드 /** * shift() & pop() * * shift: 배열의 가장 첫 번째 원소를 제거하고 제거된 요소를 반환 * pop: 배열의 가장 마지막 원소를 제거하고 제거된 요소를 반환 */ let arr = [1, 2, 3]; let firstElement = arr.shift(); console.log(firstElement); // expected output: 1 console.log(arr); // expected output: [2, 3] let lastElement = arr.pop(); console.log(lastElement); // expected output: 3 c..
캐시 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데, 제이지가 작성한 부분 중 데이터베이스에서 게시물을 가져오는 부분의 실행시간이 너무 오래 걸린다는 것을 알게 되었다. 어피치는 제이지에게 해당 로직을 개선하라고 닦달하기 시작하였고, 제이지는 DB 캐시를 적용하여 성능 개선을 시도하고 있지만 캐시 크기를 얼마로 해야 효율적인지 몰라 난감한 상황이다. 어피치에게 시달리는 제이지를 도와, DB 캐시를 적용할 때 캐시 크기에 따른 실행시간 측정 프로그램을 작성하시오. 입력 형식 캐시 크기(c..
오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. [닉네임]님이 들어왔습니다. 채팅방에서 누군가 나가면 다음 메시지가 출력된다. [닉네임]님이 나갔습니다. 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다. 채팅방을 나간 후, 새로운 닉네임으로 다시 들어간다. 채팅방에서 닉네임을 변경한다. 닉네임을 변경할 때는 기존에 채팅방에 출력되어 있던 메시지의 닉네임도 전부 변경된다. 예를 들어, 채팅방에 Mu..
자바스크립트의 배열에서 특정 원소가 포함 되어있는지 확인하는 방법 // Sample Code let arr = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]; /** * # 1. Use indexOf() * 해당 원소의 index 값도 필요할 경우에 사용 */ console.log(arr.indexOf(2)); // 2 console.log(arr.indexOf(4)); // -1 /** * # 2. Use includes() * 간단히 값의 유무만 확인하는 경우에 사용 */ console.log(arr.includes(2)); // true console.log(arr.includes(4)); // false 참조 https://developer.mozilla.org/ko/docs/We..