전체 글(75)
-
객체지향 특징 - 캡슐화, 정보 은닉
인터넷에서는 4가지만 나와있는데, NCS에서는 5가지를 정의하고 있다. 보통 '정보 은닉'은 캡슐화의 부차적인 기능 정도로 생각했는데, 이를 직접적으로 명시한 의도는 무엇일까? 2번 항목을 보고 아래의 내용이 떠올라서 책을 다시 폈다. 로버트 마틴의 '클린 코드'에서는 이런 내용이 있다. 변수를 private로 정의하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶어서다. 충동이든 변덕이든, 변수 타입이나 구현을 맘대로 바꾸고 싶어서다. 그렇다면 어째서 수많은 프로그래머가 getter/setter로 비공개 변수를 외부에 노출할까? 만약 어떤 클래스가 생성 시에 참조하는 모든 클래스의 인스턴스를 매개변수로 넣어주어야 한다면, 또 공개된 메서드에는 매개변수도 많고, 오버로딩에 따른 차이가 극명하다면...
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 자..
2024.01.08 -
시간 활용에 대한 고찰
평소 효율적인 시간 활용에 대해 관심이 많다. 변화하는 과정 중에서 얻는 통찰을 기록할 예정이다. 2023/12/23 원활한 관리를 위해 표 형식으로 전환. 비유적인 표현을 사용하며 소요되는 불필요한 검증 시간을 줄이기 위해 보다 명확한 어휘로 전환. 시간 활용 전략 체크리스트 0. Passive: 조사(독서, ), 경험, 시뮬레이션, 메타인지-자기객관화 1. 목표: 우선순위, 가치관, 신념, 책임, 의무, 작업 속성(일회성, 일관/지속적) 2. 기한: 중요도, 버퍼, 방법론(폭포수, 애자일) 3. 집중 3-1. 상태(내부. 피로도) 3-1. 상황(외부. Using single core CPU: 멀티스레딩 여부, 스레드 수, 컨텍스트 스위칭 빈도) 3-2. 환경(외부. 가변 인자 개수, 통제 가능 여부,..
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..
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으로 간단한 화면 전환 구현이 가능하다. 단, 간단히 사용해 본 결과로는 각 컴포넌트의 애니메이션은 지원하지 않는 것 같고,..
2023.07.20