jpointofviewntoe의 등록된 링크

 jpointofviewntoe로 등록된 티스토리 포스트 수는 143건입니다.

[머신러닝] 특성공학과 규제 #1 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 특성 공학 기계 학습 및 패턴인식 분야에서 중요한 개념 중 하나로, 원시 데이터로부터 유용한 특성을 추출하거나 생성하는 과정을 말한다. 기계학습 모델은 입력 데이터로부터 특성을 추출하여 출력을 예측하는데, 이때 입력 데이터의 특성이 어떻게 추출되느냐에 따라 모델의 성능이 크게 달라질 수 있다. 특성 공학의 과정 데이터 수집 : 데이터를 수집하여 데이터의 특성을 분석 특성 추출 : 분석된 데이터를 기반으로 유용한 특성을 추출한다. 기계 학습 모델이 잘 학습할 수 있도록 특성을 선택하고 변형하는 과정이 포함될 수..

[머신러닝] 사이킷 런 변환기, PolynomialFeatures [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 사이킷 런의 변환기 사이킷 런은 파이썬에서 사용할 수 있는 머신 러닝 라이브러리 중 하나로, 다양한 머신 러닝 모델을 쉽게 구현하고 평가할 수 있는 다양한 기능을 제공한다. 변환기(Transformer)는 사이킷 런에서 제공하는 중요한 기능 중 하나다. 변환기는 입력 데이터를 변환하여 출력 데이터를 생성하는 객체를 말하며, 대게 데이터 전처리 과정에서 사용된다. 변환 작업은 전처리 과정중 하나로, 데이터의 특성을 정규화, 스케일링, 인코딩 등의 방식으로 수정하여 머신 러닝 모델에 적용할 수 있는 형태로 만듭니..

[Flutter] Keboard 올릴때 Bottom Overflowed By Pixels 에러 처리 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart 개발 프레임워크 : flutter --------------------------------- TextField를 클릭하면 키보드가 올라오는데 키보드 올라오니까 아래 에러가 발생했다. Bottom Overflowed By 52 Pixels 1 .인터넷을 좀 뒤적이니 Scaffold 로 위젯을 감싸고 아래 속성값을 주라고 한다. resizeToAvoidBottomInset: false, 아래에 파란색 회원가입 버튼이 가려진다. 원하는 모양이 아니다. 2. SingleChildScrollView 사용 class SignUp extends StatelessWid..

[Flutter] const 경고 & 상수항 선호 경고 해결하기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart 개발 프레임워크 : flutter --------------------------------- 1. 현재 파일에만 적용하기 // ignore_for_file: prefer_const_constructors 위 행을 적용하고 싶은 파일에 추가합니다. 2. 모든 파일에 적용하기 analysis-options.yaml 파일에 아래 코드를 추가합니다. linter: rules: prefer_const_constructors: false 추가 후 terminal에 아래 명령어 실행 dart fix --apply

[Flutter]RenderBox was not laid out 에러 처리 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart 개발 프레임워크 : flutter --------------------------------- ==================================================================================================== ======== Exception caught by rendering library ===================================================== The following assertion was thrown during paint(): RenderBo..

회귀 분석(Regression analysis) - 선형회귀의 예제 #2 [내부링크]

https://jpointofviewntoe.tistory.com/140 회귀 분석(Regression analysis) - 선형회귀의 예제#1 개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 회귀분석이 무엇인가 구글에 회귀분석이라고 검색하면 아래와 같이 나온다. 회귀 분석은 둘 jpointofviewntoe.tistory.com 이전 소스까지 가져왔습니다. 혹시나 이 편부터 보실 분도 있기에,, import numpy as np from sklearn.model_selection import train_test_split from sklearn.neigh..

회귀 분석(Regression analysis) - 선형회귀의 예제#1 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 회귀분석이 무엇인가 구글에 회귀분석이라고 검색하면 아래와 같이 나온다. 회귀 분석은 둘 이상의 변수 간의 관계를 보여주는 통계적 방법 입니다. 일반적으로 그래프로 표현되는 이 방법은 종속 변수와 독립 변수 간의 관계를 테스트합니다. 일반적으로 독립 변수는 종속 변수에 따라 변경되며 회귀 분석은 해당 변경에서 가장 중요한 요소에 대한 답을 찾으려고 시도합니다. 블라블라 ~ 머라고 하고 있군요. 머신러닝에서 회귀란 임의의 어떤 숫자를 예측하는 문제입니다. 예를들어 내년도 경제 성장률을 예측하거나 배달이 도착할 시..

[Flutter] device daemon #2 exited (exit code 127) && flutter not found 에러 해결기.. [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart 개발 프레임워크 : flutter --------------------------------- flutter upgrade 실행 후 device daemon #2 exited (exit code 127) 위 에러가 떴다. 폰 연결해서 테스트 하려는데 실행조차 할 수 없다. 내 해결방법은 flutter sdk를 다시 다운받아 교체해주었다. https://docs.flutter.dev/development/tools/sdk/releases?tab=macos 위 사이트에서 sdk를 다운받고 원래 flutter가 있던 자리에 넣어주었다. 나같은 경우엔 /User/..

[Flutter] Container 위젯에 클릭 이벤트 주기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart 개발 프레임워크 : flutter --------------------------------- container에 이미지도 넣고 텍스트도 넣었으니 클릭 이벤트까지 주려고 했는데 container는 onPressed() 메서드가 없었습니다,, 저의 경우처럼 아이콘 또는 텍스트 그룹이나 컨테이너 박스의 클릭 이벤트처리를 위한 방법이 두가지 있습니다. GestureDetector GestureDetector class는 제스처를 감지하는 위젯입니다. GestureDetector class 에서 제공하는 메서드들을 보니 다양한 제스처를 지원합니다. GestureD..

[Flutter] Image 로드하기, Image 넣기 [내부링크]

플러터 초보자들은 뭐라고 부르시는지 아시나요 플린이,,?! 플린이가 좋겠어요 개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart 개발 프레임워크 : flutter --------------------------------- 오늘 플린이는 새롭게 배운 Image 올리기를 해보겠습니다. Image를 화면에 띄우는 방법은 두가지가 있습니다. 1. 로컬에 있는 이미지 올리기 로컬에 있는 이미지를 가져와 화면에 띄울 때는 asset 폴더를 생성하여 작업합니다. lib 하위폴더로 생성합니다. 폴더를 생성하여 이미지를 넣어준 후 아래 코드로 이미지를 호출하면 됩니다. Image.asset('assets/testImg.j..

[Flutter] Invalid depfile 에러 해결 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart 개발 프레임워크 : flutter --------------------------------- 실제 기기에서 앱을 실행하니 자꾸 아래와 같은 에러가 발생했다. FIle -> Invalidate Caches -> Optional 세개 다 체크해서 캐시 정리를 해도 같은 에러가 발생했다.. 로그를 읽어보면 stt.dart 파일에 dart.html 을 찾을 수 없다고 하는데 stt파일은 html 패키지를 사용하지 않는 파일이었다. Launching lib/main.dart on SM S901N in debug mode... Running Gradle task '..

[Flutter] STT(sound to text) 구현하기 [내부링크]

이번 포스팅에서는 flutter에서 라이브러리를 사용해 STT(sound to text) 기능을 구현해볼겁니다. 해당 코드는 Flutter Dev 사이트를 참고하여 직접 테스트 해보고 가져왔습니다. 먼저 stt 기능을 사용하기 위해 flutter에서 제공하는 stt 라이브러리를 가져옵니다! pubspec.yaml 파일 내 dependencies 에 라이브러리를 추가해줍니다. dependencies: flutter: sdk: flutter #stt, tts speech_to_text: ^6.1.1 flutter_tts: ^3.6.3 본 포스팅에서는 stt.dart 파일과 생성하여 기능을 넣어주었습니다. 화면단은 모양을 이렇게 잡아줍니다. @override Widget build(BuildContext co..

[머신러닝] 과대적합 vs 과소적합 [내부링크]

과대적합(overfitting) 과대적합은 모델의 훈련 세트 성능이 테스트 세트 성능보다 훨신 높을 때 일어납니다. 과대적합이란 머신러닝 모델을 학습할 때 훈련 데이터셋에 지나치게 최적화하여 발생하는 문제입니다. 과대적합 발생 원인은 - 훈련 데이터를 지나치게 복잡하게 학습 - 데이터 셋 내 데이터가 충분치 못함 - 데이터 셋 내 분산이 크거나 노이즈가 심한 경우 이런 경우 모델은 훈련 세트 내 모든 데이터를 섭렵하여 오차를 줄이려 하므로 학습 데이터 셋에서는 모델 성능이 높게 나타나지만 새로운 데이터가 들어오면 낮은 정확도를 보여줍니다. 모델을 학습시킬 때 어느 순간 이후로 모델의 훈련세트에 대한 손실 값은 작아지고 검증 세트에 대한 손실값이 커진다면 이는 훈련세트에 밀착하여 모델이 학습하고 있다는 것..

[python] reshape() 메서드와 예제 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 이번 포스팅은 reshape() 메서드를 공부해보겠습니다. 파이썬 언어는 신기한게 많습ㄴ디ㅏ... reshape() 메서드는 Numpy 패키지에서 제공하는 메서드입니다. 배열의 크기를 바꿀 수 있습니다. 예를들어 import numpy as np test_arr = np.array([1,2,3,4]) test_arr라는 이름의 (4,) 배열이 있습니다. test_arr은 1차원 배열입니다. reshape() 메서드를 사용해 2차원 배열로 변형시키겠습니다. 1. (2,2)로 바꿔볼거에요. import numpy..

[머신러닝] 데이터 전처리 개념과 예제 #2 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 지난 포스팅에 이어 데이터 전처리 예제를 다뤄보겠다. https://jpointofviewntoe.tistory.com/13 표준편차와 표준점수를 계산해보자 계산하는 방법은 데이터에서 평균을 빼고 표준편차를 나누어주면 된다. np.mean() 함수는 평균을 계산하고 np.std() 함수는 표준편차를 계산한다. 특성마다 값의 스케일이 다를 경우엔 평균과 표준편차를 각 특성별로 계산해야한다. 이를 위해 axis = 0 으로 셋팅했다. 이렇게 하면 행을 따라 열의 통계값을 셋팅한다. mean = np.mean(tr..

[머신러닝] 데이터 전처리 개념과 예제 #1 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 올바른 결과 도출을 위해서 데이터를 사용하기 전에 데이터 전처리 과정을 거쳐야한다. 데이터 전처리란 데이터를 분석 및 처리에 적합한 형태로 만드는 과정을 총칭한다. 데이터 전처리 단계 데이터 수집 – > 데이터 정제 -> 데이터 통합 -> 데이터 축소 -> 데이터 변환의 가정을 거치게 된다. 데이터 전처리를 해야하는 이유 대부분의 머신러닝 알고리즘은 특성의 스케일이 다르면 잘 작동하지 않는다. 특히 알고리즘이 거리기반일 때는 올바르게 예측하기가 어렵다. k-최근접 이웃 알고리즘도 마찬가지이다. 이런 알고리즘은..

[python] np.random.seed 란? [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 이번 포스팅에서는 np.random.seed에 대해 보겠다. np.random.seed를 검색해서 들어왔으면 np를 알겠지만 혹시나 모르는 사람이 있을 수 있으니! np는 numpy를 줄여서 말한다. 아래와 같이 import하여 줄여 np로 사용한다. import numpy as np np.random.seed(0)은 일정한 결과를 얻기 위해 사용한다. 예제 np.random.rand() 에 값을 넣어 난수를 생성해보겠다. np.random.seed() 생략 [첫번째 시도] np.random.rand(10) ..

[머신러닝]K-최근접 이웃 알고리즘 - 예제 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 이번 포스팅에서는 K-최근접 이웃 알고리즘 예제다. 아래 링크는 K-최근접 이웃 알고리즘 개념이다. 한번 읽고 예제를 보는 것이 도움될 것 같다. https://jpointofviewntoe.tistory.com/127 이번 포스팅을 포함하여 한동안은 사이킷 런 패키지에 대한 글을 다룰것이다. k-최근접 이웃 알고리즘은 사이킷런 패키지에서 구현한 KNeighborClassifier 클래스이다. 1. KNeighborClassifier 클래스를 import한다. from sklearn.neighbors impo..

K-최근접 이웃 알고리즘 개념 정리하기 [내부링크]

K-최근접 이웃(K-Nearest Neighbor)은 머신러닝에서 사용되는 분류(Classification) 알고리즘이며 가장 간단한 머신러닝 알고리즘이다. 훈련 데이터셋을 그냥 저장하는 것이 모델을 만드는 과정의 전부고 유사한 특성을 가진 데이터는 유사한 범주에 속하는 경향이 있다는 가정하에 사용한다 k-최근접 이웃 알고리즘은 n개의 특성을 가진 데이터는 n차원의 공간에 점으로 개념화 할 수 있다. K-최근접 이웃(K-Nearest Neighbor) 그림 예제 간단한 그림을 그려보았다. 그림을 상세히 그리지 않았는데 대충 눈에만 안보이는 x축의 특성 수치와 y축의 특성 수치가 있다고 봅시다. 노랑점과 파랑점으로 표시하여 분류를 나타냈으며 빨간별은 아직 분류가 되지 않은 새로운 데이터이다. k-최근접 이..

[머신러닝] 맷플롯립 (matplotlib) 사용하기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : colab 개발 언어 : python --------------------------------- 머신러닝을 위해 python 언어를 공부하며 python에서 제공하는 데이터분석 관련 패키지들을 사용해보려 합니다. 맷플롯립(matplotlib) 패키지는 파이썬에서 과학계산용 그래프를 그리는 대표적인 패키지입니다. 이번 포스팅에서는 맷플롯립(matplotlib) 패키지를 import하고 scatter() 함수를 사용해보겠습니다. 먼저 산점도를 그릴 데이터를 준비해야합니다. 아래 데이터는 도미의 길이와 무게 데이터이며 첫번째 도미의 길이는 25.4 무게는 242.0으로 보시면 됩니다. bream_length ..

[머신러닝] 머신러닝에 대한 개념보기 [내부링크]

이번 포스팅에서는 머신러닝과 인공 신경망, 딥러닝의 개념에 관해 간단히 정리하려합니다. 수박 겉핥기 식으로,,, 머신러닝(machine learning) 머신러닝은 규칙을 일일이 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야이자 인공지능 하위 분야 중에서 지능을 구현하기 위한 소프트웨어를 담당하는 핵심분야다. 머신러닝과 그 구성요소인 딥러닝, 신경망은 모두 AI의 세부 하위집합이다. AI는 의사 결정과 예측을 수행하기 위해 데이터를 처리한다. AI는 머신러닝 알고리즘으로 데이터를 처리할 뿐 아니라 추가 프로그래밍 없이도 데이터를 학습하면서 지능화한다. 사이킷 런(scikit-learn) 파이썬 기반의 대표적인 머신러닝 라이브러리이며 머신러닝을 위한 다양한 알고리즘, 프..

[머신러닝] 빅데이터란 [내부링크]

이번 포스팅 부터는 한동안 머신러닝과 딥러닝에 대해 작성해보려고 합니다. 챗봇에 발을 담궈보니 머신러닝과 딥러닝을 병행하여 공부하면 좋을 것 같습니다. 일단 몇권의 책과 함께 시작하려 합니다.. 이 주제에 관한 포스팅은 제가 본 책들을 기반으로 한 요약 포스팅입니다. 지금 인터넷에 돌아다니는 컨텐츠들은 평생을 다 보아도 볼 수 없을 만큼의 방대한 양이며, '콘텐츠 홍수의 시대'에 우리는 살고 있습니다. 이 시대에 플랫폼 회사들은 사용자의 관심에 기반을 둔 추천 서비스를 운영하지 않으면 수익을 내기 힘든 구조가 되었습니다. 빅데이터란 정확히 어떤 것일까 빅데이터는 조직이 의사결정을 내리고 프로세스와 정책을 향상하며 고객 중심 제품과 서비스, 경험을 구축하는데 사용됩됩니다. 정확히 어떤 기술이냐고 묻는다면 ..

[java] 코모란(KOMORAN) 설치 및 형태소 분석기 사용하기 [내부링크]

--------------------------------- OS : Mac 개발 툴 : intelliJ 개발 언어 : java 개발 프레임워크 : vue3 빌드 도구 : Gradle --------------------------------- 안녕하세요 이번 포스팅에서는 코모란(komoran)을 사용해보겠습니다. 코모란(komoran)은 java 8 기준으로 배포된 java에서 대표적으로 사용되는 형태소 분석기 오픈소스 입니다! 환경준비 1. 코모란(komoran)은 java8을 기준으로 배포되었기 때문에 java8 이전 버전을 사용하시는 분은 java 버전 업그레이드가 필요합니다. java 버전 확인하는 방법은 terminal에서 아래 명령어로 확인하면 됩니다. java -version 2. 코모란(..

[Flutter] addPostFrameCallback 란? [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart --------------------------------- addPostFrameCallback의 존재를 알게된건 global 파일에다가 공통으로 쓰일 dialog를 선언해두었는데 테스트 삼아 initState()에서 호출했다가 아래와 같은 에러를 만나서 알게되었다. E/flutter (11727): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: dependOnInheritedWidgetOfExactType() or dependOnInheritedElement() was c..

[chatbot] chatbot #개념 및 필요지식 정리 [내부링크]

#1. chatbot - chatbot은 사용자 인터페이스를 대화방식으로 구성하여 입력된 문자열을 해석하고 입력된 문자열에 적절한 답을 학습된 데이터에서 선택하여 출력하는 구조의 시스템 #2. chatbot의 종류 가. 작업 지향적(선언적) 챗봇 - 하나의 기능을 수행하는 데 초점을 맞춘 단일 목적 프로그램 - NLP을 사용하고 ML은 거의 사용하지 않음 - 사용자 문의에 대해 자동화된 대화형 응답을 생성 - 이 챗봇과의 상호작용은 매우 특정적이고 구조화되어 있음 나. 데이터 기반의 예측형(대화형) 챗봇 - 작업지향적 챗봇보다 개인화된 경험과, 정교한 상호작용을 제공 - 맥락을 인지하고 NLU, NLP, ML을 활용해 매순간 학습 - 예측 인텔리전스 및 분석을 적용하여 사용자의 프로필 및 과거 행동을 기..

[Flutter] AlertDialog 생성하기, 팝업 또는 알림창 띄우기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart --------------------------------- 안녕하세요 이번 포스팅에서는 flutter에서 alert창을 띄워보겠습니다. dialog 먼저 alert창을 띄우기 위해 ShowDialog, AlertDialog 두가지 위젯을 사용해야합니다. showDialog의 필수 요소는 context builder barrierDismissible 위 세가지가 있습니다. context는 여기 위치가 어디냐 ! 에 대한 답변을 해주고 builder는 dialog의 title, message, action을 생성합니다. barrierDismissible은 a..

[Swift] KaKao Link Share, 카카오톡 링크 공유하기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : xcode 개발 언어 : Swift xcode version : 14.2 min iOS version : 13.0 --------------------------------- 안녕하세요 전진시 입니다 이번 포스팅 주제는 iOS에서 카카오톡 링크 공유를 해볼겠습니다. 일단 카카오 개발자 사이트에 프로젝트 생성하여 앱 package name 및 hash 값 등록했다는 전제하에 내용 작성하겠습니다. Native Key까지 가져온 상태로요 :D 제가 구현한 Kakao Link 공유는 webView에서 카카오톡 링크 버튼을 클릭하면 javaScript 통신으로 앱 함수를 호출하여 필요한 값들을 앱에 전달하여 작업하..

[그릭요거트 정복기 #2] 셀렉더요그 [내부링크]

이번 포스팅은 그릭요거트 정복기,, 셀렉더요그 가지고왔습니다. 매번 사먹으면 토핑 추가도 비싸고 꿀도 많이 먹고싶은데 꿀 스틱도 많이 사기엔 싸지않고 해서 다 따로 사서 쟁여두고 그릭요거트만 주문해서 먹기로 했어요 저번에 셀렉더요그에서 500g 두개를 시켜먹었는데 고소하고 맛있길래 여기로 정착했습니다 ! 배송은 이렇게 뽁뽁이에 감싸져서 스티로폼 박스에 담겨져 와요 가격은 개당 9700원? 정도에 샀고 네이버에서 35000원 이상 무료배송이라 4개 샀습니다. 제조 일자도 적혀오고 엄청 꾸덕해보입니다 꾸덕해요 빨리 먹고싶어서 뒤에 다 셋팅 완료해둔 상태인데 요거트 까면 저렇게 꽉꽉 담겨져 있어요 500g 넘을 것 같아요 맛있겠다 ~~~~~~~~ 짠 단체샷 뒤에 시나몬 파우더랑 아카시아 꿀, 앞에 시리얼 블루..

새로운 김밥 [내부링크]

회사 편의점에 생긴 새로운 김밥 원래는 구내식당을 가는데 오늘은 구내식당 메뉴가 별로여서 편의점을 왔습니다. 오늘 새로운 김밥을 봤으니 일기를 남겨야겠어요 얼마전에 회사에 있는 이마트 편의점에 통 치즈&매콤제육 한줄 김밥 을 보게되었어여 신상이 아닐 수도 있지만 ! 여튼 전 처음 봤습니다 . 이렇게 생겼어요 가격은 3800원 전 손이 작은편은 아닌데 김밥이 엄청엄청 커요 처음에는 좀 비싼게 아닌가 생각했는데 컵라면이랑 같이 먹으니 너무 많아서 조금 남겼네여 김밥 내용물은 이렇게 생겼어여 통치즈랑 단무지랑 제육이랑 밥 ! 김 ! 이거 옛날에 gs에서 팔던 치즈불닭김밥? 그거 생각나는 김밥이에요 그거 정~말 좋아했는데 이렇게 빅 사이즈가 나와서 정말 좋군여 같은 브랜드는 아니지만 ..~

[Flutter] Intro, Launcher 화면 생성하기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart --------------------------------- 안녕하세요 전진시입니다. 이번 포스팅에서는 Flutter에서 Intro 화면을 생성할거에요 저는 일단 intro.dart 파일을 하나 생성했습니다. 화면 이동 구성은 ** intro 화면 -> webView 화면으로 넘어가게 할거에요 1. Intro에 넣을 이미지 셋팅 이미지 파일 하나 구해서 assets 폴더 하나 생성하여 이미지 파일을 넣어주세요. 2. intro,dart 파일에 원하는 위치에 Timer 메서드를 넣어주세요. 저는 3초 후 이동하게 했고 initState()에 넣었습니다. @o..

[Flutter] Dio란? [내부링크]

Dio란? Dio는 API 요청을 만들기 위한 HTTP 클라이언트 라이브러리 입니다. Android 에서 사용하는 okHttp 라이브러리와 비슷해보입니다. HTTP/1.1, HTTP/2, WebSocket 등 다양한 프로토콜을 지원하며 취소, 타임아웃, 인터셉터 등의 기능도 제공하네요 GET, POST, PUT, DELETE 및 PATCH와 같은 다양한 유형의 request를 지원하며 사용자 지정 헤더, 쿼리 매개변수 및 요청 데이터를 설정할 수 있습니다. Dio는 Dart 프로그래밍 언어의 dart:io 라이브러리 위에 구축되어 효율적이고 빠릅니다. 또한 파일 업로드 및 다운로드, 쿠키 관리 및 인증과 같은 기능을 지원합니다. Flutter 개발 공부하며 향후에 flutter로 프로젝트를 시작할 때 A..

[Flutter] retrofit , 레트로핏 api 통신 POST 편 #2 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart --------------------------------- 안녕하세요 지난 포스팅에 이어 Flutter API 통신을 하여 POST Request를 만들고 실행시켜보겠습니다. https://jpointofviewntoe.tistory.com/113 [Flutter] retrofit , 레트로핏 api 통신 POST 편 #1 개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart --------------------------------- 안녕하세요 이번 포스팅은..

[Flutter] retrofit , 레트로핏 api 통신 POST 편 #1 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : android studio 개발 언어 : dart --------------------------------- 안녕하세요 이번 포스팅은 flutter 에서 retrofit 라이브러리를 사용하여 api 통신을 해보겠습니다. android 에서도 restApi를 사용하기 위해 retrofit 라이브러리를 이용하였는데 flutter 를 공부하다보니 여기서도 retrofit이 쓰이네요 바로 시작하겠습니다 ! 1. 종속성 추가 retrofit 라이브러리를 pubspec.yaml 파일 dependencies에 추가해줍니다. retrofit과 json_serializable, build_runner 등 같이 추가해주겠..

[iOS] UILabel에 padding 주기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : xcode 개발 언어 : Swift xcode version : 14.2 min iOS version : 13.0 --------------------------------- 안녕하세요 이번 포스팅에서는 UILabel에 padding을 줘볼건데요 android 개발을 하다보면 xml 파일에서 padding이나 margin을 주는게 너무나 너무나 ~ 간편하게 되어있는데 iOS 1년차 개발자의 눈으로는 xcode에서 margin이나 padding 주기가 좀 까다로운것 같아요 좀 많이? ㅠ 까다로운 것 같습니다. 다시 본론으로 돌아와서 UILabel에 Padding을 줘볼건데요 먼저 @IBDesignable a..

[그릭 요거트 정복기 #1] TIM MARY 팀메리 ,한양대 / 왕십리 [내부링크]

day 카테고리는 내가 좋아하는 것들을 소개하고 정보를 공유하기 위해 만들었다. 덤으로 내 일상도 공유할거다. 꾸준히 할 수 있을지 모르겠다만 일단 시작하고 보자! 나의 목표는 23년도 2월까지 게시물 50개 채우기다. 나의 day 카테고리의 첫 글은 그릭요거트 여행기로 시작할 것이다. 요즘 #그릭요거트에 푹 빠져있다. 처음 그릭요거트를 접했을 땐 삼키기 힘든 그 꾸덕함에 그 날의 저녁으로 그릭요거트를 선택한 것을 후회했었다. 하지만 얼마 안지나 꿀 발린 그릭요거트가 먹고 싶어 또 시켜먹었다. 한두번 시켜먹었을 때에는 못 느꼈는데 일주일에 3번 이상 시켜 먹기 시작한 때부턴 그릭요거트의 가격이 부담스러웠다. 그릭요거트는 일반 요거트보다 비싸다. 얼마 전에 다녀온 팀메리(TIM MARY) 라는 그릭요거트 ..

[Flutter] Navigator와 routes [내부링크]

이번 포스팅에서는 Flutter에서 Navigator를 사용해보겠습니다. 먼저 Flutter 에서 Navigator의 역할은 Navigator docs.Flutter.dev 페이지에서는 Navigator에 대해 다양한 유형의 정보를 표시하기 위해 앱에는 여러 화면이 있는데 이때 화면 전환 역할을 돕는데 사용됩니다. routes Flutter에서 routes는 화면과 페이지입니다. Navigator 메서드 종류 push pop replace Navigator 메서드는 위 세가지가 있습니다. Named가 붙어있는 메서드를 사용하기 위한 사전셋팅 Named가 붙어있는 메서드를 사용하기 위해서는 MaterialApp 안에 routes 속성에 이동할 화면의 경로를 선언해줘야 합니다. 저는 webView.dart로..

SWIFT : 특정 뷰 화면 전환하기 - 세로모드 예제(orientation : portrait) [내부링크]

이번 포스팅은 특정 뷰 컨트롤러에서 세로모드 고정을 알아보겠습니다. 전체 뷰를 한가지 방향으로 고정하는 방법도 있지만 특정 뷰만 세로모드로 고정되어 로드되어야 할 때가 있습니다. ️ 세로모드로 고정 로드되어야 할 뷰 컨트롤러 안에 아래의 소스를 넣어주세요 override var supportedInterfaceOrientations: UIInterfaceOrientationMask { return .landscapeLeft } override var shouldAutorotate: Bool { return true } supportedInterfaceOrientations 해당 메서드는 지원되는 인터페이스의 방향을 반환합니다 shouldAutorotate 콘텐츠가 자동회전해야 하는지 여부를 묻는 Boo..

[Swift] javascript Alert & Confirm 띄우기 [내부링크]

저번 포스팅에서 android에서 자바스크립트 alert 함수와 confirm 함수에 반응하는 방법을 포스팅했었습니다 오늘은 이어서 iOS에서도 똑같이 위 함수에 반응하도록 해보겠습니다 ! class MainWebView : UIViewController, WKNavigationDelegate, WKScriptMessageHandler, WKUIDelegate{ @IBOutlet var webView: WKWebView! 먼저 WebView class에 WKScriptMessageHandler 프로토콜을 채택합시다 WKScriptMessageHandler 는 웹페이지에서 실행되는 javascript code에서 메세지를 수신하기 위한 인터페이스입니다 func webView(_ webView: WKWebV..

iOS & Android : 프로젝트에 폰트 추가 및 설정 [내부링크]

안녕하세요 전진시입니다~~ 오늘은 Android 프로젝트와 iOS 프로젝트에 폰트 추가 및 설정 하는 방법을 포스팅 하겠습니다 Android Resource Directory를 하나 만들어주세요 폴더명은 font로 지어주세요 font.xml파일은 좀 이따 만들거니까 넘어가시고 아래 사진처럼 폰트 파일을 넣어야합니다! ** 안드로이드에서는 resource 파일에 대문자가 못들어갑니당 Resource File을 생성해주세요 ! 저는 파일명을 알아보기 쉽게 로 하였습니다 --> 파일을 만드시고 아래 소스를 넣어주세요 여기에 폰트 파일명을 넣어줍시다 android:font="@font/noto_medium" 여기까지 하면 준비는 끝났고 xml에서 추가한 폰트를 호출해보겠습니다! fontFamily로 호출하면 끝..

[Kotlin] OKHttp Logging Interceptor사용하기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 31 minSdk : 23 --------------------------------- 이번 포스팅은 OKHttp Logging Interceptor를 사용하여 Http 통신 로그를 기록하는 방법 관련입니다. 먼저 okHttp3을 사용하기 위해 Gradle Dependencis에 아래 빌드 종속 항목 중 okhttp 관련 종속성을 추가해주세요. implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.retrofit2:retrof..

[Kotlin] ListView 만들기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 31 minSdk : 23 --------------------------------- 리스트 뷰가 필요할 때마다 인터넷에 검색을 했는데 이젠 검색하지 않으려고 직접 listView에 대해 정리해서 강제기억하려합니다.,. 먼저 listView는 항목 목록을 표시할 수 있는 컴포넌트입니다! listView의 장단점과 recyclerView를 권장하는 이유 이런건 스킵하겠습니다! 바로 listView를 띄워보겠습니다 listView를 띄울려면 필요한 것들이 있는데 데이터 클래스 레이아웃에 ListView 추가 item 어댑터 이렇게 네..

[Kotlin] Android 11 권한 이슈 처리 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 31 minSdk : 23 --------------------------------- 안녕하세요 이번 포스팅 주제는 Android에서 permission 요청할 때 Android 버전별로 다르게 적용해야하는 버전 및 처리 방법에 대한 내용입니다. Android permission 변경 사항중에서 이번 포스팅은 "READ_PHONE_STATE" 권한에 대해 다루겠습니다. READ_PHONE_STATE permission android 10 이하를 타겟팅 할 때 전화번호를 가져오는 API에 액세스 해야하는 경우 사용합니다. andro..

[Flutter] inAppWebView 사용하기 [내부링크]

이번 포스팅에서는 Flutter에서 inAppWebView 패키지를 사용하여 webView를 실행해보겠습니다. pubspec.yaml -> dependencies 에 inAppWebView를 추가해줍니다. 저는 버전을 따로 명시하지 않았습니다. # inappwebView flutter_inappwebview: 그리고 .dart로 와서 import 해줍니다. import 'package:flutter_inappwebview/flutter_inappwebview.dart'; 여기까지 진행하였으면 기본 셋팅은 끝났습니다. StatefulWidget을 상속받는 class는 이렇게 셋팅하고 class WebViewPage extends StatefulWidget { const WebViewPage({Key? ke..

[Kotlin] : 안드로이드 JWT 토큰 인증 [Retrofit, okHttp3] [내부링크]

안녕하세요 이번 포스팅에서는 JWT토큰과 JWT토큰 인증 구현을 보겠습니다 JWT JSON Web Token (JWT)는 마이크로 서비스의 인증, 인가에 사용할 수 있는 서명된 JSON 사용자가 로그인을 하면 토큰을 주는데 서버가 유저를 인증하고 식별하기 위한 토큰 기반 인증 방법입니다. ---------------------------------------------------------------------------------------------------- 1. 사용자가 로그인을 하고 2. 서버에서 토큰이 떨어지고 3. 토큰을 okHttp3 헤더에 , Authorization

JAVA : Thread 와 Singletone [내부링크]

이번 포스팅은 Thread 와 Singletone에 관해서 입니다. Thread 지금 공부하고 있는 자바스크립트 언어는 싱글 스레드 기반이며 코어가 여러개 있어도 메인 스레드라고 하는 단일 스레드에서만 작업이 가능하다 따라서 자바스크립트 코드는 동시에 실행될 수 없다 -> 노드가 싱글 스레드 기반이기때문 ㅇㅇ 먼저 스레드를 알기전에 프로세스(Process)를 알아보자 프로세스(Process)란 운영체제에서 할당하는 작업의 단위 프로세스 간에는 메모리 등의 자원을 공유하지 않는다 프로세스는 스레드를 여러개 생성해 여러 작업을 동시에 처리할 수 있다 스레드(Thread)란 프로세스 내에서 실행되는 흐름의 단위 스레드들은 부모 프로세스의 자원을 공유하고 같은 주소의 메모리에 접근 가능하므로 데이터 공유가 가능..

[Node.js] Node.js & nvm & npm 그리고 MAC에 Node.js 설치하기 [내부링크]

Node.js 란? Node.js의 정의 및 특징 windows, macOS, Linux, Unix 등에서 실행할 수 있는 크로스 플랫폼 오픈 소스 서버 환경 백엔드 JavaScript 런타임 환경 V8 JavaScript 엔진에서 실행 웹 브라우저 외부에서 JavaScript 코드를 실행 위키백과에서는 이렇게 알려주는데 V8 JavaScript 엔진에서 실행?! 다른 특징은 무슨 말인지 알겠는데 V8 JavaScript가 무엇인지 보자 V8 JavaScript 엔진은 C++ 로 작성된 Googledml 오픈 소스 JavaScript 엔진 nvm 란? (Node Version Manager) nvm의 정의 및 특징 Node.js를 설치하는 툴 컴퓨터에 다양한 버전의 Node.js 를 설치할 수 있게 해준..

[SWIFT] Custom Alert 사용하기 [내부링크]

안녕하세요 이번 포스팅에서는 iOS 프로젝트에서 Custom Alert 를 구현하겠습니다 준비물 - Xcode, 손가락 UIAlertController 클래스를 사용할건데 iOS dev 문서에는 "이 클래스를 사용하여 표시할 메시지와 선택할 작업으로 경고 및 작업 시트를 구성합니다. 원하는 동작과 스타일로 알림 컨트롤러를 구성한 후 메소드를 사용하여 제시합니다. UIKit은 앱의 콘텐츠 위에 모달 방식으로 경고 및 작업 시트를 표시합니다." 라고 정의하네요 먼저 UIAlertController 클래스를 사용하기 위해 UIKit를 alert를 띄울 파일 안에 import 해줍니다 import UIKit 아래 코드는 확인 버튼 하나 있는 alert 입니다. let alertController = UIAler..

[Kotlin] java script Alert & Confirm 띄우기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 31 minSdk : 23 --------------------------------- android #WebView에서 자바스크립트 alert과 confirm을 받아오는 방법을 포스팅하겠습니다 javascript에서 Confirm 함수는 확인 또는 취소 버튼을 통해 true or false 를 반환합니다 Alert 함수는 사용자에게 단순하게 어떠한 내용을 알릴 때 사용하는 함수입니다 안드로이드 웹뷰가 자바스크립트 alert과 confirm 에 반응하려면 웹뷰에 셋팅을 해줘야 하는데 그 부분을 알아보겠습니다! Alert을 받을 ..

[Kotlin]JavaScript < ㅡ > Native 통신 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 31 minSdk : 23 --------------------------------- 이번 포스팅에서는 android 프로젝트에서 Kotlin으로 JavaScript Native 간 통신을 해보겠습니다. 간단히 그냥 서로 함수 호출을 해보는 작업입니다. 하이브리드 앱을 개발할 때 거의 필수로 사용되는데 이 기능을 구현할 줄 알면 많은 상황에 대응할 수 있습니다. JavaScript -> Native 함수 호출하기 앱 셋팅 1. webView 셋팅 webView에서 셋팅할거는 한개밖에 없는데요! webView 셋팅하는 부분에 아래 ..

[Swift]JavaScript < ㅡ > Native 통신 [내부링크]

JavaScript -> Native 함수 호출하기 지난 포스팅에서는 Kotlin에서 javaScript 통신 하는 방법을 알아보았습니다. 이번 포스팅에서는 Swfit에서 javaScript 통신 하는 방법을 알아보겠습니다. 기본적인 webView 셋팅은 생략하고 js통신에 필요한 셋팅만 짚고 넘어가겠습니다. ViewDidLoad() 에 javaScript native 간 통신을 위해 셋팅을 해주겠습니다. override func viewDidLoad() { super.viewDidLoad() webView.configuration.userContentController.add(self, name: "a") webView.configuration.userContentController.add(self, ..

[Kotlin] Custom Dialog 사용하기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 31 minSdk : 23 --------------------------------- 안녕하세요 이번 포스팅에서는 안드로이드 프로젝트에서 Custom Dialog 를 구현하겠습니다 준비물 - android studio, 손가락 AlertDialog 클래스를 사용할건데 Android dev 문서에는 "하나, 둘 또는 세 개의 버튼을 표시할 수 있는 Dialog의 하위 클래스입니다" 라고 정의하네요 먼저 AlertDialog의 객체를 생성해줍니다. 함수를 호출하면서 실행 전에 객체를 초기화할테니 일단 null 값을 줍시다. var a..

[Android Studio] 레이아웃 성능과 그 종류와 특징들에 대해 [내부링크]

이번 포스팅은 안드로이드 스튜디오에서 제공하는 레이아웃 성능과 그 종류와 특징들에 대해 간단히 적겠습니다! (사용법x!) 레이아웃 성능 먼저 레이아웃은 사용자 환경에 직접적으로 영향을 미치는 앱의 핵심입니다. 이 레이아웃이 올바르지 않게 구현되면 UI가 느려져 애플리케이션의 메모리가 부족해질 수 있습니다. 따라서 앱을 개발할 때 어떤 레이아웃을 선택하느냐 그리고 계층구조를 어떻게 잘 쌓냐는 매우 중요한 포인트입니다. 레이아웃의 성능을 올릴 수 있는 방법에는 레이아웃 계층 구조 최적화 로 레이아웃 재사용 과 같은 방법이 있습니다. 레이아웃 종류와 특징 Relative Layout Linear Layout Constraint Layout Frame Layout 안드로이드 개발에 사용되는 레이아웃 중 제가 자..

[kotlin] KaKao Link Share, 카카오톡 링크 공유하기 - 2 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 31 minSdk : 23 --------------------------------- 안녕하세요 전진시 입니당. 이번 포스팅 저번 포스팅에 이어 Android에서 카카오톡 링크 공유를 해볼거에요. 저번 포스팅에서 kakao link 공유를 위한 환경 셋팅을 끝냈으니 소스 구현을 해보겠습니다. 1. 먼저 템플릿을 구성합니다. 저는 kakao develop 사이트에서 feed sample을 사용하여 템플릿을 구성했습니다. 제 템플릿은 title, description, imageUrl, link(mobile url, web url)로..

[kotlin] KaKao Link Share, 카카오톡 링크 공유하기 - 1 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 31 minSdk : 23 --------------------------------- 안녕하세요 전진시 입니당. 이번 포스팅 주제는 Android에서 카카오톡 링크 공유를 해볼거에요. 일단 카카오 개발자 사이트에 프로젝트 생성하여 앱 package name 및 hash 값 등록했다는 전제하에 내용 작성하겠습니다. Native Key까지 가져온 상태로요 :D 제가 구현한 Kakao Link 공유는 webView에서 카카오톡 링크 버튼을 클릭하면 javaScript 통신으로 앱 함수를 호출하여 필요한 값들을 앱에 전달하여 작업하였습니..

[Flutter] Flutter의 UI 구조 [내부링크]

지난 포스팅에 이어 Flutter UI 구조에 대해 알아보려 합니다. Flutter 프로젝트에 WebView를 추가한 소스 코드를 가져왔습니다. void main() => runApp(WebViewTestApp()); class WebViewTestApp extends StatelessWidget { const WebViewTestApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', home: WebViewPage(), ); } } class WebViewPage extends StatefulWidget { WebViewPage({Key..

[Flutter] Flutter 와 WebView 추가하기 [내부링크]

flutter 개발에 입문하는 전진시입니다. 원래는 네이티브 방식으로 iOS와 android를 동시 개발중이었는데 제가 주로 개발하는 프로젝트들이 하이브리드 앱이기 때문에 크로스 플랫폼 방식인 flutter에 발 담궈보려 합니다. Flutter Flutter는 여러 플랫폼용 앱을 만드는 크로스 플랫폼 개발 프레임워크입니다. iOS와 android 뿐만 아니라 웹, 데스트 톱 앱 개발도 가능합니다. 처음엔 React Native로 개발을 하려고 했다가 Flutter로 전향했습니다. 이유는 환경셋팅에서 제대로 막혀서,,~ 환경셋팅하는데만 일주일 잡아먹은것 같은데 다른 분들은 어떻게 수월하게 진행한건지 너무 궁금합니다,,! flutter의 장점은 낮은 진입장벽 높은 네이티브 성농 예쁜 UI 이 있습니다. **..

[SWIFT] WebView 생성하기 [내부링크]

안녕하세요 이번 포스팅에서는 Xcode 프로젝트에서 swift로 webView를 하나 만들어볼까 합니다 WKWebView WKWebView는 iOS dev 문서에 따르면 "인앱 브라우저와 같은 대화형 웹 콘텐츠를 표시하는 개체입니다." 라고 합니다. 웹 콘텐츠를 앱 UI에서 보여주기 위한 도구로 보면 되겠네요 그러면 webView를 생성해보겠습니다 먼저 Xcode에서 프로젝트 생성하고 storyBoard에 webView 하나 넣어줍시다. webView를 사용하기 위해 WebKit 프레임워크를 사용할거에요. "WebKit는 웹 컨텐츠를 앱 컨텐츠에 통합시키는 역할을 합니다" webView를 띄울 파일에 WebKit를 import 해줍니다. import WebKit StoryBoard에 있는 webView ..

[MAC] 단축키 정리 [내부링크]

안녕하세요 전진시입니다. 이번 포스팅은 저에게 필요한 Mac 단축키를 정리했습니다. 맥단축키 CMD + A : 전체 선택 CMD + Z : 되돌리기 CMD + X : 자르기 CMD + C : 복사 CMD + V : 붙여넣기 CMD + W : 현재 창 닫기 CMD + Q : 선택된 프로그램 종료 CMD + H : 현재 창 숨기기 CMD + BackSpace : 해당 라인 지우기 CMD + 방향키 : 해당 방향의 끝으로 이동 CMD + Up : 해당 창 가장 위로 = Home 키도 동일하게 작동 CMD + Down : 해당 창 가장 아래로 = End 키도 동일하게 작동 CMD + Left : 선택된 텍스트라인 가장 왼쪽으로 CMD + Right : 선택된 텍스트라인 가장 오른쪽으로 CMD + Shift + ..

[Kotlin] SharedPreferences 사용하기 [내부링크]

오늘 포스트는 SharedPreferences 에 대해 작성하겠습니다 iOS의 UserDefaults와 같은 개념입니다. SharedPreferences 안드로이드를 사용하다보면 DB에 데이터를 저장해야할 때가 많습니다. 예를들어, 로그인을 할 때 앱 재실행 시 최근 로그인 한 아이디를 표시하기 위해 아이디 저장 여부가 필요할 때 DB에 저장할 필요가 없이 앱 내부에 저장을 하면 됩니다. 이때 사용하면 좋은 것이 SharedPreferences입니다. SharedPreferences 는 앱 내부에 값을 저장할 수 있는 메서드를 제공합니다 전 최근에 다국어처리를 하면서 선택된 값을 앱 내부에 저장하고 앱을 껐다 켜도 전에 선택했던 값을 꺼내올 수 있어야 했기 때문에 사용했습니다 SharedPreferenc..

[mac] homebrew 설치 및 제거 [내부링크]

전진시입니다 지금 react-native 환경을 셋팅하면서 난항을 겪고 있어요 ruby 2.7.5 를 설치해야하는데 설치를 못하고 있습니다 ! 으악 homebrew 설치 방법은 간단해요 https://brew.sh/ Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 위 사이트에 스크립트를 복사하여 터미널에 입력합시다 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 설치 완료 그렇다면 제거는 ?? /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebr..

Cause: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded [내부링크]

Cause: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded --> 비밀번호 해독을 못했다는건데 저의 경우엔 aab파일을 생성할 때 keysotre 비번 적어둔 것을 복붙해서 발생한 에러였습니다. 한번 수동으로 쳐주면 될거에오

android: ImageView 크기 percentage로 주기 [내부링크]

안녕하세요 전진시입니다 오늘은 ImageView의 크기를 부모 뷰 크기의 percentage로 줄거에요 비율?이라고 해야하남 ConstraintLayout을 사용할거에요 가로 constraint를 잡아주고 app:layout_constraintWidth_percent="0.4" 위 코드를 이용해서 원하는 percent를 값으로 줍니다. 고럼 끄읏

android : emulator host파일 변경하기 [MAC] [내부링크]

안녕하세요 클로이입닏,,,, 방금까지 고생한 emulator의 호스트 파일 변경 수난시대를 소개하겠습니다. 간단하게 설명하겠습니다 - 사전준비 * 애뮬레이터를 하나 생성합니다. 저는 api 수준 29의 애뮬레이터를 생성했습니다 이름은 test29 여기까지 진행하셨다면 새 Terminal을 킵니다. 3. cd ./Library/Android/sdk/platform-tools 경로로 이동합시다 4. ./adb devices 명령어를 입력하여 저는 emulator-5558(test29)를 사용할거에요 5. ./adb -s emulator-5558 root 명령어를 입력하여 root 권한을 줍니다. 6 ./adb -s emulator-5558 remount 명령어를 입력하여 remout 합시다. - 여기서 문제..

andoird: Hash Key 구하기 [내부링크]

debug 키 해시 구하기 mac keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64 window keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64 release 키 해시 구하기 mac & window keytool -exportcert ..

android: webView ssl 에러 원인 파악하기 [내부링크]

https://www.digicert.com/help/ SSL Certificate Checker - Diagnostic Tool | DigiCert.com www.digicert.com 위 사이트에서 ssl 인증서에 문제가 있는지 없는지 확인할 수 있다. ssl에러를 무시하고 넘어가는 방법은 구글 정책에 걸리니 release 버전에서는 피해야한다

swift : masksToBounds 란? [내부링크]

masksToBounds는 자식 뷰가 부모 뷰에 맞게 레이어가 잘릴지 말지 결정하는 bool값이다 예를들어 popupContainer.layer.cornerRadius = 10 부모뷰에 위와같이 radius를 주면 자식 UiLabel의 레이어가 바깥으로 나간다 이럴 때 아래처럼 masksToBounds 값을 true로 주면 popupContainer.layer.cornerRadius = 10 popupContainer.layer.masksToBounds = true 자식 UILabel의 레이어가 부모뷰 레이어에 맞게 잘려나간걸 확인할 수 있다 !

Swift: UIButton 내 이미지 크기 조절하기 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : xcode 개발 언어 : Swift xcode version : 14.2 min iOS version : 13.0 --------------------------------- 안녕하세요 전진시입니다! UIButton 내 이미지 사이즈를 조절해보겠습니다 이게 기억이 잘 안나! 그래서 정리를 해두려고 합니다. 참고로 저는 iOS13.0을 최소버전으로 하여 개발중입니다! button.setImage(UIImage(named: "qnaremove"), for: .normal) button.contentVerticalAlignment = .fill button.contentHorizontalAlignment = ...

android : Button Padding 없애기 & shadow 없애기 [내부링크]

안녕하세요 전진시임다 Button Padding 없애기는 android:minWidth="0dp" 또는 android:minHeight="0dp" 또는 android:insetTop="0dp" android:insetBottom="0dp" 이렇게 주심 됩니다. 두번째 shadow 처럼 보이는 자식은 android:stateListAnimator="@null" 위 태그를 넣어서 없애주세요

vue-cli-service: command not found Error 잡기 [내부링크]

안녕하세요 전진시입니다 이번 포스팅은 제가 뷰 실습하면서 하루에 한번은 만나는것 같은 sh: vue-cli-service: command not found 이자식 rm -rf node_modules npm install npm을 다시 설치해줍시다 !

TestFlight : 테스터 등록 및 테스트 진행하기 [2] [내부링크]

안녕하세요 전진시입니다 이번 포스팅은 지난 포스팅에 이어 테스터가 테스트를 어떻게 진행하는지 보겠습니다 지난 포스팅에서 완료된 부분은 빌드된 앱에 내부 테스터 팀을 생성하고 저희 계정에 사용자들을 테스터로 초대하는거까지 진행했습니다 초대했으니 수락을 해줘야합니다 중간에 Accept invitation 클릭해줍니다. 초대 수락을 하면 초대자가 특정 앱의 테스터로 등록을 해야합니다. 초대자가 테스터 그룹에 추가를 완료하면 사용자에게는 아래와 같은 메일이 옵니다. Enter ***** and start testing 의 가려진 부분에 있는 코드를 복사해주세요 TestFlight 앱을 설치해주세연 앱을 실행하고 우측 상단에 교환버튼을 누르신 후 아까 복사한 코드를 붙여넣어주면 아래와같이 앱이 뜹니다 ! 테스트 ..

TestFlight : 테스터 등록 및 테스트 진행하기 [1] - 테스터 등록 [내부링크]

안녕하세요 전진시입니다. 이번 포스팅에서는 TestFlight 를 이용하여 앱을 테스트하는 과정을 보겠습니다. 이번 포스팅은 앱이 TestFlight에 빌드되어있다는 가정하에 작성하겠습니다. TestFlight는 앱 출시 전 사용자들이 앱을 테스트하고 피드백을 공유할 수 있습니다 먼저 테스터를 등록해보겠습니다!. 앱 스토어 커넥트에 들어와서 TestFight를 들어갑시다. 내부 테스팅 클릭 ! 그룹 이름을 와랄랄라랄 넣어주고 생성해주세요 자 보시다시피 테스터가 0명 ..! 여기서 어떻게 추가하냐 ! 저기 테스트 (0) 옆에있는 플러스를 클릭합시다 빠르게 진행합시다 ! 아래에 사용자 및 액세스 !! 파란글씨를 클릭합시다 테스터를 등록하지도 않고 추가하려니 먼저 등록부터 해라 ~ 라는 말입니다. 이 페이지로..

Xcode : Multiple commands produce Error 에러 [내부링크]

안녕하세요 전진시입니다,. 화창한 토요일임다 Multiple commands produce Error 에러를 만났습니다 입사 초때도 이 에러를 만난 적이 있던것 같은데 볼 때마다 무슨말인지 모르겠는 에러여서 적응이 안되네여;; 이 에러는 multiple commands produce,, 뭐시기 즉 어딘가에 중복된게 있다는거네여 먼저 저 에러를 열어서 경로를 확인하고 경로 끝의 파일명을 확인합니다. 저는 info.plist가 중복되었다 합니다. 다음 프로젝트 Target에서 Build Phases를 들어가신 후 해당 파일을 지워주십소 그러고 빌드하면 해결될겁니다 !

Android : launchMode - Activity를 시작하는 방법 [내부링크]

안녕하세요 전진시입니다 이번 포스팅에서는 launchMode에 대해 작성하겠숨메 activity가 호출될 때 작동하는 모드가 4가지 있습니다 standard. onResume() 를 호출하지 않고 onNewIntent() -> onResume()을 호출하여 인스턴스를 두개 생성하는 것이 아닌 오버라이딩을 해준다 singleTask - Task에 해당 Activity가 한개만 존재한다 - 만약 동일한 task affinity 가 있는 경우에 해당 액티비티가 존재한다면 새로 생성하지 않고 onNewIntent()를 호출한다 singleInstance - 시스템이 인스턴스를 보유하고 있는 Task에서 다른 작업을 호출하지 않는다. - singleInstace 모드의 activity는 해당 작업의 단일 멤버라고..

Git : branch 생성 및 git push/ checkout [내부링크]

안녕하세요 전진시입니다 오늘은 맨날맨날 검색하는 나를 위한 git 명령어 정리,,, 오늘 제 repository에 브랜치를 추가해야했는데 github에서 들어가니 브랜치를 추가하는게 없더라구여;; 아시는 분 알려주시면 감사합니다,,,ㅠㅠ 오늘 알아낸 방법은 일단 터미널에서 제 프로젝트 디렉토리에 들어간 다음 1.새 브랜치를 생성하고싶다!!!!!!!! 하신다면 git branch 브랜치명 이렇게 하고 github 들어가면 방금 생성한 브랜치가 띠용하고 나타나지 않습니다 아직 빈 껍데기입니다. git add . git commit -m "first commit" git push - origin 브랜치명 까지 해주면 띵 하고 나타납니다! 2.새 브랜치를 생성한 후 그 브랜치에서 작업하고 싶다! 하신다면 git..

Vue.js v-for를 이용한 리스트 렌더링 [내부링크]

안녕하세요 전진시입니다 지난 포스팅 vue 셋팅에 이어 가보겠습니다 vue는 생각보다 문법이 직관적이고 쉽다고 느껴지네요 v-for 구문은 v-for = "item in array" 이렇게 생겼습니다 item은 array가 반복되면서 불러올 요소 하나하나를 가리킵니다. item은 아무 이름이나 넣어줘도 됩니다. 테스트 데이터를 만들어보자 data 속성에 titleArray를 정의해줍시다 titleArray는 4개의 요소로 이루어진 배열임! data() { return { titleArray : ['음식','일상','여행','가족'], } }, 테스트 데이터를 만들었으니 바로 v-for 구문을 완성해보겠습니다 엇 위에서 제가 말한 구문과 다릅니다! !!중요중요 (슬기와 배배!!!!!!!!!!!!!!!!!!..

android : 간단하게 RecyclerView 생성하기[3] [내부링크]

간단하게 RecyclerView 생성하기 프로젝트 https://jpointofviewntoe.tistory.com/67 android : 간단하게 RecyclerView 생성하기[1] 이번 포스팅은 ! 뭐냐면 recyclerview를 어떻게 만드는지에 대해 쓸거다 나 앱 가르쳐 주신 분이 안드로이드 개발자는 리사이클러 뷰만 자유자재로 만들 줄 알면 끝이라고 했다 먼저 recyclerView를 만 jpointofviewntoe.tistory.com https://jpointofviewntoe.tistory.com/68 android : 간단하게 RecyclerView 생성하기[2] 저번 포스팅에서 item layout과 data class를 만들었숴요 제 설명이 도무지 이해할 수가 없다면 그냥 ..

android : 간단하게 RecyclerView 생성하기[2] [내부링크]

저번 포스팅에서 item layout과 data class를 만들었숴요 제 설명이 도무지 이해할 수가 없다면 그냥 이미지만 보시면 되지만ㄴ,, 그래도 읽어주세요!~!!!!~!~!!! 지난 포스팅에서 recyclerView 준비물이라고 했던! item layout data class adapter

android : 간단하게 RecyclerView 생성하기[1] [내부링크]

이번 포스팅은 ! 뭐냐면 recyclerview를 어떻게 만드는지에 대해 쓸거다 나 앱 가르쳐 주신 분이 안드로이드 개발자는 리사이클러 뷰만 자유자재로 만들 줄 알면 끝이라고 했다 먼저 recyclerView를 만들 때 필요한거는? 정확히 짚고 넘어가야한다! item layout.

kotlin : Fragment 생성하기 [2] [내부링크]

안녕하세요 전진시입니당 지난 포스팅에 이어 Fragment 생성하기를 시작하겠습니다 https://jpointofviewntoe.tistory.com/65 kotlin : Fragment 생성하기 [1] 안녕하세요 전진시입니다 이번 포스팅은 ! fragment 생성~~ 천천히 가보자고요! 먼저 fragment가 무엇이더냐 UI의 재사용 가능한 부분, 독립적으로 존재할 수 없다 등등 프래그먼트를 설명하는 문장들 jpointofviewntoe.tistory.com 저번 포스팅에서 fragment의 개념을 간단히 보고 레이아웃을 생성하였습니다 이번 포스팅에서는 생성한 fragment를 mainActivity에 호스팅하겠습니다 다섯번째. activity_main.xml 파일에 가서 프래그먼트를 띄울 layout..

kotlin : Fragment 생성하기 [1] [내부링크]

안녕하세요 전진시입니다 이번 포스팅은 ! fragment 생성~~ 천천히 가보자고요! 먼저 fragment가 무엇이더냐 UI의 재사용 가능한 부분, 독립적으로 존재할 수 없다 등등 프래그먼트를 설명하는 문장들이 많이 들어있습니다. 프래그먼트가 없다면 저희는 필요한 페이지를 모두 Activity를 생성해서 표현해야합니다 프래그먼트를 사용하면 Acitivity위에 또 다른 화면을 띄울 수 있죠 ! 이걸 UI를 재사용할 수 있다~ 라고 말하는것이 아닌지!! 프래그먼트는 독립적으로 존재할 수 없고 액티비티나 또 다른 프래그먼트에 종속돼야합니다 이론은 안드로이드 개발자 문서가 매우 정확하니 저는 바로 프래그먼트를 생성하는 방법을 보겠습니다 ㅎㅎ 첫번째. 준비물 -> 프래그먼트를 띄울 Activity , fragm..

Vue.js mac에서 개발환경 셋팅하기 [2] [내부링크]

안녕하세요 전진시입니다 바로 시작하겠슴다 글이 너무 길어져서 ! 네번째. 왼쪽 메뉴 리스트에서 블럭같이 생긴 다섯번째 버튼을 클릭해주세여 아래 이미지와 같이 Veture Vue 3 Snippets HTML CSS Support 를 설치해줍니다 설치가 끝났다면 다섯번째. 이전 포스팅에서 저희 vuetesta라는 프로젝트 하나 만들었죠 OpenFolder로 들어갑니다 여섯번째. App.vue가 잘 열리는지 확인! 마지막으로 한번 실행을 해보겠습니다 일곱번째. 터미널을 켜서 npm run serve 입력! 아래와 같이 Local 주소가 뜨면 command 키를 누르고 클릭합니다 쟌~~~완료!!!!!!!!!!!!

Vue.js mac에서 개발환경 셋팅하기 [1] [내부링크]

안녕하세요 전진시입니당 오늘은 Vue를 셋팅해보겠슴다! 첫번째 . Node js를 설치합니다 https://nodejs.org/en/ Node.js Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 아래와 같은 화면이 뜨면 왼쪽 버튼을 눌러서 다운로드 ! node js를 설치하면서 두번째. vscode를 설치해주세요! https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging ..

Retrofit : TimeOut 설정 [내부링크]

개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 31 minSdk : 23 --------------------------------- 안녕하세요 전진시입니다 웹서버에 데이터를 요청하다가 TimeOut error로 뻑이나서 제한시간을 늘렸습니다 기본 제한 시간이 10초 더군요,, 20초로 늘렸습니다 저처럼 인터넷 상태가 좋지 않은 사용자들이 많을테니 api 통신이 5초 이상 걸린다면 잘못 개발된거라는군여,,,, Retrofit에서는 웹서버 등 네트워크와 통신할 때 타임아웃을 설정하고 있는데요 종류는 아래와 같습니다 Connection timeout Read timeout Writ..

android : Timer 사용하기 [내부링크]

#타이머를 사용해보자 해시태그 걸기~~~~ Timer 타이머를 검색하고 한국어로 번역했더니;;! 시간제 노동자,.. 저를 말하고 있군요 ㅋㅋ 개발을 하다가 타이머를 메인으로 쓸 일이 생겨서 한번 정리하려 합니다 ! 막상 쓰려고 하니까 안드로이드에서 제공하는 타이머의 특성을 제가 정확히 모르고 있었습니다 쉐에에ㅔㅇㅅ~~~~~ --------------------------------------------------------------------------------------- **** 혹시 타이머 재실행을 n번 해야하시는 분은 timer 객체를 전역변수로 두시지 않는걸 추천합니다! 전역변수로 두고 처리할 수 있는 방법이 있을거 같긴한데 저는 타이머의 특성중 재활용이 안된다는 점 때문에 타이머와 관련된 ..

AndroidStudio : Unsupported Modules Detected 에러 해결 [내부링크]

오랜만에 연 프로젝트를 빌드하려고 하니 아래와 같은 에러가 났다 제 기 랄 ! 시간 없는데 ! Unsupported Modules Detected: Compilation is not supported for following modules: . Unfortunately you can't have non-Gradle Java modules and Android-Gradle modules in one project. 처음보는 에러다 구글 서칭을 하니 Invalidate Chaches / Restart.. 를 하면 해결 된다고 하는데 난 안됐다 방법은 안드로이드 스튜디오를 잠깐 끄고 (프로젝트 종료) 프로젝트가 들어있는 디렉터리로 가서 .Idea 파일을 삭제해준다 그럼 해결 !

인터프리터(Interpreter) 언어 vs 컴파일(Compile) 언어 [내부링크]

저는 Vue 프로젝트를 앞두고 JavaScript 언어를 공부하고 중이에요 android, iOS에 이어 vue까지 하게됐습니다...! 한가지를 깊게 공부하고 싶은데 한가지만 하고싶다고 그것만 할 수 있는 상황이 아니네요 아직 신입이라 이것저것 다 손대기엔 실수가 많은데,. 그래서 시간 쪼개서 프로그래밍에 대해 더 열심히 공부하려고 합니다 그럼 서론은 여기서 마치고 -------------------------------------------------------------------------------------------------------------- 인터프리터 언어와 컴파일 언어가 뭔지 알아보겠습니다 인터프리터 언어란? 개발자가 작성한 코드(원시코드)를 기계어로 변환 과정없이 한줄 한줄 해석하..

CHROME : android WebView Console log & Cookie 확인하기 [chrome inspect] [내부링크]

오늘은 안드로이드 웹뷰 로그를 확인하는 방법을 보겠습니다~! 웹앱을 하시는 분들은 크롬 인스펙터 사용하시것이 필수입니다! 근데 저는 오늘 알았습니다,, ~ ㅠ 저는 Seesion 데이터가 제대로 웹에 셋팅이 되고 있는게 맞는건지 궁금해서 확인했는데여 일단 크롬 주소창에 chrome://inspect 을 넣고 들어가시면 이렇게 화면이 뜹니다 기기를 연결하면 이렇게 뜨고 아래 inspect 버튼을 누르면 됩니다. 크롬 인스펙터에서 위 경로로 따라 들어가면 웹에 셋팅되어 있는 쿠키값도 확인할 수 있고 콘솔도 확인가능합니다 !

Apple : 앱 배포하기 [3. 프로비저닝 파일 생성하기] [내부링크]

앱 배포하기 포스팅입니다 아래에 앞선 차례의 링크들이 있습니다 프로비저닝 파일을 생성하겠습니다! 1. 프로필에 들어가주세여 2.앱 스토어에 제출할거니까 앱 스토어를 선택하고 continue! 3. 배포용 인증서를 선택해주세요 4. 프로비저닝 파일 이름을 넣어주세요 저는 음 프로젝트 이름+Distribution으로 정했어용 5. 생성하기를 누르면 아래와 같이 프로비저닝 파일이 생성되었습니다. 클릭 후 다운로드 하시면 됩니다! 1. CSR 인증서 생성하기 https://jpointofviewntoe.tistory.com/48 Apple : 앱 배포하기 [Certificate Signing Request 생성하기] 안녕하세요 전진시 입니다 ios 앱 배포 포스팅을 작성하겠습니다 CSR(Certificate S..

Apple : 앱 배포하기 [2. 배포용 인증서 생성 및 앱 ID 등록하기] [내부링크]

안녕하세요 전진시입니다 이번 포스팅은 앱 배포에 필수 준비물인 인증서를 발급해보겠습니다 먼저 apple 개발자 사이트에 접속해주세영 애플 개발자 멤버쉽을 결제했다는 전제하에 포스팅 진행하겠습니다! 계정에 들어가시면 위와같은 화면이 뜹니다 알아보기 쉽게 한국어로 번역해서 보겠습니다 저를 위해 ㅎㅎ 1. 왼쪽 카테고리에서 을 선택해주세요 2. 인증서 + 혹은 인증서 만들기를 클릭 ! 3. CSR파일을 업로드해주세요! (아래 링크는 인증서 만드는 과정입니다) https://jpointofviewntoe.tistory.com/48 Apple : 앱 배포하기 [Certificate Signing Request 생성하기] 안녕하세요 전진시 입니다 ios 앱 배포 포스팅을 작성하겠습니다 CSR(Certificate ..

Apple : 앱 배포하기 [1. Certificate Signing Request 생성하기] [내부링크]

안녕하세요 전진시 입니다 ios 앱 배포 포스팅을 작성하겠습니다 포스팅이 길어질거 같아 3단계로 나눠서 포스티할거에요! 먼저 CSR(Certificate Signing Request) 을 생성하겠습니다. 1. Spotlight에 KeyChain을 검색하고 들어갑니다 2. 상단 메뉴 막대에서 인증서 지원->인증 기관에서 인증서 요청으로 들어갑니다 3. 인증서 정보를 입력합니다 CA 이메일 주소는 빈칸으로 두고 사용자 이메일 주소와 일반 이름을 넣어주세요 * , 을 선택해주세요 4. 인증서 저장 위치를 정하고 저장 클릭 ! CSR 발급 완료입니다 1. CSR 인증서 생성하기 https://jpointofviewntoe.tistory.com/48 Apple : 앱 배포하기 [Certificate Signin..

SWIFT : UIAlertController can only have one action with a style of UIAlertActionStyleCancel [내부링크]

안녕하세요 전진시입니당 UIAlertController can only have one action with a style of UIAlertActionStyleCancel UIAlertController는 UIAlertActionStyleCancel 스타일의 작업을 하나만 가질 수 있습니다. alertStyle은 .cancel, .default .destructive 등이 있는데 하나의 alert에서는 스타일을 한가지씩만 사용할 수 있다는 말입니다! default 스타일은 중복해서 사용이 가능하지만 cancel 또는 destructive는 한가지의 버튼 스타일로만 적용할 수 있습니다 참고참고!

ios : NSInternalInconsistencyException 에러 [내부링크]

Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread = 레이아웃 엔진에 대한 수정은 메인 스레드에서 액세스한 후 백그라운드 스레드에서 수행해서는 안 됩니다. 로그인을하고 결과를 처리하는 도중 alert 창을 띄웠는데 위 에러를 뱉고 죽었습니당 확인해보니 UI는 메인스레드에서만 변경을 해야하며 백그라운드 스레드에서는 UI변경을 하면 안됩니다! 라고 합니다 ㅎㅎ,,. android 작업할 때 과장님이 알려주셨는데 정확히 안외워놔서 또 실수하고 오늘은 기록으로 남깁니다 ㅎ_ㅎ 아래 DispatchQueue.main.async 를 사..

Swift : TextField 사용후 키보드 내리기 [내부링크]

전진시입니다! TextField 사용후 키보드를 내려야하는데 키보드를 어떻게 내려야하는지 몰라서 또 찾아보고 적용 후 포스팅 하러 왔습니다 암기하자! // 앱은 유저가 글자 입력을 완료하는 시점을 모르기 대문에 자동으로 키보드를 내리지 못함. 다른 뷰를 터지하면 키보드가 내려가도록 구현 override func touchesBegan(_ touches: Set, with event: UIEvent?) { self.view.endEditing(true) } touchesBegan 메서드를 사용하여 사용자가 뷰를 클릭 시 endEditing을 호출하고 true 값을 줍니다 키보드를 끄는 메서드에요 이만 퇴근하겠습니당

Kotlin : 화면 클릭 시 키보드 내리기 ( EditText ) [내부링크]

안녕하세요 전진시입니다 모바일에서 키보드를 사용하는 동작을 할 때 키보드가 아닌 다른 화면을 클릭 시 키보드를 내리는 동작을 프로그래밍해보겠습니다! InputMethodManager를 임포트하고 객체를 하나 생성해주세요! 저도 소스는 정확히 분석은 못했으나 이렇게 작성하면 되더라구요 private fun hideKeyboard() { val view = this.currentFocus val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager inputMethodManager.hideSoftInputFromWindow(view?.windowToken, 0) } 화면 클릭 시 위 함수를 호출하는 부..

Xcode : could not find any information for the class named [내부링크]

안녕하세요 전진시입니다! 또 다시 발견한 에러! objective-c로 작성된 프로젝트에서 클래스 하나 생성해서 작업해야할 일이 생겨서 기억을 더듬더듬 되짚으며 보다가 만났습니다 View를 하나 만들고 .m파일과 연결하려는데 Connect 버튼을 누르니 대충 클래스 정보가 없다구 뜨네요 StoryBoard에는 생성한 클래스를 연결했는데 뭔가 더 작업이 필요한것 같습니다. 해당 프로젝트의 .m 파일과 .h파일 .storyboard 파일 세가지 모두 프로젝트 화면 오른쪽에 있는 인스펙터에서 Target Membership을 체크해주세요 그럼 해결!

IOS : 하이브리드 앱 쿠키 저장 및 관리 jsession ! [내부링크]

안녕하세요 전진시입니다 방금 쿠키때문에 8시간 날리고 왔습니다 ㅋㅋ,,ㅠㅠ 바로 본론으로 가면 저는 네이티브 화면에서 로그인을 하고 성공 시 웹뷰로 넘어가는 부분을 개발하고 있는데 로그인 api를 찌르고 응답(Response) 헤더에서 sessionid가 담긴 데이터를 저장하여 웹뷰를 돌아다닐때 해당 쿠키를 들고 다니면서 로그인 세션이 끊기지 않게 하려고 했습니다 let httpResponse = response as? HTTPURLResponse, let fields = httpResponse.allHeaderFields as? [String : String] HTTPURLResponse 객체를 생성해서 allHeaderFields로 헤더를 까고 모든 필드를 가져온 후 거기서 쿠키값을 꺼내 Common..

Swift : Custom Table View 생성 [내부링크]

안녕하세요 전진시입니다 이번 포스팅은 https://jpointofviewntoe.tistory.com/39 Kotlin: ListView 만들기 리스트 뷰가 필요할 때마다 인터넷에 검색을 했는데 이젠 검색하지 않으려고 직접 listView에 대해 정리해서 강제기억하려합니다.,. 먼저 listView는 항목 목록을 표시할 수 있는 컴포넌트입니다! lis jpointofviewntoe.tistory.com 지난 포스팅 android 에서 listView 만들기에 이어 TableView를 만들겠습니다ㅎㅎ ListView와 TableView는 항목 리스트를 만든다는 점에서는 같지만 ios와 android로 크게 구분되어 있어 이어서 포스팅한다는 말이 안맞을지도 모르겠네요 ,, 그럼 바로 시작하겠습니다! 저는..

Android : Activity has leaked window 에러 해결 [내부링크]

안녕하세요 전진시입니당 이번 포스팅은 방금 만난 에러해결 방안입니다! Activity has leaked window 위 에러는 액티비티 종료 전 생성되어 있는 dialog를 dismiss 해주지 않아서 액티비티 종료 후 발생하는 에러입니다. 저는 dialog 생성되면서 다른 문제로 앱이 튕겨서 강제종료되었구 이때 발견했습니다 ,.;;ㅎ 해결방법은 onDestory() 혹은 onPause() 함수에서 dialog.dismiss를 해주면 됩니다!

Kotlin : Array convert to String! [jointoString] [내부링크]

안녕하세요 오늘은 제목을 영어로 써보았어요 하루에 한번씩 짧게라도,,, 연습,,, 저는 한국어밖에 못해요ㅜ 이번 포스팅은 배열을 문자열로 바꿔보겠습니다 그냥 .toString을 사용했더니 암호화된것 같은 문자열로 바뀌더라고요,,,(이건 제가 소스를 다 분석 못해서 생긴 현상일 수도 있습니다) 서칭하다가 좋은 메서드를 발견했는데 jointoString

SWIFT : Text에 밑줄(underLine) 주기 [내부링크]

또 왔슴니다 이번엔 텍스트 아래에 밑줄을 줄거에요 전 UIButton에다가 사용했습니다 아래처럼 선언하시고 let loadUnderLine: [NSAttributedString.Key: Any] = [ .font: UIFont.systemFont(ofSize: 15), .underlineStyle: NSUnderlineStyle.single.rawValue] 아래처럼 사용하시면 됩니다! let attributeString = NSMutableAttributedString(string: "비밀번호 초기화", attributes: loadUnderLine) resetBtn.setAttributedTitle(attributeString, for: .normal) 그럼이만!

SWIFT : setBackgroundImage가 안될때!!! [내부링크]

안녕하세요 전진시입니다.. 야근중입니다,,, 야근하다가 몰랐던걸 발견해서 기록하러 왔습니당 UIButton background에 이미지를 셋팅하려하는데 인스펙터에서 적용하면 적용되지만 프로그래밍으로 적용하는건 왜인지 적용이 안되더라구요,, 이럴땐 아래 캡쳐본에서 Button 카테고리 안에 두번째 메뉴 Styled을 Default로 주시면 됩니다! 이유는 다음에 ! 그럼이만!

SWIFT : 키보드 숨기기 내리기 닫기! [내부링크]

안녕하세요 전진시입니다 ! 이번 포스팅은 UITextField 사용시 키보드 제어하는 방법입니다 ㅎㅎ 제어라고 할 것도 없이 그냥 키보드 내리는 방법이에요 허허 UITextField 영역을 클릭하면 기기 쪽에서 "사용자가 텍스트를 입력하려 하는구나!" 하고 텔레파시가 가지만 막상 사용자가 텍스트 작성을 완료하면 기기는 텔레파시를 받지 못합니다 텔레파시를 보내야해요 감사하게도 UIKit안에 UIEvent 함수 -> touchsBegan가 있습니다 ! override func touchesBegan(_ touches: Set, with event: UIEvent?) { self.view.endEditing(true) } 위 코드는 키보드밖의 다른 화면을 클릭하면 TextField 편집이 끝났다고 알립니다! ..

android : SQLite [내부링크]

1. execSQL 와 rawQuery 의 차이점 execSQL -> SELECT 명령어를 제외한 모든 SQL 문장을 실행한다. rawQuery -> SELECT 명령어를 사용하여 쿼리를 실행할 때 사용 쿼리의 결과는 Cursor 객체로 반환 Cursor 객체는 쿼리에 의하여 생성된 행들을 가르킨다 Curosr는 DB에서 결과를 순회하고 데이터를 읽는 데 사용되는 표준적인 메커니즘 1. Cursor를 탐색하는 코드 moveToFirst -> cursor를 첫번째 인덱스의 item을 가리키도록 조작, item이 없다면 false를 반환 moveToNext -> cursor를 현재 item의 다음 item을 가리키도록 조작, 현재 item이 마지막이라면 false를 반환

.gitignore 정리 사용법 [내부링크]

https://www.toptal.com/developers/gitignore git rm -r --cached . git rm 의 옵션 -r : 폴더 안에 다른 파일이 있으면 해당 폴더를 지우지 못하도록 한다. 폴더를 지우기 전에 안에 있는 내용을 반복적으로 비워주고 지우겠다는 옵션. --cached : 이 옵션을 사용하면 git에 있는 인덱스 파일만 삭제하고 실제 파일은 삭제되지 않는다. git add . git commit -m "gitignore 다시 적용" git push origin master // .idea 폴더 하위의 모든 파일 삭제 $ git rm --cached -r .idea/ // 버전 관리에서 완전히 제외하기 위해 commit $ git commit -m "Fixed untrac..

xcode : storyboard [내부링크]

storyboard 정리 노트 Text 1 . Button 혹은 TextView에서 텍스트에 underline(밑줄)을 추가하고 싶은 경우 프로퍼티로 선언 let loadUnderLine: [NSAttributedString.Key: Any] = [ .font: UIFont.systemFont(ofSize: 15), .underlineStyle: NSUnderlineStyle.single.rawValue] viewDidload에 let attributeString = NSMutableAttributedString(string: "비밀번호 초기화", attributes: loadUnderLine) resetPw.setAttributedTitle(attributeString, for:.normal)

android studio : xml 설정 [내부링크]

xml 정리 노트 Text 1 . Button 혹은 TextView에서 텍스트에 underline(밑줄)을 추가하고 싶은 경우 textView.paintFlags = Paint.UNDERLINE_TEXT_FLAG gradle 2. ViewBinding gradle 설정 buildFeatures { viewBinding true }

CocoaPod 업데이트 및 Command Line 업데이트 [내부링크]

안녕하세요 전진시입니당 아침부터 에러를 만났어요 ㄷ ㄷ 최근에 기록을 게을리했더니 안되겠슴니다 저는 개발중에 한두번은 Clean Build Folder를 잊지않고 해줍니다! 근데 최근에 Clean Build Folder와 함께 Drived Data도 한번 지워주는데 이거는 아무때나 하면 안되는거같아요 프로젝트를 켜놓고 이걸했더니 아래와 같이 제가 추가한 firbaseMessaging SDK가 없어졌대요 저거 말고도 파이어베이스권한도 없어졌네여 파이어베이스를 다시 찾아보겠습니다(。´_`)ノ゙ 나의 해결책------------------------------------------------------------- pod update firebase를 찾기위해 포드를 다시 업데이트 해봤습니당 블라블라 F..

SWIFT : Localizing, 다국어 처리 [내부링크]

안녕하세요 전진시입니다! 이번 포스팅은 앱 다국어 처리입니다~ 저번 프로젝트에서 처음 해보고 이번이 두번째인데 정리를 안해놔서 다 까먹었네용,. 이번 기회에 정리해둬야겠습니다! 다국어 처리는 앱에서 다양한 언어를 지원하도록 하는건데용 방법은 간단합니다~! 먼저 string 파일을 하나 만들어주세욤 파일명은 로 해주세욤! 이렇게 추가해주심 됩니다! 저는 폴더를 한개 만들어서 그 안에 집어넣었어요~ 보라색 펜으로 막 칠해둔게 넘 눈에 띄네요 ㅎㅎ,./ 맨 하단에 있는 버튼 클릭해주세요! xcode 기본으로 제공하는 언어가 영어라 default로 영어가 추가되었습니다! 요렇게 잘 뜨는지 확인해주세요~! 전 이미 Korean 파일을 추가한 상태인데 왼쪽 하단의 + 버튼을 눌러주시고 언어를 선택해주시..

iOS : Certificates 생성하려다가 못한 포스팅 ( 결제 전까지의 과정,,) [내부링크]

안녕하세요 전진시입니당 오늘은 앱 배포 혹은 FCM 알림 수신을 위한 Certificates 를 생성해보겠슴다 https://developer.apple.com/ Apple Developer There’s never been a better time to develop for Apple platforms. developer.apple.com 애플 디벨로퍼 사이트에 들어가셔서 맨 하단에 Certificates, Identifiers & Profiles 들어가주세요~! 혹시 애플 계정이 없으시다면 생성부터 하셔야 합니다! 아놔 ! 매번 회사걸로 쓰다가 개인 계정으로 만드려니까 개발자 조직의 구성원?에 들어와야 한다고 하네요 그럼 개발자 조직부터 들어가겠습니다.. 다시 돌아와서 계정(Account)으로 들어가..

AndroidStudio : SHA-1 key 가져오기 [내부링크]

안녕하세요 전진시입니다๑˃̶͈̀Ⱉ˂̶͈́๑ 은근 필요할 때가 많은 SHA-1키 입니다. SHA는 보안 해싱 알고리즘을 나타내는데 SHA 양식 중 하나가 SHA-1입니다. 저는 원래 터미널창을 이용하지 않고 androidStudio gradle task에서 바로 가져왔었는데요 이번에 gradle view 안에 task 항목이 안보여서 찾다가 방법을 남겨두는게 좋겠다 싶어 포스팅을 작성하게 되었습니다! (SHA-1 key를 얻는 방법은 아래에 있습니다!) 원래대로라면 androidstudio 맨 오른쪽에 gradle을 클릭하면 위와같이 떴어야 했는데 저는 Task 없이 [프로젝트명 - app- Dependencies] 가 떴습니다 .., 저와 같은 상황에 마주하신 분이 있다면 *맥북기준 preference에..

IOS : FCM 연동하기 (Firebase Cloud Messaging) [내부링크]

안녕하세요 전진시입니다~! 이번 포스팅은 iOS fcm 연동하기입니다 바로 시작하겠습니다!(/^^)/ https://console.firebase.google.com/ 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com 먼저 바로 firbase 사이트에서 콘솔로 들어가주세요! 프로젝트를 추가완료하셨다면 중간에 잇는 ios+, 안드로이드 아이콘 보이시나요? ios+ 버튼을 클릭합니다(*´ ワ `*)“ 화면에 보이시는 프로젝트 추가를 누르시면 위 이미지처럼 프로젝트 이름을 지정하라 뜹니다. 원하시는 이름을 작성해주시고 첫번째 빈칸 : Apple 번들 ID 에는 프로젝트의 TARGET에서 General - > I..

Android : Missing contentDescription attribute on image 경고 [내부링크]

안녕하세요 전진시입니다~!(๑˘ꇴ˘๑) 이번 포스팅은 ImageButton에서 만난 경고창입니다! Missing contentDescription attribute on image 이미지에서 contentDescription 속성이 누락되었다고 하네요๑・̑・̑๑ 이거는 기술적인 오류는 아니고 이미지에 대한 접근성이 좋지 않다! 라는 경고입니다. 저 노란 전구에 커서를 갖다대면 위와 같은 창이 올라옵니다 Set ContentDescription을 클릭해주세요! 요렇게 넣어주면 됩니다 저는 contentDescription에 고냥 "이미지 뷰입니다" 라는 스트링을 넣어주었어요..! 그냥 버튼 이미지 버튼이었어서리.. 만약 굳이 설명이 필요없는 장식용 이미지라면 android:contentDescriptio..

SWIFT : 초기 뷰 컨트롤러 설정 (2) [내부링크]

안녕하세요 전진시입니다~! 이번 포스팅은 초기 뷰 컨트롤러 설정에 대한 기록입니당 저번에 초기 뷰 컨트롤러 설정하는 것에 대해 글을 썼는데요 https://jpointofviewntoe.tistory.com/8 SWIFT : 초기 뷰 컨트롤러 설정 에러 해결! 안녕하세요 전진시입니다!⸜(*ˊᗜˋ*)⸝ 고새를 못참고 또 에러를 만나서 해결책을 들고 왔어요!ㅋㅋㅋ 이번 에러는 정말 간단한거에요 아까 올린 에러도 정말 기초적인 에러였고! 제가 너무 극 jpointofviewntoe.tistory.com 요번에 이 방법으로도 통하지 않아 새로운 방법을 알아냈습니다'' 프로젝트를 생성하면 Main.storyboard가 초기뷰로 설정이 되는데 저는 다른 뷰를 초기 뷰로 설정해야 했습니다. 근데 인스펙터 - > ..

코딩 명명 규칙 : 카멜 케이스, 스네이크 케이스, 케밥 케이스, 파스칼 케이스 정리 [내부링크]

안녕하세요 전진시 입니다๑•‿•๑ 이번 포스팅은 변수 & 클래스 & 패키지 네이밍 종류에 대하여 남기겠습니다~! 코딩 표기법 : 명명법 1. 카멜 케이스 표기법 (camelCase) 첫 문자는 소문자로 표기하고 그 이후에 연결되는 문자들의 첫자는 대문자로 표기. camelCase androidStudio 2. 케밥 케이스 표기법 (kebab-case) 모든 문자의 첫 자는 소문자로 표기하고 문자들 사이는 -(하이픈)로 연결. kebab-case android-studio 3. 스네이크 케이스 표기법 (snake_case) 모든 문자의 첫 자는 소문자로 표기하고 문자들 사이는 _(언더바)로 연결 snake_case android_studio 4. 파스칼 케이스 표기법 (PascalCase) 모든 문자..

SWIFT : TimeInterval to CMTime , Time seconds to CMTime [내부링크]

안녕하세요! 전진시입니다~ 이번 포스팅은 TimeInterval 타입을 CMTime 타입으로 변환하는 방법입니다 먼저 TimeInterval 이란? TimeInterval a number of seconds 즉, 초를 나타내는 단위입니다. 그렇다면 CMTime이란 ? CMTime 애플 개발 문서에는 영어로 블라블라 써있는데 해석하자면 복사해서 가져오려니 깨져서 가져와지네염〔´∇`〕 간단히 설명하자면 CMTime은 시간 값을 int64 타입의 분자와 int32타입의 분모로 시간을 표현하는 구조체 입니다. 고럼 바로 TimeInterval을 CMTime 로 어떻게 변환하는지 보겠습니다. 서론이 길었는데 방법은 아주 간단해욤! let convertValue = CMTime(seconds: secondsVa..

JAVA : Java SE 11 설치 - 맥(Mac) [내부링크]

안녕하세용 전지시입니다⸜(*ˊᗜˋ*)⸝ 즐거운 주말 보내고 계신지용 이번 포스팅은 Java 11 버전 설치 방법입니다! 바로 시작하겠습니다~!๑•‿•๑ 먼저 Java 11 버전을 다운하는 것은 아주 간단합니다~ www.oracle.com/kr/java/technologies/javase-jdk11-downloads.html 위에 링크로 걸어둔 오라클 사이트에 접속해주세요! 바로 위 사진과 같은 페이지가 로드될텐데 macOS에서 installer를 다운받아 주시면 됩니다! 이렇게 다운로드가 완료 되었다면 설치 파일을 클릭하고 설치 시작해주세요! 설치 완료되었습니다 ~!~! 다음은 환경 설정을 해줄건데 먼저 터미널을 열어주세요! java -version 입력 후 아래 캡쳐본과 같이 뜨면 정상..

JAVA : 자바 JDK 와 JRE 그리고 JVM 개념 알기 [내부링크]

안녕하세요 전진시입니다 ~ 이번 포스팅은 JAVA에서 JDK와 JRE 그리고 JVM이 각각 무엇인지와 이 세 용어의 관계를 기록해두겠습니다 : JDK (Java Development Kit)과 JRE(Java Runtime Environment) 초보 자바 개발자들은 종종 JDK와 JRE를 혼동합니다 ~! 저도 둘의 차이점을 정확히 몰랐습니다(*´ ワ `*)“ 이제 알면 되죠! 이 둘의 차이점은 JDK는 Java 기반 소프트웨어 개발을 위한 도구 패키지인 반면 JRE는 Java 코드 실행을 위한 도구 패키지라는 것입니다 우리가 자바로 작업하기 위해 설치하는 것이 바로 JDK이고 JDK를 설치하면 JRE가 자동으로 설치돼요 JDK는 JRE를 포함하고 있고, JRE는 JVM을 포함하고 있어요 따라서 JDK를..

Swift에서 objective-c 함수 및 코드 사용하기! [내부링크]

안녕하세요옹 전진시입니다! 이번주까지만 iOS하고 내일부터는 안드로이드 작업할거에요! (๑˘ꇴ˘๑) 지금 하는거 안드로이드로 똑같이 만들어야 하고든여ೕ(・ㅂ・ ) 이번 포스팅은 Swift파일에서 objective-c 함수 또는 코드를 사용해보려고 합니다! 위 사진을 보시면 subtitle과 관련된 .m 확장자를 가진 소스파일과 헤더파일이 있습니다 objective-c에서 사용하는 파일이에요!ೕ(•̀ㅂ•́ ) swift 언어를 사용하는 프로젝트로 옮길 파일을 드래그해서 프로젝트 안에 추가해 줍니다! 저는 디렉터리에서 안 옮기고 Xcode 왼쪽 사이드 프로젝트 목록에 추가했어요 파일을 추가하시면 위 사진처럼 objective-c 브릿지 헤더를 만들거냐? 라고 물어봅니다(ㅅ´ ˘ `) 그럼 저희는 를 ..

iOS : Cocoapod와 pod설치하기! [내부링크]

안녕하세요 전진시입니다~! 오늘은 Cocoapod이 무엇인지 알아보고 pod 설치하는 방법에 대해 포스팅하겠습니다o(*''*)/゚’ CocoaPod이란? 코코아 팟 사이트를 들어가 보시면 라고 설명되어 있습니다! 간단히 말하면 프로젝트에 필요한 라이브러리를 CocoaPod을 통해 쉽게 관리하고 사용할 수 있게 해주는 도구입니다๑•‿•๑ cocoaPod를 사용하려면 pc에 설치가 필요해요! 터미널에 아래 명령어를 입력해주세요 sudo gem install cocoapods 명령어를 적어주시면 설치는 끝입니다 다음 Pod를 설치할 디렉토리 경로로 들어가서 pod를 생성해줍니다 pod init 아래의 사진처럼 해당 디렉터리에 Podfile이 생성되었다면 정상적으로 설치가 된것입니다 (*´θ..

SWIFT : 뷰 컨트롤러 화면 전환 (스토리보드 호출) [내부링크]

안녕하세요 전진시입니다!٩( *˙0˙*)۶ 이번 포스팅은 하나의 스토리보드에서 다른 스토리보드의 뷰를 사용자 컨트롤 없이!! 호출해보겠습니다! 저같은 경우는 lanch screen에서 애니메이션 포함하여 2초 딜레이 후 메인 화면으로 넘어가야하는 상황이었습니다 ! 화면전환하는 방법에 대한 글은 대부분 버튼을 클릭해야 변경이 되어서 다른 방법을 찾아보게되었습니다 사용하는 메서드는 다른 개발자분들이 사용하시는 것과 동일합니다 (งᐖ)ว 저의 화면 구성은 다음과 같습니다! 두개의 뷰 컨트롤러가 있습니다 하나의 스토리보드에 두개를 뒀습니다! 두개의 스토리보드에 따로 두셔도 무방할것 같습니다 (´∇ノ`*)ノ storyboard에 두개의 뷰 컨트롤러가 들어있어요! MainIntro는 Launch scree..

SWIFT : 초기 뷰 컨트롤러 설정 에러 해결! [내부링크]

안녕하세요 전진시입니다!⸜(*ˊᗜˋ*)⸝ 고새를 못참고 또 에러를 만나서 해결책을 들고 왔어요!ㅋㅋㅋ 이번 에러는 정말 간단한거에요 아까 올린 에러도 정말 기초적인 에러였고! 제가 너무 극극초보 개발자라 자꾸 요런 에러들을 만나네요 이렇게 잘 정리해두고 머릿속에 넣어둬서 앞으론 안만날거에요,, 이번 포스팅의 에러는 [WindowScene] Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set? 즉, 'Main' storyboard 에 대한 기본 뷰 컨트롤러를 인스턴스화하지 못하였다고 하네요 입니다,,! 초기 뷰 컨트롤러를 ..

SWIFT : 버튼 모서리 둥글게 만들기! Button corner radius 조작하기 [내부링크]

안녕하세요 전진 시입니다~! 이번 포스팅은 UIButton의 모서리를 둥글게 만들어보겠습니다(*ˊᵕˋoo 위 사진은 요즘 만들고 있는 AVPlayer입니다! AVPlayer 다 만들면 플레이어 구현하는 방법도 포스팅하러 올게요! 플레이어에 버튼들을 만들고 있어요 ⸝⸝• ̫•⸝⸝ 속도 조절 버튼이랑 이것저것 만들어 보려 합니다. 위에 오른쪽 하단에 보이는 버튼 두 개는 직사각형 네모 버튼으로 좀 정 없는 느낌이 드네요 바꿔볼게요! cornerRadius - 해당 속성은 레이어의 둥근 모서리를 그릴 때 사용할 반경이며 기본 값은 0.0입니다! 타입은 CGFloat이에요 그러면 해당 속성을 가지고 버튼에 둥근 모서리를 주겠습니다! 먼저 버튼을 IBOult으로 선언해주세요! 다음 선언한 버튼의 co..

Swift : class ' ' has no initializers 해결책 [내부링크]

안녕하세요! 전진시입니다 ⸜(*ˊᗜˋ*)⸝ 이번 포스팅은 방금 만난 에러 해결과정입니다! 제가 생성한 클래스가 이니셜라이저가 없다고 합니다 이는 클래스 내에 초기화 되지 않은 변수 및 오브젝트가 존재할 때 발생하는 에러입니다!! 기초적인 부분에서 생긴 실수이지만 짚고 넘어가면 좋을 것 같습니다!๑'ٮ'๑ 제 클래스에서는 maintext와 subtext가 타입 어노테이션만 사용되어있고 초기화는 되어있지 않은 상태입니다! 타입 뒤에 !를 붙여주시거나 값을 넣어주어 초기화해주시면 해결됩니다! 해당 에러는 클래스 자체 에러로 표시되기 때문에 코딩하다가 중간중간 초기화가 빠진 부분이 없는지 훑어보면 좋겠습니다!-! 그럼 오늘도 좋은 하루 되세요~!(งᐖ)ว

SWIFTUI : SF Symbols (systemName) 사용하기! [내부링크]

안녕하세요 전진시입니다~! 이번 포스팅은 SF Symbols이 무엇인지와 그 사용법에 대해 알아보겠습니다!(•‾̑‾̑•)ノ SF Symbols 란? 애플 개발 문서에 3,200개 이상의 일관되고 고도로 구성 가능한 기호 세트라고 명시되어 있습니다! SF Symbols는 앱에서 사용할 수 있는 아이콘 라이브러리입니다 그렇다면 바로 사용법을 알아보겠습니다! 먼저 아래의 애플개발자 페이지로 이동하셔서 https://developer.apple.com/sf-symbols/ Apple Developer There’s never been a better time to develop for Apple platforms. developer.apple.com 맨 하단으로 내려가시면 아래 사진처럼 다운로드 할 수 ..

iOS에서 WebView의 자바스크립트 console log 확인하기! (Safari) [내부링크]

안녕하세요 전진시입니다! 이번엔 ios의 웹뷰 콘솔 로그를 확인할 수 있는 방법을 가져왔습니다٩( *˙0˙*)۶ ️ 웹뷰를 띄우기 전 먼저 테스트할 아이폰부터 설정합니다! 설정에서 사파리 앱을 선택한 후 고급 -> 웹속성 스위치 버튼을 ON으로 설정해주시면 됩니다! 그 후 웹뷰를 띄울 프로젝트를 하나 생성해주세요! 웹뷰 생성하는 방법은 https://jpointofviewntoe.tistory.com/3 SWIFT WebView 생성하기! 안녕하세요 전진시입니다 ㅎ_ㅎ 오늘은 초콜릿을 먹으며 개발중이에요 ! 원래 군것질을 잘 안하는데 개발할 때는 입이 심심하네여 (´••`)*゚*。 오늘은 SWIFT 언어를 이용하여 웹뷰를 jpointofviewntoe.tistory.com 여기 있습니다 ㅎ_ㅎ 제..

SwiftUI 화면 방향 고정 [내부링크]

안녕하세요! 전진시입니다 ⸝⸝• ̫•⸝⸝ 아까 Swift 어노테이션에 관해 글 쓰고 또 왔어요 ㅎㅎ 이번 포스팅에서는 SwiftUI에서 화면 방향을 고정하는 방법을 파헤치겠습니다! 지금 동영상 플레이어를 작업중인데 가로모드 고정을 해야하는 상황입니다!! 이것은 현재 플레이어! 희한하게 뜨네여 ㅎㅎ 제가 원하는 것은 사용자 컨트롤 없이 가로모드로 고정되는 겁니다 인터넷을 뒤져보니 info.plist에서 수정하는 방법이 있네요!∠( ᐛ 」∠)_ 프로젝트 -> Targets -> General -> Deployment info -> Device Orientation 에서 설정하면 완료! 저는 프로젝트의 모든 뷰에서 가로모드만 사용할거라 Landscape Left 와 Landscape Right를 체크하면 끝입..

SwiftUI 어노테이션 [내부링크]

오늘 아침은 쌀쌀하네요~.. 제 자리가 창가자리여서 그런가 더 추운거 같습니다 이번에 진행하는 프로젝트는 SwiftUI로 해보려합니다 차근차근 공부중이에요 서론은 이쯤하고 SwiftUI의 어노테이션이 뭔지 한번 알아봐야겠습니다 !! 제 티스토리 첫 포스팅이에요 ㅎㅎ,, 허허 먼저, 스위프트에는 타입 어노테이션 (Type Annotation)과 타입 추론(Type Inference) 이 있습니다. 실은 이 포스팅을 하는 이유는 제가 어제 SwiftUI로 동영상 Player를 만드는 공부를 하다가 @State와 @Binding이란 친구를 만났는데요,, 공부 초반, @State만 사용할 때는 약간 boolean 같은 데이터 유형인가 하고 어물쩡 넘어갔는데 @Binding까지 나오니 안되겠다 싶어 정확히 짚고 ..

여행은 힘과 사랑을 그대에게 돌려준다 [내부링크]

여행은 힘과 사랑을 그대에게 돌려준다. 어디든 갈 곳이 없다면 마음의 길을 따라 걸어가보라 그 길은 빛이 쏟아지는 통로처럼 걸음마다 변화하는 세계. 그 곳을 여행할 대 그대는 변화하리라 - 잘랄루딘 루미 어..

Android 11 [권한 업데이트]Permission ->READ_PHONE_STATE ? READ_PHONE_NUMBERS? [내부링크]

안녕하세요 전진시입니당 벌써 저녁 9시군요 날씨가 더워지고 있어요 ~~~! 작년 이맘때쯤엔 열심히 취업준비중이었는데 지금은 ,,! 벌써 경력 1년을 향해 달려가고 있습니다 android 10하고 android 11 버전에 주..

스레드(Thread)를 알아보자 [내부링크]

이번 포스팅은 스레드를 알아보겠다 프로그래밍의 기본중에서도 기본인 스레드의 개념을 머리에 정확히 넣어야겠다 지금 공부하고 있는 자바스크립트 언어는 싱글 스레드 기반이며 코어가 여러개 있어도 메인 스..

맥북 다크 네이비 파우치, 케이스 장만 [내부링크]

#맥북 파우치를 장만했다 산건 아니고 받았다 ㅎ_ㅎ 선물이 세상에서 젤 조와 #13.3인치 맥북 파우치다 ! 19800원!!!!!!! 색상은 다크네이비!!!!!! 호오 이 사진을 보니 맥북 필름을 사야겠다 아주 여유롭게 들..

Swift : javascript Alert & Confirm 띄우기 [내부링크]

안녕하세요 전진시입니당 저번 포스팅에서 android에서 자바스크립트 alert 함수와 confirm 함수에 반응하는 방법을 포스팅했었습니다 https://jpointofviewntoe.tistory.com/54 Kotlin : java script Alert & Co..

Kotlin : java script Alert & Confirm 띄우기 [내부링크]

안녕하세요 전진시입니다~!!! android #WebView에서 자바스크립트 alert과 confirm을 받아오는 방법을 포스팅하겠습니다 javascript에서 Alert 함수는 사용자에게 단순하게 어떠한 내용을 알릴 때 사용하는 함수이..

[Kotlin : Android] OKHttp Logging Interceptor사용하기 [내부링크]

이번 포스팅은 OKHttp Logging Interceptor를 사용하여 Http 통신 로그를 기록하는 방법을 포스팅합니다 implementation 'com.squareup.okhttp3:okhttp:4.9.1' implementation 'com.squareup.okhttp3:logging-inte..

Kotlin : 안드로이드 JWT 토큰 인증 [Retrofit, okHttp3] [내부링크]

안녕하세요 전진시입니다 JWT토큰과 JWT토큰 인증 구현을 보겠습니다 먼저 JWT 토큰이란 JSON Web Token (JWT)는 마이크로 서비스의 인증, 인가에 사용할 수 있는 서명된 JSON 사용자가 로그인을 하면 토큰을 주..

Kotlin: ListView 만들기 [내부링크]

리스트 뷰가 필요할 때마다 인터넷에 검색을 했는데 이젠 검색하지 않으려고 직접 listView에 대해 정리해서 강제기억하려합니다.,. 먼저 listView는 항목 목록을 표시할 수 있는 컴포넌트입니다! listView의 장단..

Kotlin : SharedPreferences 사용하기 [내부링크]

안녕하세요! 전진시입니당 오늘 포스트는 SharedPreferences 에 대해 작성하겠습니다 iOS의 UserDefaults와 같은 개념이에요 SharedPreferences 는 앱 내부에 값을 저장할 수 있는 메서드를 제공합니다! 전 최근..

ios : 프로젝트에 폰트 추가 및 설정 (.ttf) [내부링크]

안녕하세요 전진시입니다~~ 오늘은 xcode 프로젝트에 폰트 추가 및 설정 기록하겠습니당 호다닥 정리하겠슴다! 자 ! 폰트파일을 바로 프로젝트에 넣어주세요 고냥 저렇게 떨어뜨려줌 됩니다. 저는 noto뭐시기 폰..

android : 프로젝트에 폰트 추가 및 설정 (.ttf) [내부링크]

안녕하세요 전진시입니다~~ 오늘은 안드로이드 프로젝트에 폰트 추가 및 설정 기록하겠습니당 바로 시작하겠습니다~!~! Resource Directory를 하나 만들어주세요 폴더명은 font로 지어주세요! font.xml파..

JAVA : Singleton(싱글톤) - 메모리 낭비 방지 [내부링크]

안녕하세요 전진시입니당! JAVA에서 Singletone 패턴이란? 싱글톤이란 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 이름이다. 이는 생성자의 호출이 반복적으로 이루어져도 실제론 생성..

Android Studio : 레이아웃 성능과 그 종류와 특징들에 대해 [내부링크]

안녕하세요 전진시입니다~ 신규 앱 개발을 시작했는데 레이아웃을 뭘 쓸지 고민하다 한번 머릿속 정리할 겸 개발노트에 기록하려 합니다 ( ´  ` )ノ 이번 포스팅은 안드로이드 스튜디오에서 제공하는 레이..

SWIFT : 특정 뷰 화면 전환하기 - 가로모드 예제(orientation : landscape) [내부링크]

안녕하세요! 전진시입니다! 이번 포스팅은 특정 뷰 컨트롤러에서 가로모드 하는 방법을 알아보겠습니다⸜(*ˊᗜˋ*)⸝ 전체 뷰를 한가지 방향으로 고정하는 방법도 있지만 특정 뷰만 세로모드 혹은 가로모드로 로..

SWIFT WebView 생성하기! [내부링크]

안녕하세요 전진시입니다 ㅎ_ㅎ 오늘은 초콜릿을 먹으며 개발중이에요 ! 원래 군것질을 잘 안하는데 개발할 때는 입이 심심하네여  (´••`)*゚*。 오늘은 SWIFT 언어를 이용하여 웹뷰를 생성해보겠습니다..