develop 52

C#과 Java의 특징과 차이점을 알아보자

개발을 학원에서부터 처음 배워 개발의 참맛을 깨닫고 회사를 다니며 학위를 준비 했습니다. 그러면서 언어들이 다 비슷비슷하지만 특징이 다른걸 알게 되었습니다. 오늘은 언어의 기본 중 기본인 C#과 Java에 대해 알게 된 사실을 정리 해보겠습니다. C#과 Java는 모두 객체지향적 언어입니다. 하지만 두 언어는 서로 다른 특징과 장단점을 가지고 있으며, 개발자의 목적과 환경에 따라 적합한 언어를 선택하는 것이 중요합니다. 그렇다면 C#과 Java의 특징과 차이점은 무엇일까요? C# C#은 Microsoft에서 개발한 .NET Framework와 함께 동작하는 언어입니다. C#은 C++과 VB의 특징을 조합하고, Java의 강점까지 포함한 언어로, 간단하고 강력하며 컴포넌트 기반의 언어입니다. C#은 Vis..

develop 2023.08.18

Flutter TTS Text to Speech 음성합성 글자 소리내서 읽기

글을 기계가 읽어주는 걸 TTS라고 합니다. 네이버 클로바에서 많이 볼 수 있습니다 라이브러리를 사용해서 TTS를 구현하고자 합니다. POPULARITY가 99%입니다. https://pub.dev/packages/flutter_tts flutter_tts | Flutter Package A flutter plugin for Text to Speech. This plugin is supported on iOS, Android, Web, & macOS. pub.dev 패키지 적용 flutter pub add flutter_tts 안드로이드는 21이상에서 작동하고 맥은 10.15 이상에서 작동하니 Readme를 읽어보시기 바랍니다. minSdkVersion 를 전체 검색 또는 빌드그래들에서 수정하시면 됩니다..

develop/Flutter 2023.08.15

Flutter Tts 사일런트 모드일때 사운드 재생 안됨 해결하기 iOS AudioCategory 구분하기

tts 기능을 개발하고 실기기에 물려서 테스트할 때는 잘 되더니 테스트플라이트에 올려서 확인하니 tts가 안나와서 당황스러웠습니다. 그래서 사운드를 키우고 시도했는데 안돼서 버그인가 했는데요 무음 모드 해둔걸 깜빡하고 테스트를 했습니다. 어찌 되었든 TTS는 뮤트라 해도 재생이 되어야 하는데 싶어 버그 잡기를 나섰습니다. 무음모드 = 사일러트 = 뮤트 = mute mode = silent mode 문제해결하기 우선 구글링부터 했습니다. iOS개발을 할 때 부터 사운드는 진짜 다루기 까다롭더군요 변수가 많아 그런 것 같습니다. 각설하고 iOS에는 AudioCategory가 있습니다. 이건 무음모드일때 작동을 할 건지 백그라운드의 다른 소리와 섞이게 할 건지 백그라운드 소리를 중단 할건지와 같은 여러 선택지..

develop/Flutter 2023.08.15

VSCode MARK 하이라이팅 하기 키워드 커스텀 Keyword [Xcode 처럼]

마켓플레이스에서는 TODO 하이라이트 해주는 익스텐션이 많이 있다. 하지만 iOS 개발할 때 유용하게 사용했던 - MARK 에는 하이라이팅이 안되어서 찾아봤는데 마음에 드는 걸 못 찾았다. 그중 TODO Highlight 익스텐션을 이미 사용하고 있었다. 구글 링 중에 괜찮은 방법을 찾았다. 우선 익스텐션에서 확장설정 확장 설정에 보면 keywords 가 있고 settings.json에서 편집 버튼이 있는데 클릭하면 위하면처럼 todohighlight.keywords 키 값이 있는데 미리 Mark 를 추가했다. 이렇게 되면 보는 것 처럼 노란색으로 하이라이팅 된다. 색상을 바꾸고 싶으면 어떻게 해야 할까 "todohighlight.keywords": [ "DEBUG:", // 기본색상적용 { "text"..

develop/Flutter 2023.08.09

Flutter FutureBuilder 사용하기 비동기 대응하기 with. Listview

FutureBuilder는 비동기로 데이터를 받을때 결과를 기반으로 UI를 업데이트 하는 위젯이다. 비동기에 대한 이해를 먼저 해야 빌더를 사용할 때 바로적용할 수 있다. 공식 문서는 아래와 같다. https://api.flutter.dev/flutter/widgets/FutureBuilder-class.html FutureBuilder class - widgets library - Dart API A widget that builds itself based on the latest snapshot of interaction with a Future. Managing the future The future must have been obtained earlier, e.g. during State.init..

develop/Flutter 2023.08.07

Flutter 화면 방향 Orientation에 따라 레이아웃 변경 Landscape Portrait 뜻

세로, 가로 방향에 따라 레이아웃을 다르게 생성해야 할 때가 있다. 각각의 위젯들을 모듈화 시키고 그 모듈을 방향이 바뀔때마다 레이아웃을 변경해주는 것이다. 모바일은 레이아웃에 영향을 덜 받지만, 태블릿의 경우는 레이아웃을 다르게 적용해야 할 때가 많다. 용어정리 먼저 용어를 정리하자면 Orientation : 방향 Portrait : 세로 Landscape : 가로 사실 Orientation은 방향성을 Portrait는 초상화 Landscape는 풍경화를 뜻한다. Portrait - tall | Landscape - wide Orientation eunm에서 확인할 수 있다. 적용방법 일단 편하게 하는 방법은 OrientaionBuilder 을 사용하는 것이다. 사용방법은 다른 빌더를 사용하는 것과 동..

develop/Flutter 2023.07.28

[flutter] SKAdNetwork 앱 광고 추적 허용 요청하기 in iOS

광고 추적 허용을 요청해야 광고 효율이 올라가고 단가가 올라간다는 말을 듣고 바로 skAdnetwork를 적용하기로 했다. 1. 플러그인 설치하기 https://pub.dev/packages/app_tracking_transparency app_tracking_transparency | Flutter Package This Flutter plugin allows you to display ios tracking authorization dialogue and request permission to collect data. pub.dev flutter pub add app_tracking_transparency 2. 광고 추적 요청하기 main.dart 혹은 요청할 화면에서 아래 코드 사용하기 String..

develop/Flutter 2023.05.19

[Flutter] 효과음 재생 시 백그라운드 뮤직 정지 되는 문제 야매로 해결하기 (다른 앱의 소리와 효과음이 동시에 재생되게 하기)

만 이틀을 고생하다, 알게된 방법을 공유하고자 한다. 사실, 너무 간단하고 라이브러리만 교체한거라 당황스럽지만, 어쨌든 해결 해서 기쁜 마음으로 공유한다. 사실 내가 원했던건 이게 아니지만, 뭐.. 너무 힘든걸 어쩌겠어 다음 업데이트때 해결한드앗!! 라이브러리 audioplayers 라이브러리를 사용하는 것이다. https://pub.dev/packages/audioplayers audioplayers | Flutter Package A Flutter plugin to play multiple audio files simultaneously pub.dev import 'package:audioplayers/audioplayers.dart'; 사용방법 static AudioPlayer player = Au..

develop/Flutter 2023.05.17

[배포] 배포준비 하기 Privacy Policy 작성 개인 정보처리 방침

앱을 출시하기 위해서 해야하는 많은 목록중 개인정보처리방침 즉 Privacy Policy를 작성하는 것이 있다. 개인정보 처리방침 생성기는 다양하고, 한국 정보에서 제공하는 것도 있지만, 앱 출시 시 영어 및 다국어를 지원한다면 영어로 된 개인정보처리방침을 제공하는것이 좋다. 그리고 앱을 출시 할때마다 쓰고 있는 생성기를 소개하자면, https://app-privacy-policy-generator.firebaseapp.com/ App Privacy Policy Generator Terms & Conditions By downloading or using the app, these terms will automatically apply to you – you should make sure therefor..

develop/배포 2023.05.10

[Flutter] Switch on/off 버튼 사용하기 (iOS와 AOS) - setting 화면 만들기

on / off 를 할때, switch만큼 유용한게 없는것 같다 아래와 같은 버튼들을 만들어 보자 Switch Button 만들기 우선 변수를 하나 만들고 bool _isChecked = false; 사용하는 방법은 매우 간단한데, 먼저 AOS 스타일 (Material) Switch( value: _isChecked, onChanged: (value) { setState(() { _isChecked = value; }); }, ), iOS 스타일 (Cupertino) CupertinoSwitch( value: _isChecked, activeColor: CupertinoColors.activeBlue, onChanged: (bool? value) { setState(() { _isChecked = val..

develop/Flutter 2023.04.18