[Tistory] [Automatic Batching] 리액트 18에 등장한 렌더링 묶음판매

Automatic Batching이란 무엇일까? [[React]] 18에서 나온 새로운 기능, Automatic Batching에 대한 문서이다 여기서 Batching이란, 이벤트 핸들러나 hooks 안에서 상태 업데이트를 묶어서 동작하도록 만들어준다. 즉, 렌더링을 한 번만 일어나도록 해주는 것이다 따라서 Automatic Batching = 자동화된 일괄 렌더링 이라고 생각할 수 있다 사실 생각해보면 이상하다. 기존의 함수 내부에서 여러 setState()를 실행시키면 이미 Batching이 이루어졌을까? 그 이유는 React에는 여러 번의 state update 작업을 Queue에 몰아넣고 일정 주기마다 Queue에 등록된 작업을 순차적으로 일괄 시행하면서 불필요한 리렌더링을 방지하는 특징이 있기..

[Tistory] Flutter 개발환경 설치

1. Flutter SDK 설치하기 https://docs.flutter.dev/get-started/install Install Install Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems. docs.flutter.dev C드라이브에 압축 풀기. 2. Flutter 환경변수 설정하기 ‘환경’으로 검색 ‘환경변수’ 클릭 Path – 편집 클릭 찾아보기 클릭 C:\flutter\bin 찾아서 클릭하고 확인 맨위에 환경변수가 잘 등록되었으면 연이어 확인클릭하고 환경변수 등록 완료! 3. 안드로이드 스튜디오 설치 https://developer.android.com/stud..

[Tistory] (DevOps) Jenkins와 gitHub 연동하기

https://developerjjh.tistory.com/197 (DevOps) Jenkins 설치 및 환경설정(Local) https://developerjjh.tistory.com/196 (DevOps) CI/CD란 ? CI/CD CI/CD란 무엇인가 (Feat. DevOps 엔지니어) 안녕하세요. 개발자의 용어를 쉽고 명확하게 설명해드리는 개발자 김모씨입니다. CI/CD ?! 개발자로 밥먹고 developerjjh.tistory.com 우리는 이미 Local환경에서 Jenkins를 설치해서 과정을 조금은 익숙해졌다!! 한걸음 나아가서 AWS EC2 인스턴스를 생성하여 Jenkins를 실행하고 이후 gitHub에 webhook이라는 기능을 통해서 연동을 시켜보려고 한다! AWS 연동 Jenkins를..

[Tistory] [JavaScript]바닐라자바스크립트 컴포넌트생성하기

// 페이지(컴포넌트) 임포트 import Home from “./public/pages/Home.js”; import Design from “./public/pages/Design.js”; import Board from “./public/pages/Board.js”; import Submit from “./public/pages/Submit.js”; // 경로 문자열을 정규 표현식으로 변환하는 함수 const pathToRegex = path => new RegExp(“^” + path.replace(/\//g, “\\/”).replace(/:\w+/g, “(.+)”) + “$”); // 매개변수와 일치하는 값을 추출하는 함수 const getParams = match => { const values..

[Tistory] 테크레터 3편. 컴파일러와 인터프리터의 차이는 무엇인가요?

오늘은 기본적인 용어에 대해서 간략하게 살펴보도록 하겠습니다. 1. 컴파일러 (위키백과에 따르면) 컴파일은 고급 프로그래밍 언어를 실행 프로그램으로 만들기 위해 저급 프로그래밍 언어로 변환하는 과정을 의미합니다. 컴파일러는 개발자가 작성한 소스 코드를 컴퓨터가 수행하기 위한 코드로 변환해주는 일종의 툴 입니다. 대표적으로 자바 컴파일러를 예로 들 수 있습니다. 이때 고급/저급 언어는 아래와 같이 이해하시면 됩니다. 고급언어 : 사람이 이해하고 작성하기 쉽게 만들어진 언어로, 개발자들의 소스 코드가 이에 해당되고요. (C/C++언어) 저급언어 : 컴퓨터가 이해하고 실제 동작을 수행하기 위한 언어로, 작성된 소스 코드가 변환되어야 합니다. (0, 1 조합의 기계어) 특징으로는 컴파일 단계를 반드시 거쳐야하며..

[Tistory] [백엔드 기술 면접 대비] – 3.Nginx를 사용한 리버스 프록시는 왜 필요할까?

리버스 프록시란? 클라이언트 요청을 대신 받아 내부 서버로 전달해주는 것을 리버스 프록시(Reverse Proxy) 라고 한다. 그렇다면 프록시란? 프록시란 대리라는 의미로, 정보를 대신 전달해주는 주체라고 생각하면 되는데, 만약 이 프록시 없이 웹 서버를 운영한다고 가정해보자. localhost:3000 라고 하는 웹서버를 열어서 운영했을 때, 사용자가 갑자기 많아지거나, 웹서버가 그대로 노출되어 있기 때문에 보안적으로 위험성이 증가한다. nginx를 사용하면 로드 밸런싱으로 부하를 줄여줄 수 있고, 분산 처리 또한 가능하며 웹서버의 SSL 인증도 적용할 수 있다. (SSL이란?) 따라서 아래와 같이 사용자 -> nginx -> 웹서버로 구성해서 사용자의 요청을 nginx가 대신 웹서버로 전달해주도록 ..

[Tistory] 2024년 07월 28일 일일 요약

=============================================1: 지도 서비스와 관련된 기술들을 소개하는 글입니다. 글에서는 지도 오버레이, 행정구역 코드, 마커 클러스터링, 지도 SDK의 사용법 등을 설명합니다. 또한, 다양한 지도 기능을 최적화하기 위한 방법 등을 다루고 있습니다. 네이버 지도 SDK의 특징과 활용법, 그리고 지리 정보와 관련된 다양한 기능들에 대해 알아봅니다.키워드: 지도 오버레이, 행정구역 코드, 마커 클러스터링, 네이버 지도 SDK, 지리 정보출처: https://ravenkim97.tistory.com/482 [Google I/O GDG] 웹 4 – 위치 및 지리 정보의 모든것지도각종 오버레이 두개의 지검의 길이,  반경을 보고 겹치는 부분을 확인클러스트링 ..

[Tistory] KBO 10개 구단 야구장 #1_현재 홈구장_연고지(with leaflet)

10개 구단 홈구장 위치 (주소, 위도, 경도) 팀 구장명 도로명 주소 주소 경도 위도 두산 베어스, LG 트윈스 잠실종합운동장 잠실야구장 서울 송파구 올림픽로 25 서울 송파구 잠실동 10-1 127.07 37.51 키움 히어로즈 고척스카이돔 서울 구로구 경인로 430 서울 구로구 고척동 63-6 126.87 37.50 SSG 랜더스 인천SSG랜더스필드 인천 미추홀구 매소홀로 618 인천 미추홀구 문학동 482 126.69 37.44 kt 위즈 수원KT위즈파크 경기 수원시 장안구 경수대로 893 경기 수원시 장안구 조원동 775 127.01 37.30 한화 이글스 한화생명이글스파크 대전 중구 대종로 373 대전 중구 대사동 84-4 127.43 36.32 삼성 라이온즈 대구삼성라이온즈파크 대구 수성구 ..

[Tistory] 신입 개발자 기술면접 : 데이터베이스 01

🗣️ DBMS란? DBMS (Database Management Sysyem, 데이터베이스 관리 시스템) 는 데이터베이스 내 데이터에 접근하도록 도와주는 시스템입니다. DBMS는 크게 질의처리기와 저장시스템으로 이루어져 있습니다. DB를 사용하지 않고, OS에 종속적인 파일 시스템을 사용하면 프로그램의 확장성을 해치고 검색 효율이 크게 떨어집니다. 또한 파일 시스템의 데이터 중복, 비일관성, 검색 등의 문제를 해결할 수 있습니다. 널리 사용되는 DBMS 중 일부는 MySql, Oracle 등입니다. 🗣️ RDBMS란? 관계형 데이터베이스 관리 시스템 (RDBMS)은 데이터베이스에 별도의 테이블에 저장된 관계형 데이터 모델을 기반으로하며 공통 열의 사용과 관련이 있습니다. SQL (Structured Qu..

[Tistory] What went wrong:Execution failed for task ‘:test’.(해결했음. 다른글에 기록 남김)

* What went wrong: Execution failed for task ‘:test’. > There were failing tests. See the report at: file:///C:/%EC%9E%90%EC%A3%BC%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%ED%8F%B4%EB%8D%94%EB%AA%A8%EC%9D%8C/%EC%8A%A4%ED%94%84%EB%A7%81/%EC%8B%A4%EC%A0%84!%20%EC%8A%A4%ED%94%84%EB%A7%81%EB %B6%80%ED%84%B0%EC%99%80%20JPA%ED%99%9C%EC%9A%A91/%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C/jpashopNew/jpashop/build..