본문 바로가기

knowledge

(11)
[1일 1로그 100일 완성 IT 지식] 시작하며, IT 지식은 전공에도 필요하지만, 기본 상식으로도 알고 있어야 한다고 생각한다. '데이터'를 주로 다루는 전공이기에 해당 지식을 탄탄히 하고 나아가 '하드웨어', '소프트웨어', '통신'에 대한 개념을 알고자 이 책을 읽어본다. 서론 (들어가며 및 서문) 현대에서 컴퓨팅 기술은 어디에나 존재하고, 뗄 수 없는 존재가 되었다. 생활을 편리하게 만들어준 것이 확실하지만, 그 이면에는 수많은 위험이 도사리고 있다. IT 지식을 알고 위험을 대처하는 것과 모르고 위험을 맞는 것은 천지 차이이다. 또한 어디에서나 사용되기 때문에 기본적인 상식을 가지고 있어야지 더 나은 삶을 살 수 있다. 앞으로 무궁무진하게 발전할 기술을 이해하고 있다면 미래의 시스템이 제시하는 도전과 기회에 대처하는 데 더 유리한 위..
[혼자 공부하는 얄팍한 코딩 지식] CH02-5. 프론트엔드와 백엔드 프론트엔드와 백엔드 프론트엔드: 브라우저, 즉 클라이언트 컴퓨터에서 작동하는 부분 (사용 언어: HTML/CSS, JS,타임스크립트) 백엔드: 서버에서 작동하는 부분 (사용 언어: Java, Python, C#, PHP 등) 프레임워크 프레임워크: 프로그램 제작 키트 (파이썬 - 장고, 플라스크 / 자바 - 스프링 등 / 프론트엔드 - 앵귤러, 뷰, 리액트) 라이브러리: 특정 기능을 수행하는 소프트웨어 조각 API 프로그램 간의 소통을 위해 만들어진 신호 체계 ※ REST API: 보편적으로 공유되는 방식 XML: 태그로 이루어짐 JSON: {}, " ", [] 등으로 이루어짐. XML에 비해 구문이 간단하고 높은 가독성을 가지고 있음. YAML: \사람이 이해하기 쉬운 형태로 구성된 표기 방식 AJAX..
[혼자 공부하는 얄팍한 코딩 지식] CH2-4. 모바일 애플리케이션 네이티브 앱 안드로이드 버전과 iOS버전과 같은 운영체제에 맞는 앱을 각각 개발하는 방법. 장점: 작동하는 기기에 최적화된 형태로 개발되기 때문에 각 스마트폰의 모든 기능을 사용하고 성능 또한 최대치로 사용할 수 있다. 단점: 인력과 시간이 많이 소요된다. 스토어의 심사를 각각 받아야하기 때문에 앱을 공개하거나 업데이트할 때 까다롭다. 컴퓨터로는 접속이 불가능하다. 크로스 플랫폼 같은 소스 코드로 안드로이드 버전과 iOS 버전에서 모두 작동할 수 있는 앱을 만드는 개발 도구. 장점: 네이티브 앱으로 제작하는 것보다 더 쉽고 적은 자원으로 애플리케이션을 제작할 수 있다. 단점: 성능의 한계가 있고, 기기의 활용도 떨어진다. 업데이트할 때마다 스토어의 심사를 각각 받아야 한다. 웹 앱 반응형 또는 적응형 방..
[혼자 공부하는 얄팍한 코딩 지식] CH02-3. 데이터 저장 쿠키 브라우저에 저장하여 웹사이트 이용을 편리하게 해주는 것. 제 3자가 조회하는 것도 가능하기 때문에 보안 상 민감한 정보를 저장하는 데에는 적합하지 않다. 세션 서버에 로그인을 하면, 서버는 세션 아이디를 사용자에게 전달한다. 사용자는 서버로부터 전달받은 세션 아이디를 쿠키로 저장한 다음 요청을 할 때마다 함께 전달한다. 서버가 요청을 받으면 메모리에 저장된 세션 아이디를 확인하여 해당 사용자를 확인한다. 장점: 사용자의 상태를 원하는대로 통제 가능 단점: 메모리에 사용자의 상태를 보관하고 있어야 함. 토큰 해당 서버만이 만들 수 있는 토큰을 발급하여, 상태를 저장하지 않고 토큰을 검증하는 것만으로도 사용자를 확인할 수 있다. 장점: 상태를 따로 기억해두지 않아도 됨. 단점: 사용자의 상태는 토큰이 ..
[혼자 공부하는 얄팍한 코딩 지식] CH02-2. 웹사이트 웹 브라우저 ex) 구글 크롬, 마이크로소프트 엣지, 애플 사파리 웹사이트를 여는데 사용되는 소프트웨어. html 확장자를 가진 문서를 읽는데 사용된다. HTML HyperText Markup Language → 마크업 언어. 태그를 사용하여 어떤 요소를 어떻게 놓을지 배치하는 설계도. CSS 스타일 언어(style sheet language) 특정 요소들의 디자인 속성을 지정해주는 역할 Java Script 동적인 기능을 구현하는 프로그래밍 언어 "각 요소를 배치하고 (HTML), 요소를 꾸미고(CSS), 요소에 기능을 넣어준다(Java Script)." 더보기 해당 예시는 GitHub에 올려 놨다. https://github.com/imyunhee/front-end.git GitHub - imyunh..
[혼자 공부하는 얄팍한 코딩 지식] CH02-1. 서버, 클라우드 컴퓨팅 서버 데이터를 주는 서버와 데이터를 받는 클라이언트 데이터 센터(IDC): 수많은 서버용 컴퓨터가 모여 있는 곳. 서버 호스팅: 서버용 컴퓨터를 대여해주는 서비스. 데이터 센터에 설치된 컴퓨터에 원격으로 접속해서 내 컴퓨터처럼 사용할 수 있도록 함. 온프레미스(on-premise): 회사에서 자체적으로 사내 전산실에 서버를 갖추고 관리하는 것. 클라우드 컴퓨팅 서버를 가상화하여 각종 편의 기능과 함께 필요한 만큼 사용할 수 있는 서비스. IaaS: 가상화된 서버 컴퓨터(서버용 인프라)를 대여해 주는 서비스. PaaS: 애플리케이션 개발에만 집중할 수 있도록 플랫폼을 제공하는 서비스. SaaS: 이미 만들어진 소프트웨어를 사용할 수 있는 서비스.
[혼자 공부하는 얄팍한 코딩 지식] 시작하며, '교보문고 광화문점'에서 구경을 하다가 나에게 필요할 것 같아서 샀다! 전공자이긴 하지만, 아직도 모르는 단어가 많아서 개념을 탄탄히 다지기 위해 이 책을 선택하였다. CH01. 개발자 이해하기: 개발과 개발자 용어 알기 개발자가 구현 하기부터 유지 보수 하기까지, 사용되는 기본적인 용어를 설명해준다. 아는 용어가 많았지만, 그래도 해당 용어들의 개념을 더 탄탄히할 수 있었다.
[혼자 공부하는 얄팍한 코딩 지식] CH01-4. 디버깅, 빌드 디버깅 프로그램에서 문제를 찾아 제거하는 작업. 포로그램을 실행하며 작동을 확인한다는 의미로도 사용된다. 개발자들은 코드를 입력하는 일보다도 작성한 코드를 계속해서 실행하고 테스트하면서 프로그램이 제대로 작동하는지, 기존 기능에 영향을 주지 않는지 살펴보는 디버깅에 더 많은 시간을 할애한다. 빌드 프로그래밍한 소스 코드를 묶어 실행 가능한 파일을 만드는 것. 빌드 번호: 출시되기 전 프로그램 버전. 테스트 단계에서 수정 및 업데이트 되는 내용을 빌드 번호로 구분. 디버그 빌드: 오류나 기능을 테스트하기 위해 빌드하는 것. 다소 무겁고 느림. 릴리스 빌드: 모든 개발이 끝난 후 배포하기 직전 점검하는 베타 버전. 가볍고 빠름. 버전 정보: 출시할 때 재품마다 매기는 번호. 출시 후 수정이 불가능한 정식 버..