728x90

분류 전체보기 100

[스타트업 연계] 캐싱 프록시 서버 프로젝트 간단 회고

시놀 | Notion기간: @2023/11/20 ㅡ @2024/01/05 [7주]softsquared.notion.site해당 스타트업에서 요청한 요구사항에 따라 SI 외주 업체의 입장에서 진행배경현재 운영중인 메인 서버는 JavaScript 기반으로 로직을 동기적으로 처리하고 있어서,향후 트래픽 증가에 따른 지연 증가에 적절히 대처할 수 없다고 한다.캐싱 프록시 서버 도입현재 운영중인 메인 시스템의 Spring/Java로의 migration 전에 성능 개선을 위해 도입할 수 있는 부분을 고민했다고 한다.결과로 제안된 것이 캐싱 서버이다. 현재 시스템은 monolithic한 구조로 모든 요청은 프록시 서버에 전달된다. 이러한 시스템 구조는 SPOF 문제가 있으므로 Nginx 또는 k8s를 활용하여 다중 ..

Learn/ASAC 2024.01.14

객체지향 특징 - 캡슐화, 정보 은닉

인터넷에서는 4가지만 나와있는데, NCS에서는 5가지를 정의하고 있다.보통 '정보 은닉'은 캡슐화의 부차적인 기능 정도로 생각했는데, 이를 직접적으로 명시한 의도는 무엇일까?2번 항목을 보고 아래의 내용이 떠올라서 책을 다시 폈다.로버트 마틴의 '클린 코드'에서는 이런 내용이 있다.변수를 private로 정의하는 이유가 있다.남들이 변수에 의존하지 않게 만들고 싶어서다.충동이든 변덕이든, 변수 타입이나 구현을 맘대로 바꾸고 싶어서다.그렇다면 어째서 수많은 프로그래머가 getter/setter로 비공개 변수를 외부에 노출할까? 만약 어떤 클래스가 생성 시에 참조하는 모든 클래스의 인스턴스를 매개변수로 넣어주어야 한다면,또 공개된 메서드에는 매개변수도 많고, 오버로딩에 따른 차이가 극명하다면...과연 해당 ..

Tip 2024.01.11

이력서 작성 요령

Target Company Uniform format Brief Description NCS-like Expression Strategic Thinking 1. Target Company 희망하는 기업에 대한 기준 정하기 개인 우선순위(연봉, 거리, 도메인, culture-fit) 성장성(사원 수 변화 추이, 매출액, 투자 유치, R&D 투자 비율) 안정성(설립일 5년 이상, 재무 안정성, 이직률) Career Path: Top-Down Planning Domain별 특징 고려 '경력직' 중심으로 채용하는 기술 집약적 기업에 도달하기 위한 계획 목표 기업에 대한 내용 조사 및 정리는 단시간에 완성할 수 없음 2. Uniform format 문서 형식 통일 Font: 맑은 고딕, 나눔 스퀘어, 10pt 자..

Tip 2024.01.08

시간 활용에 대한 고찰

평소 효율적인 시간 활용에 대해 관심이 많다. 변화하는 과정 중에서 얻는 통찰을 기록할 예정이다. 2023/12/23 원활한 관리를 위해 표 형식으로 전환. 비유적인 표현을 사용하며 소요되는 불필요한 검증 시간을 줄이기 위해 보다 명확한 어휘로 전환. 시간 활용 전략 체크리스트 0. Passive: 조사(독서, ), 경험, 시뮬레이션, 메타인지-자기객관화 1. 목표: 우선순위, 가치관, 신념, 책임, 의무, 작업 속성(일회성, 일관/지속적) 2. 기한: 중요도, 버퍼, 방법론(폭포수, 애자일) 3. 집중 3-1. 상태(내부. 피로도) 3-1. 상황(외부. Using single core CPU: 멀티스레딩 여부, 스레드 수, 컨텍스트 스위칭 빈도) 3-2. 환경(외부. 가변 인자 개수, 통제 가능 여부,..

Insight 2023.12.23

[Python] BOJ 18258번: 큐 2

18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 어려운 문제는 아니지만, 참고할만한 내용이 다수 있어서 가져왔다. 1차 시도 코드 더보기 import sys INs = list(map(lambda x: x.split(), sys.stdin.readlines()[1:])) Q = [] for IN in INs: cmd = IN[0] if cmd == 'push': Q.append(IN[1]) elif cmd == 'pop': print(-1 if len(Q) < 1 else Q.pop(0..

카테고리 없음 2023.07.22

[Python] BOJ 1874번: 스택 수열

1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 배경 특별히 문제가 어렵다는 것은 아니고, 문제에 기술된 정의 그대로 자료구조를 설계한다는 목적에 사로잡혀 최적화를 놓친 경우를 기록하고자 한다. 1차 시도 코드 전문 더보기 import sys arr = list(map(int, sys.stdin.readlines())) IN = [n for n in range(1, arr[0] + 1)] stack = [0] res = [] f..

Tip 2023.07.21

[ASAC] 팀 프로젝트 대비 생산성 도구 정리

웹 디자인 Web Design: UX Tools Research 2022 Design Tools Survey - Introduction Find your next tool from the responses of thousands of designers around the world. uxtools.co 사용 후기 Figma ⭕ 공동 작업이 가능하다. FigJam board에서는 개발자들 또는 팀원들의 초기 브레인스토밍 단계도 지원한다. 디자인 작업은 높은 수준의 고도화가 진행되었다는 느낌을 받았다. 특별히 큰 규모의 UI 설계 작업에 유리할 것 같다. ❌ Figma Prototype으로 간단한 화면 전환 구현이 가능하다. 단, 간단히 사용해 본 결과로는 각 컴포넌트의 애니메이션은 지원하지 않는 것 같고,..

Learn/ASAC 2023.07.20

[Khan Academy] Modulo Operation

학습 배경 17466번: N! mod P (1) 양의 정수 N과, N보다 큰 소수 P가 주어질 때, N!을 P로 나눈 나머지를 구하여라. www.acmicpc.net 소수 P에 대해 N! mod P를 구하는 문제이다. 이를 빠르게 계산하려면 곱 연산과 모듈로 연산 간의 관계를 이해할 필요가 있다고 생각했다. 다행히 이를 배울 수 있도록 친절하게 구성된 사이트가 있었다. 학습 모듈로 연산이란? (개념 이해하기) | 암호학이란? | Khan Academy 수학, 예술, 컴퓨터 프로그래밍, 경제, 물리학, 화학, 생물학, 의학, 금융, 역사 등을 무료로 학습해 보세요. 칸아카데미는 어디에서나 누구에게나 세계 최고의 무료 교육을 제공하는 미션을 가진 ko.khanacademy.org 나머지 정리: 피제수가 양수..

Learn 2023.07.19

[Python/pandas/scikit-learn] 빅데이터 분석기사 실기 유형2 풀이 샘플

코드 전문 더보기 import pandas as pd from sklearn.ensemble import RandomForestRegressor from sklearn.model_selection import cross_val_score def load_data(): ws = "data/big-data-analytics-certification-kr-2023/" trn = pd.read_csv(ws + "train.csv") tst = pd.read_csv(ws + "test.csv") sample_submit = pd.read_csv(ws + "sample_submission.csv") print(sample_submit) return trn, tst def EDA(trn, tst): df = pd.c..

Tip 2023.07.17
728x90