본문 바로가기

전체 글

(32)
ArrayList List 의 종류 (3가지) 1. ArrayList 2. LinkedList 2-1 Single LinkedList 2-2 Double LinkedList ArrayList는 실제 메모리 공간 상(물리적 공간)에서도 연속적으로, 데이터가 할당된다.(Array 특성과 동일) ArrayList의 생성은 다음과 같은 구문들로 가능. ArrayList integers1 = new ArrayList(); // 타입 지정 ArrayList integers2 = new ArrayList(); // 타입 생략 가능 ArrayList integers3 = new ArrayList(10); // 초기 용량(Capacity) 설정 ArrayList integers4 = new ArrayList(integers1); // 다..
Array | 배열(Array) 이란? 선형 자료구조(Data Structure)중 하나로, 동일한 타입의 연관된 데이터를 메모리에 연속적으로 저장하여 하나의 변수에 묶어서 관리하기 위한 자료 구조 Java 에서는 ??개 크기의 배열 선언하겠다고 적어줘야 함. JS, Python 은 곧바로 선언. // Java 방식 String strArray = String[10]; // 10개 짜리 String 배열을 선언 // JS 방식 var jbAry = new Array(); // Py 방식 a = [] 그림을 통해 Array를 이해해 보자. Array를 생성하면 보통 선언된 크기만큼 [메모리 = RAM]에 할당 된다. (위의 그림에서 예시로 10개 설정함) Array에서 가장 중요한 핵심개념은 랜덤엑세스(Random ..
Unit Test 테스트 3종류 Unit 테스트 UI Widget 테스트 Intergation 테스트 (통합 테스트) Unit Test 메소드나 클래스처럼 작은 단위를 테스트할 때 쓰입니다.(내부테스트) Http 통신 IO , DB 접근하여 데이터 가져오는 행위를 테스트(외부테스트) : Mockito 테스트 프레임워크 사용 Mockito 테스트 프레임워크 https://flutter-ko.dev/docs/cookbook/testing/unit/mocking Mockito를 사용하여 의존성들에 대해 mock 객체 생성하기 어떠한 경우에는 단위 테스트가 웹 서비스나 데이터베이스로부터 데이터를 가져오는 역할을수행하는 특정 클래스에 의존하는 경우가 있습니다. 이럴 때는 다음과 같은 이유로 인해 테스트가 flutter-ko.dev..
MVC 초기의 안드로이드 개발은 한 파일에 모든 코드가 작성 되었다. (UI 코드는 .xml) 시간이 지나면서 비지니스의 규모는 성장하고 그에 따라 사용자들이 요구하는 기능도 많아지기 시작했다. 해당 비지니스 요구사항을 만족하는 기능을 만들기 위해 개발자들은 열심히 일하였고, 1개의 파일에 모든 코드가 작성되었다. 그로인해 유지보수하기가 굉장히 힘들어지기 시작했다. 위의 이유로 코드 구조화, 분업화, 유지보수에 유연하게 대응할수 있는 개념인 디자인 패턴이 만들어 지게 되었다. 디자인 패턴의 발전 순서 MVC ⇒ MVP ⇒ MVVM 모바일 개발자라면, “디자인패턴은 뭐가 아쉬워서 이렇게 발전되어 왔는가?” 에 대한 고찰이 필요하며, 몇년전에 공부하고 기록으로 남겨야지 했는데, 이제야 적는다. MVC = Model..
gskinner gskinner 는 회사명이며, 글로벌 협업 및 디자인 and 개발 회사 이다. Flutter 2021 conference 를 통해 알게 되었고, Flutter x gskinner 콜라보레이션 소개 내용을 보고 감명깊게 보고 포스팅으로 소개하고자 한다. https://gskinner.com/ gskinner gskinner.com https://flutter.gskinner.com/ gskinner: leaders in Flutter design and development Flutter empowers us to build robust, beautiful apps that run on mobile, desktop & the web for clients including Google, Adobe & sm..
플러터에서 자주 쓰이는 Dart 언어 특징들 계속 쓰면서 업데이트 할 예정 변수 다트언어는 형변환을 지원하지 않는다. num 타입에는 int ,double 타입 모두 대입할수 있다. var : 한번 데이터를 할당하면 데이터 변경이나 다른 형태의 변수로 바꿀수도 없다. Dynamic : 데이터 변경도 자유롭고, int 타입이 었다가 String 타입으로도 변환이 쉽다. final , const 1. 비교 차이점 코드 실행의 결과로 인해 결정되는 상수 : final 코드 실행 이전부터 결정되어야 하는 상수 const ⇒ DateTime.now() 과 같이 실행의 결과로 나오는 값 불가 공통점 둘 다 "상수"이다. 2. 선언 방법 final String a = "final"; const String b = "const"; final 이든 const 든 ..
Dio + Retrofit + JsonSerializable 통한 서버 통신 Http 통신 테스트를 위한 무료 api 제공 사이트 https://reqres.in Reqres - A hosted REST-API ready to respond to your AJAX requests Native JavaScript If you've already got your own application entities, ie. "products", you can send them in the endpoint URL, like so: var xhr = new XMLHttpRequest(); xhr.open("GET", "https://reqres.in/api/products/3", true); xhr.onload = function(){ conso reqres.in 요청 API : https://..
Flutter Favorite program pub.dev 의 플러터 공식 인증 프로그램 패키지 https://docs.flutter.dev/development/packages-and-plugins/favorites Flutter Favorite program Guidelines for identifying a plugin or package as a Flutter Favorite. docs.flutter.dev ## 플러터 공식 인증 패키지를 주로 추천하지만, 꼭 개발할 앱의 사양과 적합성으로 고려하고 사용하시길 바랍니다. 아래의 조건을 통과함으로써 인증받는다. 전체 패키지 점수 Apache, Artistic, BSD, CC BY, MIT, MS-PL 및 W3C를 포함하되 이에 국한되지 않는 허용 라이선스 GitHub 버전 태그는 pub.dev..