전체 글


독서록 앱에는 책 검색 기능을 사용하고 있는데 검색을 할때 바로 원하는 책을 찾을 수 없을 수도 있습니다.. 그렇지만 한번에 많은 양의 정보를 요청하면 앱의 속도가 느려질 수 있으니 적은 수를 원할때마다 요청 하면서 속도를 높이는데 이때 사용할 수 있는것이 무한 스크롤입니다.1. api 분석API요청에는 무한 스크롤처럼 데이터의 중간부분만 요청 할 수 있게 설정할 수 있는 파라미터가 있는 경우가 있습니다. 없다면 구현이 불가능 할 수 있으니 가장 먼저 확인해줍니다. 다행히 데이터 요청의 시작지점을 설정할 수 있어서 사용할 수 있다는 것을 확인했습니다.2. Start 파라미터 추가하기데이터를 요청 할 때 start의 위치를 알려줘야하므로 함수 마다 start를 추가해줍니다.3. 검색 함수를 수정한다. i..

독서록 앱에서 책 정보를 일일이 입력하기 보다 검색을 통해서 책정보를 가져오면 좋을 거 같아서 찾아보니 여러곳에서 책 api를 제공하고있었습니다. 책 제목, 저자, 출판사 등의 간단한 정보만 필요하기 때문에 그 중에서 가장 친숙한 naver api를 이용하기로 결정했습니다.api 통신을 할 때는 역직렬화라는 여러 단계를 거처야 json 형식으로 오는 데이터의 요소를 필요에 따라서 이용할 수 있습니다. 이를 간편하게 해주는 라이브러리 Freezed 가 있어서 사용해보기로 했습니다.https://totally-developer.tistory.com/139 [060] 플러터 (Flutter) 배우기 - freezed 사용하기 1안녕하세요~ totally 개발자입니다. 먼저 이 포스팅 보시기에 앞서 지난 059..


BottomNavigaionBar는 어떤 앱이든 많이 사용하는 화면 전환방식 중 하나입니다. MUOZ 프로젝트에서도 사용하고 있습니다. 1. 모든 페이지에 BottomNavigationBar 적용하기첫번째로 사용한 방식이 NavgationBar가 있어야하는 모든 페이지에 BottomNavigationBar를 띄우는 방식을 사용했습니다. 일단은 구현해놓고 기능적을 완성하고 나서 수정하기로 했습니다.문제 발생큰 오류가 발생하고 수정하는 과정에서 수정하지 못하고 있었습니다. 그래서 화면에서 나오는 문제가 있었습니다. 네비게이션으로 화면 전환는 정상적으로 작동하지만 화면이 전활될때 BottomNavigationBar도 같이 새롭게 보여지고 있었습니다. 2. shellroute 사용하기navigation을 Go..

JSON이란 무엇인가?JSON이란 JavaScript Object Notation의 약자로 데이터를 쉽게 교환하고 저장하기 위한 텍스트 기반의 데이터 교환 표준 방법입니다. KEY -Value로 이루어져 있습니다.Dart 데이터 통신에서의 직렬화-역직렬화에 대해 설명하시오.직렬화-역직렬화 과정은 데이터 형식을 전활하기 위한 과정으로 주로 Json 통신을 할 때 사용됩니다.직렬화는 dart에서 사용한 객체를 json 형식으로 바꾸는 과정을 의미합니다.역직렬화는 json 데이터를 dart에 사용할 수 있는 객체로 바꾸는 과정입니다.HTTP 의 특징과 문제점은 무엇인가?HTTP는 Hypertext Transfer Protocol의 약자로 클라이언트와 서버 간에 통신을 위한 통신 프로토콜입니다.요청-응답 구조로..

메모리의 종류에 대해 설명하고, 종류가 여러가지인 이유에 대해 설명해주세요.주기억장치(RAM) : 데이터를 임시로 저장하며, 데이터가 휘발된다.보조기억장치 : 데이터를 영구적으로 저장한다. 데이터가 휘발되지 않는다.캐시 메모리 : CPU와 주기억 장치 사이에 위치하여 데이터를 빠르게 접근 할 수 있도록 도와준다.ROM(read only memory) : 읽기 전용 메모리, 비 휘발성이다. 전역 변수와 정적 변수의 차이는?전역 변수는 프로그램은 다른 파일에서도 해당 변수에 접근이 가능한 것을 의미. 정적 변수는 다른 파일에서는 접근 할 수 없다.OS가 메모리 관리를 해야하는 이유에 대해 설명해주시고, 메모리 관리를 위해 어떤 전략을 사용하는지 설명해주세요.프로세스 간의 메모리 충돌을 방지하고, 각 프로세스..

OOPOOP(Object-Oriented Programming) 객체지향 프로그래밍프로그램 설계 방법 중 하나로 객체 단위로 프로그램을 구성하는 것을 의미한다. 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 상속이란?부모 클래스의 속성과 기능을 그래도 이어받아 사용하거나 자식 클래스에 맞게 기능을 수정하여 사용할 수 있게 하는 것추상화란?공통의 속성이나 기능을 묶어 이름을 붙이는것다형성이란?하나의 변수명, 함수명 등이 상황에 따라 다른 의미로 해석될 수 있는 것캡슐화란?기능과 특성의 모음을 클래스라는 캡슐에 묶어 외부에서 접근하지 못하도록 보호하는 것 객체지향 추가 질문장점, 단점장점 : 상속을 통해서 코드의 재사용이 용이..

OS(운영체제) 란 무엇인가요?컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 ㅋ편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임커널이란 무엇인가?하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당함스택, 힙 메모리란 무엇이며 어떤 차이가 있는지 비교해서 설명하세요.두가지는 메모리에 데이터를 저장하는 방법입니다. 스택은 LIFO 방식이며 컴파일 시점에 크기를 정하고 메모리에 저장합니다. 힙은 자유롭게 메모리에 저장 할 수 있고 런타임에 동적으로 메모리에 할당합니다.값 형식과 참조 형식의 차이에 대해 설명하세요.value type은 변수에 값을 담는 형식으로 스택을 사용reference type은 변수에 값의 주소를 담는 형식으로 힙을 사용동기와 비동기의 ..

StatefulWidget의 생명주기에 대해 설명하세요.위젯 구축createState() : StatefulWidget을 사용할 때 가장 먼저 호출된다.initState() : 위젯이 생성될때 호출되는 메서드로 한번만 호출된다.didChangeDependencies() : initState 다음으로 바로 호출 되며 위젯이 의존하는 데이터의 객체가 호출될때마다 호출된다.재 드로잉dirtry : 화면의 다시 빌드를 해야하는 상태didUpdateWidget() : 위젯이 변경될때 마다 호출되어 다시 build를 진행한다.(새로운 화면)build() : 위젯을 반환하고 반환된 위젯이 랜더링 되어 화면에 표시된다.setState() : 객체의 상태가 변경되었음을 프레임워트에 알린다.(기본화면의 변화)clean :..

애니메이션 속성 중 curve 와 duration 에 대해 설명하세요.curve는 애니메이션의 속도와 움직임을 정의하는 함수duration은 애니메이션의 지속 시간을 나타내는 함수입니다. 암시적 애니메이션과 명시적 애니메이션의 차이는 무엇인가요? 암시적 애니메션은 개발자가 직접 구현하지 않아서 위젯의 변화를 자동으로 애니메이션으로 구현해주는 방식명시적 애니메이션은 개발자가 애니메이션을 직접 제어하는 방식 Flutter에서 스로틀링은 무엇인가요? 예를 들어 설명하세요.특정 시간 내에 중복적으로 이벤트가 발생하면 한번만 실행되도록 하는 기능검색을 할때 쓰로틀링으로 2초을 걸어두면 2초안에 몇번의 요청을 하더라고 2초에 한번씩만 요청을 실행한다. Flutter에서 디바운싱은 무엇인가요? 예를 들어 설명하세요...