본문 바로가기

[항해99] TIL76

프레임워크와 라이브러리의 차이 프레임워크 정의 프레임워크는 어떤 목적을 달성하기 위한 기본 구조를 제공하는 도구와 라이브러리의 집합이다. 개발자들은 프레임워크를 사용하여 애플리케이션을 빠르게 개발할 수 있다. 프레임워크는 일반적으로 애플리케이션의 구조, 흐름, 규칙 등을 정의하며, 개발자는 이를 따르면서 자신의 코드를 작성하기만 하면 된다. 예시 Java --> Spring Python --> Django, Flask 웹 개발 --> Angular, Vue.js 앱 개발 --> React Native, Flutter 라이브러리 정의 라이브러리는 개발자가 특정 기능을 수행하기 위해 사용하는 도구의 집합이다. 라이브러리는 개발자가 필요에 따라 호출하여 사용할 수 있으며, 애플리케이션의 특정 부분에 대한 기능을 제공한다. 개발자는 라이브러.. 2023. 12. 28.
객체지향 프로그래밍이란 무엇인가? 객체지향 프로그래밍은 동일한 속성(이름, 가격 등)을 가진 각각의 객체들을 일일이 생성하지 말고 하나의 틀을 바탕으로 생성하는 것을 지향하는 것을 의미한다. 먼저 객체지향 하지 않은 프로그래밍의 예시는 아래와 같다. car1 = { name: 'S class', price: 8000, type: auto } car2 = { name: 'matiz', price: 1000, type: auto, } car2 = { name: 'sonata', price: 2000, type: manual, } 위와 같은 방법을 사용한다면 car가 100개가 있을 때 같은 코드를 백 번 쳐야하는 번거로운 상황이 발생하게 되며, 오타와 같이 휴먼 에러를 발생시킬 가능성이 크다. 이러한 문제를 해결하기 위한 코드 작성 방법이 .. 2023. 12. 11.
프로젝트 회고 항해99의 프로젝트가 어느덧 끝이 났다. 하루에 하나씩 글을 썼다면 오늘 글의 제목이 99일 차가 됐겠지만 그렇지 못한 부분에 대해 반성을 하며 이 글을 작성하고자 한다. 오늘 글의 주제는 최종 프로젝트에서 사용한 기술들이다. CS 지식이 거의 없다시피 한 상태로 프로젝트를 시작했기 때문에 항해99를 진행하면서 배웠던 기술 또는 프레임워크, 빌드 도구들 위주로 글이 작성되겠지만, 사용했던 것들의 특징과 장, 단점에 대해서 글을 작성할 것이다. 빌드(Vite) 최종 프로젝트의 빌드는 vite로 진행을 했다. 강의에서는 CRA를 활용해서 빌드를 했지만 최종 프로젝트에서는 vite를 통해 빌드를 했는데, 그 이유와 CRA, Vite의 차이점에 대해서 알아보자. CRA(Create React App) CRA는 .. 2023. 11. 13.
62일차 (Array List와 Linked List) 어레이 리스트(Array List)와 링크드 리스트(Linked List)는 데이터를 저장하는 두 가지 기본적인 자료 구조이다. 어레이 리스트(Array List) 연속적인 메모리 할당: 어레이 리스트는 연속된 메모리 위치에 데이터를 저장한다. 이것은 인덱스를 통한 빠른 접근을 가능하게 해 준다. 인덱스를 통한 빠른 접근: 특정 인덱스의 요소에 대한 접근이 빠르며, 일반적으로 O(1)의 시간 복잡도를 가진다. 크기 조정의 어려움: 초기에 할당된 공간을 넘어서는 경우, 새로운 더 큰 어레이를 생성하고 기존의 데이터를 복사해야 한다. 이는 비용이 많이 드는 작업일 수 있다. 삽입과 삭제의 비효율성: 중간에 요소를 삽입하거나 삭제할 경우, 다른 모든 요소들을 이동해야 하므로 O(n)의 시간이 소요된다. 링크드.. 2023. 11. 10.
728x90