2019年11月29日金曜日

最近気になるOSS3つ(vlang, vulcain, omi) - 2019/11/29


vlang

V言語。高速コンパイル、理解容易性に主軸を置いた新しいプログラミング言語。強くgoの影響を受けている。
2019/11時点ではまだバグが多く標準ライブラリも未実装が多い。
ただ、既存言語に比べて優位性があるのは確かで、今後注目。

vulcain

Web-APIのための新しい通信プロトコル。HTTP2の仕様をフル活用し、いくつかの仕様を追加することで、GraphQLのようなラウンドトリップ回数の低減を実現しつつHTTP2の仕組みに則った通信ができる仕組み。
HTTP2の仕組みに乗ることで、既存のキャッシュシステムや開発ツールを有効に活用できる。また、クエリ言語にGraphQLを使うこともでき、作者は完全にGraphQLの代替として使えると主張している。

omi

Tencentが開発するフロントエンドフレームワーク。
既存のフロントエンドフレームワークと大きく異なるのは、WebComponentsを前提とした仕組みとなっていること。出力はカスタムコンポーネントとなる。このため、既存のフロントエンドフレームワークと混在させたり、マイクロフロントエンドを実現するといったことが容易。
toolchain(webpack,babel)なしでもそれなりに見やすい書き方ができる。もちろんJSXは使えなくなるが。




2019年5月28日火曜日

e-Govは可能な限り使わずにHR-Techサービスを使うべきという結論

とにかくひどいe-Gov

何度か社会保険関係の申請などでe-Govを使ったことがある。官公庁系の公式電子申請サービスは軒並みユーザインタフェースが壊滅的で分かりにくいものであるが、e-Govは群を抜く。最悪の中の最悪のユーザーインタフェースを誇っていた。不可思議なウェブサービスとデスクトップクライアントとの融合。使い物にならないメッセージ機構。直し方が分からないエラーメッセージ。e-TaxやeLTAXとは比にならない使いにくさである。
ソフトウェアエンジニアであり数あるウェブサービスを使っている自分ですら全く理解できないのだ。こんなものを一体だれが使いこなせるというのか。唯一の救いは電話サポートが親切だということだ。e-Govを使うなら電話サポートを使い倒すくらいのつもりでなくてはならない。いずれにしろとてつもないストレスを抱えることにはなるが。

HR-Techサービスを使ってみたら最高だった

e-Govは外部サービスのためにAPIを提供しているため、これを利用して電子申請が行えるサービスがいくつも存在している。これらはe-Govとは比べ物にならない素晴らしいユーザインタフェースと付加機能を有している。基本的に有料ではあるがそれほど高価ではないし絶対にこちらを使ったほうがよい。試したのはOffice StationとSmartHRというサービスだ。

Office Station

Office Stationは約100の帳票の電子申請に対応しており利用頻度の高い帳票はほとんど網羅している。保険関係成立届やなど事業所単位で一度しか使わないような帳票も電子申請が可能で立ち上げたばかりの会社で使うのに最適だと感じた。ユーザインタフェースはやや古く部分的に分かりにくく感じる部分もあった。 しっかりとマニュアルを読めばいいのだがなんとなくで使おうとすると少しハマる部分がある。また、10人まで900円という格安料金体系で、大抵のケースで後述のSmartHRよりも安い。

SmartHR

この手のサービスで一番目立っているのがSmartHRではないだろうか。最近は広告などもよく見かける。対応帳票の数はOffice Stationと比べると心許ないが、利用頻度高いものはだいたい電子申請可能のようだ。際立つのは分かりやすくモダンなユーザインタフェースだ。利用登録後にスマホゲームなどにありがちなチュートリアルなどがしっかりと整備されており「分かりやすさ」にしっかりと時間を使っている。


少人数の会社の税務・手続きを簡単にするためのサービスまとめ


 会社設立

税務・確定申告

給与計算

社会保険・労務管理

  • OfficeStation
    電子申請に対応している帳票が多く、電子申請を最大限に活用したい場合に便利。
  • SmartHR
    UIが親切で使いやすい。

官公庁系の電子申請サービス

官公庁が作成しているサービスなので当然多くの手続きが電子申請で行えるが、UIが本当にひどいのでできるだけ別の会社が提供している有料サービスを利用することを推奨する。特にe-govは最悪レベルの作りになっているため、どうしてもという場合以外はSmartHRやOfficeStationを活用すべし。
  • e-Tax
    国税の電子申告・納税に対応する電子申請サービス。法人税の申告などに利用。
  • eLTAX
    地方税に関する電子申請サービス。給与支払い報告書など年末調整などに利用。
  • e-Gov
    各種行政機関への電子申請サービス。社会保険・労務関連の申請などに利用。

2016年4月2日土曜日

cordovaでwkwebview-engine-localhost を入れるとbuildに失敗する問題の対処

XCodeでビルドしてみると重複するシンボルがあるというリンカーエラーになっていた。

GCDWebServer.frameworkがリンクされているにも関わらず何故か.mと.hも別に組み込まれているために起きていた。
GCDWebServer.frameworkをリンク対象から外すことで問題が解消した。

cordova buildからだと下記のようなエラーでよくわからない。
基本的にビルドに失敗した場合はXCodeでビルドし直すとトラブルシューティングしやすいかもしれない。

Error code 65 for command: xcodebuild with args:

2016年3月8日火曜日

Imagemagickを使ってアルファ値付き(アンチエイリアス )のアイコン画像の色を置換する

フリーのアイコンなどをネイティブアプリで使う場合に色を変えたくなることがある。
そこで、ImageMagickを使って画像の色を一括置換したい。。
方法を検索してみると、コマンドを載せているブログがいくつかヒットするが、アルファ値を使ったアンチエイリアスが効いたアイコンをうまく扱える方法は見つけられない。

そこで仕方ないので作ったのがこちら。

gist: https://gist.github.com/dotneet/3f2a69924bce60209d0b

やっていること:
1.アルファ値を切り出しておく
2.置換後の色で塗りつぶした画像を用意する
3.切り出しておいたアルファ値を再度適用する

仕組み的に画像はアルファ値を除き単色で構成されているが条件になる。

Google Material Designのアイコンやいくつかのアイコンに対してはうまく機能した。

2016年3月3日木曜日

"Configuration with name 'default' not found"への対応

あるプロジェクトをgit cloneしてきてgradleを実行すると
"Configuration with name 'default' not found"
というエラーが発生して進まなくなった。

原因: サブモジュールがなかった

このエラーはbuild.gradleでサブプロジェクトが指定されているがサブプロジェクトのファイルが存在しない場合に発生するよう。

なので、サブプロジェクトをgitのサブモジュールとしているプロジェクトでは git submodule init, git submodule update をかけておかないとこのエラーがでる。

2016年2月17日水曜日

Dockerは現時点(1.9)では複数のネットワークインタフェースをうまく扱うことができない

どうやら、Dockerはデフォルトのネットワークインタフェース間でしか通信を行うことができないらしい。
例えば、eth0とeth1と2つのネットワークインタフェースを持つような構成になっている場合に、コンテナはeth1との通信が一切できない。

このブログに理由と解決方法が載っていた。

http://williamsbdev.com/posts/docker-connection-marking/

パケットがdocker0を通る前にパケットにfwmarkという印を付けることでちゃんとルーティングされるようにするらしい。
ちょっときもい。