#cdn_study 発表資料 (2018/4/13)
![Fastlyのプログラマから見たCDN](https://cdn-ak-scissors.b.st-hatena.com/image/square/556594bcfc847b127bd62e42d9cbdc02d200f20c/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fd05488bf312640d5a5fb3b631c06778a%2Fslide_0.jpg%3F9827704)
こんにちは、Andyです。 普段はフロントエンドチームでJSばかり書いているのですが、せっかくGoの会社に入ったので良い機会だと思いGoに入門してみました。「Goの作法」を知ればより裏側のシステムについての理解が深まり、フロント側も良いプロダクトが作れるんじゃないかなと期待しています。 せっかく新しい言語を学ぶので、学習の中でやった事や詰まった事を文字で残そうというのが本記事の目的。 とてもじゃないですが1回で全てをカバーできないので数回に分けてチャレンジします。 手探りで自分なりのベストプラクティスを模索している最中なのでマサカリ大歓迎です。 現在のスタック 学習を始めるにあたって、自分のエンジニアとしてのスタックはこんな感じ。 Ruby on Rails, ES6 (業務レベル) PHP, Perl, Python (趣味レベル) ちなみにgolangの経験値はA Tour of Go
イオンは4月16日、ビザ・ワールドワイド・ジャパンが提供するType A/Bのタッチ決済システムを導入すると発表した。 (左から)イオン執行役総合金融事業担当の鈴木正規氏、イオン執行役GMS事業担当の岡崎双一氏、ビザ・ワールドワイド・ジャパン代表取締役社長の安渕聖司氏 Visaのタッチ決済は、国際標準の非接触ICセキュリティ認証技術である「EMV Contactless」に対応し、店員にカードを渡すことなく専用の端末にタッチするだけで支払いが完了する。サインや暗証番号も不要(3万円以上の決済では必要)だ。イオンVisaカードだけでなく、国内外のEMV対応カード、タッチ決済対応スマートフォンで利用できるため、インバウンド需要にも対応できるとしている。
【ご購入の前の注意】 ・DPT-CP1はPDFファイルのみ閲覧や書き込みが可能です。 ・DPT-CP1は、Reader Storeなど、電子書籍専用のサイトでコンテンツを購入するためのアプリケーションは搭載されていません。また、Reader Storeなどで購入した電子書籍をDPT-CP1で読むことはできません。 ・パソコンとDPT-CP1の間での文書の出し入れをするには「Digital Paper App」が必要です。 ・パソコンのご利用環境(セキュリティーソフト/ファイアウォールなど)の設定によってはパソコンとDPT-CP1が接続できない場合があります。 ・本商品は日本国内向けモデルです。海外でのサポートは受けることができません。 -This product is designed only for Japanese market.- 付属:スタイラスペン×1、USBケーブル(約1.5
はてなブックマーク検索PWAというはてなブックマークでブクマしたデータをオフラインでも検索できるPWAを作りました。 サイト: https://hatebupwa.netlify.com/ ソース: https://github.com/azu/hatebupwa はてなブックマークの自分のブクマを検索できるPWAを作りました。 Service Workerに対応してるブラウザ(IOS Safari 11.3+を含む)ではオフラインでも検索できます。https://t.co/RCVkRYAFz0 モバイルはホームスクリーンアプリで、macOSはアプリ版もあります。https://t.co/5MDuyC9baN pic.twitter.com/KAc3KV690b — azu (@azu_re) April 16, 2018 使い方 使い方は特に難しい話でもないですが、次のように任意のはてな
【2018.04.20追記】 バーチャルキャスト側での連携対応が完了しました いつもニコニ立体をご利用いただきありがとうございます。 本日よりニコニ立体では次の機能が利用できるようになりました。 ■ VRM形式対応 VRMとは、VR向けのオープンな3Dモデルデータ形式です。 ファイル一つで様々なアプリケーションでモデルを利用できる次世代データ形式です。 なお、現在、VRM形式のモデルはスクリーンショットの自動撮影に 対応しておりませんので、投稿後に手動で撮影をお願いします。 http://qa.nicovideo.jp/faq/show/10763 ■ バーチャルキャスト連携許可 対応 VRM形式のモデルを、「バーチャルキャスト」上で利用することを許可できる機能を追加しました。 投稿したモデルを、バーチャルキャスト上で利用することを許可するには、 作品編集ページの「外部アプリ連携」欄内「バ
先日書いたとおり,electronでMastodonクライアントを作ったのだが,パッケージ化に関してかなり迷走したので,最近のelectron事情を書いておく. electronに関しては,「ほら,こうしたら簡単に作れるでしょ?」といういわゆるHello World系の記事が非常に多く,細かい困りごとやリリースに必要な情報はあまり出てこない. また,2015年くらいの,electronが流行り始めた時期の記事は結構あるものの,最近はそこまで記事が多くないこともあり,最近のリリース事情がよくわからなかった. アイコンを作る アイコンは,どのようなビルド手段を使うにしてもおそらく同じセットが必要になる. これに関してはあまり変更されておらず,古い記事でもかなり役に立った. とりあえず大本となるpng画像かなにかを手元に用意しておく. Mac icnsファイルを用意し,それをelectron-b
日本向けのアプリとUS向けのモバイルアプリを開発した経験から、よく「日本のアプリとUS向けのアプリの違いって何ですか?」と聞かれることがあります。UI、UX観点で色々な違いはあるのですが、個人的に最も違う点を挙げるなら、タイポグラフィだと思います。US、いやおそらくアルファベットを使う国のアプリは、タイポグラフィが日本のアプリと比べて圧倒的に重要視されています。 具体的にどういうことなのか、またもし海外向けアプリの設計に携わることになった時にどういう点を考慮すべきなのかについて書こうと思います。 タイポグラフィを意識したアプリ タイポグラフィはwikipediaによると 活字(あるいは一定の文字の形状を複製し反復使用して印刷するための媒体)を用い、それを適切に配列することで、印刷物における文字の体裁を整える技芸 とあります。つまりいかにフォントのレイアウトを整えていくかというのがタイポグラ
今回 CFP を提出して選ばれ、念願だった GoCon へ参加することができた。 そして、本当に良い体験をしたため忘れないうちに記録する。 この記事を読んでて GoCon に参加しようか迷っている人がいれば勇気を出して是非参加して欲しいと思っている。 こういう自分の好きな言語やサービスのコミュニティが開催する大きなイベントは、みんな自分と同じ共通の趣味を持っている人達だから、絶対に楽しい会話ができるため、沢山の人に話しかけてみるといいと思った。 なお登壇した内容の記事は以下のリンクで。 codehex.hateblo.jp トークについて どれもとても面白い内容のトークだったが、中でも kaneshin0120 さんの「How to write go code」を聞いて「こういう風なトークの形も在るんだ」と感慨深いものがあった。 内容は基本的にライブブラウジングで、Go 初心者がどのページ
JavaScriptで数値フォーマットする標準API「Intl.NumberFormat」 (カンマ区切り、円・ドル表記、漢数字など)JavaScriptI18nl10nECMAScript ほぼすべてのブラウザやNode.jsでサポートされている数値をフォーマットするAPI「Intl.NumberFormat」を紹介する記事です。 JavaScriptで数値をカンマ区切りにしたいときにGoogleで検索してみると、正規表現を使っていたり、ループで回して3桁ごとにカンマ付ける実装を紹介する記事を多く見つけました。 しかし、それらは古い記事ということもあり、2018年現在は数値のフォーマットを実装する必要はありません。EcmaScriptで仕様策定されておりほとんどのブラウザやNode.jsで使える関数があるので紹介します。 今回紹介するコードの実行結果はすべてChromeでの結果になります
急にinitが何をしているのか、何をすべきなのかが気になったので調べてみた。一緒に600行強のinit実装であるtiniのソースコードをざっくり読んだ。この場を借りてメモしていく。 the PID 1 problem RubyコミュニティなどではPassengerで有名なPhusion社のブログに、Docker and the PID 1 zombie reaping problemという記事が掲載されている。 blog.phusion.nl ゾンビプロセスをreapしてくれないと困る SIGTERMなどでPID=1が先に死んだらその子プロセスを処理してくれないと困る みたいな内容が書いてある。詳細は読んでみてほしい。 システムコンテナ(参考)と呼ばれる種類のコンテナを作る場合、任意のプログラムをコンテナ内部のPID=1とするのではなく、上記のような振る舞いをする軽量なinitプログラムを
追記:消されて困るものをそんな所に置くなというご意見はおっしゃる通り。今回は、~/var/run ディレクトリを作ってそこに移して対応した。 追記終わり CentOS7およびAmazon Linux2 での話。ubuntu server でどうかは知らん。 OS再起動時に/tmpがクリアされる認識はあったが、OS稼働中に/tmpの内容が消える事象が発生した。 直接の事象は supervisord.confで [unix_http_server] file=/tmp/supervisor.sock ; (the path to the socket file) と設定しているときに、supervisorctl コマンド実行時に supervisor.sock が見つからずに失敗するというもの。 supervisord をrestartすれば済んでいたのでしばらく放置していた。 よくよく調べる
グレースケール変換の前提知識から具体的な変換アルゴリズムまで解説します。 カラー画像を元に白黒印刷したい場合や、最近だと機械学習の物体認識で輝度だけ使いたい等、グレースケール化の機会は意外とよくあります。 OpenCV や ImageMagick 等のグラフィックエンジンを使えばお任せ変換できますが、それが具体的にどういう処理をして、どのような選択肢があるのか、知っておいて損はないでしょう。 実際に、OpenCV や ImageMagick でグレースケール変換をしたい方は、こちらを参考にどうぞ。 Python でグレースケール(grayscale)化 ImageMagick のグレースケール変換 グレースケールとは 画像を色味のない明るさの度合いだけで表現するのがグレースケールです。 似た言葉にモノクロ画像がありますが、こちらは下のカラー以外3つを含む広い概念です。白と黒のどちらかだけで
プレゼンテーションというとPowerPointやKeynoteで作ることが多いですが、HTMLでのプレゼンテーションも使われるようになっています。しかし表現力があまり高くなく、シンプルなスライドが多かったように思います。 そこで使ってみたいのがWebSlidesです。これまでにないほど表現力の高いHTMLスライドが作れるフレームワークです。 WebSlidesの使い方 例えばこんな表示。大きな画像を背景に当てています。 クラスも多数用意されています。 2つのカラムでの表現。ソースコードをハイライトできます。 上下左右、どこでも自由に記述できます。 左寄せ。 3カラムでのグリッド表示。 地図表示の例。 ナビゲーション。 Apple風のクラスが用意されています。 なんとなくそれっぽいですよね。 こんな表示も。HTMLならではですね。 Webサイトにも使えそうなデザインです。 表現という意味にお
Jxckが以前、SafariのUA文字列が固定されたというのを書いていた。 Safari による User-Agent 固定化と Web における Feature Detection | blog.jxck.io Safari Technology Preview 46で入った変更だ。 Release Notes for Safari Technology Preview 46 | WebKit Froze the user-agent string to reduce web compatibility risk and to prevent its use for fingerprinting TwitterでもAppleのRicky Mondelloがそれを伝えていて、ちょっと騒ぎになっていた。「それは困る」的な反応が結構多かったのと、中には「やっぱりSafariは新たなIE6だ」み
絶対にExportされてないフィールドを書き換えるなよ!絶対だぞ!絶対! / golang.tokyo#20
Amazon DynamoDBは、RDSのようなインスタンスサイズによる課金モデルではなく、ストレージのデータ使用量とスループットを基にした課金モデルになっている。 インスタンスサイズによる課金モデルでないデータストア系サービスとして、他にはS3、Kinesisなどがある。 これらは、AWSの中でも、フルマネージドサービスと呼ばれる位置づけとなるサービスだ。 フルマネージドサービスは、ElastiCacheのようなそうでないものと比較し、AWSに最適化されていて、サービスとしてよくできていると感じている。 Mackerelの時系列データベースのスタックの一つとして、DynamoDBを採用している。 時系列データベースの開発は、コストとの戦いだったために、それなりにコスト知見が蓄積してきた。(時系列データベースという概念をクラウドの技で再構築する - ゆううきブログ) (※ 以下は、2018
近年、RailsアプリにService Objectを追加するメリットを説く記事が次から次へと量産されています。私は本記事において、それがなぜ正しくないかを述べたいと思う次第であります。もっとよい方法はあるのです。 私はこれまで、Service Objectに関するネット上の議論にときおり参加しては、問題に対するまっとうな解決方法としてService Objectが正しくない理由について繰り返し見解を述べてきました。実際、私は多くの場合においてService Objectよりもっとよい解決方法があると考えるのみならず、Service Objectはオブジェクト指向設計原則への配慮が損なわれている兆候を示すアンチパターンとして取り扱っています。 このような深遠なポイントを細切れのツイートやコメント欄を追って理解するのは大変です。そこで私は、私の見解を正確に表すいくつかの現実的なコードを詳しく
VRM - VR向け3Dアバターファイルフォーマット - 「VRM」はVRアプリケーション向けの人型3Dアバター(3Dモデル)データを扱うためのファイルフォーマットです。glTF2.0をベースとしており、誰でも自由に利用することができます。また、Unity向けのVRMファイルの読み書きを行うC#による標準実装(UniVRM)がオープンソースで提供されます。 VRMについて 「VRM」って何?どんなことができる? VRMとは VRMで何ができるの? VRMの特徴 VRMファイルに設定できるライセンスデータ VRMファイルを作ってみたい VRMファイルのつくりかた(既存3Dモデルからのコンバート) VRMファイルを眺めてみたい VRMファイルの読み込みかた VRMファイルの読み込みかた(簡易版) VRMファイルを投稿する・探す VRMファイルが使えるアプリケーションは? 3Dキャラクター投稿プ
はじめに 機械学習や深層学習が人気の昨今ですが、それらのモデルの精度に最もクリティカルに影響するのはインプットするデータの質です。データの質は、データを適切に把握し、不要なデータを取り除いたり、必要なデータを精査する前処理を行うことで高めることができます。 本頁では、データ処理の基本ツールとしてPandasの使い方を紹介します。Pandasには便利な機能がたくさんありますが、特に分析業務で頻出のPandas関数・メソッドを重点的に取り上げました。 Pandasに便利なメソッドがたくさんあることは知っている、でもワイが知りたいのは分析に最低限必要なやつだけなんや…!、という人のためのPandasマニュアルです。 また、単に機能を説明するだけでは実際の処理動作がわかりにくいため、ここではSIGNATE(旧DeepAnalytics)のお弁当の需要予想を行うコンペのデータを拝借し、このデータに対
Google、Mozilla、マイクロソフトが「WebAuthn」の実装を開始。これによって「FIDO2」の普及が期待され、Webブラウザから指紋認証や顔認証などで簡単にWebサイトへのログインや支払いの承認といった操作が実現されそうだ。 多くのWebアプリケーションは、ユーザーの認証にユーザー名とパスワードの組み合わせを用いています。 しかしユーザー名とパスワードの組合わせを用いる方法にはさまざまな問題が指摘されています。身近なところでは、安全なパスワードを生成することの手間や、安全性を高めるためにパスワードの使い回しを避けようとした結果発生する多数のパスワードを管理することの手間などがあげられます。 そしてこうしたパスワードの不便さが結果としてパスワードの使い回しを引き起こし、いずれかのサイトで万が一パスワードが流出した場合にはそれを基にしたリスト型攻撃が有効になってしまう、などの状況
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く