Skip to content

Instantly share code, notes, and snippets.

@5hyn3
5hyn3 / 00_description.md
Last active December 28, 2020 06:53
declarative ui frameworks comparison

description

宣言的UIを実現するフレームワークであるFlutter, JetpackCompose, SwiftUIの比較。 以下のパターンで同じようなUIを実装してみて、そのコードの違いを比較する。

  • column pattern

    • "Hello,", "World!"の2つの文字列を縦に並べる
  • update pattern

  • ButtonとTextViewを縦に並べる。TextViewには初期状態で「0」が表示される。ButtonをタップするとTextViewに表示された数字がインクリメントされ表示される

@5hyn3
5hyn3 / camera_state.dart
Created April 5, 2020 18:15
FlutterのCameraをstate_notifierでいい感じに使う
import 'package:camera/camera.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'camera_state.freezed.dart';
@freezed
abstract class CameraState with _$CameraState {
const factory CameraState({CameraController initializedController}) =
_CameraState;
}
@5hyn3
5hyn3 / main.dart
Created July 4, 2019 11:08
デフォルトで作られるカウンター画面をprovider(v3.0.0+1)のChangeNotifierProviderで書いてみる
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
void main() => runApp(MyApp());
class CnCounter with ChangeNotifier {
int _number = 0;
int get number => _number;
@5hyn3
5hyn3 / some.kt
Created May 26, 2019 17:06
BillingRepository使用イメージ
// アプリケーション開始直後のMainActivityで支払い情報を確認してViewを初期化してみる
launch(Dispatchers.IO) {
withContext(Dispatchers.Default) { this@MainActivity.billingRepository.startConnection(this@MainActivity) }
val billingModel = withContext(Dispatchers.Default) {
if (this@MainActivity.billingRepository.connected) {
this@MainActivity.billingRepository.queryPurchasesAsync()
} else {
return@withContext null
}
}
@5hyn3
5hyn3 / BillingModel.kt
Last active May 26, 2019 17:11
BillingLibrary2.0をcoroutineでいい感じにしてみる
data class BillingModel(
val paidAdFree: Boolean
)
class NoBounceBehavior : AppBarLayout.Behavior {
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
private val TYPE_FLING = 1
private var isFlinging = false
private var shouldBlockNestedScroll = false
override fun onInterceptTouchEvent(parent: CoordinatorLayout, child: AppBarLayout,
ev: MotionEvent): Boolean {
if (this.isFlinging) {
@5hyn3
5hyn3 / raspberry_pi_ir_driver.md
Created November 6, 2017 16:44
raspberry_pi_ir_driver

赤外線ドライバ仕様

  • 用途
    • RaspberryPiを用いて赤外線LEDに対する充分な赤外線出力を伴った38kHzの入力
      • 赤外線リモコン
  • 部品
    • トランジスタ
      • C1815Y
    • 赤外線LED
      • OSI5FU511 C-40
  • http://akizukidenshi.com/catalog/g/gI-03261/
@5hyn3
5hyn3 / feed_forward_neural_network.py
Last active October 27, 2017 01:20
Python Simple Feed Forward NeuralNetwork
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
def init_network():
network = {}
network['W1'] = np.array([[-3.7, -3.9, -1.8], [-3.8, -3.4, -1.8]])
#include <iostream>
#include <functional>
#include <map>
void func1(int i){
std::cout << i << std::endl;
}
void func2(int i){
std::cout << i*10 << std::endl;
...
if(foo == 1){
process();
}
...