090.00 a

Description: A book review of what a Korean IT developer wishes she had known before entering the field. I especially appreciated the use of analogies to help me understand because it's the way I usually deliver content, so I could relate to it and understand it better. Helpful for my next action item. Felt like it was a lot of compressed knowledge in one book. Will need some time to digest the knowledge.

#000#IT_Knowledge#090#External_Insights_an_Trends#090.00#Publications#090.00 a#Developer_Trivia,_Things_You_Should_Have_Known_Before_You_Became_a_Developer

https://ebbnflow.tistory.com/
개발자상식 - 개발자가 되기 전에 알았어야 할 것들 -
박민경 지음

읽은 목적

기술적인 CS 개념을 얻기 위해 파편화된 개념들을 실제 연차가 있는 개발자가 통합하고 필요한 부분만 정리된 지식을 습득할 것이라 예상

읽은 후

실제 기술적인 부분이 정리가 된 것은 물론이고 뉴스레터나 개발 블로그, 사이드 프로젝트등 기술외적인 부분도 많이 배움.
특히 비유를 적절히 사용하여 이해를 도운점이 평소 내가 내용을 전달하는 방식과 같아 공감하고 잘 이해할 수 있었음
넥스트 액션아이템에 대해 도움이 됨

한 책에 담기에 꾹꾹 눌러 담은 압축 지식이라고 느낌. 해당 지식을 소화하려면 시간이 좀 필요할 것 같음.

요약

  1. 서로 다른 개발 문화
    개발자 다이어그램 소스코드+업무 능력=코더 , 코더+컴퓨터 시스템 이해= 프로그래머, 프로그래머+수학적 지식= 개발자
    개발 소통=업무능력. 특히 옆의 다른팀에서 들리는 기획과 갑자기 달라지는 경우를 생각해서 공감
    포지션로드맵 kamranahmedse 깃헙

  2. 프로그래밍 언어를 선택할 때
    목적에 따른 언어선택
    컴파일언어 인터프리터언어( 컴파일 타임, 런타임)
    절차지향 명령어 함수형 선언혐 객체지향
    정적 파일 언어 동적파일언어

  3. 라이브러리? 프레임워크?
    오픈소스 개발참여공유
    라이센스
    라이브버리와 프레임워크 제어의 역전.
    협업툴 지라 깃 슬랙 컨플루언스

  4. 같은 결과 다른 소스 코드
    협업을 위한 가독성 코드의 필요성
    클린 코드<->나쁜 코드(너무 김, 다중 중첩문, 중복,난해한 변수, 높은 종속성)
    리팩토링(방정리) 기능 로직은 그대로. (리호스트, 리팩토링, 리아키텍트, 리빌드)
    리팩토링 방법 함수분리,클래스이동, 중복조건식 통핮제어플래그
    문자 컨벤션 파스칼케이싱, 카멜 케이싱,스네이크 케이싱, 상수
    PEP8
    디자인패턴 응집도높게,결합도낮게,변경시 코드수정최소화 Gof
    생성 구조 행위
    생성은 차구매와같은 객체의 생성
    구조는 여러 객체를 합성
    행위는 객체 사이의 연결이 메인

  5. 컴퓨터를 물리적으로 바라보자
    중앙처리장치 CPU (제어장치, 연산장치, 레지스터)AI에서 GPU를 쓰는 이유가 ALU가 더 많기 때문
    기억장치(내부 및 외부 장치)
    입출력 장치
    시스템버스 (제어버스, 주소 버스, 데이터 버스)

데이터처리 저장,이동,제어
코드영역,데이터 영역 힙 영역,스택영역,

2진수 표기법

자료구조
선형: 리스트, 연결리스트선형리스트 스택,큐
비선형: 트리, 그래프
시간복잡도

  1. 운영체제, 네트워크, 데이터베이스
    운영체제 비유 Mac 윈도우 리눅스 리눅스중에서도, mac중에서도 버전 및 arm 차이
    주방특선, 호텔뷔페, 가정식
    하드웨어 커널 셀 사용자

다중 프로그래밍 시스템, 다중처리시스팀, 분산처리 시스템
네트워크 프로토콜,osi7 + 포트
인터넷
데이터베이스 스키마 인스턴스 쿼리
ACID 트랜잭션
비관계형 데이터베이스
Key value, graph,
중뇨한 차이는 관계가 정의돼있냐, 즉 테이블이 다른 테이블 참조가능한지
높은부하 복잡한 쿼리 드문 데이터구조 변경 ,vs 반대

  1. 웹 서비스와 앱 서비스
    웹 앱 장단점
    모바일웹 웹에서 크기만 줄임
    웹앱 모바일웹보다 모바일 환경. 최적화
    네이티브앱
    하이브리드앱 웹앱에다 일부는 네이티브앱으로 구현

웹개발자
적응형웹과 반응형 웹, 디바이스별 페이지 vs 한페이지
프론트 벡엔드 언어와 프레임워크
안드로이드, IOS

공통 지식 특화지식 웹앱 개발역량웹앱 개발역량
개발지식
웹앱 특화지식

  1. Git
    형상관리 중요성
    중앙 저장과 분산 저장
    Git 튜토리얼
    GitHub이란 gitignore
    GitLab 권한관리 토큰
  2. 클라우드와 분산환경
    주니어로서 충분한 이해
    사용한만큼, 탄력적으로, 관리를 줄임, 다양한 서비스를 플러그인처람
  3. 성장하는 개발자가 되기 위한 필요 충분 조건
    목적, 이론 구현 주기 짧게,복붙? ,도메인 감
    커뮤니티

뉴스레터

행사

  1. AI,메타버스,블록체인