jpointofviewntoe의 등록된 링크

키자드에 등록된 총 143개의 포스트를 확인하실 수 있습니다.

Tistory

[머신러닝] 사이킷 런 변환기, PolynomialFeatures

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

Tistory

[머신러닝] 특성공학과 규제 #1

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

Tistory

[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..

Tistory

[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

Tistory

[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..

Tistory

[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/..

Tistory

회귀 분석(Regression analysis) - 선형회귀의 예제#1

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

Tistory

회귀 분석(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..

Tistory

[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 '..

Tistory

[Flutter] Image 로드하기, Image 넣기

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

Tistory

[Flutter] Container 위젯에 클릭 이벤트 주기

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

Tistory

[머신러닝] 과대적합 vs 과소적합

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

Tistory

[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..

Tistory

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

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

Tistory

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

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

Tistory

[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..

Tistory

K-최근접 이웃 알고리즘 개념 정리하기

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

Tistory

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

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

Tistory

[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) ..

Tistory

[머신러닝] 빅데이터란

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

Tistory

[머신러닝] 머신러닝에 대한 개념보기

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

Tistory

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

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

Tistory

[chatbot] chatbot #개념 및 필요지식 정리

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

Tistory

[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..

Tistory

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

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

Tistory

새로운 김밥

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

Tistory

[그릭요거트 정복기 #2] 셀렉더요그

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

Tistory

[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 통신으로 앱 함수를 호출하여 필요한 값들을 앱에 전달하여 작업하..

Tistory

[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..

Tistory

[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 --------------------------------- 안녕하세요 이번 포스팅은..

Tistory

[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..

Tistory

[Flutter] Intro, Launcher 화면 생성하기

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

Tistory

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

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

Tistory

[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..

Tistory

[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 등 같이 추가해주겠..

Tistory

[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..

Tistory

SWIFT : 특정 뷰 화면 전환하기 - 세로모드 예제(orientation : portrait)

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

Tistory

[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로..

Tistory

[Kotlin] ListView 만들기

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

Tistory

[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..

Tistory

iOS & Android : 프로젝트에 폰트 추가 및 설정

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

Tistory

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

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

Tistory

[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..

Tistory

[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..

Tistory

[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 를 설치할 수 있게 해준..

Tistory

JAVA : Thread 와 Singletone

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

Tistory

[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을 받을 ..

Tistory

[SWIFT] Custom Alert 사용하기

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

Tistory

[Kotlin] Custom Dialog 사용하기

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

Tistory

[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, ..

Tistory

[Kotlin]JavaScript < ㅡ > Native 통신

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

Tistory

[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 통신으로 앱 함수를 호출하여 필요한 값들을 앱에 전달하여 작업하였습니..

Tistory

[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)로..

Tistory

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

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

Tistory

[SWIFT] WebView 생성하기

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

Tistory

[Flutter] Flutter 와 WebView 추가하기

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

Tistory

[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..

Tistory

[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..

Tistory

[Kotlin] SharedPreferences 사용하기

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

Tistory

[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 + ..

Tistory

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 ..

Tistory

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 합시다. - 여기서 문제..

Tistory

android: ImageView 크기 percentage로 주기

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

Tistory

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 비번 적어둔 것을 복붙해서 발생한 에러였습니다. 한번 수동으로 쳐주면 될거에오

Tistory

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 = ...

Tistory

swift : masksToBounds 란?

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

Tistory

android: webView ssl 에러 원인 파악하기

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

Tistory

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

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

Tistory

vue-cli-service: command not found Error 잡기

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

Tistory

android : Button Padding 없애기 & shadow 없애기

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

Tistory

Android : launchMode - Activity를 시작하는 방법

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

Tistory

Xcode : Multiple commands produce Error 에러

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

Tistory

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

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

Tistory

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를 만들었숴요 제 설명이 도무지 이해할 수가 없다면 그냥 ..

Tistory

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 구문을 완성해보겠습니다 엇 위에서 제가 말한 구문과 다릅니다! !!중요중요 (슬기와 배배!!!!!!!!!!!!!!!!!!..

Tistory

Git : branch 생성 및 git push/ checkout

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

Tistory

kotlin : Fragment 생성하기 [1]

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

Tistory

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..

Tistory

android : 간단하게 RecyclerView 생성하기[1]

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

Tistory

android : 간단하게 RecyclerView 생성하기[2]

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

Tistory

Retrofit : TimeOut 설정

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

Tistory

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 ..

Tistory

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

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

Tistory

인터프리터(Interpreter) 언어 vs 컴파일(Compile) 언어

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

Tistory

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 파일을 삭제해준다 그럼 해결 !

Tistory

android : Timer 사용하기

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

Tistory

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

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

Tistory

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..

Tistory

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

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

Tistory

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

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

Tistory

Swift : TextField 사용후 키보드 내리기

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

Tistory

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 를 사..

Tistory

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는 한가지의 버튼 스타일로만 적용할 수 있습니다 참고참고!

Tistory

Swift : Custom Table View 생성

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

Tistory

IOS : 하이브리드 앱 쿠키 저장 및 관리 jsession !

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

Tistory

Xcode : could not find any information for the class named

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

Tistory

Kotlin : 화면 클릭 시 키보드 내리기 ( EditText )

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

Tistory

Kotlin : Array convert to String! [jointoString]

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

Tistory

Android : Activity has leaked window 에러 해결

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

Tistory

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를 반환

1 2