LG씨앤에스

LG CNS

개발팀 리뷰

위 내용은 LG씨앤에스 전 • 현 재직자의 응답 결과입니다.

기술 스택

언어

typescript

Java

프론트엔드

React

백엔드

SpringBoot

데이터베이스

AWS

MySQL

데브옵스

Kubernetes

Docker

재직자가 작성한 글

profile picture

강휴석

LG CNS 책임, PL

개발자에서 아키텍트로-2장, 3장

2장. 디자인 싱킹 기초 * 인간중심의 원칙 (human rule) : 모든 디자인은 사회적이다. * 모호함의 원칙 (ambiguity rule) : 모호함을 유지하라. * 재디자인의 원칙 (redesign rule) : 모든 디자인은 다시 디자인한 것이다. * 촉각의 원칙 (tangibility rule) : 손에 잡히는 디자인이 대화를 이끌어낸다. https://blog.naver.com/sorisan2/223451894992 3장. 설계 전략 고안하기 * 위험요소를 활용하여 디자인 마인드셋을 결정하는 방법을 사용 할 수 있다. * 새로운 소프트웨어 시스템을 접할 때의 첫번째 위험은 스 소프트웨어가 누구에게 의미가 있는지 이해해야 한다는 것이다. https://blog.naver.com/sorisan2/223451909382

profile picture

강휴석

LG CNS 책임, PL

개발자에서 아키텍트로-1장

소프트웨어 아키텍트 관련 도서는 생각만큼 많지 않은데 있어도 이론적기반의 어려운책들. 그 중에 예제를 통한 쉬운 접근과 이론적 기반을 함께 다루고 있고 쉬운 말로 쓰여진 책이다. 1장 소프트웨어 아키텍트 되다 소프트웨어 아키텍트는 누구이고 어떤일을 하는지 그리고 왜 아키텍트가 필요한지에 대해서 서술한 Chapter 이다. 3줄 요약 * 소프트웨어 아키텍트는 소프트웨어 아키텍처를 설계한다. * 소프트웨어 아키텍처는 훌륭한 소프트웨어를 만들기 위한 집합체이다 * 소프트웨어 아키텍트는 하루아침에 만들어지지 않는다. 읽는 대로 조금씩 정리해 보고자 한다. https://blog.naver.com/sorisan2/223444624443

재직자가 좋아한 글

🕊️[Medium] Postgres vs MySQL  |  간단히 말해, 두 데이터베이스의 주요한 차이점은 기본 인덱스와 보조 인덱스를 구현하고, 데이터를 저장하고 업데이트하는 방법으로 요약됩니다. 이에 대해 더 살펴보겠습니다.  MySQL 기본 인덱스에서 값은 모든 속성을 포함한 전체 행 객체입니다. 그래서 기본 인덱스를 클러스터형 인덱스(clustered indexes) 또는 인덱스-조직형 테이블(index-organized table)이라고 부르는 경우가 많습니다. 즉, 기본 인덱스는 테이블입니다.   기본 인덱스에서 키를 조회하면 키가 존재하는 페이지와 해당 키의 값(즉, 전체 행)을 찾을 수 있어 추가 열을 가져오기 위한 추가 I/O가 필요하지 않습니다.   보조 인덱스에서는 키가 인덱싱된 열(들)이고 값은 실제 행이 위치한 곳을 가리키는 포인터입니다. 보조 인덱스 리프 페이지의 값은 주로 기본 키입니다.   MySQL에서는 모든 테이블에 기본 인덱스가 있어야 하며, 모든 추가 보조 인덱스는 기본 키를 가리킵니다. MySQL 테이블에 기본 키를 생성하지 않으면 시스템이 이를 생성합니다 PostgreSQL PostgreSQL에서는 기본 인덱스가 없으며, 모든 인덱스는 보조 인덱스이고 시스템이 관리하는 데이터 페이지의 튜플 ID를 가리킵니다. 힙에 로드된 테이블 데이터는 기본 인덱스 리프 페이지와 달리 정렬되지 않습니다. 따라서 행을 1-100까지 삽입하고 모든 행이 동일한 페이지에 있을 때, 나중에 120번 행을 업데이트하면 이 20개의 행이 다른 페이지로 이동해 순서가 뒤바뀔 수 있습니다. 반면 클러스터형 기본 인덱스에서는 키의 순서를 만족하는 페이지로 삽입해야 합니다. 그래서 PostgreSQL 테이블은 "힙 조직형 테이블(heap organized tables)"로 자주 불립니다.   PostgreSQL에서는 업데이트와 삭제가 실제로 삽입입니다. 모든 업데이트나 삭제는 새로운 튜플 ID를 생성하고, MVCC(Multi-Version Concurrency Control) 이유로 기존 튜플 ID는 유지됩니다. Processes vs Threads MySQL은 스레드를 사용합니다. 이는 여러 이유로 효율적일 수 있습니다: * 경량성: 스레드는 프로세스보다 가벼워서 시스템 자원을 덜 사용합니다. * 메모리 공유: 스레드는 부모 프로세스의 가상 메모리 주소를 공유하므로 메모리 사용 효율성이 높습니다. * 컨텍스트 스위칭: 스레드 간의 컨텍스트 스위칭은 TLB(Translation Look-aside Buffer)를 무효화하지 않기 때문에 상대적으로 빠릅니다. 이는 메모리 매핑이 동일하기 때문에 메모리 접근이 더 효율적입니다. PostgreSQL은 프로세스를 사용합니다. 이는 스레드 기반 접근 방식과 비교하여 다음과 같은 장단점이 있습니다: * 독립성: 각 프로세스는 독립된 가상 메모리를 가지므로 하나의 프로세스가 크래시하더라도 다른 프로세스에 영향을 미치지 않습니다. * PCB vs. TCB: 프로세스 제어 블록(PCB)이 스레드 제어 블록(TCB)보다 크지만, 이는 프로세스가 독립된 자원과 환경을 가지고 있기 때문입니다. Summary 각 데이터베이스 시스템의 장단점을 이해하고, 여러분의 사용 사례와 쿼리에 맞는 시스템을 선택하는 것이 중요합니다. MySQL의 스레드 기반 접근 방식은 가벼운 메모리 사용과 빠른 컨텍스트 스위칭을 제공하는 반면, PostgreSQL의 프로세스 기반 접근 방식은 더 높은 독립성과 안정성을 제공합니다. 따라서 어떤 데이터베이스가 더 적합한지는 사용자의 특정 요구 사항과 환경에 따라 달라질 수 있습니다.   결론적으로, 어떤 데이터베이스 시스템이 더 좋다고 단정 지을 수는 없습니다. 각각의 데이터베이스 시스템이 제공하는 기능과 성능을 이해하고, 여러분의 필요에 가장 적합한 것을 선택하는 것이 중요합니다. 번역: [https://ducktopia.tistory.com/128] 원문:

좋아요 124 저장 222

thumbnail