やること: チケット
https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2021-12-31T14:58:57Z
やること
Redmine
mikutter - 機能 #1568 (新規): TLのアイコンサイズを変更できるようにしたい
https://dev.mikutter.hachune.net/issues/1568
2021-12-31T14:58:57Z
toshi_a 初音
toshi.alternative@gmail.com
<p><a class="issue tracker-2 status-6 priority-4 priority-default closed" title="機能: TLのアイコンサイズを変更できるようにしたい (却下)" href="https://dev.mikutter.hachune.net/issues/602">#602</a></p>
<p>subpartsではできるのでできないとアンバランスですね</p>
mikutter - 機能 #1394 (新規): listviewからCRUD操作をされた時、独自のルーチンやフックを実行可能な専用データソースオブジェクトを提供する
https://dev.mikutter.hachune.net/issues/1394
2019-09-21T01:09:16Z
toshi_a 初音
toshi.alternative@gmail.com
<ul>
<li>Worldや抽出タブで、CRUD操作が発生した時に、特定のイベントを発生させるなどのフック処理が必要になる。
<ul>
<li>また、あるイベントが発生したらデータソースに引数で渡されたオブジェクトを追加するといった制御も必要になる。</li>
</ul>
</li>
<li>Worldや抽出タブなど、UserConfigにはHashの配列として保存しているが、データソースとしてはModelとして扱いたい場合がある。
<ul>
<li>この場合、当然作成・編集・並び替えが行われたら、Hashに変換して保存する必要がある。</li>
</ul></li>
</ul>
<p>といった要件を満たすため、設定値の読み書きを行うデータソースを <code>parent_dslobj#[]</code> ではなく、別のデータソースプロキシオブジェクトを挿入可能にする。</p>
<p>少々煩雑になるが、プロキシオブジェクト側にフックは全て実装することになるため、listviewの実装を肥大化させないために<br />この実装にしたい。</p>
<p>加えて、このデータソースプロキシオブジェクトは値の追加・削除・更新を通知し、リアルタイムにlistviewを更新する機能をもたせたい。</p>
mikutter - 機能 #1393 (新規): FormDSLにコマンド選択ウィジェットを追加
https://dev.mikutter.hachune.net/issues/1393
2019-09-21T01:09:16Z
toshi_a 初音
toshi.alternative@gmail.com
<p>FormDSLで、コマンドを一つ選択するウィジェットを提供する。<br />単にコマンドを列挙するのではなく、以下の機能が必要になるので、しんどそう。</p>
<ul>
<li>ツリー表示</li>
<li>インクリメンタルサーチ</li>
</ul>
<p>抽出タブのデータソース選択もツリービューで選択させるようになっているので、もしかしたら同じウィジェットとして実装できるかもしれない?</p>
mikutter - 機能 #1392 (終了): FormDSLにキーバインドウィジェットを追加
https://dev.mikutter.hachune.net/issues/1392
2019-09-21T01:09:16Z
toshi_a 初音
toshi.alternative@gmail.com
<p>FormDSLで、ショートカットキーを設定させるウィジェットが利用できないので、提供する。</p>
mikutter - 機能 #1391 (新規): 内部のウィジェットがサブジェクトごとに分かれるDialog DSL
https://dev.mikutter.hachune.net/issues/1391
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>抽出タブ設定では、フォームを3つに分け、タブで切替可能にしている。<br />通常のDialogDSLでこれは実現できないが、良く考えたら設定だってそれの特殊系と言えなくはないので、<br />DialogDSLで、settingsブロックを設定のようにカテゴライズする機能を提供すれば良さそう。</p>
mikutter - 機能 #1390 (新規): listview: UserConfigに保存しているものを変換して一覧する機能
https://dev.mikutter.hachune.net/issues/1390
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Worldや抽出タブなど、UserConfigにはHashの配列として保存しているが、データソースとしてはModelとして扱いたい場合がある。<br />この場合、当然作成・編集・並び替えが行われたら、Hashに変換して保存する必要がある。</p>
mikutter - 機能 #1389 (新規): listview: 追加されることによってイベントを発生させる
https://dev.mikutter.hachune.net/issues/1389
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Worldや抽出タブで、CRUD操作が発生した時に、特定のイベントを発生させるなどのフック処理が必要になる。<br />また、あるイベントが発生したらデータソースに引数で渡されたオブジェクトを追加するといった制御も必要になる。</p>
mikutter - 機能 #1388 (新規): listview: 編集を許可しないオプションを追加
https://dev.mikutter.hachune.net/issues/1388
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Worldでは作成はできるが編集をサポートしないので、これだけを無効にするオプションを追加する。</p>
mikutter - 機能 #1387 (終了): listview: アイコンを表示する仕組みが必要
https://dev.mikutter.hachune.net/issues/1387
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>FormDSLのlistviewに、World(<a class="issue tracker-2 status-1 priority-4 priority-default" title="機能: Worldの設定に、FormDSLのlistviewを使う (新規)" href="https://dev.mikutter.hachune.net/issues/1383">#1383</a>)やショートカットキー(<a class="issue tracker-2 status-1 priority-4 priority-default" title="機能: Shortcut Keyの設定に、FormDSLのlistviewを使う (新規)" href="https://dev.mikutter.hachune.net/issues/1386">#1386</a>)でやっているような、アイコンを併記する機能を追加する。<br />カラムにPhoto Modelを渡すことでそれをPixbufに変換し、アイコンとして表示できたらいいと思う。</p>
mikutter - 機能 #1386 (新規): Shortcut Keyの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1386
2019-09-21T00:13:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「ショートカットキー」にショートカットキー一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1385 (新規): Mastodonの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1385
2019-09-21T00:13:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「Mastodon」にlistenするサーバのリストがあるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1384 (新規): Extractの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1384
2019-09-21T00:13:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「抽出タブ」に抽出タブ一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1383 (新規): Worldの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1383
2019-09-21T00:13:53Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「アカウント一覧」にWorldの一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1382 (終了): Intentの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1382
2019-09-21T00:13:53Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「関連付け」にインテントの一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1246 (終了): json_pureの利用をやめる
https://dev.mikutter.hachune.net/issues/1246
2018-05-17T09:05:43Z
toshi_a 初音
toshi.alternative@gmail.com
<p><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="バグ: README の「必須アプリ−ケーション」の Ruby バージョン表記が古い (終了)" href="https://dev.mikutter.hachune.net/issues/1145#note-7">#1145-7</a> で話していたjson-pureについて、機会があったので調べたところ、次のような速度差があった。</p>
<pre>
ある短いJSONを1万回パースしたところ
json: 0.000078
json_pure: 0.000401
という壊滅的な結果が出た。さて、俺はこの結果を見てしまったわけだが…
</pre>
<ul>
<li>遅い</li>
<li>なんかパッケージとかで面倒なこともあるらしい</li>
<li>json_pureは2.1が出ているのにmikutterでは~>1.8の指定のまま放置されている</li>
</ul>
<p>という問題があるため、json_pureの利用をやめる方向で検討する。</p>
<p>検証に使ったコード</p>
<pre><code class="ruby syntaxhl"><span class="nb">require</span> <span class="s1">'benchmark'</span>
<span class="nb">require</span> <span class="s1">'json/pure'</span>
<span class="c1">#require 'json'</span>
<span class="n">json_str</span> <span class="o">=</span> <span class="s1">'{"id":"100043739035309893","original_uri":"https://social.mikutter.hachune.net/users/toshi_a/statuses/100043739035309893","url":"https://social.mikutter.hachune.net/@toshi_a/100043739035309893","account":{"id":"2","username":"toshi_a","acct":"toshi_a@social.mikutter.hachune.net","display_name":"胃","locked":false,"created_at":"2017-11-19T17:18:40+09:00","followers_count":471,"following_count":214,"statuses_count":21598,"note":"<p>* 作った<br />- mikutter :: <a href=\"https://mikutter.hachune.net/\" rel=\"nofollow noopener\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">mikutter.hachune.net/</span><span class=\"invisible\"></span></a></p><p>* 好き<br />- Minecraft :: 豆腐<br />- RimWorld :: A17 very easy<br />- アトリエ :: アーランド、黄昏、不思議<br />- ゆゆ式 :: 33, 12</p>","url":"https://social.mikutter.hachune.net/@toshi_a","avatar":"https://social.mikutter.hachune.net/system/accounts/avatars/000/000/002/original/cb269844c9f087e1.png","avatar_static":"https://social.mikutter.hachune.net/system/accounts/avatars/000/000/002/original/cb269844c9f087e1.png","header":"https://social.mikutter.hachune.net/headers/original/missing.png","header_static":"https://social.mikutter.hachune.net/headers/original/missing.png","moved":null,"source":null},"in_reply_to_id":null,"in_reply_to_account_id":null,"reblog":null,"content":"<p>みくのおっぱい大盛り、いいですね</p>","created_at":"2018-05-17T17:38:30+09:00","created":"2018-05-17T17:38:30+09:00","reblogs_count":0,"favourites_count":0,"reblogged":false,"favourited":false,"muted":false,"sensitive":false,"spoiler_text":"","visibility":"public","application":{"name":"mikutter Worldon","website":"https://github.com/cobodo/mikutter-worldon"},"language":"ja","pinned":false,"domain":"social.mikutter.hachune.net","emojis":[],"media_attachments":[],"mentions":[],"tags":[]}'</span>
<span class="no">Benchmark</span><span class="p">.</span><span class="nf">bm</span> <span class="mi">10000</span> <span class="k">do</span> <span class="o">|</span><span class="n">r</span><span class="o">|</span>
<span class="n">r</span><span class="p">.</span><span class="nf">report</span> <span class="s2">"parse"</span> <span class="k">do</span>
<span class="no">JSON</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="n">json_str</span><span class="p">,</span> <span class="ss">symbolize_names: </span><span class="kp">true</span><span class="p">)</span>
<span class="k">end</span>
<span class="k">end</span>
</code></pre>