일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Math
- C언어
- Cleancode
- 정수론
- C
- BASIC
- DP
- php
- graph
- udemy
- 생활코딩
- 종만북
- BFS
- 백준
- 따라하면서 배우는 C언어
- sorting
- 따배씨
- web
- BOJ
- dfs
- String
- Algorithm
- greedy
- Python
- server
- programmers
- 따라하며 배우는 C언어
- Algospot
- JavaScript
- 인프런
- Today
- Total
목록전체 글 (415)
몽상실현개발주의
Ruby on Rails의 ActiveRecord는 데이터베이스와의 상호 작용을 추상화하여 개발자가 보다 쉽게 데이터를 처리할 수 있도록 돕습니다. 이 중에서도 지연 로딩(lazy loading)은 ActiveRecord의 핵심 기능 중 하나로, 데이터 접근의 효율성을 극대화합니다. 이 글에서는 지연 로딩이 실제로 작동하는 방식과, 데이터에 접근할 때 데이터베이스 요청이 어떻게 발생하는지에 대해 집중적으로 탐구합니다. 지연 로딩(Lazy Loading)의 작동 원리 지연 로딩은 데이터가 실제로 필요할 때까지 데이터베이스 요청을 지연시키는 패턴입니다. Rails의 ActiveRecord에서는 이를 통해 불필요한 데이터베이스 요청을 줄이고, 애플리케이션의 성능을 향상시킵니다. 데이터 접근 시의 요청 발생 R..
AWS 클라우드 서비스를 사용하면서 보안이 중요한 데이터를 다룰 때, VPN(Virtual Private Network)은 필수적인 요소 중 하나입니다. AWS에서는 VPN Gateway와 VPN Connection을 통해 사용자의 온프레미스 네트워크와 AWS 클라우드 사이에 안전한 통신 터널을 구축할 수 있습니다. 하지만 이 둘의 차이점이 무엇인지, 어떻게 함께 작동하는지 혼동하기 쉽습니다. 이번 포스트에서는 VPN Gateway와 VPN Connection에 대해 쉽고 자세하게 설명해보겠습니다. VPN Gateway란? AWS의 VPN Gateway는 마치 집과 세상을 연결하는 문과 같습니다. 여러분의 집이 AWS 클라우드라고 생각해보세요. 집 안에는 여러 가지 중요한 물건들(데이터 및 리소스)이 있..
웹 개발을 하다 보면 다양한 HTTP 메소드들을 사용하게 됩니다. 그중 `OPTIONS` 메소드는 특별한 역할을 수행하는데, 이 글에서는 `OPTIONS` 메소드와 관련된 CORS에서의 preflight 요청에 대해 자세히 알아보겠습니다. # HTTP OPTIONS 메소드란? HTTP `OPTIONS` 메소드는 클라이언트가 웹 서버에게 특정 리소스에 대해 어떤 HTTP 메소드가 허용되는지 물어보는 용도로 사용됩니다. 이는 서버가 지원하는 메소드를 확인하기 위한 요청으로, 예를 들어 `OPTIONS /index.html HTTP/1.1`과 같은 형태로 사용됩니다. 서버는 이에 대해 `GET`, `POST` 등 자신이 해당 리소스에 대해 지원하는 메소드 목록을 응답으로 보냅니다. # CORS와 Preflig..
AWS Lambda 함수에서 여러 파일에 걸쳐 있는 함수들이 작동 중 발생하는 에러를 중앙에서 관리하고 추적하는 방법은 여러가지가 있지만, 여기서는 공유 모듈을 사용하는 방법에 대해 설명하겠습니다. 이 접근 방식은 특히 각 함수가 서로 다른 파일에 분리되어 있을 때 유용합니다. 공유 모듈을 생성하여 해당 모듈 내에서 상태를 관리하고, 필요한 모든 파일에서 이 모듈을 import하여 사용합니다. # 공유 에러 핸들러 모듈 생성 먼저, 에러 데이터 리스트를 관리하고, 에러를 추가하는 함수를 제공하는 errorHandler.js라는 공유 모듈을 만듭니다. // errorHandler.js // 에러 데이터 리스트를 관리할 배열 초기화 const errorDataList = []; // 에러 데이터를 리스트에 ..
언젠가는 글로써 마무리 지어야지... 했더니 벌써 해가 바뀌어 버렸다. 더 늦기전에 부랴부랴 늦게나마 정리하는 2023 회고를 하려한다. 1. Life 합정으로의 출퇴근 생활을 끝내고, 다시 강남으로 출퇴근을 하였다가 지금은 서초로 출퇴근 중이다. 주변 구성원들 몇몇이 달라진것 빼곤 일상에 변화는 크게 없었으며, 항상 시도하였지만 실패를 거듭하였던 웨이트를 병행하기 시작하였다. 웨이트와 길어진 근무시간과 출퇴근 덕분에 저녁시간이 많이 줄어들어 작년 초 포부와는 다르게 개인 발전 시간을 거의 갖지 못했다. 여전히 잔잔한 생활을 즐기고 있었고 연말에는 모든게 다 즐겁다는 생각도 들었다. 2. Turnover 합정에서 고군분투 하며 꾸려오던 스타트업 생활을 마무리하고, HR 솔루션을 개발하는 곳으로 이직하였다..
호이스팅 런타임(프로그램 동작 할 때) 환경에서 선언과 할당의 분리 코드 작성 -> 스코프 예상 런타임에서는 예상되로 동작하지 않음 그 대표적인 예가 호이스팅 현상 var 로 선언한 변수가 초기화가 제대로 되어있지 않았을 때 최상단에 undefined 로 끌어올려 선언되어 지는 것 호이스팅 예시 var global = 0; function outer() { console.log(global); // undefined var global = 5; function inner() { var global = 10; console.log(global); // 10 } inner(); global = 1; console.log(global); // 1 } outer(); - outer 함수 내부에서 호이스팅 발생 ..
임시 변수 특정 Scope 내부에서 전역변수처럼 활용되는 변수 함수가 커지게 되면, 전역 공간과 다름없는 상황이 발생 임시 객체도 전역 객체처럼 사용 될 수 있음 임시 변수를 어떻게 CRUD 를 할까 고민해야 함 임시 변수의 개선1 function getElements() { const result = {}; result.title = document.querySelector(".title"); result.text = document.querySelector(".text"); result.value = document.querySelector(".value"); return result; } /////////////////////////////////////// function getElements()..
전역공간 최상위 공간 Gobal & Window Browser 환경 - window Node 환경 - Global 전역공간 사용 문제점 var globalVar = "global"; console.log(globalVar); // 런타임 환경 (실행하는 환경) 도 변경 가능 console.log(window.globalVar); var setTimeout = "setTimeout"; function setTimeout() { console.log("function"); } const array = [10, 20, 30]; for (var index = 0; index < array.length; index++) { const element = array[index]; } // 파일을 나눈다고 Scope ..