목록전체 글 (214)
파파비의 블로그
유니티에서 안드로이드 java code를 실행할 수 있습니다. C#을 활용해서 말이죠! (물론 안드로이드 API를 좀 아셔야 합니다) 안드로이드 java code를 활용하게 되면. 1. 토스트, 카메라 등의 네이티브 기능들을 유니티에서 활용할 수 있습니다. papabee.tistory.com/339 Unity ) 유니티에서 C#으로 Android Native Code 실행하기 - (2) C#으로 안드로이드 네이티브 기능 실행해�� 플러그인을 따로 만들지 않고, 기존에 존재하는 안드로이드 API를 유니티 내의 C# 스크립트를 통해 다뤄보도록 하겠습니다. 간단하게 유니티 내에서 Toast 메시지를 띄우는 코드에 대해서 살펴봅�� papabee.tistory.com 2. 우리가 직접 플러그인을 만들어서 활용하..
검색해보니 Firestore 관련 코드가 제대로 설명된게 없어서 정리해서 올려보고자 한다. 먼저 Unity에서 Firestore를 사용하기 위해선 1) Firebase project와 연결이 되어 있어야하고 2) Unity Project에 firestore sdk를 넣어두어야 한다. 위 2개의 과정은 다른 곳에서 찾아보면 참으로 많아 생략하고 핵심만 얘기하고자 한다. 코드 using System.Collections.Generic; using UnityEngine; using Firebase.Firestore; public class Playlist : MonoBehaviour { // Start is called before the first frame update async void Start () ..
Firebase에서는 Auth 기능이 존재합니다. 회원가입 등의 절차를 대신 해주는 기능인데요 Firebase를 이용하면 코드 단 몇줄로, 서버도 따로 구축할 필요없이 !! firebase에서 다 알아서 해줍니다. 이메일 가입이나 익명 가입 등등 다양한 기능들은 다른 곳에서도 소개가 많이 되어 있으니, 제가 오늘 다뤄볼 내용은 바로 이메일 인증에 관한 내용입니다. 보통 많은 서비스들이 이메일로 가입하면, 제대로 된 이메일인지 확인하기 위해 인증이메일을 보내서 이메일에 있는 링크누르면 인증되는 절차를 거치잖아요? 그 기능입니다. 구현하는건 무지 간단합니다 일단 Firebase 기능들을 다 제대로 설치했다고 가정합니다. 일단 코드부터 보죠 절차는, 먼저 가입을 진행하고, (await으로 완전히 가입될때까지 ..
여기서 포인트는, 언제 새로 연속을 끊어야 하는가? 이다. 음수 값이 나온다고 무조건 끊고 다시 생각해야하게 아니다. 예제 2번을 보면 -4 > 3 > 4 이다. 저 3개의 합은 +3으로, -4가 나오더라도. 연속 수에서 count를 끊고, 다시 새는 순간은 여태 누적합이 음수가 되는 순간이다. 그래서 난 이 문제를 풀 때, 누적합과 dp 배열을 각각 만들어서 dp[i]의 값은 sum[i]와 dp[i-1] 중 비교를 통해 선택했다. (Data)10 -4 3 1 5 6 -35 12 21 -1 (Sum)10 6 9 10 15 21 -14 12 33 32 (DP)10 10 10 10 15 21 21 21 33 33 dp[i]의 값은 i까지 연속합중 최고의 값을 말한다. 저기 표 가운데를 보면, 음수일 때는 그..
LCS -> 최장 공통 부분 수열/문자열 이라고 한다. 약간의 차이는 있으나 사실상 원리는 같다. www.youtube.com/watch?v=P-mMvhfJhu8&feature=youtu.be 해결하는 알고리즘이다. DP를 활용한 방식으로, 이중배열로 해결하게 되며, 원리는 2개의 문자열을, 각각 부분문자열을 만들어서, 동시에 하나씩 char를 추가하면서, 이전 값(부분문자열에 대한 LCS)을 비교하면서 구해나가는 방식이다. 예를 들어, ASDASD 라는 문자열과 ABDABD 라는 문자열의 LCS를 구해본다면, 1) 맨 처음 A와 A를 비교 (제일 작은 부분문자열) >> 값은 1 2) AS와 A & AB와 A를 비교 >> 똑같이 1(하지만 값이 달라질 수 있음) >> 그래서 AS AB의 값은 더 둘 중 ..
Arrays 나 Collections 에는 .sort라는 메소드가 붙어 있다. 우리는 여기에 int[] 처럼 이런 배열들을 넣고 sort를 진행한다. JAVA API문서를 살펴보면 sort의 성능은 merge sort급으로, n log n 의 속도를 자랑해서 매우 빠르다. 그런데 문제가 있다 우리가 만든 객체를 sort하고 싶으면 어떻게 하지? sort 관련 알고리즘을 직접짜서 돌려야 하나...? 정답은 NO~ 그런것들은 java가 알아서 해줄테니 기준만 정해서 알려주면 된다. 1) Comparable 우리가 어떤 class를 만들거나 어떤 객체를 저 collections의 sort 메소드를 통해 정렬을 시키고 싶다면 Comparable 인터페이스를 구현하면된다. 구현은 저 compareTo 메소드만 하..
Sort는 보통 가장 빠른게 nlogn 이라는 것은 들어봤을 것이다. 그러나 특정 조건에 한해서는 더 줄여질 수 있는데, Count Sort를 활용하면 n으로 줄일 수 있다. Count Sort에서 조건이라면, data의 범위가 될 것이다. Count Sort에 대해 자세히 알아보려면 아래 동영상을 참고하면 된다. www.youtube.com/watch?v=7zuGmKfUt7s 먼저 해당 data가 가능한 범위의 크기 만큼 array를 만들고, 한번 쭉 data를 훑으면서, 어떤 값이 나오면 그 값을 index로 보고 list[index]의 값을 +1 해준다. 이렇게 되면 어떤 값이 몇번 나왔는지 알게되고 나중에 리스트를 처음부터 훑으면서 순서대로 다시 쭉 써주면 된다. n + 데이터의 범위가 time ..
1) 스트림이란? - 큰 Data를 잘게 나누어서 한번에 다 다운받지 않고도 data를 받아서 사용이 가능하다. - 유튜브 영상이나 동영상 강의 같은 것들을 생각하면 된다. 2) 플러터에도 Stream이 사용되는데, 약간 결이 다른 것 같다. (다운로드 같은건 아니니까..) - 먼저 스트림은 data가 날라오면 구독자들에게 알리는 역할을 한다. 알리면서 당연히 해당 data도 전달한다. - SteamController 라는 객체를 만들면, Stream이 형성되고, 이 Stream을 통제할 수 있는 Controller도 같이 나온다. - (SteamController 객체를 stream이라고 부르겠다) stream.listen하고 인수로 함수를 넣으면, steam을 통해 어떤 data가 전달되었을 때, 바..