2016年5月31日火曜日

クロスプラットフォームなデスクトップアプリとしてのElectron解説(英語)

クロスプラットフォームなデスクトップアプリとしてのElectron解説です(英語)。和やかな雰囲気でElectronについて語られています。笑いのツボは、わかりませんでしたが、なかなかおもしろいです。特に、.NET + Mono + Xamarin と比較しているところは、納得の解説です。概要をつかむには、良い映像だと思います。

2016年5月30日月曜日

ElectronのAPIデモ

Electronのはじめの一歩ということで、APIデモです。どんなことができるのか簡単にデモの体験です。ふむふむ。また亀の歩みで挑戦してみることにします(笑)。

2016年5月29日日曜日

C拡張機能として動作するPHPフレームワーク「Ice framework」

C拡張機能として動作するPHPフレームワーク「Ice framework」 Phalconよりも速いというグラフが掲載されています。興味深いですねぇ。



参考サイト
Source code of Ice framework(GitHub)

2016年5月28日土曜日

SUSE、再起動なしにパッチを適用できる「SUSE Linux Enterprise Live Patching」

SUSEが再起動なしにパッチを適用できる「SUSE Linux Enterprise Live Patching」を発表しています。エンタープライズ版のみへの提供ですが、これは興味深い試みですね。



参考サイト
SUSE、再起動なしにパッチを適用できる「SUSE Linux Enterprise Live Patching」を投入(@IT)

CentOS 6.8がリリース

CentOS 6.8がリリースされました。Red Hat Enterprise Linux 6.8と互換性を持つリリースです。



参考サイト
CentOS 6.8登場(マイナビニュース)

2016年5月27日金曜日

PHPの静的サイトジェネレーター「Spress」を使ってみて

PHPの静的サイトジェネレーター「Spress」を使ってみての感想です。 まだ数回使っただけで、何もわかっちゃいませんが、現時点で思うところです。

良い点

  • 静的なHTMLファイルが出来上がるので、表示速度が速い。
  • Markdownでテキストを編集するだけなので、身軽で簡単。
  • プログラムやデータベースのセキュリティーを心配する必要が無い。

いまひとつな点

  • プログラムが介在しないので、コンテンツの高度な検索や並べ替えができない。
  • コマンドを使って管理することになるので、万人向けではない。
  • デフォルトの設定で使えば問題ないが、デザインや機能のカスタマイズには学習コストが掛かる。
  • ブログなどの場合、記事が多くなった場合の管理やパフォーマンスが気がかり?


というわけで、簡単ですが、Spressのまとめです。

実際に設定してみた最終成果物サイトがこちら

2016年5月26日木曜日

PHPの静的サイトジェネレーター「Spress」で記事の追加

PHPの静的サイトジェネレーター「Spress」で記事の追加です。spress new:post コマンドで記事が追加できます。

$ spress new:post
Welcome to Spress post generator
Post title:
> aaa

Post layout:
> page

Post date [2016-05-26]:
>

Do you want to use tags? (yes/no) [no]:
> test

Do you want to use categories? (yes/no) [no]:
> hello

[OK] The post was generated successfully!
Files afected:
* ./src/content/posts/2016-05-26-aaa.md
実際に設定してみたサイトがこちら

参考サイト
Writing posts(Spress)

2016年5月25日水曜日

PHPの静的サイトジェネレーター「Spress」でデザイン変更

PHPの静的サイトジェネレーター「Spress」でデザイン変更です。

大雑把に言うと、

config.yml サイト名やURLなどを設定
layouts レイアウトデザイン、基本になるテンプレート
includes ヘッダーやナビゲーション、ページ送りなど、共通化されたメニューパーツ

という感じになると思います。

ファイル構成
├─ build(出来上がり)
├─ src
│   ├─ content
│   │   ├─ posts
│   │   │   ├─ 2015-08-16-my-post.md
│   │   ├─ index.html
│   │   ├─ ...
│   ├─ includes(メニューの部品)
│   ├─ layouts(レイアウト)
│   ├- plugins
├─ composer.json
└─ config.yml(設定ファイル)
実際に設定してみたサイトがこちら

ようやく、その素晴らしさに気づきました。これは良いです。ハマりそう(笑)。

参考サイト
How it works?(Spress)

2016年5月24日火曜日

PHPの静的サイトジェネレーター「Spress」でビルド

PHPの静的サイトジェネレーター「Spress」でビルドです。時間を置いて見直したら、ようやく意味がわかりました。静的サイトが何なのかがわかっていなかったので、かなり遠回りました(笑)。

src フォルダの中で編集したものをビルドすると、build フォルダの中に、静的なHTML+assets ファイルを生成してくれるというものですね。出来上がったbuild内の静的なファイルをサーバーに置けば、プログラムが関与しないので、パフォーマンスが良いと。そういうことでしたね。

定義ファイル
# 開発環境
config.yml

# 本番運用
config_prod.yml
コマンド
# 開発環境
$ spress site:build --env=dev

# 本番運用
$ spress site:build --env=prod

参考サイト
PHPの静的サイトジェネレーター「Spress」

2016年5月23日月曜日

PHPの静的サイトジェネレーター「Spress」

PHPの静的サイトジェネレーター「Spress」を設定してみました。設置は簡単にできますが、実際に使いこなすには、慣れが必要だと思います。簡単にできるだろうと思ってナメていましたが、挫折気味(笑)。学習コストは、決して低くないと思います?

一方で、phar でできた spress コマンドで管理する手法には、たいへん刺激を受けました。私のように挫折して終わっても、無駄ではないと思えるぐらいに素晴らしいシステムです。

Ubuntu 14.04での設定
$ curl -LOS https://github.com/spress/Spress/releases/download/v2.1.1/spress.phar
$ chmod +x spress.phar
$ sudo mv spress.phar /usr/local/bin/spress

$ spress new:site example spresso
$ cd example
$ spress site:build --server --watch

$ spress new:post


参考サイト
Spress(GitHub)

2016年5月22日日曜日

Ubuntuでデータ圧縮コマンド「XZ」

Ubuntuでデータ圧縮コマンド「XZ」です。
圧縮には時間がかかるものの、bzip2 を上回る圧縮率を誇り、高速に伸長できるという利点から、tar に採用されるなど、普及が進んでいます。
インストール
sudo apt-get install xz-utils liblzma-dev
ヘルプ
xz --help
Usage: xz [OPTION]... [FILE]...
Compress or decompress FILEs in the .xz format.

  -z, --compress      force compression
  -d, --decompress    force decompression
  -t, --test          test compressed file integrity
  -l, --list          list information about .xz files
  -k, --keep          keep (don't delete) input files
  -f, --force         force overwrite of output file and (de)compress links
  -c, --stdout        write to standard output and don't delete input files
  -0 ... -9           compression preset; default is 6; take compressor *and*
                      decompressor memory usage into account before using 7-9!
  -e, --extreme       try to improve compression ratio by using more CPU time;
                      does not affect decompressor memory requirements
  -q, --quiet         suppress warnings; specify twice to suppress errors too
  -v, --verbose       be verbose; specify twice for even more verbose
  -h, --help          display this short help and exit
  -H, --long-help     display the long help (lists also the advanced options)
  -V, --version       display the version number and exit

With no FILE, or when FILE is -, read standard input.
使い方
# 圧縮
xz -k file.txt

解凍
xz -d file.txt.xz


参考サイト
XZ Utils の使い方(矢田晋さん)
逆引きUNIXコマンド/tar.xz形式ファイルを展開する(Linuxと過ごすさん)

2016年5月21日土曜日

PHPのクエリービルダー「FluentPDO」

PHPのクエリービルダー「FluentPDO」 試してみたわけではないのですが、面白そうだったのでメモです。軽そうですし、すぐに使い方が把握できるので、これは良いです。今度、使ってみることにしましょう。



参考サイト
SQLビルダ「FluentPDO」を試してみた(Qiita)
okonomi/fluentpdo at modernize(GitHub)

2016年5月20日金曜日

PHPフレームワークMako、一区切り

PHPフレームワークMako、ここで一区切りです。

使ってみての感想ですが、サイズ感が良いと思いますね。5ナンバーの車じゃないですが、大きすぎず、小さすぎず、取り回しやすいかなと。ドキュメントもしっかりしてますし、構成もわかりやすくなっていますので、いろいろな場面で予測しやすいと思います。抽象的な表現ですが。。。

さて、これまでの試行錯誤で、必要な機能は揃いましたので、動画ブログ&コミュニティーサイトを目指し、本番運用に移行します(笑)! あとは使ってみて、ちょこちょこ直していきましょう。

2016年5月19日木曜日

PHPのRSSフィード生成ライブラリ「Suin RSSWriter」

PHPのRSSフィード生成ライブラリ「Suin RSSWriter」を組み込んでみました。データを準備して当てはめていけば、あとは全部やってくれます。余計なところで気を使う必要が無いので、非常に便利。ありがたい限りです。



実際に設定してみたサイトがこちら

参考サイト
PHPでシンプルなRSS writerを作ってみた(Qiita)

2016年5月18日水曜日

UbuntuでPHPをコマンドラインから使用して、SNMP関連のエラーが出る場合

UbuntuでPHPをコマンドラインから使用して、SNMP関連のエラーが出る場合の対処法です。今回エラーが出た環境は、Ubuntu 14.04、PHP 5.5.9。結構、豪快にエラーが出て、何が起こったのかと思いました。SNMPを利用していなければ、php5-snmpをアンインストールすれば大丈夫なようです。

Cannot find module (SNMPv2-TC): 
...
...
...
Cannot adopt OID in UCD-SNMP-MIB:
php5-snmpをアンインストール
sudo apt-get remove php5-snmp
これでエラーが出なくなって、平穏無事な環境を取り戻しました。

参考サイト
Ubuntu typing 'php' in terminal shows a lot of errors(Stack Overflow)

2016年5月17日火曜日

PHPフレームワークMakoで、GROUP BY

PHPフレームワークMako(4.5.10)で、GROUP BYです。 Raw() を利用してCOUNTを指定する必要があります。

use mako\database\query\Raw;
use \app\models\Blog;

$blogs = Blog::select(['category',  new Raw('COUNT(category) as sum')])
  ->groupBy('category')
  ->all();
実際に設定してみたサイトがこちら

参考サイト
Query builder(Mako Framework Documentation)

2016年5月16日月曜日

PHPフレームワークMakoで、ORMで得たデータをオブジェクトではなく配列で取得

PHPフレームワークMako(4.5.10)で、ORMで得たデータをオブジェクトではなく配列で取得する方法です。 all() でオブジェクトで取得したものを toArray() メソッドで、配列に変換すればOK。JSON形式で取得したい場合は、toJson() メソッドが利用できます。

// 配列
$blogs = Blog::notNull("title")
  ->all()
  ->toArray();

// JSON形式
$blogs = Blog::select(["id","title","createat"])
  ->notNull("title")
  ->all()
  ->toJson();
実際に設定してみたサイトがこちら

参考サイト
ORM(Mako Framework Documentation)

2016年5月15日日曜日

オープンソースのCobol「opensource COBOL」

オープンソースのCobolopensource COBOL」 やはり、COBOLにもオープンソースは存在するんですね。
opensource COBOL は GNU Cobol(以前の OpenCOBOL)を日本特有のビジネス環境に対応すべく拡張したオープンソースの Cobol 開発環境です。 日本特有のビジネス環境にこだわらなければ、 GNU Cobol(OpenCOBOL) でもよいでしょう。


参考サイト
オープンCOBOLソリューション部会(OSSコンソーシアム)
opensource-cobol(GitHub)
OSSコンソーシアム、「opensource COBOL」の新バージョンをリリース(クラウド Watch)
COBOL言語をLinux環境で動かす(CodeZine)
opensource COBOL - Linux Mint にインストール!(mk-mode BLOGさん)
GnuCOBOL (formerly OpenCOBOL) (SourceForge)

2016年5月14日土曜日

Electron 1.0がリリース

HTML、JavaScript、CSSなど、ウェブ技術を使ってWindows、Mac OS、Linux向けのアプリケーションを開発するためのソフトウェア「Electron 1.0」がリリースされました。これは試してみるしかないでしょう!





参考サイト
HTML/JS/CSSでWin/Macアプリ開発 - Electron 1.0登場(マイナビニュース)
GitHub、HTML5/CSS/JavaScriptによるアプリ開発フレームワーク「Electron 1.0」(INTERNET Watch)

2016年5月13日金曜日

PHPを利用して、HTMLをMarkdownにコンバートしてくれる「Markdownify」

PHPを利用して、HTMLをMarkdownにコンバートしてくれる「Markdownify」 便利そうだったのでメモです。

$converter = new Markdownify\Converter;
$converter->parseString('<h1>Heading</h1>');

2016年5月12日木曜日

PHPの日付関連クラス「DateInterval」

PHPの日付関連クラス「DateInterval」 こんなクラス知りませんでした(笑)。精進が足りないと痛感した一日となりました。

// P: period
// Y: years
// M: months
// D: days
// T: time
// H: hours
// M: minutes
// S: seconds

$duration = new DateInterval("P1Y2M3DT4H5M6S");
print_r($duration);
DateInterval Object
(
    [y] => 1
    [m] => 2
    [d] => 3
    [h] => 4
    [i] => 5
    [s] => 6
    [weekday] => 0
    [weekday_behavior] => 0
    [first_last_day_of] => 0
    [invert] => 0
    [days] => 
    [special_type] => 0
    [special_amount] => 0
    [have_weekday_relative] => 0
    [have_special_relative] => 0
)

2016年5月11日水曜日

WYSIWYGエディタの「Quill」

WYSIWYGエディタの「Quill」を設定してみました。シンプルで使い方も簡単。必要なCSSやJavaScriptが、すべてCDNで準備されていて、本当にすぐに設定できます。高機能でカスタマイズに時間が掛かるWYSIWYGエディタが多い中、これはわかりやすくて良いと思います。

<link href="//cdn.quilljs.com/0.19.10/quill.css" rel="stylesheet">
<link href="//cdn.quilljs.com/0.19.10/quill.snow.css" rel="stylesheet">
<link href="//cdn.quilljs.com/0.19.10/quill.bubble.css" rel="stylesheet">
<script src="//cdn.quilljs.com/0.19.10/quill.js" type="text/javascript"></script>
<script src="//cdn.quilljs.com/0.19.10/quill.min.js" type="text/javascript"></script>

2016年5月10日火曜日

PHPフレームワークMakoで、カスタムバリデーションメッセージ(Validation Custom messages)

PHPフレームワークMako(4.5.10)で、カスタムバリデーションメッセージです。言語ファイル validate.php の最後の部分に設定を追加すればOKです。良い感じだ(笑)。

/app/i18n/ja_JP/strings/validate.php
'overrides' =>
[
  'fieldnames' =>
  [
    'tel' => '電話番号',
  ],
  'messages' =>
  [
    'tel' => 
    [
      'regex' => '正しい電話番号を入力してください。',
    ],
  ],
],
実際に設定してみたサイトがこちら

参考サイト
Validation(Mako Framework Documentation)

2016年5月9日月曜日

PHPフレームワークMakoで、ユニークな値かどうかのバリデーション

PHPフレームワークMako(4.5.10)で、ユニークな値かどうかのバリデーションです。 unique: の後に指定するのは、Json形式のデータで、「'unique:["(テーブル名)","(カラム名)"]'」という感じになります。意味がわからずに、ハマりました。

$rules =
[
  'email' => ['required', 'email', 'unique:["users","email"]'],
];
実際に設定してみたサイトがこちら

参考サイト
Validation(Mako Framework Documentation)
DatabaseUniqueValidator(Mako Framework API)

2016年5月8日日曜日

List、Stack、Map、Set、Recordなどの永続的データ構造を扱える「Immutable.js」

List、Stack、Map、Set、Recordなどの永続的データ構造を扱える「Immutable.js」 全くわかりませんでしたが、様々なデータ形式を同じように扱えるところがスゴイのでしょう。とにかくメモです。



参考サイト
Immutable.jsを色々触ってみました(Qiita)

2016年5月7日土曜日

Chromeの「データセーバー」を使ってデータ使用量を減らす

Chromeの「データセーバー」を使うと、データ使用量を減らせるらしいです。インストールしたばかりで、まだなんともいえませんが、データ使用量のグラフを見ると、確かに削減されていることがわかります。

データセーバーを使用している状態でウェブページにアクセスすると、Google のサーバーにより、ダウンロードされるデータの量が抑えられます。
データセーバーを使用しても、保護されているページ(アドレスが https で始まるページ)やシークレット モードのページでは、ダウンロードされるデータの量が抑えられることはありません。


参考サイト
Chrome のデータセーバーを使ってデータ使用量を減らす(Chrome ヘルプ)
GoogleのChromeブラウザの新しいデータセーバーは転送量を最大70%も節約する(TechCrunch Japan)

2016年5月6日金曜日

無料のウェブプログラミング講座「Free Code Camp」

無料のウェブプログラミング講座「Free Code Camp」 日本で言うところの「ドットインストール」のようなもの。登録して試してみましたが、よく出来ています。世界に羽ばたくプログラマーになりたい方、是非、どうぞ。





参考サイト
無料プログラミング教育のFree Code Campが15000名のユーザーにアンケート調査、国籍は200か国近い(TechCrunch Japan)
Free Code Camp(YouTube)

2016年5月5日木曜日

クラウドストレージの「Infinit」

クラウドストレージの「Infinit」 面白いクラウドストレージサービスを見つけました。いまいち、仕組みはよくわかりませんでしたが、大化けしそうな予感? 要チェックでしょう。
DropboxやGoogleドライブのようにクラウド上に作られたストレージ領域を提供するのではなく、ローカルのストレージをすべて連結させた巨大な「仮想ストレージ」をネットワーク経由で使えるようにするストレージ連結サービスを提供しています。


参考サイト
InfinitがDropboxに模倣されたと批判 新プロジェクトを「Dropboxe」と命名(ライブドアニュース)
infinit

2016年5月4日水曜日

レスポンシブデザインに対応したカルーセル「slick」

レスポンシブデザインに対応したカルーセル「slick」を設定してみました。画面サイズに合わせて設定が変えられます。なかなか快適。

$("#calendarslider").slick({
  infinite: true,
  dots: true,
  speed: 1000,
  autoplay: true,
  autoplaySpeed: 6000,
  responsive: [{
      breakpoint: 1024,
      settings: {slidesToShow: 3}  // 3枚表示
    }, {
      breakpoint: 600,
      settings: {slidesToShow: 2}  // 2枚表示
    }, {
      breakpoint: 300,
      settings: "unslick" // 非表示
    }]
});

2016年5月3日火曜日

SQL Serverで文字列を整数型に変換して並べ替え「CONVERT(int, strInput)」

SQL Serverで文字列を整数型に変換して並べ替え「CONVERT(int, strInput)」です。CONVERT関数を利用すると良いらしい。

SELECT id, name, str_date, CONVERT(int, str_date) as int_date
FROM items 
ORDER BY int_date

参考サイト
【SQL変換関数】CONVERT ? 型の変換を行う (SQL Server)(SQL Masterさん)

2016年5月2日月曜日

Firebird 3.0がリリース

オープンソースのリレーショナルデータベース「Firebird 3.0」がリリースされました。最近、ご無沙汰でしたが、嬉しいニュースですね。
Firebirdはオープンソース・ソフトウェアとして開発が進められているリレーショナルデータベース。WindowsおよびMac OS X、Linuxをはじめ、UNIX系のオペレーティングシステムで動作する。もともとBorlandが開発していたリレーショナルデータベース「InterBase」のオープンソース版から派生したプロジェクト。


参考サイト
Firebird 3.0登場(マイナビニュース)
SQLデータベース「Firebird 3.0」リリース、多くの新機能が追加される(OSDN Magazine)

2016年5月1日日曜日

Windows10へ、今すぐにアップグレードする方法

Windows10へ、今すぐにアップグレードする方法です。「Windows 10 を入手する」のページから、「ツールを今すぐダウンロード(MediaCreationTool.exe)」して、作業を進めればOKです。かなり時間がかかりますので、急ぎでない方は、通常の「準備ができたら通知する」という方法を選んだほうが良いと思います。



参考サイト
Windows10に手動で、今すぐアップグレードする簡単な方法(Webコミュさん)