Skip to content

Instantly share code, notes, and snippets.

View Atsumi3's full-sized avatar
:octocat:

atsumi Atsumi3

:octocat:
View GitHub Profile
@Atsumi3
Atsumi3 / update_github_secrets.js
Created February 25, 2025 07:05
GithubのSecretsをスプシから更新するためのGAS
/// 例: https://github.com/Atsumi3/AppManager
/// const _GITHUB_OWNER = "Atsumi3";
/// const _GITHUB_REPOSITORY = "AppManager";
const _GITHUB_OWNER = "";
const _GITHUB_REPOSITORY = "";
/// Permission: Read and Write -> actions variables and secrets
const _GITHUB_PAT = "";
@Atsumi3
Atsumi3 / app_review_notifier.gs
Last active October 23, 2024 13:22
AppStoreとGooglePlayの審査結果をSlackに通知する
// Description: AppStoreとGooglePlayの審査結果をSlackに通知する
// ポスト先のSlack Channel名
const SLACK_CHANNEL_NAME = "";
// https://hooks.slack.com/services/XXX/YYY/ZZZ
const SLACK_WEBHOOK_URL = "";
const MAX_BODY_LENGTH = 200;
const GOOGLE_APP_NAME = "";
@Atsumi3
Atsumi3 / notification_handleable_scope.dart
Last active August 1, 2024 17:41
Flutter (iOS, Android)でローカル通知と通常通知タップを フォアグラウンド、バックグラウンド、非起動時でも良い感じにハンドリングできるScope
import 'dart:async';
import 'dart:convert';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@Atsumi3
Atsumi3 / route_event.dart
Created July 18, 2024 09:34
Flutterでイベントフローを実装するためのもの
import 'dart:async';
class Router {}
final _controller = StreamController<Router>.broadcast();
/// [Router]イベントを監視するmixin
mixin RouteEventObserver<R extends Router> {
StreamSubscription<Router>? _subscription;
@Atsumi3
Atsumi3 / logger.dart
Created July 17, 2024 06:16
flutterのログ周りを綺麗に定義する
final logger = Logger(
output: CrashlyticsLogger(),
printer: PrettyPrinter(
methodCount: 1,
errorMethodCount: 5,
dateTimeFormat: DateTimeFormat.onlyTimeAndSinceStart,
),
);
@Atsumi3
Atsumi3 / dart_extract_library_files.sh
Last active June 24, 2024 05:04
Dart/Flutterのライブラリ作成でexportファイルの生成を楽にするためのスクリプト
#!/bin/bash
# 以下のようなディレクトリ構成で作成されているプロジェクト用
# pubspec.yaml
# lib/src/aaa/bbb.dart
if [ ! -f pubspec.yaml ]; then
echo "このスクリプトはDartパッケージのルートディレクトリで実行してください。pubspec.yamlが見つかりません。"
exit 1
fi
@Atsumi3
Atsumi3 / check_graphql_impl.sh
Last active June 24, 2024 04:42
GraphQLのクライアント側実装漏れをチェックするスクリプト
#!/bin/bash
# GraphQLの関数実装漏れをチェックするスクリプト
#
# 例えば、以下のようなスキーマファイルがある場合
#
# // schema.graphql
# type Mutation {
# postUser(name: String!): User!
# }
@Atsumi3
Atsumi3 / delete_workflows.sh
Created October 11, 2023 11:13
Github Actions の不要なAction履歴削除
# based: https://stackoverflow.com/a/67000032
# ghコマンドのセッションチェック
gh auth status >/dev/null
if [ $? -ne 0 ]; then
echo "Please login to GitHub with gh command."
exit 1
fi
# org, repo を引数から取得する
@Atsumi3
Atsumi3 / flutter-all-clean.sh
Created May 29, 2023 04:53
[fvm] Flutterでプロジェクトがおかしくなった時に正常化するShellスクリプト
#!/usr/bin/env bash
PUBSPEC_FILE_NAME='pubspec.yaml'
echo '------------------------------------'
echo '-- flutter clean'
echo $(pwd)
# .dart_tool を除いたプロジェクトフォルダ内の $PUBSPEC_FILE_NAME が格納されているディレクトリ一覧を取得
PUB_SPEC_DIRS=$(find "$(pwd)" \
@Atsumi3
Atsumi3 / GetSignature.kt
Last active February 1, 2024 09:18
AndroidでアプリのSHA1,SHA256を取得するスニペット
@Suppress("DEPRECATION")
@SuppressLint("PackageManagerGetSignatures")
fun getSignature(algorithm: String): String {
fun byteArrayToReadableString(array: ByteArray, delimiter: String = ":"): String {
return array.joinToString(delimiter) {
var str = Integer.toHexString(it.toInt())
str = (if (str.length == 1) "0$str" else str).replace("ff", "")
if (str.isEmpty()) str = "FF"
str.uppercase(Locale.getDefault())
}