タグ

yutasegaのブックマーク (3,413)

  • 10年を超えるレガシーwebサービスの重複ライブラリを削除してコード量を2:3にした話

    Webアプリケーションのコードも歴史的経緯から歪な形へとなっていくもの。 私の担当しているサービスでは同じPEARライブラリが重複を気にせずたくさん入れられ、 一筋縄では解けないほどの複雑なファイル依存関係が出来上がりました。 一度ハマってしまえば二度と抜け出せない底なし沼のような依存関係を解決すべく、 重複したPEARライブラリと調査・特定・composerへ追い出して 結果的に12万行(リポジトリの1/3)削除した話をしようと思います。 同じようにレガシーPHPを扱っていて、 DRYでないコードに苦しんでいる方々の参考になれたらと思います。

    10年を超えるレガシーwebサービスの重複ライブラリを削除してコード量を2:3にした話
    yutasega
    yutasega 2016/07/26
  • PHPカンファレンス関西2016で基調講演してきました | メルカリエンジニアリング

    サーバーサイドエンジニアの@Hirakuです。 2016年7月16日(土)、 PHPカンファレンス関西2016 にて基調講演をしてきましたので、その報告と補足をします。 トーク動画は後日公開されると聞いていますので、口頭で補足した内容などはそちらをご期待ください。 内容について 講演内容は今年2月に公開した記事 光遅い問題を克服してcomposerを10倍速くした話 – Mercari Engineering Blog をもう少し詳しく解説したものです。 基調講演ということだったので、Composer自体の細かい話をするよりも、なぜこんなことに時間を費やしてきたのか、自分より若いエンジニアに何か伝えるものがないか、というようなことを考えて、エモ全開の内容になりました。 改善活動だけを話すとComposerを貶す内容になってしまいます。詳しい事情も知らない人にDISの口実を与えるのも嫌だった

    PHPカンファレンス関西2016で基調講演してきました | メルカリエンジニアリング
    yutasega
    yutasega 2016/07/20
  • PHPで作る非同期処理

    PHP Conference 関西 2016 で公演したスライドです 来シングルスレッドの処理系であるPHPですが、非同期処理が絶対に実現できないかというとそういうわけではありません。 素のPHPでは確かに難しいですが、各種エクステンションやライブラリの力を借りることで、PHPの文法で非同期処理を書くことができます! もちろん、はじめから非同期処理をサポートしている処理系ないし言語でかけばいいというのは最ものことなのですが、あえてPHPで書いてしまう、それがPHPerです!

    PHPで作る非同期処理
    yutasega
    yutasega 2016/07/20
  • MySQLのload dataで日付型にnullをセットする - 文系プログラマによるTIPSブログ

    皆大好きLOAD DATAについてのお話です〜 LOAD DATAコマンドはinsertと比較して10倍以上のパフォーマンスでデータを取り込む事ができます。しかし、いろいろ癖があるため、扱いにくい点があります。 題は日付型にnullをセットする事ですが、この際いろいろ見て行きたいと思います。 LOAD DATAでトランザクションは効くか LOAD DATAする時にデータの加工もできるか LOAD DATAでnull値を設定する方法その1 LOAD DATAでnull値を設定する方法その2 LOAD DATAでトランザクションは効くか ずばり効きます。 しかし5.1等の古いバージョンでは効きません。もし効かない場合、beginとcommitの間にALTER TABLE 等のDDLが挟まってないか確認して下さい。 DDLは暗黙commitが実行されるため、トランザクションは強制コミットされま

    MySQLのload dataで日付型にnullをセットする - 文系プログラマによるTIPSブログ
  • 【保存版】数千冊は読書した私が勧める、あなたの人生を変えるかもしれない30冊 - トイアンナのぐだぐだ

    「面白かった!」と思えるに出会うのはたやすいけれど、人生を変えるほどの衝撃を与えられることはめったにない。ネットでよくオススメされているは悪くないけれど、優等生的すぎる。人生で変わるのはもっと生々しい、読んでいて声が出るような体験だ。 ask.fmで「影響を受けたは何ですか」と質問いただくことも多かったので、私の人生を変えてしまった30冊のをリストアップした。私の人生を変えたで、もしかするとあなたの人生も変わるかもしれない。できるだけ無料版の文献へURLを貼ったので、いますぐ手元で楽しんでくれたら嬉しい。 日文学 海外文学 読者を選ぶ変わり種 おわりに 日文学 ちいさいモモちゃん (講談社文庫) 作者: 松谷みよ子 出版社/メーカー: 講談社 発売日: 2011/11/15 メディア: 文庫 購入: 1人 クリック: 7回 この商品を含むブログ (16件) を見る 読書

    【保存版】数千冊は読書した私が勧める、あなたの人生を変えるかもしれない30冊 - トイアンナのぐだぐだ
    yutasega
    yutasega 2016/06/22
    “ストーカー被害に3件遭った経験からわかった「あいつら」を寄せ付けない方法”
  • Go 言語における並行処理の構築部材 - 詩と創作・思索のひろば

    5年前に買った『Java並行処理プログラミング ―その「基盤」と「最新API」を究める―』をようやく読んだ。買った頃には Perl やシンプルな JavaScript ばかり書いていたので並行プログラミングなんてほとんど気にすることがなく、実感がなくて読むのも途中で止まってしまっていたで、家を掃除しているときに見つけたもの。その後も趣味Android アプリを書くなど Java に触れる機会はあったけれど、せいぜいが AsyncTask を使うくらいで、マルチスレッドを強く意識してコードを書くこともなかった。 Java並行処理プログラミング ―その「基盤」と「最新API」を究める― 作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行購入: 30人 クリック: 442回

    Go 言語における並行処理の構築部材 - 詩と創作・思索のひろば
    yutasega
    yutasega 2016/05/31
  • Symfony初心者がつまづきがちな22個のポイント - Qiita

    この記事はSymfony Advent Calendar 2015 17日目の記事です。前日の記事は@teematsuさんの「Symfony 2.8とPHP-DIのAuto Wiring」でした。 こんにちは。はじめまして。tarokamikazeです。 すっかりSymfonyおじさんと化した私は、数々の後輩たちにSymfonyに関する相談を受けてきました。 そのなかでも、社内でよく聞かれることをまとめます。 導入編 The Symfony Book を読んだ人、ブログチュートリアルをやってみた人向けです。 01.この案件にSymfony2を使いたいんですが 下記のような条件では、Symfony2はおすすめです。 専用サーバーを使える。 他のPHP フレームワークを触ったことがある。 ビジネスロジックが複雑になりそうなシステムを作る。(業務アプリ等) テストは当然書く。 1 プログラミング

    Symfony初心者がつまづきがちな22個のポイント - Qiita
  • Symfony2 でブログを作ろう — symblog - A Symfony2 Tutorial

    イントロダクション¶ このチュートリアルは、 Symfony2 を使用して、いろんな機能を備えたブログサイトの作成方法をガイドします。 Symfony2 フレームワークの標準ディストリビューション(Standard Distribution)を使用します。 Symfony2 の標準ディストリビューションは、実際にウェブサイトを作成する際に必要なメインのコンポーネントを含んでいます。このチュートリアルは、いくつかのパートに分かれており、それぞれのパートは Symfony2 フレームワークや Symfony2 コンポーネントに関する内容をカバーしています。このチュートリアルは、 symfony1 の Jobeet チュートリアルのようなものを Symfony2 で作成することを意識して執筆されています。

  • Symfonyの歩き方/5分でわかるSymfony Best Practices

    この記事はSymfony Advent Calendar 2015 10日目の記事です。前日の記事はtsuboさんの「簡単デバッグ」でした。 こんにちは。宇都宮です。今日は、社内勉強会で使用した、Symfony入門者向けの資料を共有します。 Symfonyの歩き方 Symfonyの学習方法について、特に公式ドキュメントの読み方に焦点を当てています。 Symfonyの公式ドキュメントは、Symfonyの学習リソースとして第一級の資料ですが、量が多く、初心者のうちはどのドキュメントから読めばいいか分からないと思います。膨大な公式ドキュメントのうち、どの文書を優先的に読めばいいのかわかれば、効率的に学習していくことができます。 5分でわかるSymfony Best Practices Symfony公式ドキュメントの中で、The Symfony Bookと並んで重要なのがSymfony Best

    Symfonyの歩き方/5分でわかるSymfony Best Practices
  • Symfony, High Performance PHP Framework for Web Development

    Symfony is a set of reusable PHP components... The standard foundation on which the best PHP applications are built. Choose any of the 50 stand-alone components available for your own applications. Browse components ... and a PHP framework for web projects Speed up the creation and maintenance of your PHP web applications. End repetitive coding tasks and enjoy the power of controlling your code. W

    Symfony, High Performance PHP Framework for Web Development
  • InnoDBテーブルでunique keyがある場合、それをprimary keyにするべきかどうか - (ひ)メモ

    InnoDBなテーブルのお話です。 とあるテーブルで、いくつかあるカラムのうち、ただひとつのカラムがunique keyになり得るものだとします。 こういうときは、そのunique keyは無条件でprimary keyにしたほうがイイ!と思ってたんですが、調べてみると必ずしもそうでないようなので、今のところのモヤモヤをまとめてみます。 教えて! 偉い人!! 予備知識 High Performance MySQL 作者: Baron Schwartz,Peter Zaitsev,Vadim Tkachenko,Jeremy D. Zawodny,Arjen Lentz出版社/メーカー: Oreilly & Associates Inc発売日: 2008/06/01メディア: ペーパーバック購入: 4人 クリック: 33回この商品を含むブログ (8件) を見るからの超抜粋。しかしこのは神

    InnoDBテーブルでunique keyがある場合、それをprimary keyにするべきかどうか - (ひ)メモ
  • Apacheチューニング,MySQLチューニングなどWebサイト高速化(tuning) Tips| インターオフィス

    AWSパートナーの一員として活動する株式会社スタイルズが、AWS導入、移行、開発、セキュリティ、運用保守など、すべてのご相談に乗らせていただきます。 AWSを導入したいが何から始めたらいいかわからない 既存のベンダーが新技術に弱く、良い提案がもらえない クラウドの導入にセキュリティの不安がある AWSをとりあえず導入したが、さらに活用していきたい 社内にAWSの知見を持っている人がいない AWSならではのシステム開発を詳しく知りたい

    Apacheチューニング,MySQLチューニングなどWebサイト高速化(tuning) Tips| インターオフィス
  • 「INSERT INTO 〜 SELECT 〜」のSELECT結果を「ON DUPLICATE KEY UPDATE 〜」で使う - pullphone's blog

    「ON DUPLICATE KEY UPDATE」という構文がMySQL独自のものと知ったときは軽くショックを受けました*1。 まあ、そんなことはどうでもいいんです。 通常、「INSERT INTO 〜 SELECT 〜」ってGROUP節を使って集計したものをどっかのテーブルに入れるとかっていう時に使うと思うんですが、その集計結果が既にあるときにUPDATEする、ということがしたいですよね。 例えば次のようなクエリで。 INSERT INTO total (id,count) SELECT id, count FROM daily GROUP BY date 私は最初次のようにやってみましたが、これはエラーになります。 INSERT INTO total (id,count) (SELECT id, count FROM daily GROUP BY date) t ON DUPLICAT

    「INSERT INTO 〜 SELECT 〜」のSELECT結果を「ON DUPLICATE KEY UPDATE 〜」で使う - pullphone's blog
  • 「クイックソート」「バブルソート」などのソート・アルゴリズムをフォークダンスで説明する恐るべきムービー集「AlgoRythmics」

    たくさんのデータを大小関係に従って、小さい順(昇順)や大きい順(降順)に並び替える作業はソート(整列)と呼ばれ、ソフトウェア・プログラムではよく使われています。このようなソート作業を行うために並び替えの方法を手順化したのが「ソート・アルゴリズム」で、アイデアを理解すると「ほほー、なるほど」と思えるのですが、複雑すぎて理解しづらいものもあります。そんなソート・アルゴリズムの中でも有名で、仕組みを理解しておきたいものばかりを題材に、なんとフォークダンスに合わせてアルゴリズムを表現するムービー集「AlgoRythmics」が公開されており、学習効果があるかどうかは脇に置いて、思わず見入ってしまう魅惑のムービーとなっています。 最も有名なソート・アルゴリズムの一つである「バブルソート」をハンガリーのフォークダンスにのせて表現するのが「Bubble-sort with Hungarian ("Csá

    「クイックソート」「バブルソート」などのソート・アルゴリズムをフォークダンスで説明する恐るべきムービー集「AlgoRythmics」
    yutasega
    yutasega 2016/05/25
  • 1. Mroongaの特徴 — Mroonga v13.05 documentation

    1. Mroongaの特徴¶ 1.1. Mroongaとは¶ Mroongaは全文検索エンジンであるGroongaをベースとしたMySQLのストレージエンジンです。 MySQLではver5.1からPluggable Storage Engineインタフェースが採用され、以前よりも柔軟に独自のストレージエンジンを利用できるようになりました。そこでGroongaにストレージエンジンインタフェースを実装し、MySQL経由でもGroongaを利用できるようにしました。 Mroongaを経由することでGroongaをSQLコマンドでも利用することができるようになります。 1.2. Tritonnの後継¶ MySQLで日語全文検索を実現するための方法として、MySQLにGroongaの前身である全文検索ライブラリSennaを組み込んだプロダクトをTritonnプロジェクトから開発・リリースされて来ま

    1. Mroongaの特徴 — Mroonga v13.05 documentation
  • プロキシサーバー構築(Squid) - CentOSで自宅サーバー構築

    プロキシサーバー(Squid)は、一度読み込んだWebページを保存しておき、次回からの同一Webページへのアクセス時には保存してあるWebページをクライアント側に返すことにより、内部からの高速なWebアクセスを可能にするためのサーバー。 [root@centos ~]# vi /etc/squid/squid.conf ← Squid設定ファイル編集 # Deny CONNECT to other than secure SSL ports http_access deny CONNECT !localnet !SSL_ports ← 外部への443番以外のポートへのアクセスを拒否(内部の一部サービスでHTTPSアクセスに443番以外のポートを使用するため) # Uncomment and adjust the following to add a disk cache directory

  • プログラマーとして社会人になったけど高校数学を1から独学している - It's okay to be weird

    この春からプログラマーとして働くようになりました。今まで色々と開発系の勉強を中心にしていましたが、最近はもっぱら高校数学を独学しています。 勉強しようと思ったきっかけ、教材として使っている『長岡の教科書』の紹介について書いていきます。 勉強しようと思ったきっかけ まず前提として、僕は高校を中退しています。空白期間を経て情報系の専門学校に入ったのですが、その際に取った高認も、英語だけを受験して取得したという経緯もあり、高校以降の勉強の知識がごっそり抜けてしまっています。 その後、専門学校に入ってから基情報技術者試験を受験することになったのですが、そこで出てきた集合や対数、数列といった知識が全くないため(Σってなに状態)、数学の知識の欠如を感じたものです。 なんとなく数学コンプレックスを抱えたまま過ごしている折に、2014年10月発売のWEB+DB PRESS Vol.83のインタビューにて

    プログラマーとして社会人になったけど高校数学を1から独学している - It's okay to be weird
  • TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ

    アイドル顔識別のためのデータ収集 をコツコツ続けて それなりに集まってきたし、これを使って別のことも…ということでDCGANを使ったDeep Learningによるアイドルの顔画像の「生成」をやってみた。 まだだいぶ歪んでいたりで あまりキレイじゃないけど…。顔画像を多く収集できているアイドル90人の顔画像からそれぞれ120件を抽出した合計10800件をもとに学習させて生成させたもの。 分類タスクとは逆方向の変換、複数のモデル定義などがあってなかなか理解が難しい部分もあったけど、作ってみるとそこまで難しくはなく、出来上がっていく過程を見るのが楽しいし とても面白い。 DCGANとは "Deep Convolutional Generative Adversarial Networks"、略してDCGAN。こちらの論文で有名になった、のかな? [1511.06434] Unsupervise

    TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ
  • Peachpie: How Roslyn Empowers PHP and Peachpie

    We have been busy adding more and more features to Peachpie and benchmarking them against standard versions of PHP, but we also think it is important to share our thoughts on Microsoft Roslyn, which made Peachpie possible.  Microsoft Roslyn: The Modern Compiler Platform Back when we were developing Phalanger, there were a few crucial issues that we weren't able to solve - or at least not very effi

    Peachpie: How Roslyn Empowers PHP and Peachpie
  • クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング

    Terui MasashiCloud Architect / Developer at Serverworks Co., Ltd. / Freelance

    クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
    yutasega
    yutasega 2016/04/18