タグ

ブックマーク / www.moongift.jp (58)

  • Gixy - nginxの設定ファイルを静的解析して改善提案

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました HTTPサーバとしてnginxを使っているケースは多いかと思います。しかし設定に関する情報はまだまだ多くはなく、動くように設定はしても、それがベストなのかどうか判断できない方も多いのではないでしょうか。 そんな方にお勧めなのがGixyです。nginxの設定ファイルを解析して改善案を提示してくれます。 Gixyの使い方 Gixyのインストールは pip でできます。 pip install gixy 後はnginxの設定ファイルを指定するだけです。 $ gixy /path/to/nginx.conf ==================== Results =================== Problem: [host_spoofing] The proxied Host h

    Gixy - nginxの設定ファイルを静的解析して改善提案
  • Unique Machine - Cookieを使わないトラッキング。コンピュータ/ブラウザごとのユニークIDを生成 MOONGIFT

    広告のトラッキングなどでコンピュータを特定するという技術がよく使われています。しかしプライバシーの問題もあり、最近ではCookieで余計な情報を渡さなくなったり、ブロックするような動きも増えています。 しかしそれでもトラッキングしたい!という方はUnique Machineを使ってみてはいかがでしょうか。 Unique Machineの使い方 ブラウザやコンピュータ特有のフィンガープリント(指紋)を生成しています。 生成されました。ハッシュのような文字列です。 同じくFirefoxで生成した場合。ブラウザの署名は異なりますが、コンピュータの署名は同じものが生成されています。 さらにプライベートモードにした場合。ブラウザの署名は異なりました。 Unique MachineではWebGLの処理におけるコンピュータごとの癖を読み取ってフィンガープリントを生成します。ブラウザごとの署名はプライベー

    Unique Machine - Cookieを使わないトラッキング。コンピュータ/ブラウザごとのユニークIDを生成 MOONGIFT
  • Sensei Grid - キーボード移動/インライン編集を可能にするテーブルライブラリ MOONGIFT

    業務システムを開発していると度々持ち上がってくるのがデータグリッドのリッチ化です。様々なソフトウェアがあり、Excel並にリッチなUIを提供するものもありますが、今回はちょっと変わったライブラリを紹介します。 Sensei Gridが提供するのはリッチなフォーカス移動、そしてその場での編集機能になります。これもまた使いどころの多そうな便利なライブラリです。 Sensei Gridの使い方 例えばグリッドがこのように表示されています。 この時、矢印キーでのセル移動はもちろんのこと、タブキーでの横移動、Ctrl + Enterでの下への移動が行えます。まさにExcel的な操作性です。 エンターキーで編集モードです。ドロップダウンのような選択式の表示もサポートされています。 テキストの編集も可能です。 Sensei Gridはマスタメンテナンスのように一覧表の中からデータを探して編集するというの

    Sensei Grid - キーボード移動/インライン編集を可能にするテーブルライブラリ MOONGIFT
    terurou
    terurou 2014/09/20
    ソースを確認したけど、現時点ではパフォーマンスは考慮されてないのと、カラムの種別を増やすのがきつそう(できなくはないけど、設計が微妙)
  • initial.js - ユーザ名を使った格好いいプロフィール画像を生成 MOONGIFT

    最近は大抵のサービスでユーザプロフィール画像が掲載できるようになっています。FacebookやTwitterGitHubから取ってきてくれれば良いのですが、そうでない場合は自分でアップロードする必要があります。そうしないと格好わるいデフォルトの画像だったりしますよね。 ユーザごとに多少なりとも変化を持たせたいと思うならばinitial.jsの仕組みを使ってみてはいかがでしょう。名前の最初の文字を使ってプロフィール画像っぽい演出をしてくれます。 initial.jsの使い方 例えばこんな感じです。 名前の最初の文字が四角の中に入っています。背景色が違うだけで随分印象が違いますね。 大きさの変更もできます。 JavaScript/HTMLのコードは以下のようになります。 <img data-name="Steve" class="profile"/> $('.profile').initia

    initial.js - ユーザ名を使った格好いいプロフィール画像を生成 MOONGIFT
    terurou
    terurou 2014/06/13
    地味に良いやつだ
  • JavaScriptでExcelの関数をほぼ実装 MOONGIFT

    世の中で最もされているものが最も美味しいと定義するならば、マックのハンバーガーとコーラは世界で最も美味しいということになるというのは有名です。そんな原理でいくとExcelは世界最高のツールになるのかも知れません。 つまり他の言語でもExcelの関数を実装すれば、誰でもプログラミングができてしまう…そんな世の中になるのかも知れませんね!ということで第一弾としてJavaScriptExcelの関数を実装したFormulaJSを紹介します。 FormulaJSの使い方 例えば配列系の関数。 テキスト系。 演算系。 例えばASINのような関数はこのようにラッピングで実現しています。 Formula.ASIN = function (number) { return Math.asin(number); }; 全ての関数を実装し直しという訳ではなく、ラッピングで実装しているものも数多くあります。

    JavaScriptでExcelの関数をほぼ実装 MOONGIFT
    terurou
    terurou 2014/05/09
    「Excelっぽいもの作ってくれ」案件への対応策にいかがですか?DSLとして悪くはないと思う。
  • imgo - JPEG/PNG/GIF/ICO。画像なら何でも圧縮してサイズ軽減 MOONGIFT

    こういう取りまとめてくれるツールは便利ですね! Retinaディスプレイや4Kディスプレイなど高解像度のディスプレイが出回ると、その中で扱われる画像サイズも自ずと大きくなっていきます。それは致し方ないと思うのですが、何の対策もしないのはいただけません。 PNG/JPEG/GIFなど様々な画像フォーマットに応じて圧縮ライブラリがありますが、imgoはそうしたライブラリを一つにとりまとめてくれる優れものです。 imgoの使い方 imgoのヘルプは次のようになっています。 $ ./imgo --help imgo 0.8: Images Optimizer Git repo: https://github.com/imgo/imgo Usage: imgo [-params] [FILE] Options: -h | --help displays help -b | --brute brute

    imgo - JPEG/PNG/GIF/ICO。画像なら何でも圧縮してサイズ軽減 MOONGIFT
    terurou
    terurou 2014/03/27
    画像圧縮するやつ
  • Invoice Ninja – 請求書を素早く作れてPDF出力できる請求管理

    フリーランスだった時代に最も面倒な業務だと思っていたのが請求書の作成です。月に10枚も出さない程度なのでシステム化するほどでもなく、かといって手間がかかる業務でした。現在はMakeLeapsにしたので大幅に楽になっています。 そんな請求書作成業務をWebベースで行えるようにしてくれるのがInvoice Ninjaです。ネーミングからしてあれな感じですが、機能は確かなのでぜひチェックしてみてください。 Invoice Ninjaの使い方 ほぼほぼ請求管理で必要と思われる項目は満たしているのではないでしょうか。日語の文字化けについてはフォントを入れたり設定をすれば解決すると思われます。 Invoice NinjaはPHP製のオープンソース・ソフトウェア(BSD License)です。 Invoice Ninja hillelcoren/invoice-ninja

    Invoice Ninja – 請求書を素早く作れてPDF出力できる請求管理
    terurou
    terurou 2014/03/24
    ニンジャー
  • Remodal - 使える場面の多そうなjQuery製モーダルウィンドウライブラリ MOONGIFT

    jQueryでモーダルウィンドウ表示を行いたい時に使えるのがRemodalです。カスタマイズが多彩、軽量といった特徴があります。 ふわっと浮き出るのも印象的です。 Remodalのインストール まず手順としてスタイルシートとJavaScriptを読み込みます。 <link rel="stylesheet" href="path/to/your/jquery.remodal.css"> <script src="path/to/your/jquery.remodal.min.js"></script> 次にHTML全体をクラスで囲みます(背景を暗くするためです)。 <div class="remodal-bg"> ここにHTMLを記述 </div> そしてモーダルウィンドウで表示する内容を記述します。 <div class="remodal" data-remodal-id="modal">

    Remodal - 使える場面の多そうなjQuery製モーダルウィンドウライブラリ MOONGIFT
  • Bootstrap Admin Theme - Bootstrap3に対応した管理画面テンプレート

    これは知っておいて損はないでしょう! Bootstrapの便利な使いどころとして管理画面があります。管理画面は限られた関係者しか使いませんのでBootstrap臭がしても気にすることはありません。それなりの表示がすぐに実現できるのは使い勝手を向上します。 しかしそんな適当な範囲を超えて実用性のある管理画面を実現できるBootstrapテンプレートがBootstrap Admin Themeです。Bootstarp 3系に対応していますので最新のウィジェットもばりばり使えるでしょう。 Bootstrap Admin Themeの主なページとしては、 ログイン ダッシュボード カレンダー グラフ ボタン/アイコン WYSIWYGエディタ フォーム/ウィザード テーブル その他ウィジェット が用意されています。これだけあれば後は組み合わせるだけで(Bootstrap来の機能も使いつつ)リッチな

    Bootstrap Admin Theme - Bootstrap3に対応した管理画面テンプレート
  • Dat·データ版Git。データを分散管理、解析 MOONGIFT

    GitHubは各自がリポジトリを持つ分散型ソースコード管理システムになっています。そして各自が差分を受け取ることでコラボレーションを実現しています。 同じような仕組みをデータについても行おうとしているのがDatです。まだはじまったばかりのプロジェクトではありますが非常に興味深いソフトウェアになります。 インストールはnpmを使って行いますので簡単に完了します。 $ npm install dat -g インストールが完了したら、最も基的な使い方を試してみます。 $ mkdir foo $ cd foo $ dat init これで初期化が終わります。Gitに似ていますね。次にデータを追加します。 # 一例 $ echo '{"hello": "world"}' | dat --json # CSVからも可能 $ cat some_csv.csv | dat --csv データの読み込みは

    Dat·データ版Git。データを分散管理、解析 MOONGIFT
  • データの追記読み込みに対応するテーブル·StreamTable.js MOONGIFT

    StreamTable.jsはJavaScript製のオープンソース・ソフトウェア(MIT License)です。 業務システムなどではデータの表示の際にテーブル組で表示する事が多々あります。そのような時に一気に表示しようとするとレンダリングに時間がかかります。そこで使ってみたいのがデータを取得しながら表示を行っていくStreamTable.jsです。 テーブルは既に表示されていますが、データは徐々に取得されていきます。例えばこの場合は20%までデータを取っています。 ページネーションもどんどん増えていきます。 検索ボックスを使って予めフィルタリングする事もできます。マッチするデータだけが追加されていきます。 仕組みとしてはAjaxでデータを取得しています。 StreamTable.jsではデータのストリームベースでの取得に加えて、検索によるデータ絞り込みとページネーションに対応しています

    データの追記読み込みに対応するテーブル·StreamTable.js MOONGIFT
    terurou
    terurou 2013/06/25
    動作とソースを流し見たけどギョームに耐えられるものではなかった。要求されるものはEXCELっぽいものだし。
  • JavaScriptでXLSX形式を扱う·XLSX.js MOONGIFT

    XLSX.jsはJavaScriptExcelファイル(Base64エンコード)を読み込んだり、ダウンロードさせられるソフトウェアです。 Googleスプレッドシートをはじめ、Webブラウザ上で表計算表示を行ったり、編集したりするWebアプリケーションがあります。しかし最も有力なのはExcelでしょう。そこで試したいのがExcelファイルを読み書きできるJavaScriptライブラリ、XLSX.jsです。 ダウンロードされたファイルです。ちゃんとXLSXとして認識されます。 ファイルを読み込む処理のデモです。Base64エンコードされたデータが解析されています。 XLSX.jsはbase64のXLSXファイルを読み込み、JavaScriptオブジェクトに変換できます。後はいかようにも表示できるでしょう。また、シート名と各セルの値をHTMLテーブルから読み込んでXLSXファイルに変換してダ

    JavaScriptでXLSX形式を扱う·XLSX.js MOONGIFT
  • RubyやPythonのようにJavaScriptを書ける·CoffeeScript MOONGIFT

    CoffeeScriptはJavaScriptをよりシンプルに書ける簡易プログラミング言語。 [/s2If] CoffeeScriptはJavaScirpt/node.js用のオープンソース・ソフトウェア。JavaScriptが隆盛になっている。だがあのコードの書き方が苦手という人は多い。特にRubyPythonに慣れた人にとって、冗長的だと感じてしまう場面もある。 構文例 Rubyに慣れると括弧をつけるのが邪魔臭く感じたり、ヒアドキュメントが使いたかったり、文末にifをつけて処理を書きたかったりしたくなる。そんな我がままに答えてくれるのがCoffeeScriptだ。 CoffeeScriptはJavaScriptRuby/Pythonに似た構文で書けるソフトウェアだ。node.jsのパッケージ管理であるnpmでインストール可能になっており、とても使いやすくなっている。構文は独特だが、

    terurou
    terurou 2010/11/29
    まったく試してないけど、どうせコンパイルが必要ならocamljsとかでいいんじゃないかとか思わなくはない
  • Gitを使って誰でもDropboxを作れる·RubyDrop MOONGIFT

    RubyDropはRuby製のオープンソース・ソフトウェア。個人的にDropboxはとても便利に使っている。これなしの生活は考えられないくらい便利だ。有料であれば50GBまで使えるが、無料版の2GBでは物足りないと感じる人も多いだろう。だがお金は払いたくないという人もいるだろう。 サーバ起動中 そこで考えたいのが自分だけのDropbox構築だ。重要なのは自動的に同期されるシステムであること、バージョン管理されること、複数のコンピュータ間でデータが同じ状態に保てることだろう。それらを実現するのがRubyDropだ。 RubyDropはRuby1.9系で動作するソフトウェアだ。簡単に言えば、特定のフォルダに関してRubyDropが監視を行う。そして変更があると内容をリモートのGitリポジトリにアップデートする。Gitリポジトリ側で変更があれば、Pullする仕組みだ。 自動的に同期されている G

    terurou
    terurou 2010/11/29
    これって、Gitである必要性が見いだせない(SVNで良い気がする)のだけど
  • 画像もファイルもテキストも管理できるクリップボード管理ツール·Clipboard Manager MOONGIFT

    Clipboard ManagerはWindows用のオープンソース・ソフトウェア。なぜかOSで提供されるクリップボードというのは枠が一つしかない。一つ上書きしたらそれで終わりだ。こんな不便がなぜか一向に改善されずに続いている。 しかしそんな不便さだからこそ、それを解決するソフトウェアに人気が集まる。いわゆるクリップボード管理ソフトウェアだが、主にテキストのみに対応したものが多かったように思える。Clipboard Managerはその一段上をいく便利さだ。 Clipboard Managerが対応するのはテキストに限らない。ファイルも、画像の一部をカットした情報も管理することが出来る。複数の画像から一部を切り抜いていって、まとめて文書内に埋め込むなんて作業もできる。ファイルの移動もとりあえずカットして、後で実行させることもできる。 使い方は簡単で、コピーしたりすれば自動的にリストに追加さ

    画像もファイルもテキストも管理できるクリップボード管理ツール·Clipboard Manager MOONGIFT
    terurou
    terurou 2010/07/11
    気になる
  • JavaScript製のガントチャート·JSGantt MOONGIFT

    JSGanttJavaScript製/Webベースのオープンソース・ソフトウェア。多人数、または複数社が関わるプロジェクトでは一つのタスクの結果が別なタスクに関わっていることが多々ある。そうした時の遅延はプロジェクト全体の調整が必要であり、滞りなく進めるのは至難の業だ。 JavaScriptガントチャートを生成 そのためタスク間のスケジュールや関わり方を示すのにガントチャートがよく使われる。これまでのガントチャートは画像出力型が多く、生成後の再利用性が今ひとつだった。そんな不満を解消してくれるのがJSGanttだ。 JSGanttはその名の通りJavaScriptによるガントチャート生成ソフトウェアだ。縦にタスクが並び、横に日程が並ぶ。各タスクごとにスケジュールが帯になって表示され、その結果が別なタスクに線でつなげられる。タスクの関連性が見いだせるはずだ。 折りたたんだり表示範囲を変更

    JavaScript製のガントチャート·JSGantt MOONGIFT
  • KVSを使った高速配信Webサーバ·クリティカルスピード MOONGIFT

    クリティカルスピードは〜のオープンソース・ソフトウェア。高速なレスポンスを行うWebサーバは誰しもが願う所だ。Googleがあれだけ大きく成長したのは検索のアルゴリズムはもちろんのこと、高速なレスポンスにも一因があったと思われる。欲しい情報がすぐに手に入るというのはとても気分がいい。 表示が速い! Webサーバで高速化を行うための手法は幾つか存在する。並列化したり、サーバのスペックを上げたり、ネットワークを強化すると言った方法の他、システム側でも対応できるものがある。その一つ、高速配信サーバのクリティカルスピードを紹介しよう。 クリティカルスピードの最大の特徴はKVS(キー・バリュー・ストア)をWebサーバとして使っていることだ。KVSとしてTokyoTyrantを採用しているが、今後はLuxIO、kumofs、ROMAといった他のKVSにも対応していくとのこと。WebサーバはPlack/

    KVSを使った高速配信Webサーバ·クリティカルスピード MOONGIFT
  • 実務でも使われている物流会社向け販売、在庫管理システム·olut 販売管理システム MOONGIFT

    olut 販売管理システムはPHP+MySQL/PostgreSQLのオープンソース・ソフトウェア。基幹システム系は元々携わっていたこともあって好きな分野だ。業務システムならではのインタフェースはあまり好きではないが、最近ではWebシステム化も進んでおり、より使いやすいシステムが増えている。 インデックス 基幹システムの基礎になるものと言えば販売管理システムになるだろう。そこにデータを入れるべく顧客、商品、出荷、入庫と言ったシステムが存在する。物流を担う企業が基幹システム構築を考えるならolut 販売管理システムを導入してみるのはいかがだろう。 olut 販売管理システムはニュー・トーキョー社の物流子会社NTCで使われている販売、物流管理システムで、物流(出荷、入荷)を軸に売り上げ、仕入れが発生するシステムになっている。商品、仕入れ先、数量や金額を入力して入荷させることで、在庫管理にデータ

    実務でも使われている物流会社向け販売、在庫管理システム·olut 販売管理システム MOONGIFT
    terurou
    terurou 2010/03/12
    角丸使ってるだけかなり頑張ってる
  • リモート接続を一手に管理するマルチタブターミナル·Terminals MOONGIFT

    TerminalsはWindows用のオープンソース・ソフトウェア。Webが全盛の昨今にあって、リモート接続は誰しもが経験するものだ。WindowsであればクライアントとしてTeraTermやPoderosaが有名だ。一つのサーバだけでなく、同時に複数のサーバに接続するのも当たり前になっている。 複数のサーバに接続する リモートサーバに接続するのはSSHのみとは限らない。リモートデスクトップのような接続方式もある。そんな多様な接続方式に対応し、かつネットワーク関連のユーティリティを多数内包したソフトウェアがTerminalsだ。 TerminalsはSSHやTelnet、VNC、RDP、VMRC、RAS、HTTPなど様々なプロトコルに対応している。パスワードの保存機能もあり、設定を保存しておけば次回からはクリックだけでリモートサーバに接続できるようになる。ターミナルウィンドウのカスタマイズ

    リモート接続を一手に管理するマルチタブターミナル·Terminals MOONGIFT
  • 無線LANのアクセスポイントを探す&調査·Vistumbler MOONGIFT

    VistumblerはWindows向けのオープンソース・ソフトウェア。ちょっと前には考えられなかったほど無線LANは普及している。オフィスのみならず自宅付近でも嫌というほどアクセスポイントが見つかるのではないだろうか。中にはなぜかセキュリティが施されていないものもある。 無線LAN調査用にどうぞ! そんな無線LANが氾濫しているとセキュリティ上好ましくない状態に陥る可能性がある。目に見えない無線であるため、調査するのも容易ではない。そこで使ってみたいのがVistumblerだ。Vistumblerを使えば近くのアクセスポイントに関する情報が一元的に見られるようになる。 起動したらまずはスキャンを開始する。そうすると多数のアクセスポイントが出てくるはずだ。シグナルの強さやセキュリティ情報、さらにはMACアドレスを元に機器の製造情報を知ることもできる。オフィス内に怪しいアクセスポイントが存在

    無線LANのアクセスポイントを探す&調査·Vistumbler MOONGIFT