Giter Club home page Giter Club logo

kanaria's People

Contributors

doarakko avatar pecorarista avatar samunohito avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

pecorarista malen

kanaria's Issues

パッケージ管理ツール経由でのインストール対応(C#)

NuGet経由で入れられるかどうかの検討。
どうやってネイティブDLLを抱き合わせるかが一番の鍵だと思う。

考えられる方法としては以下。上から順にベストだと思ってるもの。

  1. ラッパーDLLにネイティブDLLを埋め込んで、そのまま使える
  2. ラッパーDLLにネイティブDLLをリソースで持たせて、無ければ所定の場所に吐き出して読み込む
  3. ラッパーDLLにネイティブDLLを一切持たせず、ユーザに配置してもらう
    (ない場合は例外でDL先を明示できれば尚良し)

【Rust】RustDocのドキュメンテーションテストで失敗

converter周りのドキュメンテーションでコケてるのを修正する。
ConverterFactoryで生成したインスタンスを束縛しろってエラーが出てるので、そのとおりにする。

前はうまく行っていたんだが…なんだこれ。

Readme.mdの整備

すごくこざっぱりしているので、なんとかしないと…
その前に、速度改善と変換処理の強化か?強みがなさすぎて書くことがない…

【他】CI環境がほしい

テストは書いてあるけど、自動ではない。
有効活用するため是非とも用意したい。

Jenkinsあたりを想定。リリースの用意までやってくれそうだし…

【C#】Utils配下のメソッド戻り値が正しくない

NuGet対応の最中に見つけた問題。

Utils配下のテストを忘れていたのでテストを作ったが、
AsciiUtils.IsWideAscii('漢')でtrueが帰ってくるという珍事に見舞われた。
漢字なのでfalseが期待結果のはずだが…。

Rust側でも同じ内容のテストを追加で実行してみたが、こちらは問題なし。
上記の内容でもfalseがきちんと返却されていた。

IsXXXXX()の追加

変換処理だけでなく、判定処理も追加して出来ることを増やす。

【Rust】KanaUtilsの非ASCIIの記号判定

Unicode全部となると膨大なのでひとまずJIS非漢字に属するやつだけでも判定できるようにする。
JIS非漢字に属さない記号も判定したくなったら、そのときは追加で…。

【Java】ラッパー作成

extern_cのプロジェクトをビルドして出てきたものをJNIを通じてJavaから操作できるようにする。

根本的な構成見直し

変換速度改善の第二弾と銘打ちたかったが…下記の理由により方針変更。

・速度改善が第一弾(#3)レベルで頭打ちになってしまった
・もともと多言語対応を視野に入れていた(第一弾の影響でC#独自の構文が増え、移植が困難に)

…ということから、C#はDllImport等でネイティブ層の機能をラッピングした物を用意し、
処理の根本はネイティブ(Rust)に移動する。

変換速度の改善

VB.netのStrConvやKanaxsと比較すると、変換速度に難がある。
少なくとも同程度まで改善しないと同じ土俵にすら立てない。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.