パスワードを忘れた? アカウント作成

m_nukazawaさんのトモダチの日記みんなの日記も見てね。 最新から新しい日記やタレこみを確認できますよ。

13574528 journal
日記

m_nukazawaの日記: Adobe flashを覚えていますか? 3

日記 by m_nukazawa

Flashなんて過去の遺産、覚えているのは人はスラドにもう私くらいしか残っていないと思いますが...。

ちょっと、安いフォトブックの印刷会社の発注(前の編集)ページがAdobe flashだったので、「まだ生きていたのかflash!」と思いながら、Ubuntu18.04 alphaにflashを突っ込むことに。
// 結局flash版はきちんと動かなくて使い物にならず、後にスマホアプリ版があることが判明し、そちらで発注した。

Ubuntuを使い始めた頃は、Webであれこれするのに、というかニコニコ動画で流星群とかを見るのにFlashが必須で、インストールの方法もいろいろ面倒でけっこう失敗して試行錯誤した記憶がある。

そして現代。Ubuntu18.04ではパッケージを入れるとパートナーリポジトリからFlashのバイナリが落ちてくる形式だけれど、aptで一発でインストールされる。
Flashインストールはとても気軽になったようなのだけれど、(ニコニコとか見に行かないし、YouTubeはFlash不要だし)私の暮らしではインストールされていないことにすら気づかなくなっていて、時代は変わったというか、インストーラが進歩していても今更というか。

はい。

13571834 journal
日記

m_nukazawaの日記: daisy_sequenceでPlantUML書き出しに対応した

日記 by m_nukazawa

しました。

https://github.com/MichinariNukazawa/daisy_sequence
daisy_sequence は内部的にAlt/LoopどころかこれらとMemoも区別していないので、書き出しの際はFragmentのタイトルで種類を判定し、範囲で含むMessageを判定してPlantUML側ではタグで囲む、といった処理をしています。

その他技術的な詳細はこれからドキュメントの前作業としてブログ記事に書くつもり。
最初に備忘録として時系列を書き下ろしました。
http://blog.michinari-nukazawa.com/2018/04/daisysequence.html

13568342 journal
日記

m_nukazawaの日記: patreonはじめました

日記 by m_nukazawa

フォントとかアプリケーションをやっていきます。
https://www.patreon.com/MNukazawa
rebuild.fmによると、読みはペイトレオンでいいのかな。

patreonについて参考情報はALICE IN DISSONANCEさまのページを読むとわかるかも。
日本語ではあまり使い方の情報もなくて、結局一番参考にしたのはこのページだった気がする。感謝。

daisy_sequence開発資金の確保というか、マネタイズ(?)の一環でもある。
今はdaisy_sequenceにお金を投入したい。具体的には、デザインを外注したり、エディタ機能をブラッシュアップする時間が欲しい。それからdaisy_sequence自体は早めに一段落つけて、次のものを作りたい。

patreonのページ、本当は自己紹介とか特典ページとか、いろいろ書き込む・準備しなければならないものがあるようなのだけれど、今はまだ空の状態。
日本語英語がちゃんぽんだし、そもそも自分のやっていることに統一性がないので、支援特典やゴールの設定がやりづらい。
このへん、マルチにやっている人はどうしているのだろう。(そういう人は本人がタレント化しているとか?)

// RuneAMNの文字追加に支援がほしいので、本当は分野が近いEntyまたはFantiaに登録できたらよかったのだけれど、両サービス共にトップページがアダルトサイトにしか見えない現状で、登録するのはちょっと。

13540946 journal
日記

m_nukazawaの日記: シーケンス図エディタをリリースしました 5

日記 by m_nukazawa

"daisy_sequence" is (not) UML sequence diagram editorです。
可愛がってやっていただけると幸いです。
商用利用可。

daisy_sequenceのgithub

特徴は、
- Win/Mac/Linuxに対応
- SVG/PNG書き出し
- バージョン管理しやすいJSONテキストベースのネイティブファイルフォーマット
となっています。

開発の動機等、いろいろ書いてそのうちWebにアップする予定なのですが、取り急ぎリリース報告まで。
要望・バグレポート等あればよろしくお願いします。

13502410 journal
日記

m_nukazawaの日記: ディスプレイ縦置きをためしてみているのだけれど 4

日記 by m_nukazawa

照明の映り込みをどうにかするにはどうすればいいのだろう。
良い対策があれば教えてください。

画像のサムネイルを大きく表示するのに良いかと思ったのだけれど、Twitter画像はフルHDを埋めない模様。(そこまでサイズのある画像がそんなにない?)

27インチフルHDは、縦置きするとそれなりに大きいことがわかる。というか16:9ってけっこう縦長(横長)だったのだと気付かされる。

これから28インチ4Kを導入しようと思っているのだけれど、ディスプレイ縦置きしてみたら、27インチで揃えるべきか、サイズ違いで縦置きと併用するか、悩みはじめてしまってなんとも。

13449997 journal
日記

m_nukazawaの日記: Androidアプリをベータで公開しました

日記 by m_nukazawa

エスペラント日本語辞書 lina_dicto for Android を公開しました。
https://play.google.com/apps/testing/com.michinari_nukazawa.app.lina_dicto_for_android
githubはこちら
Androidバージョン6.0以降対応です。
いちおうベータ版。twitter上でもよいので、(いつものような)辛口のフィードバックをお待ちしています。

技術的な話として。
electronアプリの続き、というか移植版です。中身もほぼ一緒。デスクトップアプリがほぼそのままでAndroidアプリになるのですから、良い時代になりました。
lina_dicto、jsで作った上に、高速化をほぼ行っていません。例えば単語検索では、ユーザが1文字入力する毎にjavascriptの正規表現で辞書データをぶん回す、という自称「組み込みエンジニア卒倒アーキテクチャ」を採用しています。
途中、1度だけ雑に検索の高速化に先頭文字をキーにした単純なインデクスを追加したのですが、それくらいです。辞書アプリというものはそれなりにヘビーに文字列検索するはずですが、驚くことに私の持っている安いAndorid実機で問題ない速度で動いています。

さすがに、ゲームとか高機能アプリケーションが取るには厳しい構成ですが。
最適化にも興味はあるのですが、同じ時間で機能追加したほうが良いだろうと考えています。
本当にコンピュータは早くなっていて、良い時代だと思います。

13403714 journal
日記

m_nukazawaの日記: electron触ってみた、つづき

日記 by m_nukazawa

Electron製エスペラント辞書アプリとしてlina_dictoをリリースしました。
Electron初心者の技術的な話とエスペラント固有の話はブログの方に。

この後はとりあえず、CSSでそれっぽい飾りをつけるつもりでいます。
他に、外部からJSを噛ませて拡張できないかな、という質問をスタックオーバーフローに投げているところ。応答の色が良ければいろいろするかも。

本当は欲しい機能もいろいろあるのですが...。
// そこは欲しくなったらその時書けばいいかなという気もする。

13398188 journal
日記

m_nukazawaの日記: electron触ってみた

日記 by m_nukazawa

vecterion開発開始の際、マルチプラットフォームGUIとしてGTK/Qt/electronを検討した。
electronは実行速度の不安と、Cライブラリとの連携(を調べるのが面倒だった)ことがあり、vecterionにはGtkを採用した。

今回、あまり実行速度が重要では無さそうなアプリケーションを開発検討するモチベーションが高まった。せっかくなので、学ぶことを保留していたelectron等(自分にとって)新しめの技術を投入し、学ぶための試験場としても使うことにした。手持ちの技術の転用も検討したのだけれど、electronに対して、特に楽になりそうでもなかった、という理由も有る。

で、サンプルコードが動くまで。

# インストール
選択肢が多くて選ぶのが苦痛。
Ubuntuへのaptによるインストールだけでも3種類以上ある。
公式サイトにはインストール手順は書かれていない。 // これは、インストーラを解凍すれば自明なのかもしれないが
結局、海外サイトの情報を頼りにコマンドラインでインストールした。

# パッケージのバージョンコントロール
nodejs自体と、npmパッケージのバージョンコントロールが別々にあるらしい。nodejsのバージョンコントロールは専用パッケージがあり、npmはコマンドラインオプションで行う。
今回は、nodejsは管理せず、npmパッケージのみバージョン固定にした。

# パッケージのダウンロード
安定しない。DNSサーバからIPが引けないエラーが出て失敗する。これは、何回か試すとそのうち上手く行く。21世紀のインターネットとは思えない場所にnpmは置かれている。

# リリースビルド
リリースビルドが一発でできるのは感動した。
出力先ディレクトリが、開発に使っているディレクトリの階層の一段上だった。たぶんnpmパッケージのお約束とかいろいろあるのだろうと思うが、プロジェクトの下にアプリケーションのディレクトリを掘って、リリースがプロジェクトディレクトリから漏れないように対処した。

以上、とりあえず動くところまで。

13349095 journal
日記

m_nukazawaの日記: vecterion進捗

日記 by m_nukazawa

https://github.com/MichinariNukazawa/vecterion_vge
XXにスナップ、を雑に実装中。
何が雑かというと、角度にスナップ機能で、第二象限以降のスナップ角度がツールおよび機能毎に違っており、実装依存な感じになってる。
グリッドにスナップ、はとりあえず機能している。

他の機能。
LayerViewをテキストベースから独自描画に移行。(GTKのTreeViewは扱いが辛そうだったので使用しない)
ドキュメント内のCtrl+x,c,v。
グループ化と、Elementによる抜き。

BasicShapeも前のバージョンには載っていなかった気がする。

ともかく、角度にスナップが実装されたら、次のリリースを出す予定。

13324744 journal
日記

m_nukazawaの日記: ゆるぼ:C言語でネストした構造体の初期値定義がしたい 7

日記 by m_nukazawa

C言語の構造体には、C++のようなコンストラクタがありません。
コンストラクタは、構造体オブジェクトの初期値を定義し、初期化を保障する機能を持っています。
C言語で構造体の初期化を保証するのは諦めるとして、初期値を定義しておきたい。
なので現在は、ヘッダファイル上にグローバルでstatic constな初期値オブジェクトを作り、構造体オブジェクト作成時に代入することで、初期値を定義しています。
(サンプルコード参照)

しかし、static constな構造体は、ネストに対応していないようです。
(エラーになってからよくよく考えてみれば、納得できなくもありませんが。)

つまり、下記サンプルコードのようなことがしたい。

``` et_snap_context.h
  12 ¬
  13 typedef struct{¬
  14 >-------bool is_snap_for_grid;¬
  15 }EtSnapContext;¬
  16 ¬
  17 static const EtSnapContext EtSnapContext_Default = {¬
  18 >-------.is_snap_for_grid = false,¬
  19 };¬
  20 ¬
```

``` et_document_preference.h
  12 ¬
  13 #include "et_snap_context.h"¬
  14 ¬
  15 typedef struct{¬
  16 >-------EtSnapContext snap_context;¬
  17 }EtDocumentPreference;¬
  18 ¬
  19 static const EtDocumentPreference EtDocumentPreference_Default = {¬
  20 >-------.snap_context = EtSnapContext_Default,¬
  21 };¬
```

いま思いついている他の手法は以下。
・初期値定義にマクロを使う方法は、改行に'\'、ブラケットを正しく書くのが難しい等、読み書きがつらい
・初期化関数をヘッダに持つ方法は、gccの未使用関数の警告オプションに引っかかってしまう
・ヘッダに初期化関数または初期値オブジェクトの宣言だけ書き、定義は.cファイルに書く方法は、ヘッダとソースに構造体の情報が分かれるので、一覧性が低く、構造体と初期値の定義という目的に対して大げさ。
・``` = {0}; ```で代入される値をすべての構造体の初期値として定義する。
  (メッセージフォーマットならともかく、)is_exist_*とis_not_exist_*が入り交じる構造体メンバ定義は正気の沙汰ではない。

// スタックオーバーフローに投げようかとも思ったのですが、とりあえずの整理も兼ねて日記に。

良い案、あるいはわたしの思い違い等がありましたら、ご指摘頂ければ幸いです。

typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...