contracts が不要な場合の例について。
()
は可読性が低い。関数の引数の定義や、呼び出しで使われているため。記号としては、他の言語でも使われている <>
を使う。記号が他の箇所と異なり、カッコ内にtype
キーワードがなくても、それがGenericsであることが分かるため、type
キーワードもなくてよい。
func Print<T>(s []T) {
// ...
}
// MIT @najeira | |
import 'package:flutter/gestures.dart'; | |
import 'package:flutter/material.dart'; | |
typedef GestureRecognizerWidgetBuilder = Widget Function( | |
BuildContext, Map<String, TapGestureRecognizer>); | |
class GestureRecognizerBuilder extends StatefulWidget { | |
const GestureRecognizerBuilder({ |
import UIKit | |
import Flutter | |
@UIApplicationMain | |
@objc class AppDelegate: FlutterAppDelegate, MyViewDelegate { | |
var flutterViewController: FlutterViewController? | |
var flutterResult: FlutterResult? | |
override func application( | |
_ application: UIApplication, |
ninja: Entering directory `out/android_release' | |
[1/5] LINK clang_x86/gen_snapshot | |
FAILED: clang_x86/gen_snapshot | |
../../buildtools/mac-x64/clang/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.12 -m32 -flto -stdlib=libc++ -Wl,-dead_strip -Wl,-search_paths_first -L. -Wl,-rpath,@loader_path/. -Wl,-rpath,@loader_path/../../.. -Wl,-pie -Xlinker -rpath -Xlinker @executable_path/Frameworks -o clang_x86/gen_snapshot -Wl,-filelist,clang_x86/gen_snapshot.rsp -framework CoreFoundation -framework CoreServices -framework AppKit -framework ApplicationServices -framework Carbon -framework CoreVideo -framework Foundation -framework OpenGL -framework Security -framework IOKit -ldl -lpthread | |
ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS) | |
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Lib |
// A test for https://github.com/flutter/flutter/pull/17879 | |
import 'package:flutter/material.dart'; | |
import 'package:flutter_localizations/flutter_localizations.dart'; | |
void main() { | |
runApp(new MaterialApp( | |
localizationsDelegates: GlobalMaterialLocalizations.delegates, | |
locale: const Locale("ja", "JP"), | |
supportedLocales: [ |
#include "ergodox_ez.h" | |
#include "debug.h" | |
#include "action_layer.h" | |
#define BASE 0 // default layer | |
#define SYMB 1 // symbols | |
#define MDIA 2 // media keys | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
/* Keymap 0: Basic layer |
## 課題 | |
現在の実装では、送信 `f.conn.Write` の間はロックを獲得しているので、バッファ `pending` への書き込みをブロックする。ネットワークの送信は時間がかかるので、書き込みのパフォーマンスも出ない。 | |
## 対策 | |
Write ではロックを獲得しないようにする。 | |
Write の前に送信するバッファを取得し、書き込み側が違うバッファを使うように差し替える。 | |
また、Write 自体も別のgoroutineで実施する(そうでないと、ロックを回避したのに結局ブロックする)。 |