Computer Science (CS)/CS

Computer Science (CS)/CS

앱 종류 (웹앱 네이티브 하이브리드 SPA PWA 등)

프로젝트를 설계할 때네이티브로 할 지 하이브리드로 할 지 정하고는 하는데요대략적으로 어떤 개념인 지는 알지만어떠한 차이를 갖고 있는 지명확하게는 모르고 있어 포스팅하게 되었습니다. 1. 웹 애플리케이션(Web Application)애플리케이션에 대표적인 예로서는 웹 애플리케이션이 있습니다.웹 애플리케이션의 예로는 모바일 인터넷으로 www.naver.com 을 검색하면 나오는 네이버 화면과 같습니다다.주소로 접속이 가능하다.웹을 통해서 애플리케이션처럼 동작한다. 웹 애플리케이션의 장단점은 다음과 같습니다.장점단점앱 마켓 심사가 불필요하기에 실시간 업데이트가 가능하다.표준 웹 언어로 구현이 가능하기에 투자가 적다.카메라, 음성 인식 등 모바일 자체 기능 사용이 불가능하다.상대적으로 속도 및 안정성이 부족하다..

Computer Science (CS)/CS

컴파일 과정 이해하기

컴파일과 인터프리터의 차이를 공부하면서컴파일 과정에서 실행 파일을 만든다는 것을 알았어요.그럼 또 궁금하잖아요컴파일 과정이 어떤지 0. 과정컴파일 과정은 크게 전처리 -> 컴파일 -> 어셈블리 -> 링킹 과정을 거친다. 1. 전처리 (Pre-processing)컴파일은 사람의 언어를 기계어로 변경해주는 과정이다.기계에게 주석과 같은 사람의 언어를 필요도 없고 용량만 잡는 데이터이기 때문에 이를 전처리기를 통해 제거한다.대표적으로 아래 세가지를 제거한다.주석 제거 헤더 파일 삽입C언어에서 헤더 파일을 가져올 때 #include stdio.h와 같이 코드를 작성하는데 해당 코드는 #include 전처리 지시자를 통해 stdio.h 헤더 파일을 전부 복사하여 소스코드 파일 내로 붙여넣는 작업을 한다.메크로 치..

Computer Science (CS)/CS

컴파일러 vs 인터프리터

Compiler는 "편집하다", Interpreter는 "해석하다의 의미를 갖고 있다.컴퓨터의 세계에서는 어떤 역할을 하고 있는 지제대로 짚어보려고 한다.   0. 해석이 왜 필요할까?먼저 해석, 번역 등이 왜 필요한 지를 알아보자. 이유는 굉장히 간단하다.우리가 Java, Python 등으로 작성한 코드를 컴퓨터가 바로 인식할 수 있을까?컴퓨터는 그리 똑똑하지 않다.그렇기 때문에 컴퓨터가 이해할 수 있는 언어로 바꿔주는, 번역해주는 작업이 필요한 것이다.  1. 컴파일러 (Compiler)그러한 상황에서의 번역기 중 하나가 컴파일러이다.컴파일러는 C, C++과 같이 기계와 가까운 저수준 언어에서 사용된다. 저수준 언어에 특징을 생각해보면 타입을 지정한다.처리 속도가 빠르다. 위 특징을 고려하여 보면 컴..

Computer Science (CS)/CS

CSR VS SSR

개인 프로젝트에서 Controller 반환값을페이지 반환에서 JSON 반환으로 바꾸면서그럼 페이지 반환은 어떻게 해줘야 할까 고민이 생겼어요😥 ViewResolver, ModelAndView, ResponseEntity에 대한 개념을 확립하고ResponseEntity와 ModelAndView를 함께 사용하려 했는데이게 맞는지 확신이 안들었어요 더 알아보다보니 CSR과 SSR 방식에 대해 알게 되었고이참에 확실히 개념을 정리하고 싶어 포스팅하게 되었습니다 :) CSR 방식Client Side Rendering초기 로드 시 빈 HTML과 모든 로직이 담겨있는 Javascript를 다운로드한다.그 후 빈 HTML에 Javascript를 이용하여 Dom을 동적으로 생성하여 그려낸다.위와 같이 클라이언트에서 렌..

Computer Science (CS)/CS

기획부터 개발까지 프로세스 소개

이제 개인 포폴을 만드려고 하는데 막막하더라고요. 서비스 주제는 정했는데 뭘 작성해야 할지가 특히 어려웠어요. 제가 구독하고 있는 유튜버님이신데 딱 이거와 관련된 영상을 업로드해주셨었길래 여러분들에게도 소개해드리고자 포스팅합니다! 요약 정리 요약이기 때문에 영상 보시는 걸 추천드려요 :) 1. 서비스 주제 정하기 2. 기능 정리 - 요구사항 정의서 ex) 구글 스프레드 시트, 엑셀 3. ERD 작성 ex) ERD cloud https://www.erdcloud.com/ 4. 메뉴 목록 작성 및 IA 설계 1) 메뉴 목록 ex) whimsical https://whimsical.com/ 2) IA 설계 ex) draw.io https://draw-io.softonic.kr/ 5. 와이어프레임 제작 ex) ..