1120 그리니의 미생

Lilac00xx·2024년 11월 20일

그리니의미생

목록 보기
5/8

오늘 안적으려 했는데, 유퀴즈 보다보니 적고 싶어졌다.

어제 글과 달리 오늘은 나의 '고'기압적인 모습이 많이 나올거 같다.

어려워했던 상수화를 오늘로
이렇게,,

괜히 오후에 혼자 실실 거리며 웃고있었다.

아침에 체해서, 점심도 못먹느라 오늘 하루가 많이 진이 빠질거 같았는데 오후 3시에 나에게 이런 행복한 일이 생겨서, 웃었다.

주말에 샀던 새옷을 꺼내고,여행가서 산 새신발을 꺼내고, 모두 첫개시로 행복한 출근길을 걸었다.
친구랑 저녁에 통화했는데, 오늘 어땠냐고 물어보더라. 그래서 영상통화로 내가 입고 있는 모습을 보여줬는데,

나보고 '내가 널 지난달에 봤는데 나 모르게 1일이 될 에피가 있었니'

'아 일이랑 1일된지 벌써 10일이야. 사람이랑은 가능성 없으니 걱정말고 저리가.'

이에 대한 답으로. '친구의 웃음벨은 나인걸로 ㅋ'

ㅋㅋ약속도 없이, 아침부터 예쁘게 꺼내서 입고 6시 10분인가에 가방챙겨서 바로 집으로 온 이 바른생활. 어디라도 들렸다올걸..

바름이라고 닉네임을 지을까. (위 사진아이가 바름이)


어제는 나에 대한 자책이 많이 심했던 '악의 기운'이 깔려있었고, 이를 보시고 해결해주셨다.

어제 들었던 말중에 '본인한테 화가 많은것 같다' 사실 내가 요즘 느끼는것. 나를 사랑해줘야되는데 왜 나를 힘들게 할까.

사실 원래, 난 나에 대한 자책 거의 없었는데 흠 딱 기억나는 순간이 있더라면,
올해 있는 일이다.

상반기에 부트캠프 시절에 어떤적이 있었냐면 시험을 봤는데 점수제였던 적이 있다. (100/ 90/ 80 /70 /과락) 이때가 시작하고 한달인가 지났고 자바 전체 범위였다. 예문을 통으로 외우고, 시험봤는데 선생님이 아주 좋은 점수를 말씀해주셨다.

근데 그때 여러명이서
'쟤는 50점이어도, 선생님이 노력이 가상해서 저 점수로 말해줬을거야' 라고 하는걸 듣고,
'더 잘해야돼 100에 안주하면 안된다.' 라는 생각이 강해졌고, 100으로 인정을 받으려면 150점 200점을 해야겠다. 라고 다짐했다.

이때를 시작으로 무슨일만 있으면 위 사진과 같은 생각이 들었다. 오늘 유퀴즈 서현진 배우님 편보고, 나와 많은 부분이 닮아있었다. 내가 좋아하는 사람은 나랑 항상 비슷하더라.

그냥, 남 신경쓰지말고, 재밌게 공부하기.

어제 든 생각이 여러개인데,

  1. 사회는 더이상 점수제가 아니다. 되면 다음단계로 넘어가는거고 안되면 해결하고 넘어가면 되는것.
  2. 어려우면 해결해줄 든든한 사람들이 옆에 있다는것.
  3. 일하다 잘안되면 기분이 안좋을수 있다. '나'-'업무'=0이 아니니까, 안되는것에 좌절하지말고, 잠깐 환기할것.
  4. 모르면 모르는대로, 알면 아는대로 부딪혀보고 배워나갈것.
  5. 신입에만 느낄 수 있는 이 감정에 자책하지 않고, 즐길것.

나의 이어려움을 항상 해결해줄 수있는 분이 옆에 계신다는게, 큰 행운이다.🍀

오늘 하루종일 물건 놓다가, 소리 크게 나면 약간 '바람이 닫았어'하는 그 느낌처럼, 물건 다시 들어서 몇번을 내려놨다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


그리고 여기서부터는 ! 직무회의 두둥

최근 개발 직무 회의에서 주제는 데이터베이스의 확장 전략이었다!

데이터베이스 확장의 필요성으로는

트래픽 증가: 사용자가 늘어남에 따라 데이터베이스에 대한 요청도 증가
성능 저하 우려: 고립된 성능 저하 시 서비스 품질에 부정적인 영향을 미칠 수 있다
비용 절감: 데이터 관리의 효율성을 높여 운영 비용을 줄일 수 있다

이렇게 있고, 데이터베이스가 터진다. 이거, 예를 들어보자면!

대규모 공연이나 스포츠 이벤트에서 티켓 판매가 시작될 때, 사용자 수가 급증하여 서버에 큰 부하가 걸린다. 이때, 데이터베이스의 성능 저하가 발생하면 티켓 구매가 원활하지 않아 고객 불만이 증가할 수 있다. 자리가 없는건지, 사람이 많은건지. 그냥 내가 운이 없는건지, ㅋㅋ

적용할 수 있는 확장 전략으로는 아래와 같당

수직 확장 (Vertical Scaling)

초기에는 서버 성능을 강화하여 대량의 요청을 처리할 수 있도록 한다. 예를 들어, RAM과 CPU를 증설하여 더 많은 요청을 동시에 처리할 수 있다.

샤딩 (Sharding)

사용자 요청을 지역별로 샤딩하여 데이터베이스의 부하를 분산시킨다. 예를 들어, 서울 지역의 사용자 요청은 서울에 위치한 데이터베이스로, 부산 지역의 요청은 부산 데이터베이스로 처리한다.

캐싱 (Caching)

자주 조회되는 티켓 정보(예: 공연 날짜, 장소 등)를 캐싱하여 데이터베이스 조회를 줄인다. Redis와 같은 캐시 서버를 사용하여 서버 부하를 감소시킬 수 있다.

복제 (Replication)

마스터-슬레이브 구조를 활용하여 읽기 요청을 슬레이브 데이터베이스로 분산시킨다. 이렇게 하면 마스터 데이터베이스의 부하를 줄이고, 더 많은 사용자 요청을 처리할 수 있다.

구체화된 뷰 (Materialized Views)

인기 있는 공연이나 이벤트에 대한 집계 정보를 구체화된 뷰로 저장하여 조회 속도를 높인다. 예를 들어, 특정 공연의 잔여 좌석 수를 미리 계산해두고 사용자 요청 시 빠르게 응답할 수 있다.

질문이 생겼다면,

향후 데이터베이스 기술 발전이 이러한 확장 전략에 어떤 영향을 미칠 것일지
AI 및 클라우드 컴퓨팅이 데이터베이스 확장 전략에 미치는 영향은 무엇일지.

궁금하당


두개나 가져오셔서, 쓸게 참 많네요.. 열정 댑악.

우버의 데이터베이스 관리 전략 요약

  1. 데이터베이스의 중요성
    우버는 전 세계적으로 방대한 양의 데이터를 처리하는 서비스로, 데이터베이스는 이 시스템의 핵심. 사용자 요청과 차량 배차, 결제 시스템 등 다양한 기능이 데이터베이스에 의존한다.

  2. 데이터베이스 아키텍처
    마이크로서비스 아키텍처: 우버는 마이크로서비스 아키텍처를 채택하여 각 서비스가 독립적으로 데이터베이스를 관리하도록 한다. 이를 통해 전체 시스템의 유연성과 확장성을 높인다.

다양한 데이터베이스 사용: 우버는 여러 종류의 데이터베이스를 사용하여 각기 다른 요구 사항에 맞추어 최적의 성능을 발휘한다. 예를 들어, NoSQL 데이터베이스는 비정형 데이터를 처리하는 데 유리하다.

  1. 성능 최적화 전략
    샤딩: 위에 설명 같음.

캐싱: 부연설명 하자면, Redis와 같은 캐시 시스템을 활용하여 자주 조회되는 데이터를 메모리에 저장한다. 이를 통해 데이터베이스 호출을 줄이고 응답 속도를 개선한다.

  1. 데이터 일관성
    우버는 데이터의 일관성을 유지하기 위해 다양한 기법을 사용한다. 분산 시스템에서 발생할 수 있는 데이터 불일치를 방지하기 위해 트랜잭션 관리와 데이터 복제를 철저히 수행한다.

  2. 모니터링 및 튜닝
    우버는 데이터베이스 성능을 지속적으로 모니터링하고, 필요에 따라 튜닝을 진행한다. 성능 지표를 분석하여 병목 현상을 찾아내고, 시스템 전반의 효율성을 높이는 데 집중한다.

갑자기든 궁금증으로는

데이터베이스 선택의 기준이 뭘까 이다.

oracleDB, MySQL, NoSQL 등등 많은 SQL이 있는데 선택기준이 궁금하다.

사실 대체로, 위에서 쓰라는거 쓰니까 그간 생각없었는데 글 읽다보니까 궁금해졌당


다음으로는, 후보탈락도 있다 하셔서 이것도 정리를.. 진짜 많다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

shadcn/ui

shadcn/ui는 React 기반의 UI 컴포넌트 라이브러리로, 사용자 인터페이스를 쉽고 빠르게 구축할 수 있도록 다양한 재사용 가능한 컴포넌트를 제공한다.

디자인 시스템: 일관된 디자인 언어를 제공하여 UI 구성 요소의 일관성을 유지할 수 있다.
커스터마이징 가능성: 기본 제공되는 스타일을 바탕으로 쉽게 커스터마이즈할 수 있어, 개발자가 필요에 맞게 UI를 조정할 수 있다.
반응형: 다양한 화면 크기에 대응할 수 있도록 설계되어, 모바일 및 데스크톱 환경 모두에서 최적의 사용자 경험을 제공한다.

다음 후보는 Cursor IDE 였는데, 살짝 틀어서!

Cursor IDE와 Visual Studio Code (VSCode)의 차이점으로 해보겠습니당

UI
Cursor IDE) 사용자 친화적인 인터페이스를 제공하며, 팀 협업을 염두에 두고 설계되었다. 실시간으로 여러 사용자가 동시에 작업할 수 있는 기능 어필.

VSCode) 매우 유연하고 커스터마이징 가능한 인터페이스를 제공하지만, 기본적으로는 개인 개발자 중심으로 설계. 다양한 테마와 레이아웃으로 사용자 맞춤형 환경을 구성할 수 있다. (예쁘긴 함)

협업 기능
Cursor IDE) 실시간 협업 기능이 내장되어 있어, 팀원들과의 공동 작업이 원활하게 이루어짐. 코드 변경 사항을 실시간으로 반영하고 공유할 수 있다.
VSCode) Live Share 확장을 통해 협업 기능을 제공하지만, 기본적으로는 개인 개발 환경에 초점을 맞추고 있다. 협업 기능을 사용하려면 추가 설정이 필요하다.

확장성
Cursor IDE) 특정 기능에 최적화된 플러그인이나 확장성을 제공하지만, VSCode에 비해 제한적.
VSCode) 방대한 양의 확장 프로그램과 플러그인을 지원하여, 거의 모든 프로그래밍 언어와 프레임워크에 대한 지원을 추가할 수 있다. 커뮤니티가 활발하게 참여하여 다양한 도구를 제공한다.

요즘 vscode 플러그인 추가하는 재미에 빠졌다.

성능
Cursor IDE) 협업 기능을 강조하면서도 성능을 유지하도록 설계되었지만, 특정 상황에서 VSCode보다 느릴 수 있다.
VSCode) 경량 IDE로 빠른 성능을 제공하며, 대규모 프로젝트에서도 효율적으로 작동한다. 다양한 언어 지원과 기능을 제공하면서도 성능이 뛰어난다.

가격
Cursor IDE) 특정 기능이나 팀 협업 기능에 따라 요금제가 있을 수 있다. 무료 버전이 제공될 수도 있지만, 팀 단위로 사용 시 비용이 발생할 수 있다.
VSCode) 무료로 제공되며, 오픈 소스이기 때문에 누구나 사용할 수 있다.

슬슬 힘들다. 아니 진작에 힘들었다.


마지막!

https://github.com/naver/fe-news

심심할때 이거 보기.


끝. 개발직무회의 내용 다 작성했고, 추가가 필요하다거나 언제든 슬랙 주세욥.

분명오늘 6시 칼퇴했는데, 잔업 하고 있는 기분은 뭐지.
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

잠이나 자러가쟈.

profile
Challenge & Change

0개의 댓글