サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
hiroki.jp
RubyKaigi 2023に参加してきた。 東京から長野県松本市へ、特急あずさに乗ってきた。 本来は2020年に長野県松本市でRubyKaigi 2020が開催される予定だったのだがCOVIT-19で中止になったのだ。 4年ぶりのイベント参加 プロフィールページに参加したイベントなどを記録しているのだが、前回参加したオフラインのイベントがRubyKaigi 2019だったので、オフラインでのイベント参加自体が約4年ぶりであった。 RubyKaigi 2023の講演内容はYoutubeで、いずれ公開される。詳細な情報は#rubykaigiで、Twitterを見てもらい。他の人の記事に譲る事にする。私からは今年のテーマは「パーサー」だった。という感想だ。 失なわれた情熱と苦悩 COVID-19だけでなく、個人的に様々な事情や変化があった。その結果、オフラインイベントへの熱意が正直なくなってい
Git 2.38がリリースされました。 このバージョンから大規模Gitリポジトリの操作を高速化するscalarが同梱されるようになりました。 今回はこのscalarによって、どれぐらいGitの操作が高速化されるのかを簡単に検証します。 結論から言うとgit statusが約43秒かかっていたのが約1秒で操作できるようになります。 Install Git 2.38Git 2.38からscalarが同梱されましたので、各自の環境にあわせてInstallなりVersionUpなりをしてください。 $ git --version git version 2.38.0 Before大規模Gitリポジトリとしてchromiumを利用しました。 普通にgit cloneしてきて、git statusを実施すると約37秒かかります。 ❯ time git status On branch main You
PCモニターの適切な位置や距離まずは、PCモニターを利用する上での適切な位置について解説します。 モニターの高さの最適な位置は?モニターの高さは モニターの上部が視線と水平になる位置 が理想です。視線としては、水平から若干下を見ながら、パソコンの操作をすることになります。 これにより、上を見る時のように、まぶたを全開することがなくなるので、ドライアイの予防につながります。結果として、眼精疲労も軽減されます。 くれぐれも、姿勢をまっすぐにした状態を維持してください。視線が下を向くことによって、つられて猫背になること避けてください。 液晶モニターの高さ調整をするために液晶モニターの高さを調整するのにベストなのは、液晶モニターアームを利用することです。
室内の明るさとモニターの明さの差が大き過ぎると、眼は急速に疲労します。 大企業のオフィスなどは、照明によって、いつでも一定の明さに保たれているかと思います。 しかし、自然光を取り入れた環境(オフィスの窓辺の席や自宅など)では、日中から夜にかけてこまめにモニターの明るさを調整する必要があります。 つまり、在宅勤務(テレワーク)などでは、ほとんどの人は日光の入る昼の明るい室内にあわせた明るいモニターの設定のまま、夕方や夜に利用するのは眼精疲労の原因となるのです。 パソコンで作業をしていて、夕方や夜に眼精疲労を感じるのは、長時間利用していることが原因と考えているかもしれませんが、こういった明るさの調整をこまめにしていないことも、原因の1つとなって眼精疲労に拍車をかけているのです。 自然光の環境では、夕方、夜になれば室内の明るさが下るので、それにあわせてモニターの明るさも下げていくのが適切です。
前回は写真全体のピンボケや手ぶれ写真を検出前回はエッジ検出によって、写真全体がピンボケや手ぶれしている写真を検出することができました。これをさらに拡張していきます。 ピンボケや手ぶれ写真を機械的に検出する方法前回の実装の問題点前回の実装では写真全体からボケの検出をしてしまっているので、一眼レフカメラなどで撮影したポートレートなどで、背景や前面に美しいボケがあるような写真まで、ピンボケの写真だと誤検出してしまうことがあります。 たとえば、下記のような写真です。フリー写真素材ぱくたその写真を利用させていただいています。 前ボケと背景ボケを上手く利用して、顔にピントがあっている写真です。これは機械的に削除候補にするような写真ではありません。ですが前回の実装をそのまま利用すると、スコアとしては93.34と100以下なのでピンボケ、手ぶれとして判定しています。 今回はこういった写真をピンボケ、手ぶれ
ピンボケや手ぶれをどのように検出するのか?基本的には写真のエッジを検出することによって実現します。 ピンボケの写真はエッジがボケてしまっていて、エッジが少ない状態になっています。 OpenCVではLaplacian微分を利用することによって用意にエッジを検出することが可能です。 参考: 画像の勾配 — OpenCV-Python Tutorials 1 documentation 利用する画像利用する画像はLenaを利用します。一方は、意図的にぼかし編集をした画像です。 元画像ぼかし画像 ピンボケ画像を検出する実装まずはコマンドラインで利用できるようにしたいので、おまじないを記述してきます。 from imutils import paths import argparse import cv2 import os ap = argparse.ArgumentParser() ap.add
Rails Developers Meetup 2018 Day 3 Extremeで「リフォーム Rails app」というトークをしてきました。 既に開発されているRails appのプロジェクトなどに参加したときに、改修ポイントをある程度機械的に見つけて、どうやって、アプリケーションとして改修していくのか?という考え方やポイントについて話ました。 トークの内の何かをTipsとして持ちかえっていただき、現在運用されているRails appの技術的負債の返済や仕組みづくりの参考にしていただけたら幸いです。
咳喘息のため、初夏で暑さを感じはじめるなか、マスク姿だったのが悔まれると共に体調が万全ではありませんでした。 今年のRubyKaigiは参加者が1000人を越えて、スポンサー企業も72社となり、大きなイベント成長したなぁ…と感慨深いものがあります。所属している株式会社ミクシィもプラチナスポンサーとしてスポンサードしました。 特に初日の1発目のKeynoteを聞いている半分ぐらいが初参加と手をあげているなかで、Rubyの父であるMatzからRuby界隈にまつわる紹介をして、後のトークにつなげていくのは非常に良いと感じました。Rubyで一番有名人が新たに参加してきた人達へ、Wellcomeな姿勢やメッセージを伝えているように感じました。 私の感じたことを断片的に書き残しのておくと… RuboCopの作者である@bbatsovがどんな人なのか?興味をもっていたのでリアルで見れてよかった。 Rub
全体的な内容としては、仕事効率とかのビジネス書を何冊か読んたことがある人にとっては、新しい発見は少ない。 むしろ、そういった類いの本を読んだことがない人に最初の1冊としておすすめしたい。 人間味があふれる内容「興味がないものは頭にはいらない」だが、世の中にはこれを面白いとおもっている専門家がいる。その専門家たちが面白いと感じているポイントを掴んでみることからはじめてみよう。そんなことが書かれている。 phaさんは、そのジャンルの漫画を読むことからはじめることが多いそうです。 すべてが万全であれば4日でおわることも、自分はダメだからと認め、3日ぐらいは余裕をもつスケジュールにする。 スケジュールを守るために一番大切なのは、仕事をすごいスピードでこなす能力ではなくて、見栄を張らずに自分のありのままのダメさを認められる心の強さなのだ。 なんだか、あたり前といえば、あたり前なのだけれども、こういう
GitHubでPull requestをレビューする際に、手元で動作させてみたいときに私は以下のようにしています。 $ git checkout <pull request URL> これはhubコマンドの機能を利用して、閲覧しているPRのURLを情報として与えています。 hubのエイリアスを設定しているのでgitコマンドでhubの機能も動作しています。 エイリアスを設定していない人はgitの部分がhubとなります。 例えば自分がrubocopのPRを見ていて、手元で動作確認したいとします。 手元のrubocopのリポジトリで、ブラウザのURLをコピーしてきて、以下のコマンドを実施すると手元にPRの状態を再現できます。 $ git checkout https://github.com/bbatsov/rubocop/pull/559 Updating elebow remote: Cou
TLSの特定のバージョンで接続などを限定させる必要があったため、SSL/TLSについてのバージョンごとに、どうしてそうなってきたのか?とかをザックリと理解しておこうとして調べた。 AWSをつかっていればELBやALBでセキュリティポリシーを設定することによって、TLSv1.1以上とかTLSv1.2以上とかの接続に限定することができる。 Application Load Balancer の HTTPS リスナー – Elastic Load BalancingClassic Load Balancer での事前定義された SSL セキュリティポリシー – Elastic Load BalancingApacheやNginxをつかっていれば、それぞれの設定ファイルに記述することによって、細かな設定ができる。 基本的には最新のOpenSSLと最新のTLSバージョンを利用していれば、セキュリティ
昨年の10月ぐらいから業務でElixirを触りはじめているので、ElixirConf Japan 2017に参加してきました。 Elixirはまだまだ普及しているとは言えない言語ですが、有料にも関わらず、約300人の参加者で、秋葉原のダイビルの会場いっぱいに参加者がいました。 発表されている資料などはconnpassで、まとめられているので、そちらを参照してください。 言語開発者の姿ElixirをProduction環境で動かしている企業は世界を見てもあまり多いとは言えないのが現状です。 数少�ない、Production環境でElixirを動かしている企業があつまったことからか、懇親会で見せるElixirの開発者であるJosé氏の「不満はないか?Elixirに意見はないか?」と熱心に聞く様子の熱い眼差しは胸を熱くさせるものがありました。 Amazon DynamoDB for Elixir
スマホのカメラでバーコードを撮影して送るとAmazon、楽天、Yahoo!ショッピングなどの価格を調査して教えてくれるLINE Bot「価格チェック」を開発したのでつかってみてください。 価格チェックバーコードの画像を元に大手通販サイト(現在対応しているのはAmazon、楽天、Yahoo!ショッピングの3つ)の価格を一斉に調査して報告してくれます。 調査対象の商品はお菓子、コスメ、家電製品、ゲーム、書籍、マンガ、CDなど、日用品から高級家電まで、日本で一般的に販売されているものであれば、なんでも調査できます。 ご利用方法は下記の公式サイトにいって、LINEで「価格チェック」と友だちになってバーコードを送るだけです。ご利用料金は無料です。広告やキャンペーンのメッセージを送る予定はありません。 日用品を買うときや、店頭でもっと安く買いたいときに、ご利用ください。 LINE Bot 「価格チェッ
Giteaとは?GiteaはVersion 1.0.0が2016-12-23にリリースされたばかりの比較的新しいGitHub Cloneです。 Gogsからforkされたコミュニティが管理するOSSのようです。 憶測ですがGogsが個人ベースの開発に限界がきたためfrokされて開発されたのでしょうか。 開発言語はGoが採用されているため、多くのプラットホームで動作します。 また、DockerやVagrantも提供しているため、気軽に試すことができます。 よって、さっそく動作させてみました。 Gitea on Docker今回は公式で公開されているドキュメントを参考にして、Dockerをで動作させることにしました。 最新のDocker imageを取得します。 $ docker pull gitea/gitea:latest latest: Pulling from gitea/gitea
前回のうるう秒が2015年7月1日でした。 今回は2016年12月31日の最後にうるう秒が追加されます。日本時間だと2017年1月1日の午前9時(正確には8時の最後に挿入)となります。 「うるう秒」挿入のお知らせ | NICT-情報通信研究機構2015年に実施されたときからまわりの環境は良くなっているので、うるう秒への対策簡単にとれるようになりました。このことについて、簡単にまとめておこうと思います。 ※ うるう秒について、詳しい解説が欲しい方は以前の記事を参照してください。 ー 閏秒を迎えるにあたってLinuxでは何を対策すべきか? うるう秒対策済のNTPに設定を向ける結論から言うと、うるう秒対策が施されているNTPサーバにntpdの設定を向ける。というのが最近登場した簡単な方法です。 11/30にGoogleがうるう秒対策済のPublic NTPを公開しました。 Public NTP
我が家に約40年にわたって国内で愛されているバウルーのホットサンドイッチメーカーがやってきました。マツコの知らない世界�のホットサンド特集が放送されてから、ホットサンドがブームになり、いまだに適正な価格での入手が困難なホットサンドイッチメーカーであるバウルーのダブル(BW02)を幸運にも購入できました。その使いごこちや、ホットサンドを実際につくってみました。 きっかけはマツコの知らないホットサンドの世界マツコの知らないホットサンドの世界が2015年10月20日に放送さ�れました。 すでに1年以上たっていますが、この番組がきっかけで、ホットサンドは自宅で簡単につくれるし、具材はなんでも入れていいんだな。思えたことを記憶しています。 バウルーの価格が高騰中この番組で使用されていたホットサンドメーカーは、バウルーのダブル(BW02)という製品でした。直火で利用するシンプルなつくりの製品です。IH
FFXVがPS4 Proにて4K対応で発売されるので、PS4 Proの性能を最大限に活用するため、これを機にゲームのプレイ環境をHDMI接続の4K対応にしました。 PCゲームであれば、4Kパネル搭載のPCモニターか4Kテレビがあり、ビデオカードが4K出力できる性能があれば出力できます。 一方でコンシューマーゲーム機であるPS4 Proは規格に対応している機器を揃えなければ4K出力されません。 このあたりの知識が乏しいために、いろいろと調べました。 PS4 ProでHDMI 4K/60Hzで表示するために必要なことPS4 ProはHDMI 2.0およびHDCP 2.2に対応しているPCモニターか4Kテレビでないと4K/60Hzで出力されません。 よって、両方サポートしているPCモニターか4Kテレビを手に入れる必要があります。 この2つの規格は、ここ1、2年で販売されたPCモニター、4Kテレビ
cloud-init とは?cloud-init は AWS EC2 などの cloud instance に対して、設定や拡張性を提供するためのパッケージです。 そのため AWS EC2 の Amazon Linux や Ubuntu などのインスタンスには最初から組みこまれています。 インスタンス起動時などに動作して、OSの各種設定をしてくれています。 yaml形式の設定ファイルになっているので、独自の設定を記述することにより、プラットホーム特有の設定にしたり、ユーザーが任意の設定にすることができるようになります。 例えば AWS EC2 リージョンごとにapt packegeを提供するサーバの指定を cloud-init によって、最寄りのリージョンのホストへ向けるようになっています。 より詳しい内容については、公式ドキュメントを参照してください。 ディストリビューションによっては、
来年の元旦に閏秒の実施が決定されたようです。全世界で新年から仕事の人も増えそうです。 IERS(国際地球回転・基準系事業)から正式に発表があったようです。 日本時間だと2017年1月1日 8時59分59秒のあとに8時59分60秒が挿入され、次に9時0分0秒となります。 直近だと2015年7月1日にうるう秒が実施されました。 そのときにまとめた、主にLinuxサーバにまつわる対応が以下の記事です。 閏秒を迎えるにあたってLinuxでは何をすべきか?基本的には上記の記事と同様の対応をとれば、問題ないと思われます。 引き続き、情報があれば更新していきたいと思います。
今回は拡張ライブラリを含むGemを開発するための流れを学習するために、簡単なgemをつくることにします。 簡単なC言語で記述された拡張をGemで配布できる最低限の状態まで構築します。 Gemの雛形を生成する。$ bundle gem ext_example create ext_example/Gemfile create ext_example/Rakefile create ext_example/LICENSE.txt create ext_example/README.md create ext_example/.gitignore create ext_example/ext_example.gemspec create ext_example/lib/ext_example.rb create ext_example/lib/ext_example/version.rb Ini
「なぜ、あなたの仕事は終わらないのか スピードは最強の武器である」(著:中島聡)を読みました。 失礼ながら、著者のことをほとんど知らない状態で読みました。前提知識としては、昔マイクロソフトでなにかしてた人というぐらいです。 マイクロソフトでの活躍のエピソードやビル・ゲイツ氏とのエピソードはおもしろかったです。 一部のエピソードは中島氏のブログで、拝見できるようです。 時間管理術の話は本書を読んでいただくとして、書中にあったアメリカ人と日本人の仕事のやり方を解説したエピソードは、やはりそうなのか。と、先月アメリカにいってきて抱いた印象と一緒でした。 アメリカ人は、とにかく朝が早い。朝食を提供するレストランは6時から営業してたし、ホテルのジムでは7時や8時には運動おわりの人が多数。 それぐらいの時間から仕事をしていたり、自分の時間を利用していた。これは日本とは圧倒的に違うところであったし、朝食
4月から電力自由化ということで、今まで電気とは無縁のイメージだった企業が電気を提供するという広告を目にするようになりました。我が家ではペットがいるためエアコンを24時間利用していたり、開発試験用のサーバもずっと稼動しています。そのため、電気が一瞬でも止まるようなことがあれば、非常に困ります。 今まで電気を提供してない事業者と契約して、少しでも停電になるようなリスクがあるくらいなら、多少料金が高くなったとしても、安定した東京電力のままでいいや。と、あまり電力自由化について調べもせずに考えていました。 本日あらためて調べてみると、こんな考えは大きな誤解でした。 電力事業者を変更しても、停電が起きるリスクは現状と変らない現在、東京電力と電気の契約をしています。 これを新たに参入する事業者に変更しても、電力自由化の仕組みだと停電が起きるリスクは変りません。 今回の電力自由化の送電網は現在契約してい
毎日使っているスマホの回線コストが大幅に削減できて、特に困ったことにもならなかったので、本当にMVNOにしてよかった。 2015年は格安SIMであるMVNOが知れ渡った年であったと思う。あまり携帯電話事情に詳しくない人でも「格安SIM」という名称で、多くの人に認知されててきているように感じます。かくいう私も2015年早々にauからIIJmioに乗り換えました。 アプリのダウンロードやリソースのダウンロードをしなければ、IIJmioでなんら支障は発生していません。比較的少なめのリソースダウンロードでも問題ありませんでした。大手キャリアと比べると回線のピークスピードは劣る印象を受けるが、その速度を得るために何倍もの回線コストを払うのは見合わないと判断しています。困るような状況は大きなデータをダウンロードしている時なので、自宅や会社以外で、大きなデータをダウンロードしなければいけないケースがあま
街にクリスマスソングが流れ始め、街がイルミネーションに包まれ始めると思い出すことがあります。 あぁ、このターミナルでも雪がふるんだよなぁ。と何年か前に見た1ライナーを思い出すのです。 やり方は下記をTerminalに貼り付けて実行するだけです。 ruby -e 'C=`stty size`.scan(/d+/)[1].to_i;S=["2743".to_i(16)].pack("U*");a={};puts "33[2J";loop{a[rand(C)]=0;a.each{|x,o|;a[x]+=1;print "33[#{o};#{x}H 33[#{a[x]};#{x}H#{S} 33[0;0H"};$stdout.flush;sleep 0.1}' これは何年か前のクリスマスシーズンに話題になった内容ですが、おそらく情報元はCLIMagicに投稿されたコメントなのだと思います。 それで
メリー・クリスマス @HIROCASTER でございませう。 今日はクリスマス。そしてRubyのリリース日です。 今年はRuby2.3.0のリリースです。 すでにリリースについてはRuby Core Teamからアナウンスがされています。リリースおめでとうございます。 RubyKaigi2015でも触れられていましたが、Ruby2.3.0の目立った新しい機能について触れておきたいと思います。 frozen-string-literal pragma文字列リテラルをfreeze(普遍)にするための機能です。Ruby2.3ではファイル単位でこの機能を有効にするマジックコメント(pragma)が利用することができます。 frozen_string_literal: trueというコメントをファイルに挿入していれば、文字列リテラルがデフォルトでfreezeされます。 # frozen_string
WordPressで利用しているPHP(php-fpm)のバージョンをPHP7.0にバージョンアップしました。環境はUbuntu14.04です。 最近、PHPには触れていないので、かなり高速化されたPHP7.0がリリースされたという噂を聞きつけて、勢いでバージョンアップしてみました。 基本的な作業の流れとしては WordPress及びプラグインのアップデートインストールされているPHP5.x系を削除PHP7.0系をインストールだけで利用することができました。 以前hhvmでWordPressを動かそうとした時は、利用しているプラグインのキャッシュ周りの処理で躓いてしまってhhvm環境で動かすことを断念しました。PHP7.0環境ではそのような問題もなく、一通り動作しているのを現在確認しています。数日様子を見て、問題なさそうであれば、そのまま稼働させようと思います。 PHP5.x系のアンインス
Software Design 2016年1月号 第1特集「はじまっています。ChatOps – 導入を決めた7社の成功パターン」にモンスターストライクの開発をしているXFLAGスタジオの事例を寄稿しました。 寄稿した記事はIRCからHipChatに乗り換えて、Hubotを利用する事例を、スマートフォン向けのゲームアプリ開発(サーバサイド)をおこなうなかでの事例を紹介しています。 今となってはHubotを2年以上運用していることになりますが、導入した背景や工夫しているポイントなどを解説しています。また、改めて実際に運用してみてこれから導入する人たちに向けて、どういった点を考慮すべきかなどについても触れさせていただきました。 最近はSlackなどのチャットサービスの導入が多くの会社で見るようになってきました。最近チャットシステムを導入した会社の方は、ChatOpsなどの導入に事例が7社も紹介
これが dog pile という状態です。語源は犬が積み重なって寝ることを指しているようです。人間が積み重なっていることも指しているようで、野球の乱闘状態などもdog pileというようです。 dog pile effect とは?「dog pile」というのはここまででなんとなくわかりましたが、WEBアプリケーションの世界での「dog pile effect」とはどういったことなのでしょうか?これについて解説してみたいと思います。 「dog pile effect」はmemcachedやredisといったexpireを設定するキャッシュストアを利用しているWEBアプリケーションで発生します。 dog pile effect が発生する構成dog pile effect が発生する状況について、以下の様なシステムがあると想像してください。 WEBアプリケーションが1つのページをキャッシュを
コンビニの買い物はiPhoneだけ持っていく@HIROCASTERでございませう。 2014年1月から約1年半使い続けたSinji Pouchの口の外側が裂けてきてしまいました。 当初予想していたよりも耐久性にすぐれ、今ではなくてはならないアイテムになってしまったので、Sinji Pouch Basic 2を購入しました。 この製品はiPhoneの裏側にテープで貼り付けるポケットです。ポケットのサイズはクレジットカードがピッタリ入るサイズです。入れようと思えば、カードは4,5枚ぐらいは入ります。日常的にカードを出し入れしても、口が広がって、知らないうちにカードがなくなっているということはありませんでした。 Sinji Pouchに下記の3枚を入れて日常的に使っています。(一時期はコンビニのポイントカードをさらに1枚入れていました。アプリ化されたので今は入ってない) エラー防止シートSuic
次のページ
このページを最初にブックマークしてみませんか?
『プロとしての行為 Act as Proffesional』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く