비전공자의 IT 기초 교과서로 알려진 책
3회독을 했지만 그럼에도 제대로 암기가 안되길래
정리를 해 봤다.
개발자
- 컴파일러에게 프로그래밍 언어를 통해 문서로 일을 시키는 사람
- 개발자 구분 : 프로그래머/운영자
- 언어로 일을 시킬 때(=코딩) 쓰는 프로그램 = IDE(통합개발환경)
*안드IDE : 안드로이드스튜디오
*애플용 IDE : 엑스코드
프론트엔드/백엔드
- 파일을 받길원하는 폰, 컴 = 클라이언트 = 앱,웹 개발 = 프엔
- 파일을 주는컴 = 서버,db개발 = 백엔
- 개발자 사용 사이트 : 깃,프레임워크,라이브러리
네트워크 구성
- api(json), + 이미지처리
상위카테고리
- 운영체제: 안드로이드, ios,리눅스
- 웹 : 브라우저,부트스트랩, css, html
- 프레임워크 및 라이브러리 : angular.js,
express.js, react.js
* 라이브러리) 도구의 집합 , 클래스에서 호출/클래서에서 나열
* 프레임워크) 소프트웨어 구체적인 기능의 설계와 구현을 재사용 가능하도록 협업화 형태로 제공, 개발자가 개발로 매듭지어야 사용가능
ㄴ스프링 프레임워크)자바개발을 편리하게 해주는 오픈소스수준의 애플리케이션 전체를 포괄하는
경량 프레임워크
*스프링 상세 설명 : https://steady-coding.tistory.com/457
프로그래밍언어
- 대표적 언어 : java, php, 파이썬
- db : mysql, rdb, 테이블, mariaDB
직군구분 용어
- 앱개발 : java, android, ios, swift
- (언어는X) 네크워크 : api(매개체), json(형식)
- 서버개발 : 리눅스,우분투, node.js
- DB개발 : mysql,mariaDB, RDB
- 안드로이드 제작 : java
- 웹 서버 : html, php, jsp, javascript
서비스기획용어
- 와이어프레임 : 앱과 웹 구성과 동작을 기획한 문서
메모리
- cpu의 개인 작업 공간
운영체제(OS) : 프로그램 실행 모든 과정을 대신해주는 소프트웨어
- 윈도우, mac, ios, 안드로이드
- 애플os용 프로그램어 = objecive-c, 스위프트
- 안드os용 프로그램어 = java, 코틀린
콘셉트 소프트웨어(os독립언어)
- jvm : java 언어로만 만들면 각기 다른 운영체제별 프로그램 제작 필요없이 사용가능
- 파이썬 : 파이썬 언어로만 만들면 각기 다른 운영체제별 프로그램 제작 필요없이사용가능
*단 웹에만 적용되며, 모바일은 운영체제가 ios와 안드이므로 다르다
프로그래밍 언어수준
- 저수준(컴친화적) : 구체적인 명령 필요, c언어
- 고수준(인간친화적) : 자바, 파이썬
리눅스
- 서버를 돌리는(요청응답) 운영체제
- 하드웨어 직접 컨트롤 안해도 되게 함
- 가장유명한 버전은 우분투, 레드햇
- 그래픽UI가 붙지않아 명령어 습득 필수
AWS
- 서버컴 대여, SaaS
IDE
- 자주 쓰이는 단어,문장 추천, 코드의 그림화 등 개발자 작업을 돕는 통합 개발 환경 프로그램
- EX) 안드로이드스튜디오/Xcode(애플)/PyCharm(파이썬)
API
- 라이브러리 접근을 위한 규칙적용 통신규약
- 메소드(클라의 crud 요청) 구분 및 응답체계, 응답에 데이터를 담아 받으면 api의 요청이 완성됨
ㄴ 개발자에세 중요한것이 crud이므로 해당 관점 기획 필요 (만들기,읽기,업뎃,제거)
ㄴ메소드를 보내기 위해 필요한 파라미터(변수)를 정의
- SDK : api를 제공해주는 타소프트웨어 (EX - 구글 지도를 SDK가 제공하는 API를 통해 티스토리 블로그에 사용)
- 자주쓰이는 crud문
• create = post
• read = get
• update = put (전체) / patch(부분)
• delete = delete
ㄴ 각 요청은 주소를 가지고 서버의 기능을 원하는 클라이언트는 해당 주소로 요청을 보내면 됨
- 자주쓰이는 코드 번호 : 200번대(성공)/400번대(클라요청 문제)/500번대(서버 문제)
- 서버주소/A 형식을 명령 형성 (= 백앤드가 개발)
- 데이터 주고받는 기능 보유
- restapi : 체계적인 총괄관리 목적
- api 작성 돕는 서비스 : 깃북
API문서
- 클라/서버 종속 컨텐츠 확인
- 클라에 데이터 존재 : 오프라인에서도 동작하는 프로그램, 로컬/내부DB/네이티브 위치
- 백엔드에 데이터 존재 : 온라인에서 동작하는 프로그램, 서버/API/DB 위치
*콘텐츠 성격따라 클/서 중 위치 설정
GIT
- 서비스의 상태코드를 수정복구 하기 편하게 소스 코드를 단계별로 저장하게(=커밋) 돕는 프로그램
- 브랜치 : 기존 개발이 아닌 새 개발 방향 추가시 기존 것에 커밋하여 새것에 영향 없이 새작업 진행
- 머지 : 코드를 겹치지 않게 합침, 원격저장소(깃허브/비트버킷)에 커밋된 결과를 보내 코드 충돌을 최소화 하면서 합침
데이터를 담는 형식 JSON
- 다양한 응답을 한개의 형식으로 변환하여 다양한 정보를 담아두어 편리
- XML보다 상향의 버전
- 중괄호로 시작하여 키와 값을 :로 구분, 키-밸류 구성
EX - {아이디, 요청일자, 다른정보 - vvchch0709,20220808,강아지}
웹
- 모든 사이트의 완성본은 서버에 저장되고 사본으로 보여짐
- 수정이 용이함 = 매번 HTML/CSS/JavaScript 를 다운 받음 = 네트워크 영향 큼
HTML
- 어떤 운영체제든 작성가능한 일정한 형식으로 문서를 적는 언어
- 태그는 정보표현, 다른 문서로 이동 실현
- HTML제작작업(마크업) 후 CSS를 통해 표면 디자인을 함(퍼블리싱)
JavaScript
- HTML/CSS가 구현하지 못하는 고수준 형식 구현(응답)의 프로그래밍 언어
앱
- 네크워크영향 적음
반응형 웹
- 브라우저 가로 넓이에 반응하여 구성 요소가 변하는 앱/웹 둘 다 적용 가능한 기술
- 각각의 CSS 적용이 아닌 공통 CSS 바탕하여 레이아웃 위주 디자인 구현
웹앱
- 모바일 환경 최적화 한 껍데기만 앱인 실제 웹
- 장) 빠른 개발 구현, 높은 호환성
- 단) 플랫폼 API 사용 불가
네이티브 앱
- 스위프트/Objective C(ios), JAVA/코틀린(안드)
- 정해둔 언어를 사용해 운영체제 자체 기능 사용
하이브리드 앱
- 앱의 특정 부분에 브라우저를 올림 => HTML 파일을 불러올 URL을 설정 => 브라우저가 해당 HTML 및 유관 파일을 불러옴 => 해당 부분 구성 형태가 HTML/CSS/JavaSCript
- 장) 수정이 필요하면 브라우저 위 HTML/CSS/JavaSCript 만 수정하면 됨
- 단) 큰 네트워크 의존성, 각 플랫폼에 대한 API를 사용하기위해 각각 전문적인 개발자 필요
DB의 속성
- 무결성 : 데이터는 결점이 없어야 함
- CPU와 매모리로 관리 시스템을 실행
- 관계형 데이터베이스(RDBMS) : 고유번호를 가져 겹치지 않고 연결되어 한부분 수정시 전체 적용
ㄴ MYSQL/오라클/MariaDB
프레임 워크
- 개발을 위한 타인이 만들어둔 기본 도구들 모음
= 라이브러리 + 코드
- (특정 운영 체제 소유하 구성) 앱용 프레임워크 : appkit/ukut
- 웹용 프레임워크 : Angular.js/React.js 등
- 서버용 프레임워크 : Spring(자바)/장고(파이썬)/레일스(루비)
협업하기
- 스케치/재플린/XD : 디자이너 결과물의 수치를 보여주는 가이드 자동 생성 프로그램
- HIG(애플)/Material Design(구글) : 해당 프레임워크에서 제공하는 가이드 문서
* 두 가이드를 자세히 비교분석한 포스트 https://www.theteams.kr/teams/371/post/64210
API분석
- 개발자에게 수정을 요청하기 전 프/백 구분이 중요함 => API문서를 통해 위치를 확인하면 됨
- GET정보를 정확하게 해석하는 능력 필요
- 장소/일자/필요포지션/버튼수정/삭제텍스트/상단바이미지까지 체킹 필요
- 웹이 하이브리드/네이티브/웹 인지도 구분 필요
- 분석결과를 문서화하여 머리에 집어넣기
'관련 도서 및 지식 > BOOK' 카테고리의 다른 글
UX가 중요한 이유 - 일단 해보라구요? UX (0) | 2023.06.01 |
---|---|
그림으로 이해하는 AWS 구조와 기술(2) : VPC서비스를 중심으로 (0) | 2022.12.16 |
그림으로 이해하는 AWS 구조와 기술 : 서버 개념을 중심으로 (0) | 2022.12.16 |
네트워크 이해하기 (책 : 그림으로 배우는 HTTP NETWORK Basic) (2) (0) | 2022.12.16 |
네트워크 이해하기 (책 : 그림으로 배우는 HTTP NETWORK Basic) (1) (1) | 2022.12.16 |