본문 바로가기
반응형

전체 글70

[Flutter] dashed line 그리기 해결 방법 dash 된 부분만 Line 을 그리는 방법으로 하였다. void paintDashedLine(Canvas canvas, Size size) { Paint standardPaint = Paint() ..color = Colors.grey ..strokeWidth = 1; const int dashWidth = 4; const int dashSpace = 4; double startX = 0; double y = 20; while (startX < size.width) { canvas.drawLine(Offset(startX, y), Offset(startX + dashWidth, y), standardPaint); startX += dashWidth + dashSpace; } } 실행 결과 R.. 2023. 2. 15.
[Flutter] Custom Paint 에서 Object rotate 하기 해결 방법 플러터에서는 upright 방향으로밖에 그림을 그릴 수 있다. 따라서 회전한 Object 를 그리는 것이 아니다. canvas를 회전시킨 뒤에 Object 를 그리고, 다시 회전시킴으로서 Object 가 회전된 것처럼 보이게 하는 것이ㅏㄷ. void drawRotated( Canvas canvas, Offset center, double angle, VoidCallback drawFunction, ) { canvas.save(); canvas.translate(center.dx, center.dy); canvas.rotate(angle); canvas.translate(-center.dx, -center.dy); drawFunction(); canvas.restore(); } 실행 결과 Ref.. 2023. 2. 15.
[Flutter] Custom Paint Border Radius 있는 rect 그리기 방법 borderRadius 에서 toRRect method 를 사용하여서 그리면 된다. void paint(Canvas canvas, Size size) { BorderRadius borderRadius = BorderRadius.circular(10); Paint paint = Paint()..color = Color.red; Rect rect = Rect.fromCenter(center: Offset(40, 40), width: 40, height: 40); RRect borderRect = borderRadius.toRRect(rect); canvas.drawRRect(borderRect, pointPaint); } 결과 화면 * background 색은 신경쓰지 않아도 됩니다. 2023. 2. 15.
[Flutter] M1 pod install 'CocoaPods could not find compatible versions for pod "FBAudienceNetwork"' 해결 문제 상황 flutter 를 3.7 으로 업데이트를 하고 ios 에서 빌드를 하려고 하니 pod install 에서 에러가 생겼다는 메세지가 나왔다. 그래서 ios 폴더에 들어가 직접 pod install / update 를 하니 다음과 같은 오류가 나왔다. [!] CocoaPods could not find compatible versions for pod "FBAudienceNetwork": In snapshot (Podfile.lock): FBAudienceNetwork (= 6.9.0, ~> 6.9.0) In Podfile: facebook_app_events (from `.symlinks/plugins/facebook_app_events/ios`) was resolved to 0.0.1, whi.. 2023. 1. 28.
[NextJS] NextJS Google Analytics 적용하기 Google Analytics 웹사이트의 방문자수, 여러 이벤트를 추적하고 결과를 보기 위해서 googla anayltics 를 사용한다. 이러한 ga를 nextjs 13 버전에 적용하는 방법을 알아보자 STEP 1 - env 에 ga 코드 추가하기 코드를 상수로 관리하기 위해서 .env 파일을 루트 폴더에 만들고 아래 코드를 추가한다. NEXT_PUBLIC_GOOGLE_ANALYTICS='G-*******'; STEP 2 - window 에 ga 추가하기 /lib/ga.ts 파일에 ga tag를 사용할 수 있도록 window에 추가해주고, 여러 이벤트를 먼저 정의해준다. declare global { interface Window { gtag: (param1: string, param2: string,.. 2022. 12. 18.
[Flutter] 중복 클릭 방지 버튼, StreamController, Throttle 버튼 구현 문제 상황 버튼을 만들고, api 에 연결하는 것은 흔히 있는 일이다. 그러나 버튼을 연속적으로 클릭해서 api 호출이 여러번 일어나면 예상하지 못 한 사이트 이펙트가 일어나게 된다. 보통 버튼을 클릭하면 Navigator.pop() 과 같이 다른 페이지로 이동하거나 하지만, 매우 빠르게 클릭하면 중복으로 처리가 되는 문제가 있다. 해결 방법 중복 클릭과 같은 문제에 대해서는 두 가지 방법이 있다. Throttle과 Debounce이다. 둘에 대한 설명으로는 다음 포스팅을 보면 자세하게 나와있다. 혼란한 디바운스(debounce)와 스로틀(throttle) 차이 scroll, resize, input, mousemove 와 같은 이벤트는 짧은 시간 간격으로 연속해서 발생합니다.이러한 이벤트에 바인딩한 이.. 2022. 12. 7.
[Docker][aws] WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested 에러 해결 문제 상황 spring boot 프로젝트를 도커 이미지로 만들고 docker hub 에 올렸다. 그리고 배포를 위해서 ec2 인스턴스의 리눅스 서버에서 이미지를 pull 받아서 실행하려 하는데 다음과 같은 오류가 나왔다. WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested 문제 원인 지금 쓰고 있는 노트북이 애플 M1 air 인데 도커를 빌드할 때 생성된 플랫폼이 ec2 인스턴스와 달라서 생긴 문제였다. 따라서 빌프 플랫폼을 맞추어서 빌드를 해준 뒤에 dockerhub 에 올리면 문제가 .. 2022. 12. 7.
[aws][rds] The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 에러 해결하기 문제 상황 aws rds 를 사용하여서 mysql 데이터베이스를 구축하였다. 그 후 datagrip 으로 연결하려는데 다음과 같은 오류가 나오면서 연결이 되지 않았다. The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 인터넷에 나와있는 거의 모든 방법을 다 해봤었다. 모두가 하라는 보안그룹 설정에서 인바운드 규칙을 설정하였다. (혹시 몰라서 모든 아이피로 허용도 했다.) 그리고 파라미터 그룹, mysql의 각종 설정 등을 수정하며 몇 시간을 보냈는데 해결 방법은 생각보다 간단했다. 해결 방법 aws 계정을 처음 생성하고 그대로.. 2022. 11. 28.
[Spring Boot] TypeNotPresentException 에러 [ 문제 상황 ] spring boot 로 개발하면서 애플리케이션을 실행하는데 TypeNotPresentException 이라는 오류가 나오면서 실행이 되지 않았다. [ 해결 방법 ] 해당 오류는 사용하는 변수의 타입이 정의되지 않아서 생기는 오류이다. 필자의 경우 UserEntity 라는 타입을 가진 userEntity 라는 변수를 사용하였다. 그러나 해당 파일에서 타입을 import 하지 않았었다. intellij 상에서 경고도 뜨지 않아서 찾기 힘들었었다. 그러나 다음과 같이 고치니 스프링을 정상적으로 실행할 수 있었다. val userEntity: UserEntity = userService.getUser(userId) 2022. 11. 8.
반응형