Programming 94

(React) 기초 - 객체와 배열

객체와 배열ES2016부터 객체와 배열을 다루는 방법과 객체와 배열안에서 변수의 영역을 제한하는 방법을 다양하게 제공하기 시작했다. 이런 기능으로는 구조 분해, 객체 리터럴 개선, 스프레드 연산자 등이 있다.  구조 분해를 사용한 대입구조 분해를 사용하면 객체 안에 있는 필드 값을 원하는 변수에 대입할 수 있다. 다음 sandwich 객체를 생각해보자, sandwich에는 4개의 필드가 있다. 하지만 그중에서 bread와 meat 필드의 값이 필요하다. const sandwich = { bread: "더치 크런치", meat: "참치", cheese: "스위스", toppings: ["상추","토마토","머스타드"]};const {bread, meat} = sandwich;console...

(React) 기초 - 함수 만들기

함수 선언function logCompliment() { console.log("잘했어요!");}logCompliment(); 함수 표현식함수 표현식은 이름없는 함수를 만들며 변수에 값을 대입할 수 있다.const logCompliment = function() { console.log("잘했어요!");};logCompliment(); 함수 선언과 함수 표현식 중 어떤 쪽을 사용할지 결정할때 알아둬야 할 내용으로 함수 선언은 호이스팅되지만, 함수 표현식은 그렇지 않다는 점을 들 수 있다. 즉 함수 선언을 작성하기 전에 함수를 호출해도 된다. 하지만 함수 표현식에 의해 만들어진 함수를 함수 표현식이 실행되지 건에 호출할 수는 없다.  인수넘기기const logCompliment = function(firs..

(React) 기초 - 변수 선언하기

1. var : 일반적인 변수. 변경 가능var pizza = true;pizza = false;console.log(pizza); // false 2. const : 값을 변경할 수 없는 변수이다.  3. let : 구문적인 변수 영역 규칙 이 코드에서 if 블록안의 topic 변수를 변경하면 if 블록 밖의 topic 변수 값도 변경된다.var topic = "자바스크립트";if (topic) { var topic = "리엑트"; console.log('블록', topic); // 블록 리엑트}console.log('글로벌', topic); // 글로벌 리엑트 let 키워드를 사용하면 변수의 영역을 코드 블록 안으로 한정시킬 수 있다. let을 사용하면 블록 안에서 글로벌 변수를 보호할 수 있다..

SQL Alchemy) BEGIN ISOLATION LEVEL READ COMMITTED 이 보이면서 지연이 발생하는 현상

BEGIN ISOLATION LEVEL READ COMMITTED라는 SQL Prepare Statement가 어플리케이션에서 발생하면서, 상당시간 SQL 지연이 지속되다가 실행된다. ISOLATION이란?ISOLATION은 ACID 의 일환 (Atomicity, Consistency, Isolation, Durability)이것은 트랜젝션 온전함을 다른 유저나 시스템에게 어떻게 공유할지에 대한 것을 결정한다.낮은 ISOLATION LEVEL은 같은 데이터에 동시에 많은 유저가 다룰수 있도록 하며(동시성을 높임) 다만 동시작업으로 발생할 수 있는 부차적인 문제가 발생한다.높은 ISOLATION LEVEL은 같은 데이터에 동시성을 낮추고, 시스템 부하를 높인다.DB SERVERSIDE 뿐만아니라 CLIEN..

Programming/Python 2024.06.13

Netflix의 Cosmos Platform에 대해

원문링크https://netflixtechblog.com/the-netflix-cosmos-platform-35c14d9351ad The Netflix Cosmos PlatformOrchestrated Functions as a Microservicenetflixtechblog.com Cosmos 소개Cosmos는 마이크로서비스의 장점과 비동기식 워크플로우 및 서버리스 기능을 결합한 컴퓨팅 플랫폼입니다. 그 장점은 몇 분에서 몇 년까지 지속되는 복잡한 계층적 워크플로우를 통해 조정되는 리소스 집약적 알고리즘을 포함하는 애플리케이션입니다. 한 번에 수십만 개의 CPU를 사용하는 높은 처리량 서비스와 인간이 계산 결과를 기다리는 대기 시간에 민감한 워크로드를 모두 지원합니다. Cosmos 탄생 배경Netfl..

Programming/MSA 2024.06.09

MicroService로 Netflix 비디오 처리 파이프라인 재구축 -1

원문링크 : https://netflixtechblog.com/rebuilding-netflix-video-processing-pipeline-with-microservices-4e5e6310e359 Rebuilding Netflix Video Processing Pipeline with Microservices This is the first blog in a multi-part series on how Netflix rebuilt its video processing pipeline with microservices, so we can maintain… netflixtechblog.com Netflix가 어떻게 마이크로서비스로 비디오 처리 파이프라인을 재구축하여 빠른 혁신 속도를 유지하고 회원 스트리..

Programming/MSA 2024.02.12

FaaS 구현을 위한 Open Source 프로젝트 OpenFaaS, Knative

관련링크 : https://www.cncf.io/blog/2020/04/13/serverless-open-source-frameworks-openfaas-knative-more/ Serverless Open-Source Frameworks: OpenFaaS, Knative, & more Originally published on the Epsagon blog by Ran Ribenzaft, co-founder and CTO at Epsagon This article will discuss a few of the frameworks mentioned above and will go deep into OpenFaaS and Knative to… www.cncf.io 지난 수년동안 Serverless Arch..

Programming/MSA 2023.11.23

Chrome의 document.domain 방식의 Cross-Domain Deprecated에 대해

관련 공지 링크 : https://developer.chrome.com/blog/document-domain-setter-deprecation/ Chrome disables modifying `document.domain` - Chrome for Developers If your website relies on setting document.domain, your action is required. developer.chrome.com Chrome 115버전부터 document.domain의 수정을 금지한다. 기존에 DOM 내부에서 CORS(Cross Origin Resource Sharing)를 지원하기 위해 사용하던 방법인데, 이제는 다른 방안을 찾아야 한다. 팝업이나 iframe에 document...

Redis에 Spring Cache를 적용할때 서비스 별로 Expire 시간 다르게 하기

github 링크 : https://github.com/armyost/RedisCacheableVariousTimes GitHub - armyost/RedisCacheableVariousTimes: This project gives various duraton option for cache This project gives various duraton option for cache - GitHub - armyost/RedisCacheableVariousTimes: This project gives various duraton option for cache github.com 예를들어 어떤 기능은 1Day, 다른 기능은 1Hour로 Cache 세팅을 하고자 한다면 CacheName별로 다른 Configur..

Programming/Java 2023.11.06