전체 글 89

swift에서 obj-c로 변경할 때

c 언어와 많이 닮은 옵젝씨는 가독성이 많이 떨어지는 느낌이다. 순전히 개인적인 생각 뭐가되었든 레거시 중에는 옵젝씨로 되어 있는 코드가 많고flutter 개발자의 경우 보통은 기존 iOS, AOS 개발자 들이지만기본 베이스가 없는 개발자들도 있으니, == 나 swift로 구글링 되면 찾아서 바꿔야지 뭐 https://www.codeconvert.ai/swift-to-objective_c-converter CodeConvert AI - Convert code with a click of a buttonExamples The following are examples of code conversion from Swift to Objective_C using this converter. Note that yo..

develop 2024.11.20

Dart list.from .of 리스트를 복사하여 사용하는 함수

List.from 함수는 기존 리스트를 복사하여 새로운 리스트를 생성할 때 사용 되는데,이 함수는 기존 리스트를 얕은 복사(shallow copy)하거나필터링 또는 변환을 하여 새로운 리스트를 만들 수 있음기본 문법List.from( Iterable elements, // 원본 요소들 (필수) {bool growable = true} // 새 리스트의 크기 변경 가능 여부 (기본값: true))elements: 복사할 원본 Iterable. 일반적으로 리스트를 전달growable: 새 리스트가 가변적(true)인지 고정적(false)인지 결정사용 사례1. 리스트 복사void main() { var original = [1, 2, 3]; var copied = List.from(original); ..

develop 2024.11.19

Dart에서 Currying 사용하기 - 커링 함수사용하여 코드 질 높이기

Currying 함수란?Currying은 여러 개의 인자를 받는 함수(multi-argument function)를하나의 인자를 받는 함수들의 연속으로 변환하는 프로그래밍 기법즉, 하나의 함수가 한 번에 모든 인자를 받는 대신,각각의 인자를 별도로 받아 새로운 함수를 반환하는 방식으로 동작한다.이 방식은 복잡한 함수 호출을 간결하게 표현하고,특정 인자 값을 고정(fixed)하여 재사용성을 높이는 데 유용커링은 함수형 프로그래밍에서 자주 사용하는 기법으로,Dart에서도 클로저와 함수 반환을 통해 구현할 수 있어 활용도가 높음Currying의 기본 개념// 일반적인 함수int add(int a, int b) { return a + b;}// Currying 방식Function addCurry(int a) ..

develop/Flutter 2024.11.18

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