전체 글 96

Dart의 고오급 함수를 적절히 사용하여 코드 퀄리티 높이기

1. 고차 함수 (Higher-order Functions)고차 함수는 다른 함수를 인자로 받거나, 함수를 반환하는 함수임Dart에서는 고차 함수를 사용하여 코드를 더욱 유연하고 재사용 가능하게 만들 수 있음1.1 함수 전달void executeFunction(String message, Function(String) callback) { callback(message);}void printMessage(String message) { print(message);}void main() { executeFunction("Hello, Dart!", printMessage); // Hello, Dart!}1.2 함수 반환Function makeMultiplier(int multiplier) { retu..

develop/Flutter 2024.11.17

앱 배포에는 얼마가 들까? - 앱 배포 금액 정리하기

1. iOS 배포 비용iOS 앱을 배포하려면 Apple Developer Program에 등록해야 합니다.연간 등록 비용: 129,000원 (한국 기준, VAT 포함) 등록 방식: Apple Developer 사이트에서 계정을 생성하고 연간 멤버십 비용을 결제 특징: 앱스토어에 앱을 배포할 수 있으며, TestFlight를 통해 베타 테스트 진행 가능 연간 비용이므로 매년 갱신 필요 2. Android 배포 비용Android 앱을 배포하려면 Google Play Developer Console에 등록해야 합니다.1회 등록 비용: $25 (한 번만 결제) 등록 방식: Google Play Console 계정을 생성하고 등록 비용 결제 특징: 한 번 결제 후 추가적인 비용 없이 앱 업데이트 및 배..

develop 2024.11.16

웹 출시 비용 정리 - 개인이 웹을 출시하려면 어떤 비용이 필요할까

웹 앱 출시 비용은 개발 규모와 사용하는 기술 스택,필요한 인프라에 따라 달라집니다.웹 앱 출시 비용 정리1. 도메인 비용설명웹사이트의 고유 주소(URL)를 구매하는 데 드는 비용예상 비용일반 도메인: $10~$20/년프리미엄 도메인: $100 이상 (짧거나 인기 있는 이름일 경우)구매처Google DomainsNamecheapGoDaddy기타 한국 도메인 사이트2. 호스팅 비용설명웹 앱을 배포하고 운영하기 위한 서버 공간을 제공하는 서비스 비용옵션공유 호스팅: 소규모 웹 앱에 적합, $3~$10/월VPS (가상 사설 서버): 중간 규모, $10~$50/월클라우드 서비스: 확장성이 높음, $5~$100/월 이상AWS, Google Cloud, Microsoft Azure 등개인 개발자 추천Firebase..

develop 2024.11.15

아이디어를 구체화 하여 웹/앱 출시하기

웹 혹은 앱으로 출시 할 만한 아이디어가 떠오른다면,아이디어를 구체화해서 개발을 진행해야 합니다.회사에서는 보통 팀 간 협업과 체계적인 프로세스를 통해 진행하지만,개발자이든, 디자이너 혹은 기획자이든 혼자서 개발을 한다면 계획을 잘하는 것이 중요합니다. 개인 개발자는 필요한 최소한의 단계를 간소화하여 진행할 수 있습니다.각 단계별로 사용하는 툴과 작성하면 도움이 되는 문서를 같이 확인하고각자에 상황에 맞는 방식을 사용하고 필요없는 부분은 생략하면 됩니다. 1. 아이디어 구상 및 기획앱이나 웹 서비스의 기본 아이디어를 정리하고 목표 사용자, 핵심 기능을 정의합니다.작업 내용아이디어 도출 및 정리: 타겟 사용자, 해결하려는 문제, 경쟁 서비스 분석기능 정의: 주요 기능 목록 작성사용하는 툴Notion: 아이..

develop 2024.11.14

AI 개발툴 정리

1. GitHub Copilot개발사: GitHub (Microsoft 소유)와 OpenAI가 협력하여 개발장점:자연어 설명을 바탕으로 코드를 작성해주는 기능 제공반복적인 작업에 특히 유용하며 코드 생산성을 크게 높일 수 있음단점:상황에 따라 코드의 정확도가 떨어질 수 있음개인 프로젝트 데이터를 학습에 사용할 수 있어 보안 문제가 제기될 수 있음2. Tabnine개발사: Tabnine 장점: 여러 프로그래밍 언어를 지원하며 팀 협업 기능도 제공 로컬에서 실행되어 보안 측면에서 유리함 단점: 높은 완성도의 자동 완성 기능이 필요한 경우 성능이 다소 부족할 수 있음 일부 고급 기능은 비용이 높은 유료 플랜에서만 이용 가능3. DeepCode개발사: Snyk 장점: 코드 품질 향상과 보안 취약점 탐지 기능 제..

develop 2024.11.13

Dart에서 `toList()`와 `toMap()` 사용법, 응용 하기

Dart에서 toList()와 toMap() 메서드는리스트와 맵 자료구조 간의 변환을 쉽게 할 수 있게 해주는 유용한 도구입니다.이들은 데이터 구조를 필요에 따라 변경하고,각 상황에 맞는 기능을 활용할 수 있도록 도와줍니다.toList()와 toMap() 메서드의 기본 사용법부터 고급 활용법을 알아보겠습니다. 1. toList() 메서드: 리스트로 변환하기toList() 메서드는 Dart의 다양한 컬렉션 타입을 List로 변환합니다.주로 Set이나 Iterable 타입을 List로 바꿀 때 사용되며,모든 요소를 포함하는 새로운 리스트를 생성하여 반환합니다.1.1 toList() 기본 예제void main() { Set fruits = {'Apple', 'Banana', 'Orange'}; // S..

develop/Flutter 2024.11.12

Dart에서 맵(map) 다루기

Dart의 Map은 키-값 쌍을 저장하고 관리하는 강력한 컬렉션 타입입니다.각 키에 대해 고유한 값을 저장하며,데이터에 빠르게 접근하거나수정할 수 있는 다양한 메서드와 속성을 제공합니다.1. Map의 기본 개념Map은 키와 값으로 구성된 데이터를 저장하는 자료 구조로, 각 키는 고유해야 합니다.키를 통해 데이터를 쉽게 조회하고 수정할 수 있습니다.Dart에서는 Map을 주로 JSON 데이터 처리나 키-값 형태의 데이터 저장 및 관리에 사용합니다.예를 들어, 학생들의 성적이나 상품의 이름과 가격을 저장할 때 유용하게 활용할 수 있습니다.Map 생성 Dart에서는 여러 방법으로 Map을 생성할 수 있습니다.가장 일반적인 방법은 리터럴 문법이나 생성자를 사용하는 것입니다.void main() { // ..

develop/Flutter 2024.11.11

Dart에서 리스트(List) 다루기

Dart는 List라는 컬렉션 타입을 제공하여 여러 값을 하나의 변수에 저장하고 관리할 수 있게 해줍니다.List는 자주 사용되는 데이터 구조로, Dart에서는 리스트를 다루기 위한 다양한 메서드를 지원합니다.리스트 생성Dart에서 리스트를 만드는 방법은 여러 가지가 있습니다.가장 흔한 방법은 대괄호 []를 사용하는 것입니다.void main() { // 빈 리스트 만들기 List fruits = []; // 초기값이 있는 리스트 만들기 List numbers = [1, 2, 3, 4, 5]; print("빈 리스트: $fruits"); print("초기값이 있는 리스트: $numbers"); } 1. add() 메서드add() 메서드는 리스트 끝에 새로운 항목..

develop/Flutter 2024.11.10

에어팟4 언박싱 애플공홈 구매 가격 배달 각인 후기

에어팟프로를 사용하다가이젠 한쪽이 조금씩 맛이 가더라고요. 그러다 요번에 나온 에어팟4가 있어서요건 어떤가 싶어서 구매했습니다.에어팟4 언박싱을 해봤어요.  에어팟4 언박싱 공홈으로 구매했고 현재 일반 에어팟4는 19만9천원이고 액티브 노이즈 캔슬링 모델은 26만9천원으로 7만원이 더 비싼 가격입니다. 좀 더 저렴한 구매도 가능했겠지만 공홈에서는 각인이 되니 눈물을 머금고 구매했습니다.    작고 소듕한 아이가 왔어요. 흔들리지 않게 잘 포장 되어 왔습니다.  그냥 정사각형일뿐인데 애플이라서 예쁜 거겠죠? 일단 시키는대로 뜯어 줬고  쪼만한 안내서와 아기다리고 기다리던 에어팟4실물을 봤습니다. 깔끔하게 나왔고 다행이고 흠집이나 자국은 없었어요. 요즘 새상품도 하도 하자가 많다보니 더 꼼꼼하게 보게 되더라..

기타 2024.11.09

flutter 엑셀 파싱 모델 데이터 형태로 사용하기

모델 형태로 파싱하기 위해서는 모델 class가 필요합니다. 엑셀로 파싱하기 가장 좋은 예제가 단어장일것 같아 단어장으로 모델 데이터를 생성했고예제는 null이 가능하도록 수정했습니다.model.dartclass WordEntry { final String word; final String meaning; final String? example; WordEntry({ required this.word, required this.meaning, this.example, }); @override String toString() { return 'Word: $word, Meaning: $meaning, Example: ${example ?? "N/A"}'; }} 파싱하는 열..

develop/Flutter 2024.11.08