タグ

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

  • Let’s Chat – Slack風のチャットシステム

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 最近のスタートアップはみんなSlackに移動しているようです。確かにUIがシンプルで分かりやすく、他のサービスとの連携もしやすいとあって自分たち好みの仕組みに作り替えられるのが便利です。 そんなSlackUIを真似たクローンとも言えるチャットソフトウェアがLet’s Chatです。 Let’s Chatの使い方 Let’s Chatの開発版(?)ではファイルの添付もできるようになっています。ログインすると誰でも使えてしまうので社内だけで使ったり、オープンなチャットシステムとして公開するならば良さそうです。使い勝手はSlackさながらにとてもいいです。Herokuにもデプロイできるのが便利です。 Let’s Chatはnode/JavaScript製、MIT Licenseのオープ

    Let’s Chat – Slack風のチャットシステム
  • PostgreSQLをWebブラウザで管理しよう·PostgreSQL Studio MOONGIFT

    PostgreSQL StudioはJava製のオープンソース・ソフトウェア(MIT License)です。 システム開発においてPostgreSQLを使っているケースは多いでしょう。そんな時にデータベース管理インタフェースとして使ってみたいのがPostgreSQL Studioです。 テーブルの追加。 カラムを決めていきます。 インデックスもビジュアル的に指定可能です。 管理インタフェースはローカルアプリケーションのようなUIになっています。 ファンクション、ビューなども管理できます。 生のSQLを確認することもできます。 権限周りの設定も可能です。 Webベースの管理システムと言えばphpPgAdminなどが知られていますが、そのUIは今風とは言いがたい状態です。またPosgreSQLも進化しており、その進化に追従するためにも管理画面も最新版のソフトウェアに合わせるというのは良いかも知

    PostgreSQLをWebブラウザで管理しよう·PostgreSQL Studio MOONGIFT
  • iniscan·php.iniの設定ファイルをチェックして危険なポイントを洗い出し MOONGIFT

    PHPは年々進化していて、それでいて過去のバージョンとの互換性もほぼ維持されています。しかしネットワークが進化する中で従来は使われていた設定が非推奨になっていることも少なくありません。 もしかするとWebサーバのPHPの設定が危険な状態になっているかも知れませんよ。それをチェックできるのがiniscanです。 iniscanはcomposerを使ってインストールします。まずはcomposer.jsonを下記の内容で作成します。 $ cat composer.json { "require": { "psecio/iniscan": "dev-master" } } そしてインストールを実行します。 $ sudo composer install Loading composer repositories with package information Installing depende

    iniscan·php.iniの設定ファイルをチェックして危険なポイントを洗い出し MOONGIFT
  • Vagrantを設定ファイルをWeb上で作成·PuPHPet MOONGIFT

    PuPHPetはPHP製、MIT Licenseのオープンソース・ソフトウェアです。 Vagrantが注目を集めています。簡単に仮想サーバを立ち上げられますが、設定ファイルを書けばさらにコマンド一つで環境まで整ってしまいます。そんなVagrantの設定ファイルを設定を行うだけで生成してくれるのがPuPHPetです。 最初にディストリビューションを決めます。 次に最初にインストールするパッケージや設定を決めます。 HTTPサーバです。Apacheまたはnginxから選択します。 PuPHPetなのでPHPメインです。バージョンも5.3/5.4/5.5から選択できます。 PHPのモジュールです。入力補完がついているので簡単に選択できます。 PEARを組み合わせることもできます。 データベースです。MySQLまたはPostgreSQLが使えます。 後は設定ファイルをダウンロードするだけです。Zi

    Vagrantを設定ファイルをWeb上で作成·PuPHPet MOONGIFT
  • データベース無し、Markdownでコンテンツを作成するCMS·Pico MOONGIFT

    PicoはPHP製、MIT Licenseのオープンソース・ソフトウェアです。 CMS(コンテンツマネジメントシステム)と言えばデータベースにコンテンツを入れて、システムがそれを一覧にしたり詳細ページを作ったりします。運営担当者が自由にできるところは限られるものです。しかしPicoであればカスタマイズが容易でかつ高速なCMSが手に入ります。 フォルダを配置するだけで準備は完了です。インストールの手間もありません。 ファイル構成です。contentディレクトリの下にMarkdownで書かれたコンテンツがあります。 テーマ、プラグインがサポートされています。テンプレートエンジンはtwigになります。 Markdownファイルを修正すれば、それが自動的にコンテンツに反映されます。 テンプレート。見ても分かる通り簡単な作りです。 Picoはシンプルであり、データベースも不要で使える手軽なCMSとな

    データベース無し、Markdownでコンテンツを作成するCMS·Pico MOONGIFT
  • これは凄い!iOSアプリ内で動作するPHP·iPHP MOONGIFT

    iPHPはObjective-C製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 iOS上で動作するプログラミング言語と言えばObjective-CやJavaScriptくらいと思われています(アプリを開発できる言語はもっとありますが)。しかしその壁を打ち破るソフトウェアがiPHPです。名前の通り、PHPの実行エンジンをiOSアプリ内に埋め込んだソフトウェアです。 立ち上げました。さっそくphpinfoを実行します。 見慣れた画面です。PHPのバージョンは5.4.15となっています。 curlも組み込まれています。外部コンテンツを取り込んで…といったこともできるでしょう。 fileinfoやgdもあります。色々な使い方ができそうです。 evalを使って入力したテキストを評価させることができます。 こちらはベンチマークを実行した結果です。 iPHPは思

    これは凄い!iOSアプリ内で動作するPHP·iPHP MOONGIFT
  • 複数バージョンのMySQLをインストールして切り替える便利スクリプト·mysqlenv MOONGIFT

    mysqlenvは異なるバージョンのMySQLをインストールしたり切り替えられるインストーラーです。 最近プログラミング言語はrvmやnodebrewなどユーザ環境下でインストールできてバージョンの切り替えが簡単に行えるものが流行っています。そんな環境切り替えをMySQLでも行えるようにするのがmysqlenvです。 インストールします。 installコマンドで指定したバージョンのMySQLがインストールできます。 mysqlenvが対応しているのは3.23、4.0、4.1、5.0、5.1、5.5、5.6系となっています。特に5.5系はMariaDB、Percona、Twitterが選べるようになっていますので、それぞれのDBの特性をチェックするのに使えそうです。起動や停止、切り替えはコマンドから簡単にできます。 mysqlenvはBashスクリプト製のソフトウェア(ソースコードは公開さ

    複数バージョンのMySQLをインストールして切り替える便利スクリプト·mysqlenv MOONGIFT
  • Facebook製。プログラマー向けのプロジェクト管理·Phabricator MOONGIFT

    PhabricatorはFacebookが開発しているプロジェクト管理です。ソースコードレビュー、バグトラッキングなど開発者フレンドリーな機能が数多くあります。 企業においてGitHubをソースコードリポジトリ/プロジェクト管理に使っているケースも増えてきていますが、大規模な企業では難しいケースも多いでしょう。そこで紹介したいのがFacebookで開発されているPhabricatorです。 最初にログインを求められます。 ついでユーザ名を入力します。 ダッシュボードです。 チケットの詳細画面です。 ソースコードレビュー。 もちろんコードハイライター付き。 リポジトリビューワー。 コミットログ。 画像付きでディスカッションもできます。 Wiki。 IRCのチャンネルリスト。 PhabricatorではGit/Subversion/Mercurialをサポートしています。また、OSはWindo

    Facebook製。プログラマー向けのプロジェクト管理·Phabricator MOONGIFT
  • サーバ管理を一元化。ステータス管理もできる·とりぐらふ MOONGIFT

    とりぐらふは複数のサーバ情報を一元的に管理し、その運用状態もモニタリングできるソフトウェアです。 Webサービスが大きくなっていくのに従って、サーバの台数も増えていきます。そうしたサーバ群の管理については企業独自の取り組みがいろいろ行われていますが、オープンソースとして公開されたのがとりぐらふです。 トップページです。GitHubのアカウント認証でログインできます。 アクティビティです。ログも確認できます。 提供しているサービスの一覧。 編集できます。MuninのURLを設定するようになっています。 ロールの設定です。 ホストの一覧です。 ホストの詳細画面です。 とりぐらふは複数のサーバのステータス、提供しているサービスを一つの画面で管理できるソフトウェアです。デプロイ対象のホスト管理も行い、Capistranoなどと連携します。一定数以上のサーバ管理を行うようになったら立ち上げたいソフト

    サーバ管理を一元化。ステータス管理もできる·とりぐらふ MOONGIFT
  • アジャイル開発におけるKPTをまとめるのに役立つ·KPT it MOONGIFT

    KPT itアジャイル開発などにおけるKPTをまとめるためのソフトウェアです。 KPTとはKeep(継続)、Problem(課題)、Try(挑戦)の頭文字を取ったもので、アジャイル開発や反復型開発においてイテレーション単位の振り返りに用いられるフォーマットになります。そんなKPTをする際に役立つのがKPT itです。 最初の画面です。 Keepを登録してみました。登録はタブをクリックして、テキストエリアに入力するだけです。 思いついたことをどんどん入力できます。 KPT itをイテレーションミーティングの際に使えば、各メンバーの意見を吸い上げていけそうです。KPT itはフレームワークにPadrinoを使ったRackアプリケーションになります。 KPT itRuby製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)になります。 MOONGIFTはこう見る

    アジャイル開発におけるKPTをまとめるのに役立つ·KPT it MOONGIFT
  • クエリの改善に。MySQLのSlow Query Logを可視化する·MySQL slow-query-log Visualizer MOONGIFT

    MySQL slow-query-log VisualizerはMySQLの時間のかかるクエリをWeb上で閲覧するソフトウェアです。 MySQLには実行時間の遅いクエリをログファイルに書き出す機能があります。単純にテキストに吐かれるだけなので分析に時間がかかってしまうのではないでしょうか。そこで使ってみたいのがWebブラウザベースの解析ソフトウェアMySQL slow-query-log Visualizerです。 サンプルです。データ量が多くないとあまり面白くないですね。 公式サイトより。曜日ごとに発生回数をグラフ化しています。 クエリログファイルをWebブラウザの画面にドロップするだけで解析処理が行われます。その結果はグラフに描かれる仕組みです。また、クエリは一覧で表示され、任意の文字でフィルタリングすることもできます。曜日と時間によって分析されるので対応すべきポイントが分かりやすくな

    クエリの改善に。MySQLのSlow Query Logを可視化する·MySQL slow-query-log Visualizer MOONGIFT
  • 1,000のサーバでも監視できるnode.js製死活チェッカー·uptime MOONGIFT

    uptimeはnode.jsで作られたWebサーバ死活チェッカーです。 Webサーバがきちんと正常に動き続けているかどうか一番簡単にチェックするのは定期的にアクセスしてレスポンスタイムを見ることです。そんなWebサービスの死活チェックに使えるのがuptimeです。 サーバを立ち上げました。最初に監視するWebサーバを設定します。 URLと監視する間隔を指定するくらいです。 監視を開始しました。グラフは自動更新されないのでご注意ください。 イベントがあればこちらに出力されます。 グラフではなく一覧で結果を確認できます。 徐々にグラフが更新されていきます。 uptimeは1000以上のWebサーバを一括で監視できるパフォーマンスを持っています。またダウンしている際にはWebアラートを表示できます。エラーがあった際にはHTTPステータスやその内容を記録してくれます。サーバはタグを使ってグループ管

  • 変化に強い、コードの見通しが良いTitaniumアプリを開発する·Titanium MVC MOONGIFT

    Titanium MVCはTitaniumをMVCに沿って開発できるフレームワークです。 Titaniumアプリはちょっとしたアプリを作るのに適していますが、大型なものになるとコードが見通し悪くなってしまうイメージがありました。だからこそベースになるTitanium MVCを使って頻繁な更新にも耐えられるしっかりとした作りにしましょう。 デモアプリです。ログイン画面が表示されます。 OKな場合のダイアログ。 入力エラーの場合のダイアログ。 app.jsの内容です。 MVC.jsの内容です。Controller、Viewを読み込んでいるのが分かります。 StartupControllerの内容です。initを実行して、ログイン画面を返しています。 ログイン画面のビューです。ここでは画面のデザインのみを行っています。 ログイン処理のコントローラーです。見やすいです。 Titanium MVCで

  • これはnode.jsの時代が来るか!?全て揃ったnode.jsフレームワーク·Tower.js MOONGIFT

    Tower.jsはフルスタックのnode.js用Webアプリケーションフレームワークです。 こ、これはやばい…。ついにnode.jsの時代が来るかもしれない、そう感じさせるWebアプリケーションフレームワークがTower.jsです。 インストールはnpmで簡単にできます。 まず新しいアプリケーションを作成します。 Scaffoldで簡単にコントローラ、モデル、ビューを生成。 生成された際の構成はこんな感じです。 towerコマンドのオプションです。 Webサーバを立ち上げ場合です。 Tower.jsはMongoDBをデータベースに、Redisはバックグランドジョブ、CoffeeScriptをメインの記述に使いつつ、Jasmineをテストフレームワーク、jQueryも使えるフレームワークです。メール、マイグレーション、MVC、RailsばりのO/Rマッピング、バリデーション、ルーティング、B

  • GitHub+Capistranoでデプロイ管理·Strano MOONGIFT

    StranoはGitHubと連携して使うCapistrano管理ソフトウェアです。 StranoはWebベースのCapistrano管理です。特にGitHubとの連携を重視して開発されています。 最初の画面です。まずGitHubを使ってログインします。 予めアプリケーション登録が必要です。 次にプロジェクトを登録します。 GitHubアカウントに登録されているプロジェクトを追加します。 登録しました。次にリポジトリをコピーするようですが、筆者環境では失敗してしまいました。 キュー管理もあります。 公式サイトのデモ画像です。 Stranoを使うとWebブラウザ上からデプロイタスクを追加してそのステータスを管理できるようです。GitHubのOAuthを使っているので面倒な設定も殆どなく使えるのが便利です。 StranoはRuby/Ruby on Rails製のソフトウェア(ソースコードは公開さ

    GitHub+Capistranoでデプロイ管理·Strano MOONGIFT
  • 試そう!PHPコードを解析して修正点を指摘·phpca MOONGIFT

    phpcaはPHPを静的に解析して小さなミスやコードの修正点を指摘してくれるソフトウェアです。 PHPを書く際にどう書けば小さなミスによるバグの発生を防げるでしょうか。一定の基準に沿って記述することで整然としたコードを実現し、可読性をあげることでバグの混入を防ぐことができます。そこで使いたいのがphpcaです。静的にPHPファイル(ディレクトリ単位も可)を解析し、修正すべき場所を指摘してくれます。 解析処理を実行しています。PHPのパスと、解析したいファイルやディレクトリ名を指定して実行します。解析処理中は随時メッセージが出力されます。 メッセージ例です。タブの利用や行の使い方に関してなどメッセージが表示されます。 ?>がない場合もメッセージが出ます。これはPHPの書き方としては逆かも知れません(確かない方が良いという話なので)。 PHPを書く上でありがちなミスやバグにつながりそうな指摘を

  • 今風のUI。Ajaxを使ったPHPベースのMySQL管理システム·MyWebSql MOONGIFT

    MyWebSqlはAjaxを多用した今風のUIを使ったMySQL管理ツール。 MyWebSqlPHP製のオープンソース・ソフトウェア。PHPと言えばMySQL、その二つの組み合わせから生み出されたphpMyAdmin。LAMPスタックなんて言葉が生み出されたのにphpMyAdminの優秀さがあったことは否定できない。それくらい誰しもが使っているソフトウェアだ。 データ一覧 だが長い年月のうちにUIは古いものになり、ちょっと時代が変わってきているかという気がしなくもない。そこで今のWebに合わせたMySQL管理ツールを紹介しよう。それがMyWebSqlだ。 MyWebSqlはWebアプリケーション風のインタフェースに加えて、UIのデザインもポップで明るい配色になっていて使い勝手が良い。左側にデータベースの一覧、右側でデータの編集を行うスタイルはphpMyAdminと同じだ。さらに下にはSQ

    今風のUI。Ajaxを使ったPHPベースのMySQL管理システム·MyWebSql MOONGIFT
  • MongoDBを使った開発のお供に。MongoDB版phpMyAdminとも言うべき「RockMongo」 | MOONGIFT | オープンソース・ソフトウェア紹介を中心としたITエンジニア/Webデザイナー向けブログ

    RockMongoPHP製のMongoDB管理インタフェース。 RockMongoPHP製のオープンソース・ソフトウェア。NoSQLデータベースが注目を集めている。RDBMSに代わるとは思いがたいが、使いどころによってはNoSQLの方がパフォーマンスが高く、より高速なWebサービスを構築できるメリットがある。 ドキュメント一覧 そのNoSQLの一つして知られているのがMongoDBだ。ドキュメント指向データベースとしても知られ、複数サーバにまたがったようなスケーリングにも対応している。そんなMongoDBを扱う上で便利な管理インタフェースがRockMongoだ。 RockMongoはMongoDB用のPHP製管理インタフェースだ。MySQLで言う所のphpMyAdmin的存在だ。データベースの一覧、コレクションの一覧、ドキュメントの一覧など階層的に閲覧できるようになっている。もちろんコ

  • Capistranoのビルドを管理する·Webistrano MOONGIFT

    Ruby on Railsはマルチプラットフォームで動作することもあり、ローカルで開発を行いリモートサーバで動かすというのが当たり前に行われている。その際、ローカルサーバで開発、アップロードを行ってリモートサーバへログインしてリブート…等とやるのはスマートではない。 CapistranoをWebベースで管理する サーバ一台ならば良いが、複数のサーバに対して更新ファイルを配信してリブートするなんてのは現実的ではない。そこで使われるのがCapistranoだが、さらに便利にしてくれるのがこれだ。 今回紹介するオープンソース・ソフトウェアはWebistrano、WebベースのCapistrano管理ツールだ。 Webistranoはプロジェクトを作り、ホストレシピを設定してCapistranoの運用を簡易的にしてくれる。ターミナルから使うのが基だが、複数人で開発を行っている場合は更新、リブー

    Capistranoのビルドを管理する·Webistrano MOONGIFT
  • 複数のGoogleアカウントをお持ちの方は·Google Account Switcher MOONGIFT

    Google Account SwitcherはGoogle Chrome用のフリーウェア。Gmailはスパムフィルターを含めて相当便利であるために、目的に応じて複数アカウントを使いこなす方も少なくない。そして切り替える際には都度ログアウトしてから実行する必要がある。 ドロップダウンでアカウントを切り替える そんな手間をかけるのが嫌であれば(大抵嫌だろうが)、Google Account Switcherを使ってみよう。Google Account SwitcherはGoogle Chrome機能拡張としてインストールする、Googleのアカウントスイッチソフトウェアだ。 Google Account Switcherをインストールした状態でGoogleの各サービスを表示させると、右上にドロップダウンが追加される。それをクリックするとアカウントのリストが出る。そして自分が使っているアカウン

    複数のGoogleアカウントをお持ちの方は·Google Account Switcher MOONGIFT