ios simulator 에서는 잘되는데 안드로이드 시뮬레이터에서는 안되는 경우가 종종 있다. 여러 외주를 받으면서 다양한 상황을 겪었는데 그 중 하나는 앱은 빌드가 되는데 콘솔창에서 보면 아래와 같은 화면에 멈춰 있고, 설치된 앱을 실행시켜도 바로 꺼지는 경우가 있다.Launching lib/main.dart on sdk gphone64 arm64 in debug mode...✓ Built build/app/outputs/flutter-apk/app-debug.apk 이 또한 다양한 원인이 있지만, 두 번 이상 겪은 문제로 봤을 때android/app/src/main/.../MainActivity.kt 에 있는 package 이름과android/app/build.gradle 의 namespace 이름이..
분류 전체보기
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbh0cH9%2FbtsIDHiRAha%2FrouGKURUuNy5bOkj01dwv1%2Fimg.png)
플러터로 앱 개발시 여러 디바이스에서 동시에 디버깅을 하는 것은 매우 유용하다. 플러터가 크로스 플랫폼 프레임워크인 만큼 여러 개의 플랫폼에 출시할 가능성이 높고, 이 때문에 안드로이드 / ios 두 개의 시뮬레이터를 동시에 띄워놓고 각각 플랫폼 별 상태를 확인한다던지, 아니면 시뮬레이터와 실제 기기의 경험이 분명 다르기 때문에 시뮬레이터 / 실제 기기를 동시에 띄워놓고 작업한다면 굉장히 효율적이다. 여러개의 디바이스에서 디버깅하는 방법은 아래와 같다.1. 실행을 원하는 deviceId 구하기2. vscode launch.json 작성하기3. 실행하기 방법이 굉장히 쉽고 간단하다.1. 실행을 원하는 deviceId 구하기flutter devices터미널에 명령어를 입력하면 현재 연결된 기기들의 devic..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVl9zF%2FbtsED2lmfkx%2FUkZMix9InfHoiL4eoyg5oK%2Fimg.png)
저번 글에서 geth 클라이언트를 실행하면 크게 세 가지 함수인 prepare, makeFullNode, startNode가 실행되는 것을 보았다. 이번 글에서는 makeFullNode 함수를 볼 예정이다. // makeFullNode loads geth configuration and creates the Ethereum backend. func makeFullNode(ctx *cli.Context) (*node.Node, ethapi.Backend) makeFullNode 함수의 주석을 보면 geth 설정을 불러오고 이더리움 백엔드를 만든다고 한다. 이더리움 백엔드는 타입에 대해 다룬 두 번째 글에서 살펴본 backend 타입을 생각하면 된다. cli.Context를 받아서 node.Node와 eth..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOl5Q7%2FbtsEoKYOKvD%2FA4183Scy1qlkPDHD9TCarK%2Fimg.jpg)
최근(2024년 2월 5일 기준) 가장 핫한 키워드라 하면 "파캐스터" 근데 사람들이 하고 있는 앱이름은 "Warpcast" (워프캐스트) 왜 사람들이 파캐스터라고 할까보니 워프캐스트는 파캐스터의 클라이언트다.. Farcaster(파캐스터)가 뭘까? https://www.farcaster.xyz/apps -> 공홈 https://docs.farcaster.xyz/ -> 공식 문서 참고해서 정리해보겠다.. 파캐스터는 이더리움에 만들어진 탈중앙화된 소셜 네트워크라고 한다. 그리고 오픈소스 프로토콜이라 누구나 가져다가 데이터를 읽고 쓰는 앱을 만들면 된다. 파캐스터 = 이더리움에 만들어진 탈중앙화된 소셜 네트워크이자 오픈소스 프로토콜 사용자들은 그들의 계정을 갖고 있고, 다른 유저들과 상호작용하며 다른 앱으로..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEuuYs%2FbtsD3NI1rsy%2FSMrBPsBtq8ZSGp7YLtDPi0%2Fimg.png)
이제부터는 코드를 가져올 예정이기 때문에 글 하나하나가 굉장히 길 것 같다. 그럼 geth 클라이언트의 시작점은 대체 어디일까? main.go 파일을 찾아야 하는데 다양한 패키지가 있고 많은 main.go가 있다. geth 클라이언트를 실행할 때 터미널에서 geth ~~~ 명령어를 입력하게 된다. 이것과 관련된 명령어를 치는 부분인 cmd/geth/main.go 가 바로 시작점이다. 본격적인 흐름을 보기 전에 자주 나오는 타입에 대해서는 한 번 보고가는게 좋을 것 같다. main() 첫 시작 함수인 main() 여기서는 app.Run 을 실행하고, 에러가 있으면 에러 출력과 함께 종료한다. 이 때 app.Run의 argument인 os.Args 는 geth 명령어를 입력할 때 들어오는 값이다. func ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbb64kp%2FbtsD7nIA1ZY%2FKclbhoUREp41lrP7IVXwkK%2Fimg.png)
지난 글에서 geth 클라이언트를 실행할 때 어떤 일이 일어나는지, 시작점부터 실행 순서대로 보도록 하겠다고 했다. 하지만 코드를 살펴본 결과 들어가기에 앞서 geth에서 사용하는 몇 가지 타입에 대해 살펴보면 이해가 더 쉬울 것 같다. 이번 글 부터는 이해를 위해 필요한 코드가 있으면 전부 가져올 예정이라 앞으로의 글들은 좀 길 예정이다. cli 패키지를 살짝 알아보고 아래 4가지 타입을 먼저 확인해보도록 하겠다. - cli 패키지의 App, Context - Node 패키지의 node - ethapi 패키지의 Backend cli 패키지 import 문을 보면 https://github.com/urfave/cli/v2 에서 가져온 것을 확인할 수 있는데,, # https://cli.urfave.org..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFcvjS%2FbtsD0LEpwZ8%2FTKSJUJriaehNxBauOk5C3k%2Fimg.png)
Geth 소스코드 분석을 해볼까 한다. Geth 소스코드를 분석한 한글 자료가 있긴 하지만 오래된 자료들이 많다. 게다가 대부분의 자료가 중요한 업데이트 중 하나인 '더 머지' 업데이트 전 자료기 때문에 바뀐 점이 꽤나 많을 것 같다. 이더리움은 계속해서 업데이트 되기 때문에 그런 자료들을 참고해서 나도 한 번 코드를 살펴보려고 한다. 아마 최신 자료가 별로 없는 건, 블록체인 업계에 신규 유입되는 개발자들이 많지 않고 또 과거에 비해 다양한 체인들이 많아져서 골고루 분포하기 때문이지 않을까 생각해본다.. 좋은 자료 및 참고 자료 https://github.com/NAKsir-melody/go-ethereum-korean https://docs.google.com/presentation/d/1kKwMyi..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyJq4A%2FbtsC4bpmqgr%2FMmrn4zFLfTbm6qR1zBDIVK%2Fimg.png)
Flutter 3.16을 올리고 UI 문제가 생겼다면 material3 문제이다. 나도 flutter 3.16.x 버전으로 올리고 앱의 ui가 깨져보이기 시작했는데.. 위 처럼 보이던 탭바가 아래처럼 보이기 시작했다. 그 밖에도 버튼 누를 때 애니메이션 같은게 조금 바뀌었다. 왜 그런가 찾아보니 flutter 3.16에서는 Material3가 기본이라고 한다. https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1 What’s new in Flutter 3.16 Material 3 by default, Impeller preview for Android, DevTools extensions, and much more medium.com 그럼 ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvi0YC%2FbtsB19UXVkS%2FgT24AkAykgCPFDeR8Sqha0%2Fimg.jpg)
Bonk 상장 요즘 핫한 뉴스는 bonk 상장 12월 15일에 바이낸스에 상장되었다. bonk가 뭐냐 하면 Bonk is the first Solana dog coin for the people, by the people with 50% of the total supply airdropped to the Solana community. The Bonk contributors were tired of toxic “Alameda” tokenomics and wanted to make a fun memecoin where everyone gets a fair shot. -coingecko 솔라나 밈코인이다. 인스크립션인 줄 알았다. 왜 인스크립션인 줄 알았냐면 지금 대세가 되고 있기 때문에,, 대세가 되는 인..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1Fpq4%2FbtsBTWOWFW5%2FN9NyrWzXOunkHH80KlH6yK%2Fimg.png)
개요 처음에 ordinals에 관한 글을 올린 건 https://uzzam.dev/41 비트코인 역사에 기록될 순간 Brc-20 1 - 개요 개요 현재 암호화폐 투자는 안하고 있지만 습관이 되어 트위터로 소식은 자주 보고 있다. 최근의 이슈는 Pepe, 그리고 Brc-20이다. Pepe는 사실 바이낸스 상장까지 마친지 꽤 되었으니 이미 끝난 이 uzzam.dev 2023년 5월 9일 시간이 이렇게나 흘렀다니 나도 놀랐다. 그 사이에 비트코인을 비롯한 암호화폐 시장에도 생기가 돌고 있고, 누군가는 에어드랍으로 몇 천만원을 버는가 하면 brc-20 토큰인 ordi와 sats이 상장을 하기도 했다. 나는 사실 에어드랍을 준비하거나, brc-20 토큰을 사놓지는 않았는데 그 이유는 돈이 없어서도 아니고 확신이 ..