2011年にGoogleがJavaScriptを置き換える新しいウェブプログラミング言語の標準化を目指して公開したプログラミング言語。 Java風の構文を持ち、クラスベースのオブジェクト指向プログラミングをサポートする。また、Isolateというshared nothingなスレッド機構を持つ。
記述されたプログラムは「Dart VM」と呼ばれる仮想マシン上で動作する。またライブラリ「dart2js」でJavaScriptへ変換でき、Dartをサポートしていないブラウザでも実行可能。
*1:Google Developers Blog: Dart 1.0: A stable SDK for structured web apps
*2:Chromium Blog: Ecma forms TC52 for Dart Standardization
Canvasにテキストを描画したいのですが、適当に書いたらエラーになりました。。。 TextSpan span = new TextSpan(text: 'テキスト'); TextPainter tp = new TextPainter(text: span, textAlign: TextAlign.left); tp.layout(); tp.paint(canvas, new Offset(5.0, 5.0)); とすると、 TextPainter.textDirection must be set to a non-null value before using the TextPai…
graphql_flutterは【Flutter】graphql_flutterのクライアントにTimeoutを設定するにて記載した通り、 Flutterでgraphqlを扱う際には第一候補として使用を検討するライブラリかと思います。 本稿では、graphql_flutterを使用した認証処理について記載します。 TL;DR AuthLinkを使用する JWTのような有効期限つきの認証トークンを使用する場合は、AuthLinkの初期化時の引数であるgetTokenに更新処理を渡しておく 開発環境 下記環境を使用しています。 [✓] Flutter (Channel stable, 1.22.2…
概要 制御分(条件分岐) if文 switch文 まとめ 概要 Dartの公式ドキュメントを参考に、 Dart言語についてのアウトプットを行なっていきたいと思います。 またDart言語を出力させるためにDartPadという機能が公式の方にありますのでそちらでコードをコピペして実行してみてください。前回>>Dart言語に触れてみよう① 制御分(条件分岐) Dartの条件分岐には以下があります if文 switch文 if文 if文とは処理を分岐させるための仕組みです。 以下のコードを例に見てみましょう main() { var a = 1; //aに1を代入しています if (a == 1) {…
10月に入ってから、Dart 2.10がリリースされましたね。 まだ発展途上、よく言えば伸び盛りといった印象ですので、アップデートがあったら即チェックするようにしています。 今回は、Flutterもろともアップデートした直後に自分が遭遇したエラーとその対処法を書いておきます。 エラー内容 LinearGradientのパラメータ(colors)の参照に失敗していました。 The named parameter 'colors' isn't defined. colorsが廃止されたのかと思ったのですが、 定義に移動すると普通にcolorsは存在してるっぽい。 対処法 今バージョンに限らず、アッ…
移植一覧に戻る Dart で書いてみました。やっつけなので汚いです。Dart よく知らないけどライフゲームが動いたのでヨシ、というレベルのものです。 github.com 移植元 memo88.hatenablog.com ベースになっているバージョン: tag:46 のあたり メモ アセンブラ・VM は移植対象から外しました。Ruby 版のものを使います。 トークナイザとパーサを分けてみた テストのステップを細かくした ファイルを直接まじめに読まなくても、 標準入力が読めればあとはシェルスクリプトでラップしてあげたりすればいいので、 もうそれでいいかなという気持ちになった。 Dart でプロ…
Flutterのユニットテスト、ウィジェットテスト、インテグレーションテスト(エミュレータを使ったテスト)をGithub Actionsで実行する方法についてです。 対象のディレクトリ構成 (rootディレクトリ) test ユニットテスト、ウィジェットテストのテストコード test_driver app.dart インテグレーションテストのテストコード .github workflows flutter_test.yaml flutter_integration_test.yaml 他Flutterアプリのプロジェクトファイル ユニットテスト、ウィジェットテストのワークフロー 上記ディレクト…
スニペット9. late キーワード クラス内のフィールドはnull非許容にしたい場合には、late キーワードを使用します。lateキーワードはDartに以下のことを伝えます: そのフィールドにすぐに値を代入するつもりはない しかし、後で値を代入するつもりである このキーワードが指定されたフィールドはアクセスされる前に値が代入されていることを確認しなければならない もしも late フィールド を宣言していて、それが値を持つ前に読み込まれた場合、LateInitializationError がスローされます。以下のコードを修正するために late キーワードを使用してみてください。 cla…
高校二年生の時にとある選択をせまられました。 文系 か 理系 どちらを選択するのか選ばなくてはなりませんでした。 しかし、悩む余地などありませんでした。 なぜなら、数学が嫌いだったからです。 中学校まではある程度数学にもついていけましたが、高校に入ってからは数学についていくことができなくなり、成績もどんどん落ちて数学嫌いになってしまいました。 そのため私は迷うことなく文系を選択して、大学受験に臨みました。 その結果、とある大学の経済学部に入学しました。 その中で経済学や経営学などを学んでいくうちに現在の企業で時価総額で世界の上位にいるのはIT企業であることをしりました。 またこれからの世の中で…
Riverpod関連でクラスや関数が多すぎて訳がわからないので整理してみた。 整理方法 各パッケージのexportから主要なクラスや関数をピックアップした。 riverpod Riverpod本体。Dartだけで動く。 StateNotifierProvider StateProvider FutureProvider StreamProvider AsyncValue flutter_riverpod RiverpodにFlutter用のクラスを追加した物。 ChangeNotifierProvider Consumer ConsumerWidget ProviderScope Provid…
×61 Google Cloud FunctionsがRubyのサポートを発表。ローカル環境での開発やテストを可能にするフレームワークも - Publickey ×59 DuckDuckGo Surpasses 100 Million Daily Search Queries For the First Time - Slashdot ×51 EleutherAI - GPT-Neo ×43 From Dayton, Ohio to Donald Trump - Poetic Fitness ×39 Blind man regains sight thanks to Israeli start…
ハトナミ。 th.hatenablog.jp前回に引き続きやっていきます。 とりあえず、音が鳴る瞬間のDateTimeを観測しました。 I/flutter (24608): 2021-01-17 10:03:23.019920I/flutter (24608): 2021-01-17 10:03:23.523110 + 503190 I/flutter (24608): 2021-01-17 10:03:24.025354 + 502244 I/flutter (24608): 2021-01-17 10:03:24.527632 + 502278I/flutter (24608): 2021…
すでに花粉が強くなってきていて今年の春が乗り切れるのか不安です。 JSer.info 10周年 Front-End Study #3 Denoの1年を振り返る コロナ禍に立ち向かう星野リゾート 技術投資の塩梅 まさにビルダー Tailwindエコシステム成長中 さながら大統一理論 初の世界全体ヘルスケアデータ活用? シグネチャ型WAF vs AI型WAF 考えたことなかった さくらのSMS メモリ32GB対応のX1 Carbon 似て非なるURL 中国スマホメーカー一網打尽? すべてのCPUはTSMCに通ず? 一部非課税、は好ましけれど... あンた、サーバーがすすけてるぜ plaid活用事例…
1月17日 晴れ/曇り 後中潮3日目 連日の釣行。。。 先日と同じポイントに入ります。 時刻は19時頃。 昨日より寒い…😵 しかし風は若干の北風が吹いている程度で水面は穏やかです。 20時頃、水がゆらりゆらりと流れ始め、ゴミと一緒にバチが抜け始めました。 ライトで水面を照らすと巨大な鯉が泳いでいる…。 おっかないですね…。(笑) 暫くすると先日と同じくシーバスか鯉か分からない謎のボイルがちらほら。 エリテンやスライ95で流れの当たる岸際を中心にアップで流してきます。 しかし全く反応せず…。 水面を観察すると、護岸から10mほどの場所でボイルが発生! 直ぐにノガレをキャスト! 流してくると… モ…
ラベル情報: BEN NEVIS Aged 22 Years old Distilled 1996 Bottled 2019 Cask Type Hogshead ※販売サイトより Cask Number 1608 ※販売サイトより 51.1% Whom? Whose? ART SESSION RUDDER 香り:焦げた木香、落ち着いたオレンジ。ミルキーかつスパイシー。 味わい:フレッシュなオレンジ。シロップ。甘みの中に強めのスパイス。余韻には木の甘みが長く続く。 好み:★7 79 【オフィシャルのテイスティングコメント】 香り:フルボディのシャルドネ、ハチミツ、オレンジやみかん、柑橘の皮、ふ…
1月16日 晴れ 後中潮2日目 日中は南風が吹いていた今日。 潮回りを見るともしかしたらバチ抜けが起こるかな?と思い出撃。 19時頃ポイントにイン。 去年通っていた場所とは違うところに入ります。 アングラーの方もちらほらいらっしゃる! 潮が下げ始めたのは20時頃。 ゴミとともに岸際に流れるバチを発見!! テンションが上がります! エリテンやノガレでアップから流してくるも反応なし。 少し経つと岸際からライズ音が!! ポシュッ!! 魚種は特定できないものの、何かの生命反応が! 際に狙いを定めてリトリーブしてきます。 するとここで同行者がヒット!! 見事にシーバスを釣り上げました!! 素晴らしい!!…
Dart の enum を使う際、String 型との相互変換に迷うことがあります。 具体的には、Enum を含む object をjson でエンコードするときとか、逆に String で何か受け取ってそれに対応する Enum のインスタンスを返したいときとか。 Enum → String だけについて言えば、EnumにはtoString()メソッドがついてますが。ただ、これ、xx.yy の形で文字列が帰ってきます、欲しいのはyyだけなのに。 なので、一般的にはtoString() から ドット (.) を見つけてその後ろを取ってくる、みたいな実装がされてるようです。 String → En…
自分はAndroid / Kotlinだけ書いているのが楽なんですが、それだけやってても得られるものが限られてしまう気がするというか、やっぱり外の世界にも目を向けて行った方がいいと思うんですよね。もちろんAndroid / Kotlinのこともまだまだ知らないことがたくさんあるんですけど、それでもやっぱり外の世界にも目を向けた方がいいと思うわけです。 それは例えばAndroid / Kotlinから近いところだとiOS / SwiftだったりFlutter / Dartだったりするんですけど、もうちょっと遠くに行くとアルゴリズムとデータ構造だったり、関数型言語だったり、低レイヤなことだったりす…
スニペット5. 条件付きアクセス 条件付きアクセスは、nullになる可能性のあるプロパティを読み込むコードをタイトにする便利な方法です。 a?.b; 上の式は、a がnullでない限り b の値として評価されます。 a が null の場合、式は null と評価されます。以下のコードを修正するのに、条件付きアクセスを使ってみてください。 class BigThing { LittleThing little = LittleThing(); } class LittleThing { int fetchInt() => 12; } void main() { final BigThing? …
ハロートナミです。 th.hatenablog.jpについてです。 有り難い事に先日記事をあげたあと、すぐにIT強人(つよんちゅ)からいっぱいマサカリが来ました。ウハウハです。 自分より賢い人に指摘もらうの本当に最高で良い気分です。 頂いたマサカリをもとにもうちょっと精度なんとかならんの?をやっていきます。 現状の問題点 BPM120の設定で録音したデータをBPM120のDAW編集画面に貼っつけた状態です。 濃い縦線と波形が一致している必要がありますが、明らかにだんだんズレていっています。 これを出来るだけピッタリにしましょう。という作業をやります。 音源の再生時間を考慮する while(_r…
こんにちは、toriloverです。ちょうど来てしばらくしたころに使っているiPhoneアプリのご紹介をしました。 そろそろ使うアプリも増えてきたので、それをご紹介しようかなと思い、第二弾を書きました。 第二弾では、使っているサービスとあわせて、便利と聞いていて気になっている物も書きます。 www.torilover.com 第一回の時は、日本設定のiPhoneとアメリカ設定のiPhoneでいれられるアプリに違いが・・みたいな話をしていて、それを分類に使っていましたが、今回はアプリの目的別で整理します。英語の勉強とかに使える学習系のアプリは、それだけでも色々あったので、別の記事にまとめようと思…