GoでKinesis用ライブラリを作るメモ
Kinesisにデータを送るクラス。
コネクションは呼び出し側で作成してもらう。 それを引数にしてWriterを生成する。
Addメソッドで行を追加していく。
package main | |
import ( | |
bigquery "code.google.com/p/google-api-go-client/bigquery/v2" | |
"code.google.com/p/goauth2/oauth/jwt" | |
"encoding/json" | |
"fmt" | |
) | |
func main() { |
## 課題 | |
現在の実装では、送信 `f.conn.Write` の間はロックを獲得しているので、バッファ `pending` への書き込みをブロックする。ネットワークの送信は時間がかかるので、書き込みのパフォーマンスも出ない。 | |
## 対策 | |
Write ではロックを獲得しないようにする。 | |
Write の前に送信するバッファを取得し、書き込み側が違うバッファを使うように差し替える。 | |
また、Write 自体も別のgoroutineで実施する(そうでないと、ロックを回避したのに結局ブロックする)。 |
#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 |
// 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: [ |
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 |