月別アーカイブ 12月 2017

著者:ym

Symantec証明局から発行されたSSL証明書の信頼されなくなる

Let's Encrypt

Let’s Encrypt

Firefox と Google Chrome が Symantec 認証局から発行された SSL 証明書を「信頼しない」化を進めていますね。お客様の中にも 元 Symantec の認証局で発行した SSL 証明書がありましたが、今ではSymanetc社から事業譲渡によりデジサート社へと切り替わってたりします。

傘下だった企業が発行したジオトラスト(GeoTrust) や RapidSSL、Thawte も影響を受けるようです。複数年で購入していなければそれ以前に有効期限切れになるので、あまり影響は受けないですがご注意を。

  • この記事いいね! (0)
村上 著者:村上

【PHP】DateTimeで現在日時から○日後の日付を取得する方法

後輩に聞かれたので、私と彼のための覚え書きのメモとして。

PHPには、日付と時刻を扱う DateTimeクラスがありますが、こちらを用いて、現在の日時から○日後や、○時間前の日付・時刻を取得する方法です。

DateTimeクラスについて、PHPのマニュアルはこちらから。

DateTime クラス – Manual
http://php.net/manual/ja/class.datetime.php

 

○日後を扱う前に、まず現在の日時を取得する方法は下記の通り。

// 現在の日時を取得
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // 2017-12-05 19:05:00

DateTimeの引数を空で指定すると、現在の日時を取得できます。
それを任意のフォーマットに変換しています。

また日付文字列を引数に指定する事も出来ます。

// 日付文字列で指定した日時を取得
$date = new DateTime("2017-06-01 06:00:00");
echo $date->format('Y-m-d H:i:s'); // 2017-06-01 06:00:00

日付文字列で指定した日時を取得できます。

 

で、本題はここから。
○日後という相対的な日時を取得したい場合、modify というものを使うことにより、DateTimeで取得した日付を変更できます。

// 現在の日時の1日後の日時を取得
$date = new DateTime();
$date->modify('+1 day');
echo $date->format('Y-m-d H:i:s');  // 現在の日時の1日後の日付

または、この書き方でもOK。

// 日付文字列で指定した日時の1日後の日時を取得
$date = new DateTime("2017-06-01 06:00:00 + 1 day");
echo $date->format('Y-m-d H:i:s'); // 2017-07-01 06:00:00

上記はGoogle Chromeでしか動作検証していませんが、1日後の日付が正しく取得できました。

それ以外にも、「– 1 day」と書けば1日前、「+ 3 hour」と書けば3時間後、「+ 1 week」と書けば1週間後の日時がそれぞれ取得できます。
日付の変更は、使用頻度はそこまで高くはないのですが、ふとした拍子に使ったりするので、頭の片隅ででも覚えて置きたいですね。

 

また、今回 DateTimeクラスを調べていて知ったのですが、数値を指定して日時を取得することもできるとのこと。
このやり方については私はまだ実際に使ったことありません。

// 数値を指定して日時を取得
$date = new DateTime();
$date->setDate(2017,6,1);
$date->setTime(6,0,0);
echo $date->format('Y-m-d H:i:s'); // 2017-06-01 06:00:00

セレクトボックスから年・月・日をそれぞれ選んで、それらを日付に変換するときとかに使えそうですね。
が、今回はDatepickerを使っているので、使うことはなさそうです。

  • この記事いいね! (0)
著者:aoki

2018年2月2日 クラウンパレスにて第4回ICTシンポジウムを開催いたします


浜松ソフト産業協会「2018年2月2日、浜松ソフト産業協会主催「第4回 浜松ICTシンポジウム」を開催します。」
https://hamamatsusoft.com/news/2017/00033/

第4回を迎えた浜松ICTシンポジウムは、浜松地域における「未来価値の創成」にスポットをあてます。
第1部では、光・電子技術の活用で産業振興を推進する「フォトンバレープロジェクト」構想と、光技術における「微弱光イメージング」の最先端に迫ります。
第2部では、実例を挙げながらセンシング技術とアルゴリズムの潮流を垣間見るとともに、自動運転の実用化への可能性について事例を交えて考察します。

毎年恒例となっております浜松ソフト産業協会主催「浜松ICTシンポジウム」の第4回が来年2月2日にクラウンパレスにて開催されます。
今回は私が担当リーダーとして色々な手配をしており、講演者の方々も決まりましたので告知させて頂きます。
過去3回は県外の方がメインでの講演でしたが第4回は「浜松」に重点を置いた講演内容となっており、浜松の先進事例をご紹介できるかと思います。

開催概要は以下になります。

開催日時 2018年2月2日(金)
開場(受付) 12:30~ 開会 13:30
場所 ホテルクラウンパレス浜松 芙蓉の間
静岡県浜松市中区板屋町110-17(JR浜松駅前)
プログラム
(予定)
◆ご挨拶
[13:30~]
NPO法人 浜松ソフト産業協会 理事長
晝馬 日出男 Hideo Hiruma

◆講演
第1部-1
[13:40~14:30]
「光・電子技術を活用した未来創生ビジョン」
伊東 幸宏 氏 Yukihiro Ito
公益財団法人浜松地域イノベーション推進機構
フォトンバレーセンター センター長

第1部-2
[14:35~15:25]
「フォトンカウンティングイメージングを含んだ極微弱光イメージングとその応用」
丸野 正 氏 Tadashi Maruno
株式会社浜松ホトニクス 理事
システム事業部 副事業部長
システム設計部 設計部長

(休憩 20分間)

第2部-1
[15:45~16:35]
「最新の組み込みソフトの実例等」(仮)
森川 恭徳 Yasunori Morikawa
NPO法人 浜松ソフト産業協会 理事
株式会社モアソンジャパン 代表取締役社長

第2部-2
[16:40~17:30]
「浜松での自動運転の取り組み、自動運転の技術」
須山 温人 氏 Atsuto Suyama
SBドライブ株式会社 CTO

◆懇親会 [17:40~]

参加費 講 演 3,000円/人 税込(ソフ協登録会員法人・学生:2,000円/人 税込)
懇親会 5,000円/人 税込
お申込み方法 下記、お申込みフォームよりお申込みください。
交通アクセス JR新幹線、東海道本線浜松駅下車 徒歩3分
遠州鉄道新浜松駅下車 徒歩5分
東名高速道路浜松インター・浜松西インターより車で30分
地図を見る

参加申し込みは以下のフォームから可能です。
是非たくさんの方のお申込み、お待ちしております。


  • この記事いいね! (0)
takahashi 著者:takahashi

オープンソースでも有料ソフト並み 現像ソフト”RAW Thrapee”

高橋です。

皆さんは写真編集をされる際、普段どんなツールをお使いでしょうか?
以前まで、僕はWindows10に付属の”フォト”アプリを使って編集していました。


写真について知識がなくても簡単に触ることができますし、標準でありながら非常に使いやすい完成度の高いアプリとなっていて、ずっと愛用していました。
ところが、最近になって写真を大量に編集する機会が出てきまして、写真を一枚一枚開いて編集するのが大変な場面が徐々に出てきました。

そんななか、知人から無料でありながら超高性能な写真編集ツールを教えてもらいました。

RAWTherapeeです。
RAWTherapeeはオープンソースで開発が進められている現像、つまり写真編集に特化したソフトウェアです。

Windows標準の写真調整ツールとの大きな違いは、写真編集機能に加えて、ファイル管理機能が搭載されていること。
編集済み/未編集の管理や削除、保存の操作をすべてソフト上から一括で行うことができます。勿論、単体での保存も可能です。

左上にヒストグラムも搭載されています。

他にも、明るさや露出の調整や、色の濃さの調整など、Windows フォトアプリよりもさらに細かい調整が可能です。
比較として、有料の現像ソフト”Adobe Lightroom”とよく比較されますが、基本的にはほぼ同等の機能を持つといわれているようです。

僕みたいな初心者でも直感的に触れますし、機能的にも充実しているので、非常に優秀なアプリだと思います。

写真編集にお悩みの皆さん、是非一度試してみてはいかがでしょうか?

——————————————
RAW Therapee Blog(公式サイト)
http://rawtherapee.com/

フリーのRAW現像ソフト RawTherapee(RAWセラピー) – ぼくんちのTV別館
https://freesoft.tvbok.com/freesoft/image/rawtherapee.html

  • この記事いいね! (0)
著者:ym

ホームゲートウェイとフレッツジョイント

NTT HGW (ホームゲートウェイ)

NTT HGW (ホームゲートウェイ)

以前まで他社のルータを使っていましたが、先日やむを得ず NTT のレンタルルータへ差し替えをしました。一般家庭向けに提供されるひかり電話対応ルータの為、至って簡単なルータなのですが、これがまた意外と簡単。今ではNTTルータへソフトウェアを自動配信する機能に対応している為、一晩ほっておけばソフトウェアがルータに配信され、インターネットにつながってしまうのです。しかも自動でソフトウェアバージョンも上がっていく。

それがフレッツジョイント機能。

フレッツ・ジョイント|フレッツ光公式|NTT西日本

しかし逆に今回の IPv6 化は PPPoE 接続は出来なくなってしまいます。でも、これはこれで複数接続が必要な場合は問題あり。そのうちまた戻す予定ですが、このスピードを味わうとなかなか戻れません。

ホームゲートウェイ(レンタル)|フレッツ光公式|NTT西日本

  • この記事いいね! (0)
村上 著者:村上

【未解決】FuelPHPでストアドプロシージャを実行してデータを取得したい

タイトルにある通り、今回の記事はまだ未実装、というか実現できていないことについて。
ということで、もし解決策をご存知の方がいらっしゃれば、何卒ご教授くださいますようお願い致します。

 

ストアドプロシージャについては、こちらの記事がわかりやすいかと。

ストアドプロシージャの基本的ななにか – Qiita
https://qiita.com/setsuna82001/items/e742338eb93e3a48ba46

こちらの記事によると、ストアドプロシージャとは「データベース上での一連の処理に、名前をつけて関数のように呼び出して使用できるもの」とのこと。
データベース上で動作が完結するので、開発言語に依存しません。

 

FuelPHPについて、公式サイトはこちらから。

FuelPHPドキュメント
http://fuelphp.jp/docs/1.7/

FuelPHPは、PHP5.3以上を対象に開発されたWebフレームワークです。
他のフレームワークに比べて規約が少なく、また高速で軽量なため、使いやすいのが特徴です。

こちらのサイトもご参考に。

高速で軽量なフレームワークFuelPHPを使う
http://www.buildinsider.net/web/bookphplib100/096

 

そして、今回実現したいのは、この両方を利用して、データベースからデータを取得する方法についてです。
実行するストアドプロシージャはこんな感じ。

1> EXEC dbo.user_month_report @year =2017, @month =12;
2> go

※実際に動作させているものとは異なります。

こちらをターミナルで実行すると、望んだとおりの結果が得られます。
したがって、ストアドプロシージャ自体には問題はなさそう。

が、こちらを下記のように FuelPHP で実行すると、結果が何故か bool(true) が返ってきます。

$result = DB::query("EXEC dbo.user_month_report @year =2017, @month =12;");
$result->execute();

ストアドプロシージャに問題がないようなので、十中八九 FuelPHP が原因というのは分かるのですが、その解決策がどうしてもわかりません。
FuelPHPのドキュメントにも、ストアドプロシージャの実行方法についての記述がないため、そもそも対応していないのでしょうか。

ちなみに、FuelPHPのフォーラムに、「DB Class with mysql – select from stored procedure」という、今回の状況に似たような投稿があったのは見つけました。
その中で、DB::query()の第二引数の$typeに SQL クエリタイプとして「DB::SELECT」を指定するといいとの記述があったので試してみましたが、残念ながら結果は変わりませんでした。

参考にしたフォーラムの投稿はこちら。

DB Class with mysql – select from stored procedure
https://fuelphp.com/forums/discussion/4299

 
新しいライブラリやフレームワークを使うのは、やはり難しいですね。

  • この記事いいね! (0)
takahashi 著者:takahashi

【現在は解決済】mac OS High Sierraに深刻な脆弱性が発覚 root権限への昇格がだれても可能に

高橋です。
先週、macOS High Sierraのバージョン10.13.1で、とんでもない脆弱性が発覚しました。

今回問題になったのは、macでアプリのインストールや設定変更の際にパスワードを求めるこの画面。
管理者権限へ昇格する際の認証の画面なのですが、ここでidをrootとし、パスワードを何も入力せずに”ログイン”を連打するとログインできてしまうという状態だったとのこと。

macOSはUNIX系のOSなので、rootでかんたんに不正ログインできてしまうというのはかなりまずい事態です。
幸いなことにログインできてしまうのはこの認証画面に限られるので、外部からrootアカウントで直接侵入される…という心配はなかったようですが、セキュリティに厳しいイメージのあるAppleの製品からこの不具合が出たことに、かなり驚いた方も多かったのではないでしょうか。

不具合発覚後、Appleは緊急でセキュリティアップデートを発行し、合わせて謝罪のコメントを出しています。

現在は自動アップデート機能により何もしなくても適用されている状態とのことですが、アップデート配信後にmacOSを10.13.1へアップグレードした方はセキュリティアップデートが適用されていない可能性があるので、アップグレード後に再起動を行ってほしいとのことです。

Apple公式サイトによると、アップデートが適用されているかどうかは下記の方法で確認できるとのことです。


お使いの Mac にセキュリティアップデート 2017-001 が適用されているか確認するには、以下の手順を実行してください。
1.ターミナル App を開きます (「アプリケーション」フォルダの「ユーティリティ」フォルダにあります)。
2.「what /usr/libexec/opendirectoryd」と入力して「return」キーを押します。
3.セキュリティアップデート 2017-001 が正常にインストールされている場合は、以下のいずれかのプロジェクトバージョン番号が表示されます。
opendirectoryd-483.1.5 on macOS High Sierra 10.13
opendirectoryd-483.20.7 on macOS High Sierra 10.13.1
Mac でルートユーザアカウントが必要な場合は、このアップデートを適用した後で、ルートユーザを有効にし直して、ルートユーザのパスワードを変更する必要があります。


参考サイト:
http://www.itmedia.co.jp/enterprise/articles/1711/30/news065.html
http://jp.techcrunch.com/2017/11/30/2017-11-29-apple-releases-a-macos-security-update-to-fix-huge-login-security-flaw/
https://support.apple.com/ja-jp/HT208315
  • この記事いいね! (0)
村上 著者:村上

【CSS】DIV要素を上下左右で中央揃えする方法(IE、Safari対応)

使用頻度は高めだけど、良く忘れるので備忘録として。
今回は今回は子要素を上下左右で中央揃えにするやり方について。
なお、同じ方法で画像の中央揃えも実現できます。

HTML、CSSのコードはこんな感じ。

<!-- HTML -->
<div id="parent">  <!-- 親要素 -->
    <div id="child"></div>  <!-- 子要素 -->
</div>
/* CSS */
#parent {
    background-color: blue;
    height: 200px;
    width: 200px;
    position: relative;
}
#child {
    background-color: green;
    height: 100px;
    width: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
}

このとき重要となってくるのが、親要素に指定された position: relative; と、子要素に指定された position: absolute; です。
これがあることで、子要素が表示される際の基準位置が親要素の左上となります。

そして、子要素の top、left をそれぞれ50%とすることで、子要素の左上の位置を親要素の中央に来るようにしています。
が、これでは左下に移動しすぎなので、transform: translate(-50%, -50%); で子要素の縦横それぞれの50%分だけ左上に移動させて、ちょうど親要素の上下中央に子要素が来るように調節しています。

 

やっていることは以上です。
他にも上下中央揃えする方法はあるようですが、今回の書き方を使ったところ、IESafariなど、表示が崩れやすいブラウザで表示した時に崩れなかったので、個人的にはおすすめの書き方です。
IEやSafariでデザイン崩れに悩まされている場合は、こちらの書き方をお試しになってみてはいかがでしょうか。

  • この記事いいね! (0)
著者:aoki

弊社ではDeepLearningを用いた画像認識アプリの開発を進めています

現在弊社ではDeepLearningを用いた画像認識のアプリ開発を行っています。

今開発しているアプリは花を認識するサービスで「Floen」という名前でリリースを予定しております。


こちらはアプリのスクリーンショットです。
枠の中に花を入れて撮影することでサーバ側で何の花なのかを画像認識して結果を返します。
画像認識自体はTensorFlowとAlexNetを利用しておりいわゆる畳み込みニューラルネットワーク(CNN)ですね。

ただ課題はまだ学習が足りず認識精度が高くないという所でどれだけ効率よく学習させるかですね。
アプリを通して撮影された写真も学習データとなりますのでリリースできましたら是非皆様に使っていただきたいです。
アプリ自体はリリース準備を進めており現在審査待ちですのでもうしばらくお待ちください。

  • この記事いいね! (0)
著者:ym

スピードの速いサイトに使われている技術

遠州灘を一望

遠州灘を一望

以前まで Google Chrome で非常に遅かった「日経新聞」のサイト。リニューアルしてスピードアップしました。その技術にどんなものが使われているのか。

  • Fastly
  • ServiceWorker
  • HTTP/2
  • Resource Hint API
  • webp 画像

だそうです。CDN以外はGoogle関連ですが、日経のサイトではふんだんに使われているのですね。ただResouce Hint API、nginx と Fastly 関連を中心にいじれるのですがプログラム関連を除いたとしてもとても手が付けられない状態。1秒でも1ミリ秒でも早くするためには、プログラムもインフラもどちらも同調したシステムを作らなければならない。参考に。

とにかく日経新聞サイトが早くなってよかった。1秒や1ミリ秒が売り上げに影響するという話もあるしね。でも、こういう景色はゆっくり見たいもの。

  • この記事いいね! (0)