본문 바로가기
반응형

분류 전체보기322

안드로이드 OpenGL 배우기 1부 - 기초 https://developer.android.com/develop/ui/views/graphics/opengl/about-opengl OpenGL ES | Android Developers OpenGL ES Stay organized with collections Save and categorize content based on your preferences. Android includes support for high performance 2D and 3D graphics with the Open Graphics Library (OpenGL®), specifically, the OpenGL ES API. OpenGL is a cross- developer.android.com 1. OpenGL 기초 .. 2023. 9. 28.
파이어베이스 INVALID_LOGIN_CREDENTIALS 파이어베이스로 flutter 로그인 구현을 하는데 자꾸 저 에러가 떳다.. 원인은 간단하다. 이메일과 패스워드가 틀려서 나오는 문제이다. 분명 제대로 했는데 왜 자꾸 저런에러가 뜰 까 하고 디버깅만 한시간 했는데 원인은 내가 signup을 구현하면서 패스워드 설정하는곳에 이메일주소를 넣어서 생긴 문제였다. 혹시나 고생하고 계신다면 signup쪽을 확인하시길... 2023. 9. 26.
초간단 Flutter Method Channel 배우기 https://docs.flutter.dev/platform-integration/platform-channels Writing custom platform-specific code Learn how to write custom platform-specific code in your app. docs.flutter.dev 1. 메소드 채널이란? 플러터에서 native code(android, ios)를 동작하고 싶을 때 사용하는 인터페이스이다. 2. 어떻게 만드는데? 먼저 flutter 코드에 아래와 같이 methodChannel을 생성한다. 생성할 때 채널이름을 넘겨준다. 그리고 채널을 통해 네이티브 메소드를 호출한다. 이때 method호출은 async/await를 지원한다. static const c.. 2023. 9. 12.
초간단 AWS CDK 개념 1. AWS CDK(Cloud Development Kit)란? AWS에 올라가는 서버 인프라를 코드로 구성해줄 수 있게 만드는 tool kit 이다. 왜 필요한데? 우리가 AWS에 서버를 올린다고 생각해보자. AWS 페이지 들어가서 마우스로 딸깍딸깍 이것 저것 사람이 손으로 다다다닥 눌러주고 설정해주어야 하고. 생각만해도 피곤하다. 이걸 코드 스크립트 같은걸로 적어서 자동화하고, 사람이 실수하는것도 줄일 수 있으면 얼마나 좋을까? 바로 그래서 AWS CDK가 나온것이다. 코드로 나의 AWS 인프라를 구성하고 배포할 수 있다. 2. AWS CDK의 중요 컨셉 CDK에는 App, Stack, Construct 라는 세가지 중요 컨셉이 있다. App 앱은 AWS 인프라를 define하는 코드가 작성된 어플리.. 2023. 8. 5.
파이썬 가상환경 사용법 1. 파이썬 가상환경이란 각 파이썬 프로젝트 폴더마다 서로 다른 패키지 버전을 요구한다고 가정하자. 프로젝트를 여러개 왔다 갔다 할 때 마다 매번 pip로 패키지를 지우고 다시깔고. 생각만해도 끔찍하다. 그래서 나온게 가상환경이다. 가상환경을 이용하면, 각 프로젝트마다 가상환경을 만들어 그 가상환경에서 패키지를 따로 설치해서 관리할 수 있다. 2. 사용법 가상환경 생성방법은 사용법은 다음과 같다 python -m venv 가상환경이름 보통 가상환경 이름은 .venv를 사용하는게 보통이다. 즉 python -m .venv 가상환경을 활성화 하려면 다음과 같이 activate를 활성화 시켜준다 source 가상환경이름/bin/activate 그리고 아래의 커맨드를 입력해보라 which python which.. 2023. 7. 31.
개발환경을 편리하게 해주는 Pyenv 사용법 https://github.com/pyenv/pyenv GitHub - pyenv/pyenv: Simple Python version management Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub. github.com 1. Pyenv란? 파이썬 버전을 관리해주는 프로그램이다. 하나의 컴퓨터에 여러가지 파이썬버전을 설치하고 이를 관리해준다. 왜 필요한가? 개발을 하다가 파이썬 버전이 여러개일 필요가 있다. 어떤 라이브러리는 특정버전을 요구하고, 다른 라이브러리는 또 다른버전을 요구하고. 매번 재설치를 하고 관련 패키지를 설치하는것은 몹시 복잡한 일이다. 이를 위해.. 2023. 7. 31.
ReactNative Firebase 구글 로그인 카카오 로그인보다 더 말썽일가 싶었는데 구글로그인도 생각보다 말썽이다 1. 기초설정 먼저 하기 링크에서 기초 환경세팅을 설정한다 https://rnfirebase.io React Native Firebase | React Native Firebase Welcome to React Native Firebase! To get started, you must first setup a Firebase project and install the "app" module. React Native Firebase is the officially recommended collection of packages that brings React Native support for all Firebase services on r.. 2023. 7. 13.
onUserLeaveHint 홈키 눌럿을때 이벤트 https://developer.android.com/reference/android/app/Activity Activity | Android Developers developer.android.com Called as part of the activity lifecycle when an activity is about to go into the background as the result of user choice. For example, when the user presses the Home key, onUserLeaveHint() will be called, but when an incoming phone call causes the in-all Activity to be automatically .. 2023. 7. 12.
React Native 카카오 로그인 + Firebase 연동 0. 개요 본 글 내용은 리액트 네이티브에서 카카오 로그인을 구현하고 이를 파이어베이스와 연동하는 작업을 서술하려고함 Flow는 다음과 같음 1. 카카오 디벨로퍼에서 애플리케이션 생성 2. Android, iOS 환경설정 3. 카카오 로그인 구현 4. 파이어베이스와 연동 1. 카카오 디벨로퍼에서 애플리케이션 만들기 먼저 카카오 디벨로퍼 사이트로 들어갑니다. Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 그리고 아래와 같이 애플리케이션 추가를 눌러 카카오 애플리케이션을 만들어줍니다. 만드셨다면 로그인 항목에서 활성화 설정을 ON으로 바꿔줍니다. .. 2023. 7. 1.
npm install과 npm install --save의 차이 위 차이를 알기전에 먼저 package.json과 package-lock의 차이부터 알고가자 1. package.json package.json은 의존성 패키지 목록을 저장하는 파일이다. 즉 내 프로젝트에 필요한 외부 라이브러리들의 목록들이나 마찬가지이다. 그리고 npm install을 치면 설치될 목록들이다. 2. package-lock.json package-lock.json은 실제로 설치된 패키지가 저장된 파일이다. 무슨말이냐 하면, 내가 package.json에 버전을 명시해서 기록해놔도 실제로는 그 버전대로 설치되지 않을 수 있다. 그리고 실제로 설치된 버전들이 기록되는 파일은 package-lock.json이다 그럼 npm install과 npm install --save의 차이는? npm i.. 2023. 6. 30.
[iOS] ReactNative에서 파이어베이스 사용하기 https://rnfirebase.io React Native Firebase | React Native Firebase Welcome to React Native Firebase! To get started, you must first setup a Firebase project and install the "app" module. React Native Firebase is the officially recommended collection of packages that brings React Native support for all Firebase services on rnfirebase.io 안드로이드는 문제없이 잘 되나 ios가 말썽이여서 정리 일단 아래 패키지를 설치 # Using npm np.. 2023. 6. 30.
OpenGL 배우기 2부 - Texture에 데이터 올리기 1.텍스처 객체 생성 glGenTextures 함수를 사용하여 텍스처 객체를 생성합니다. 이 함수는 생성된 텍스처 객체의 고유 식별자를 반환합니다. 2. 텍스처 바인딩 glBindTexture 함수를 사용하여 텍스처 객체를 바인딩합니다. 이제부터의 텍스처 작업은 해당 텍스처 객체에 대해 이루어집니다. 3. 텍스처 파라미터 설정 glTexParameteri 함수를 사용하여 텍스처의 필터링 및 반복 모드 등을 설정합니다. 필터링 모드는 텍스처를 확대 또는 축소할 때 어떻게 보간할지를 결정하며, 반복 모드는 텍스처 좌표가 텍스처 경계를 넘어갈 때 어떻게 처리할지를 결정합니다. 4. 텍스처 데이터 업로드 glTexImage2D 또는 glTexSubImage2D 함수를 사용하여 텍스처 데이터를 업로드합니다. gl.. 2023. 6. 21.
OpenGL 배우기 1부 - 기본적인 용어 설명 버텍스(Vertex) 3D 모델의 한 점을 나타내는 좌표이다. 버텍스는 X, Y, Z 좌표로 구성됨 폴리곤(Polygon) OpenGL에서 "폴리곤(Polygon)"은 2D 또는 3D 공간에서 도형을 구성하는 다각형을 의미합니다. 폴리곤은 선분으로 연결된 여러 개의 정점(Vertex)으로 구성됩니다. 즉 최소 세개이상의 버텍스가 필요합니다. 버퍼(Buffer) 데이터를 저장하는 메모리 영역을 말합니다. OpenGL에서는 버텍스 데이터, 인덱스 데이터 등을 저장하기 위해 버퍼를 사용합니다. 셰이더(Shader) 그래픽 처리의 핵심 요소로, 버텍스 셰이더(Vertex Shader)와 프래그먼트 셰이더(Fragment Shader)로 구성됩니다. 버텍스 셰이더는 버텍스의 위치와 속성을 계산하고 프래그먼트 셰이.. 2023. 6. 21.
맥북 Permission denied (publickey).fatal: Could not read from remote repository 맥 업데이트 할때마다 소스코드를 다운받으면 저런 에러가 뜬다. 왜 pub키 등록했는데 다운이 안되지? 이해를 할 수 없는데 해결방법은 간단하다 1. sudo vim /etc/ssh/ssh_config 2. vim ~/.ssh/config 둘중 아무 방법으로 config 파일을 열거나 한 뒤 아래와 같이 Host 밑에다가 ssh-rsa를 추가해준다 Host * or 혹은 원하는 remote 주소 HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa 나는 1번방법으로 사용해 왔는데 업데이트마다 /etc/ssh 폴더가 초기화 되는거 같아서 똑같은 짓을 계속 해주어야 한다. 개인적으로 홈폴더 밑에다 하는게 나은듯 2023. 6. 9.
RGBA to NV21 https://learn.microsoft.com/ko-kr/windows/win32/medfound/recommended-8-bit-yuv-formats-for-video-rendering 비디오 렌더링에 권장되는 8비트 YUV 형식 - Win32 apps 비디오 렌더링에 권장되는 8비트 YUV 형식 learn.microsoft.com toDataURL로 넘어온 데이터를 비트맵으로 바꾼 다음에 변환하는 코드. rgba가 바로 있다면 윗부분을 잘라서 알아서 쓰면 됩니다. 색상 포맷의 정의는 위 코드를 참고하면 된다. NV21 또는 yuv420sp의 경우 아래 코드에서 uv만 바꿔주면 됨! public byte[] convertBitmapToYUV(String base64Data) { byte[] deco.. 2023. 6. 2.
iOS를 처음 시작하며 겪는 삽질들 회사에서 iOS를 대응할 일이 생겼는데 하필이면 레거시 코드이다. 단순히 공식문서 튜토리얼을 읽고 따라하기에는 무리수가 있는 상태. 본 내용은 iOS를 진입하며 삽질하는 내용을 다룸 1. 언어는 무엇으로 시작하나 iOS의 경우 현재 스위프트 언어를 사용한다. 허나 과거에는 ObjectC라는 언어를 사용하였다. ObjectC의 경우 C언어에 객체지향을 추가한 언어이다. 기본적으로 C언어와 사용법은 동일하나 클래스의 경우 사용법이 다른언어들과 완전히 다르다. 보통 하나의 언어를 배우면 다른언어는 대충 모양이 비슷해서 쉽게 하는데 ObjectC의 경우 그 갭이 어마어마하다. 하기 내용은 직접 정리한 내용인데 한번 읽으면 그래도 코드읽는데는 무리가 없을 것이다. ObjectC 클래스 간단히 배우기 https:/.. 2023. 5. 3.
ObjectC 클래스 간단히 배우기 https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithObjects/WorkingwithObjects.html#//apple_ref/doc/uid/TP40011210-CH4-SW2 Working with ObjectsWorking with Objects The majority of work in an Objective-C application happens as a result of messages being sent back and forth across an ecosystem of objects. Some of these objects are instanc.. 2023. 5. 2.
[백준 2592] 부등호 https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력 www.acmicpc.net 문제 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시된 부등호 순서열 A가 다음과 같다고 하자. A ⇒ 2023. 4. 6.
스위프트 배우기 1부 - 스위프트 투어 https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour Documentation docs.swift.org 1. 프로그래밍의 시작점 아래 코드는 완전한 하나의 프로그램이다. 스위프트는 글로벌 스코프에서 작성된 코드가 시작점이다. main함수같은게 필요 없다 print("Hello, world!") // Prints "Hello, world!" 2. 변수 설정 스위프트에서는 let과 var로 변수를 선언한다. let은 상수, var는 변수이다. 스위프트에서는 변수는 사용되기전에 반드시 초기화 되어야 한다. var myVariable = 42 myVariable = 50 let myConstant = 4.. 2023. 3. 15.
[프로그래머스] 연속 펄스 부분 수열의 합 https://school.programmers.co.kr/learn/courses/30/lessons/161988 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 참 알고리즘 공부하는데 아직도 부족하다고 느껴지는 문제였다. 이 문제의 알고리즘 분류는 누적합 이다 기억하자.. 특정구간의 합을 구한다 => 누적합을 쓰자 1. 아이디어 각 펄스 수열의 누적합을 구한다. 특정 구간의 합이 가장 큰 부분의 합은 누적합의 최소값과 최대값의 차이이다 def solution(sequence): prefixSum = [[0 for _ in range(len(sequenc.. 2023. 3. 8.
반응형