タグ

ブックマーク / blog.shin1x1.com (67)

  • 子どもの iPhone SE に行った設定リスト 2016年12月 - Shin x Blog

    子ども(13 才以上)用に iPhone を購入したので、セットアップしたメモです。 iPhone IIJmio を利用するために、Apple Store で SIM フリーの iPhone SE を購入しました。 www.apple.com SIM 私が、IIJmio を利用していて、何ら不都合が無いので、同じく IIJmio にしました。連絡は、LINE(チャット or 電話)で行うつもりなので、データ通信専用 SIM を申し込みました。 3GB プランで、900円/月です。(後述する i-フィルター for マルチデバイス を申込んだので、+ 360円) www.iijmio.jp ペアレンタルコントロール(機能制限) 利用できるアプリやアクセス先を制限できる機能です。必要な箇所を設定しました。 support.apple.com Apple ID 利用者が、13 才未満なら子ども用

    子どもの iPhone SE に行った設定リスト 2016年12月 - Shin x Blog
    shin1x1
    shin1x1 2016/12/22
    書きました。
  • 公開 Podcast のような勉強会セッションをやってみる - Shin x Blog

    勉強会の企画を考えるとき、あの人からあの話聞きたいなというのがあって、普通なら登壇を依頼すればいいんだけど、準備も大変だろうから、あの話の blog エントリや過去のスライドを前に出して、インタビュー形式で「ここ教えて下さい」みたいな感じでやるセッション案。— Masashi Shinbara (@shin1x1) 2016年12月19日 動機 内容が大事で、それが聞きたいだけなのに、スライド作ってとか表現への準備が大変。 技術系勉強会では、スライドを作ることは質ではない。(内容が伝われば手段は何でも良い) かといって、登壇する時にスライド無しで一人で話すのも大変。 運営としても、発表者としても前々から解決したいテーマだった。 Podcast は、音声だけだが、十二分に伝わる。緩い雰囲気も聞きやすい。 あ、これだ! 考えていること 話し手と聞き手がいて、二人が話すのをみんなで見る。 話し

    公開 Podcast のような勉強会セッションをやってみる - Shin x Blog
    shin1x1
    shin1x1 2016/12/20
    書きました。
  • Amazon Dash Button にみるドメイン特化クラスのヒント - Shin x Blog

    この投稿は、PHP Advent Calendar 2016 - Qiita の 7 日目です。 DDD のようなドメインを意識した開発手法でなくても、ドメインコンテキストで必要な操作のみを実装したクラスを作ってみましょう話です。 Amazon Dash Button Amazon Dash Button は、ボタンが一つだけあるデバイスです。このボタンを押すと、あらかじめ決められた商品の注文が Amazon に送信され、商品が配送されるというシンプルなものです。 このデバイスは、「商品を届けて欲しい」というユースケースに対して、ボタンを押すというシンプルなインターフェイスを実装しています。単にボタンを押すだけなので、その裏側でどのようにして実現されているかを知らずとも、誰もが利用できます。違う言い方をすれば、ボタンを押す(商品を注文する)ことしかできないので、操作方法を覚える必要もなく、

    Amazon Dash Button にみるドメイン特化クラスのヒント - Shin x Blog
    shin1x1
    shin1x1 2016/12/07
    書きました。
  • 「DDD パターンを活用した Laravel アプリケーション開発」を Laravel Osaka 2016 で発表しました。 - Shin x Blog

    2016/10/19 に大阪で開催された Laravel Osaka 2016 にて、「DDD パターンを活用した Laravel アプリケーション開発」を発表しました。 会場の MOTEX さん。巨大スクリーンが 2 面あり、話しやすい環境でした。 発表資料 Laravel の具体的なテクニックに比べると抽象的な内容なので、どれだけ伝えられるか思案したのですが、聞いて頂いた方からのフィードバックや参加者アンケートでも概ね良い評価を頂けたので安心しました。 ValueObject については、さらに掘り下げて話せるテーマなので、これ単体でもまた話してみたいです。 Value Object は基ですね | DDDパターンを活用した Laravelアプリケーション開発/ddd-with-laravel https://t.co/ZzRTnt0tY6— 増田 亨. (@masuda220) O

    「DDD パターンを活用した Laravel アプリケーション開発」を Laravel Osaka 2016 で発表しました。 - Shin x Blog
    shin1x1
    shin1x1 2016/11/15
    質問や意見など多くのフィードバックがあり、発表して良かったです。
  • 「正規表現再入門」を PHP カンファレンス 2016 で発表してきました - Shin x Blog

    2016/11/03 に開催された PHP カンファレンス 2016 にて、「正規表現再入門」を発表してきました。 資料 speakerdeck.com togetter.com 内容は、正規表現のマッチングの動き、量指定子のマッチングパターン、バックトラックやパフォーマンスへの影響についてです。 下記のエントリを下地にして、マッチングの動きを分かりやすく伝えることを意識してお話しました。 blog.shin1x1.com 参加された方からは、「分かりやすかった」といった好意的なフィードバックを頂けたので、発表して良かったです。 これから正規表現を学ぶにしても、マッチングがどのように行われるかをざっくりと知っておけば、正規表現を書く際にも動きが想像できるので、この発表がお役に立てると嬉しいです。 偶然、同じ時間帯に発表があった徳丸さんのセッションでも正規表現に触れられていたようで、Twit

    「正規表現再入門」を PHP カンファレンス 2016 で発表してきました - Shin x Blog
  • パフォーマンスを意識して正規表現を書く - Shin x Blog

    正規表現を書く際、どのようなパターンにマッチさせるか、どこをキャプチャするかという視点で記述することはあっても、パフォーマンスを考えて記述するというのはある程度知っている人でなければ忘れがちな視点です。 このエントリでは、バックトラックをメインに正規表現がパフォーマンスに及ぼす挙動について見ていきます。 対象の正規表現エンジン ここでは、従来型 NFA を対象としています。具体的には、PHP の preg_ 関数で利用している PCRE や mb_ereg 関数が利用している鬼車です。PerlRubyPythonJava、.NET でも従来型 NFA を採用しているので、似た挙動となるでしょう。 「従来型 NFA」や「バックトラック」などの用語については、「詳説 正規表現 第3版」のものを用いています。 バックトラックによるマッチ探査 正規表現エンジンでは、指定された文字列が、パ

    パフォーマンスを意識して正規表現を書く - Shin x Blog
    shin1x1
    shin1x1 2016/08/23
    書きました。
  • より実践的なDDD本「.NETのエンタープライズアプリケーションアーキテクチャ第2版 」 - Shin x Blog

    DDD 関連の書籍といえば、Eric Evans の DDD ( エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) )や、Vaughn Vernon の IDDD ( 実践ドメイン駆動設計 (Object Oriented SELECTION) )が有名です。 DDDで登場する実装パターンや周辺知識をより実践的に解説しているのが、「.NETのエンタープライズアプリケーションアーキテクチャ 第2版 (マイクロソフト公式解説書)」(naa4e)です。 .NET 以外にも大いに通じる内容 書は、.NET の名を冠しており、サンプルコードは、C# で記述されています。また、利用するライブラリも .NET 周辺のものであったり、解説で登場する RDBMS も、Web 系でよく登場する MySQL や PostgreSQL よりも、S

    より実践的なDDD本「.NETのエンタープライズアプリケーションアーキテクチャ第2版 」 - Shin x Blog
    shin1x1
    shin1x1 2016/07/26
    「マイクロソフト公式解説書」には、MS の技術を使っていなくても面白そうなものがあったので読んでみよう。
  • PHPにおけるhttpoxyの対応 - Shin x Blog

    HTTP リクエストに任意の値をセットすることで、Web アプリケーションからの HTTP 通信を傍受したり、中間者攻撃(Man-in-the-Middle)を可能にする脆弱性が見つかっています。 専用サイト httpoxyという名前が付けられ、専用サイトが立ち上がっています。詳細は、このサイトが詳しいです。 httpoxy.org 攻撃内容 アプリケーションからHTTP通信を行う際に、環境変数HTTP_PROXYの値を、HTTPプロキシとして見るライブラリがある。 HTTPリクエストにProxyヘッダを付けられると、環境変数HTTP_PROXYにその値がセットされる。(これは、CGIの仕様) つまり、任意のプロキシを外部から指定できてしまうので、通信内容の傍受や偽装ができてしまう。 対象となる PHP アプリケーション HTTP リクエストを受けて動作する PHP アプリケーション アプ

    PHPにおけるhttpoxyの対応 - Shin x Blog
    shin1x1
    shin1x1 2016/07/19
    httpoxyについて、自分用にまとめてみました。
  • 「ざっくり分かる WordPress サイトのチューニング」を WordCamp 2016 で発表してきました。 - Shin x Blog

    2016/07/09、10 に大阪大学 豊中キャンパスで開催された WordCamp Kansai 2016 にて、WordPress サイトのチューニングについて発表しました。 https://twitter.com/digitalcube/status/751693759121731584 発表資料 今回は、PHPWordPressエンジニアでなくても何か役立ててもらえるようにチューニングの具体的な手法というよりは、実際に手を動かすエンジニアと意思疎通がスムーズになるように基的な考え方をメインにお話しました。 「推測するな、計測せよ」という格言があるとおり、チューニングにおいても、まず大事なのは「計測する」ということです。計測せずにやみくもにチューニングを行っているケースを見聞きするので、ここからはじめる内容にしました。 後半は、キャッシュを中心に紹介したのですが、最後の Var

    「ざっくり分かる WordPress サイトのチューニング」を WordCamp 2016 で発表してきました。 - Shin x Blog
    shin1x1
    shin1x1 2016/07/11
    チューニングするにあたって前提となる「計測すること」から、WordPress サイトの主要なチューニング方法についてざっくり紹介しました。
  • 「SOFT SKILLS」を読む前に知っておくと良いこと - Shin x Blog

    ソフトウェア開発者の間で、話題の書籍「SOFT SKILLS」を読みました。ひと通り読んで感じたことなど書いてみます。 同じ内容の文章を読んでも、それを誰が書いたかによって受ける印象は変わります。 まさに、それを実感したでした。 ソフトウェア開発者が書いたビジネス書 このは、「ソフトウェア開発者」が語る「ソフトウェア開発者の人生マニュアル」です。ざっくり言えば、「ソフトウェア開発者向けのビジネス書」ともいえるでしょう。 内容自体は、ビジネス書を数冊読んだことがある人であれば、それほど目新しいというわけではありません。実際、書籍内でも筆者が参考にしているビジネス書(ロバート・キヨサキの「金持ち父さん 貧乏父さん」やデール・カーネギーの「人を動かす」など)が紹介されており、こうした書籍から影響を受けた思考や行動がつづられています。 ビジネス書は、私も嫌いではないので、たまに読みます。やはり

    「SOFT SKILLS」を読む前に知っておくと良いこと - Shin x Blog
    shin1x1
    shin1x1 2016/06/23
    「SOFT SKILLS」を読んでみました!ソフトウェア開発を仕事にしている人なら、ビジネス書をあれこれ買うより、まずはこれを買うといいですね。
  • 勉強会やカンファレンスにライブ配信は必要か? - Shin x Blog

    ひと昔前(といっても数年前ですが)の勉強会では、Ustream を使ってセッションをライブ配信するということが一般的でした。私は、関西在住のため、特に東京で開催されているイベントをライブで視聴できるのはとても便利でありがたいものでした。 私自身がライブ配信の恩恵を受けているので、自分が開催するイベントでも可能であればライブ配信したいと考えていました*1。 ある時、関西の PHP コミュニティで集まる機会があったので、ライブ配信について話していました。その場には、15人ほどいたと思うのですが、ライブ配信が欲しいと考えいたのは私一人だけで、あとは後日動画を公開するならライブ配信は無くて良い、あっても見ないという人ばかりでした。正直、ここまで必要とされていないというのは意外でした。 このエントリでは、ユーザコミュニティ主催の勉強会やカンファレンスにおけるライブ配信について考えてみたいと思います。

    勉強会やカンファレンスにライブ配信は必要か? - Shin x Blog
    shin1x1
    shin1x1 2016/06/20
    Twitter でのアンケートをまとみてみました。ご意見お待ちしてますー。
  • PHP + PostgreSQL カーソルを使ったデータ取得の計測 - Shin x Blog

    PHP(pdo_pgsql)から PostgreSQL に SELECT 文でデータを取得する際に、カーソルを使った場合と使わなかった場合で、どのようにリソース消費(主にメモリと実行時間)の違いがあるのかを計測してみました。 検証内容 PostgreSQL テーブルに、1,000,000 件のレコードを持つテーブルを用意し、下記のようなパターンにて、PHP から全レコードを取得して、実行時間と消費メモリを計測します。カーソル利用時は、1度のフェッチで取得する件数によって計測しています。ここでは、前方向のカーソルのみ扱っています。 1) カーソル未使用 + 1 件づつフェッチ 2) カーソル利用 + 1 件づつフェッチ 3) カーソル利用 + 100 件づつフェッチ 4) カーソル利用 + 10,000 件づつフェッチ 5) カーソル利用 + 100,000 件づつフェッチ 6) カーソル利

    PHP + PostgreSQL カーソルを使ったデータ取得の計測 - Shin x Blog
    shin1x1
    shin1x1 2016/06/16
    カーソルを使ったパターンをメインに実行時間と消費メモリを計測してみました。
  • 「制約でコードに秩序を」を PHP カンファレンス福岡 2016 で発表してきました #phpconfuk - Shin x Blog

    PHP カンファレンス福岡 2016 で、「制約でコードに秩序を」という発表を行ってきました。 発表資料 サンプルコードは、下記です。 github.com セッションでは、資料は最低限のものにして、PhpStorm によるライブコーディングをしながら解説するというスタイルで進めました。 抽象的な話より、具体的にコードを目にする方が伝わりやすいであろうという事と、私自身もコードを書きながら話す方がやりやすいので、このスタイルにしました。 公開している資料は、コードと解説、さらに省いた内容などを盛り込んだものです。 初心者〜中級者向けセッションということで、PHPコードはとりあえず書けるようになって、これからより格的な開発に入る方や、こうした制約を活用していない方などに参考にして貰えれば嬉しいです。 うちの新人はちゃんとみているだろうか。。。みておいてほしい。 "制約と上手く付き合う" #

    「制約でコードに秩序を」を PHP カンファレンス福岡 2016 で発表してきました #phpconfuk - Shin x Blog
    shin1x1
    shin1x1 2016/05/26
    EC サイトのカートを題材に、アクセス修飾子、タイプヒンティング、インターフェース、不変オブジェクト、ValueObject をコード例を交えて紹介しました
  • ここを気をつけるともっと良くなる勉強会の発表 - Shin x Blog

    勉強会や技術系のイベントで色々な発表を聞いていると、せっかく勇気を出して壇上に立ったのに、ちょっとしたことでもったいなあと感じることがあります。これは特に、発表に慣れてない人に多く感じます。 エントリでは、大いなる自戒を込めて、発表慣れていない人へこの辺を気をつけるともっと良くなるよ、というポイントを挙げてみます。 なお、下記のポイントは、発表慣れている人や意図してやっている人はスルーして下さい :) 1. 自己紹介が長い LT の時に感じるのですが、発表時間が 5 分しかないのに、自己紹介に時間をかけるケースがあります。自分が何者か伝えるのは大切ですが、自己紹介より発表内容が大事です。また、聞いている側からすると数多くの発表者の中の一人なので、よほどインパクトがある自己紹介でないと、あまり覚えていなかったりします。(それより内容の方が記憶に残りやすい。) やはり内容が大事で、そこが聞き

    ここを気をつけるともっと良くなる勉強会の発表 - Shin x Blog
    shin1x1
    shin1x1 2016/04/14
    思いっきりブーメランですが書いてみました。
  • CircleCI + Docker で PHP 7 と PhantomJS 使って CI する - Shin x Blog

    CircleCI で、とあるプロジェクトの CI 環境を作りました。このプロジェクトは、PHP 7 で開発しているのですが、まだ CircleCI 公式では PHP 7 がサポートされていません。 そこで、Docker を使って、PHP 7 + PhantomJS 環境を構築しました。 構成 PHPUnit と Codeception のテストを実行する環境を構築します。 コンテナの構成は、下記のようになります。 PHP 7 コンテナ PhantomJS コンテナ PostgreSQL コンテナ * 2 これらのコンテナは、docker-compose でまとめて構築、実行します。 PHP 7 コンテナ PHP 7 + Apache のコンテナです。Docker Hub オフィシャルの php:7.0-apache ベースにして、Laravel 5.1 実行に必要な拡張の追加や設定を行った

    CircleCI + Docker で PHP 7 と PhantomJS 使って CI する - Shin x Blog
    shin1x1
    shin1x1 2016/02/16
    CI 環境なら、ミドルウェアは Docker で用意できるようになりましたね。
  • 「サーバ/インフラエンジニア養成読本 DevOps編」にて Ansible 2 について書きました。 - Shin x Blog

    2016/02/26 に出版される「サーバ/インフラエンジニア養成読 DevOps編」というムックにて、Ansible 2 について書きました。 書は、昨今では普及してきた DevOps や Infrastructure as Code といったキーワードに関心がある方向けのです。はじめに概念の定義や現状をおさえた後に、Ansible、Circle CI、DockerKubernetesなどツールを活用して実践する構成となっています。 Ansible 2 によるサーバ環境の構築 特集 1 である「Ansible 2 によるサーバ環境の構築」を担当しました。ここでは、Ansible の基礎をベースに、Vagrantを利用したサーバ環境の構築を解説しています。 Ansible には多くのユーザがおり、すでに多くの Playbook が公開されています。そこで、Playbook のシン

    「サーバ/インフラエンジニア養成読本 DevOps編」にて Ansible 2 について書きました。 - Shin x Blog
    shin1x1
    shin1x1 2016/02/09
    Ansible 2 対応で書きました!
  • Vagrant + Ansible で開発環境を作るなら ansible_local プロビジョナがいい! - Shin x Blog

    Vagrant 1.8 で、ansible_local という新しいプロビジョナが追加されました。 これは、Ansible をゲスト(VM)側にインストールして、ローカルコネクションで VM 内で実行するものです。これは、まさに待ち望んでいた機能ので紹介します。 Vagrant + Ansible で気を付けること 以前から、Vagrant + Ansible の組み合わせでローカルの開発環境を作るなら、ホスト側に Ansible を入れるのではなく、ゲスト(VM)側に Ansible を入れる方が良いと考えていました。勉強会などでも良く話していたのでお聞きになった方もいるかと思います :) ホスト側に Ansible を入れない理由は、3 つあります。 まず、ホストに Ansible をインストールする手間が増える点です。Vagrant と Virtualbox のインストール(あとコー

    Vagrant + Ansible で開発環境を作るなら ansible_local プロビジョナがいい! - Shin x Blog
    shin1x1
    shin1x1 2016/01/21
    これは良い!
  • PHP 7 でコードを書いたファーストインプレッション - Shin x Blog

    正月の書き初めとして、PHP 7 でコードを書いてみました。 年始から始まるプロジェクトPHP 7 に取り組む予定なので、素振りも兼ねています。実際に書いて感じたことを挙げてみます。 書いたコード 今回書いたのは、Markdown からコードブロックを抜き出して、それぞれをファイルに出力するコードです。 https://github.com/shin1x1/MarkdownCodeExtractor 書いた動機は、Markdown の書籍原稿からコード部分を抜き出して、サンプルコードとして公開するためです。 原稿は最終的には PDF になるので、そこでの修正は手で加える必要があるのですが、大まかにコードをファイルに落とすだけでもかなり楽なので、サクッと作りました。 「Laravel リファレンス 」の私の担当原稿からコードを抜き出したのですが、200 ものコードファイルを一気に生成でき

    PHP 7 でコードを書いたファーストインプレッション - Shin x Blog
    shin1x1
    shin1x1 2016/01/07
    2016 年の書き初めに PHP 7 でちょっとしたツールを作ってみました。
  • 2015年発表資料と活動まとめ - Shin x Blog

    2015年も残り僅かとなりました。年の瀬に今年の活動をまとめてみます。 技術サポートと開発 業の 1×1 では、技術サポートと開発を両輪として活動していました。 私が行っている技術サポートは、昨今よく話題に上がる「技術顧問」のようなものですが、主とするのはエンジニアやチームのマネージメントではなく、開発現場で発生する技術的な問題の解決をサポートする役回りです。 例えば、下記のような問題解決をサポートしました。コミット具合は様々でしたが、概ね PHP アプリケーションに関する技術サポートが主でした。 PHP に関する技術的問題の解決 PHP 拡張の調査 PHP アプリケーション運用で発生した問題の技術調査 PHP アプリケーションのインフラ移行(オンプレミスから AWSPHP フレームワーク選定や活用の支援 PHP アプリケーションの負荷対策 PHP アプリケーション開発支援(コードレ

    2015年発表資料と活動まとめ - Shin x Blog
    shin1x1
    shin1x1 2016/01/01
    昨年の活動をまとめました。2016 年もよろしくお願いしますー!
  • CI で PHPコードスタイルをチェックする Style CI - Shin x Blog

    PHP コードスタイルのチェック、整形を行うサービスである Style CI を紹介します。 このエントリは、Laravelリファレンス Advent Calendar 2015 の22日目です。 Laravel 公式が利用しているサービス Style CI は、Alt Three が運営している GitHubホストしている PHP コードのコードスタイルをチェックするサービスです。 GitHub へコードを push すると、コードチェックが行われ、適合しないコードがあればエラーになります。メールによるエラー通知も飛んできます。 Style CI のサイトに行くと修正が必要が箇所のコードが提示されます。 shin1x1/phpkansai-20151216-demo - StyleCI チェックできるフォーマットは、インデントやブレース位置、文字エンコーディングなどの基的なものから

    CI で PHPコードスタイルをチェックする Style CI - Shin x Blog
    shin1x1
    shin1x1 2015/12/22
    修正コードを自動で PR してくれるのが便利