Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
「Apache Flink」は、分散ストリーム処理プラットフォームのひとつのOSSです。 同類のモノとしては、「Apache Storm」や「Apache Spark Streaming」などがあります(同じApacheで、さすがに同類のモノを出し過ぎだろう、と私も思っています)。 他のプラットフォームとして異なる特長は、以下になります。 高パフォーマンス&低レイテンシ(真のストリーム処理が可能) 耐障害性に優れる(自動でイベント処理継続) ストリーム処理、バッチ処理の両方をサポートし、高レベルのAPIが提供されるAll-in-One構成 Flink Stack Flinkの全体像です。 ストリーム処理だけでなく、バッチ処理も可能であり、CEP(複合イベント処理)やML(機械学習)、SQLライクなAPIも提供しています。 この辺りは、Sparkと似ていますね。ただ、Sparkはバッチ処理か
ピクシブ福岡オフィスの @ikasoumen です。iOS版が先行してリリースされていたチャットストーリー投稿アプリの「pixiv chatstory」。 昨年の12月から、Android版の提供もはじまりました。 ホーム画面にインストールできるWebアプリ ネイティブで実装されているiOS版と違い、Androidでは全てHTML + CSS + JSで作られているWebアプリを、Google playストアを経由せずにpixiv chatstoryの公式サイトから直接Android端末へとインストールすることができます。 従来の「ホーム画面に追加」されたWebページと違って、Chromeのヘッダーが非表示になっていたり、URLを開く際にアプリとして選択できたりと、まるでネイティブアプリかのような体験を得られます。 これには、Progressive Web App(PWA)の特徴の一部を利
By Kristina D.C. Hoeppner 現代のインターネット社会の礎を築いたイギリス人のティム・バーナーズ=リー氏が、TwitterやFacebookなどネット上の巨大企業にネットの世界が集中することで生じる弊害について述べ、ウェブの可能性を狭めないために何らかの取り組みが行われる必要性を論じています。 Tim Berners-Lee: we must regulate tech firms to prevent 'weaponised' web | Technology | The Guardian https://www.theguardian.com/technology/2018/mar/11/tim-berners-lee-tech-companies-regulations バーナーズ=リー氏はウェブ誕生から29年を迎えるにあたって公開した公開書簡の中で、「近年、ソ
スマートフォンやパソコンを使用していて、Googleマップを使用したことがない、という人は少ないだろう。行ったことが無い場所に行く際に、インターネットで「〇〇から△△」などと検索すると、ほとんどの場合にはGoogleマップでの検索結果が上位に表示される。 実はこのGoogleマップでは、機械学習を活用し、住所、建物の名称などの地理情報がない国のマップも作成可能だという。その方法についてGoogleは3月9日、「現場で役立つ機械学習」と題し、六本木の同社オフィスにてメディアセミナーを開催。Googleマップのソフトウェアエンジニアであるアンドリュー・ルッキングビル氏による説明が行われた。 機械学習で、地図をつくる 地理情報のない国での情報を、どう得るのか? ここでは、ストリートビューの画像がカギとなる。設置されている看板などの地理的情報をもつ画像から、情報を自動的に抽出するのだ。 これまでの
『MarkeZine』が主催するマーケティング・イベント『MarkeZine Day』『MarkeZine Academy』『MarkeZine プレミアムセミナー』の 最新情報をはじめ、様々なイベント情報をまとめてご紹介します。 MarkeZine Day
2018年に入ってから当ブログを対象とした犯罪行為が起きているのですが(関連: jz5.jp / jz5 を装うメールやアカウントに注意してください)、今朝 当ブログのサーバーに対し DDoS 攻撃(SYN flooding)がありました。 このブログは、2016年に12月から ConoHa VPS に移行し、KUSANAGI + WordPress で運用 しています。 外部からの通信を遮断される 10時頃 ConoHa お客様センターより次の内容のメールがありました。 利用している VPS に対し外部からの不正なトラフィック(DDoS 攻撃)を検知した 外部からの通信を遮断するよう制限を実施した 確認したところ次のような状態でした。 VPS はシャットダウンはされていない Web のコンソール画面から操作はできるが、リモートへ接続できない状態(ファイルを外部へ送れない) /var/lo
きっかけ FunctionalOptionPattern MethodChaining MethodChaining の問題点 Error フィールドによる解決方法 Error フィールドによる解決方法の問題 1. 各メソッドでエラーが発生しないような印象を受ける 2. エラーチェックを忘れそう その1 3. エラーチェックを忘れそう その2 FunctionalOptionPattern による解決方法 MethodChaining としての解決方法 Error フィールドの問題点は本当に問題なのか? どちらを使うべきなのか? まとめ きっかけこの記事を書くきっかけは以下のブログで、 MethodChaining の代わりに FunctionalOptionPattern を利用したという記事。 https://www.calhoun.io/using-functional-option
Javaプログラミング言語の生産性とパフォーマンスに対して継続的に探求してきた成果を用いて、オラクルのJava言語アーキテクトであるBrian Goetz氏はデータクラスの実験的な概念を紹介した。これは将来言語に統合される可能性が高い。彼の研究はバリュータイプやパターンマッチングのような予定されている機能とデータクラスが自然にフィットすることを証明している。しかしこの概念がJava言語の一部となる準備を整えるには、なされるべき作業は多い。Goetz氏は時として"データは単にデータである"ことを前提としてデータクラスの課題とトレードオフを調査している。 動機 Javaクラスは今まで大量のボイラープレートコードを必要とした。クラスが単純か複雑かどうかにかかわらずだ。このことでJavaは"冗長すぎる"という評価であった。Goetz氏はこう説明している。 ごく普通のデータキャリアクラスを責任を持っ
本連載では、「NoSQLデータベースの今」を正しく理解し、ビジネス躍進の実現に向けた対策としての「ベストプラクティス」を掲示していきます。今回は、NoSQLがアジャイル開発に適している理由を取り上げます。 NoSQLベストプラクティス 今回はアジャイル開発について、またNoSQLがこの開発手法に適している理由を取り上げます。なぜこれが重要なのでしょうか。またNoSQLにどのような関係があるというのでしょうか。 最初にアジャイルの原則を確認しておきましょう。この、「アジャイルソフトウェア開発宣言」の「アジャイル宣言の背後にある原則」で見ることができます。 「顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します」 「要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、お客様の競争力を引き上げます」 現在NoSQLデータベースへの注目が急激に高まってい
この記事について この記事は、Things You Should Know: Web Apps and Linux という記事を要約&意訳したもの。 App Service on Linux / Web App for Containers について、使い始めてチュートリアルを終えたあたりから気になってくるポイントがまとまっている。 元記事のヘッダ見出しごとになるべく短め(省略含む)に書いているため、内容詳細はぜひ元記事を参照いただきたい。 本文 Azure App Service on Linux は、Microsoft が提供するランタイムスタック一式でWeb App を利用できる。 Web App for Containers は、Azure Container Registry や Docker Hub、またはプライベートなレジストリ上の独自のDockerコンテナを利用することがで
tl;dr 長文なので3行で kubernetesとAWSとGPUは超える壁が多かった。やるならkubeadmがオススメ。 kubeadmでcloud-provider=awsの手順を後半に記載 はじめに ABEJAのサービス系インフラを管理しているインフラエンジニアの村主です。 コンテナ周りは割とECSを中心に組むことが多かったのですが、あれだけkubernetesが持ち上げられると使ってみないとな。と言うことで、新しく追加する機能はkubernetesで開発することにしました。そこにkubernetesがあったから kubernetesとAWSとGPU を組み合わせた時にすごくハマりどころが多かったので、ここに奮闘記を記載します。 まず、kubernetesを構築するためのプロビジョニングツールを何にしようか。と言うことで、特徴を知らないと工夫も出来ないので色々触ってみました。 1.
東芝エルイートレーディングから「様々な音源をハイレゾ音質に。」をコンセプトにしたCDラジカセが登場。カセットテープやCD、ラジオなど、多彩な音源をハイレゾ相当の音質に拡張する「アップコンバート機能」を搭載したハイレゾ対応SD/USB/CDラジオカセットレコーダー『TY-AK1』が3月下旬発売予定。オープン価格(実売予想価格:27,000円前後)。4月下旬にはBluetoothのワイヤレス再生対応のCDラジオ『TY-AH1』も発売されます。 以下プレスリリースより カセットでもハイレゾ相当の音質を再現できる、CDラジオカセットレコーダー発売 ―実用最大出力40W。いつも聞いている様々な音源を、今までとは違う鮮明で躍動感ある音に!― 『TY-AK1』 東芝エルイートレーディング株式会社は、「様々な音源をハイレゾ音質に。」をコンセプトに、ハイレゾ音源を楽しめる他、カセットテープやCDの音源もハイ
情報管理LOGの@yoshinonです。 今回は、こんなタイトルですが、基本的には電子書籍万歳!とか思っています。 しかし、だからこそ少しずつフラストレーションが溜まってきているのも事実なんですよね。というわけで今回は、私が現在、電子書籍に対して感じている不満とそれについてどのような解決策が考えられるかを書いていきたいと思います。 サービス提供者の皆さん、不満は逆にいえば、大きな儲けのチャンスですよ! まず、何よりも電子書籍への大きな不満が、これです。 今や電子書籍を販売しているところは、たくさんあり、そこかしこで購入して行ったら、どこで何を買ったのか不明になってしまうのですよ。特に数を買えば、買うほどに探すのが大変になるのです。1冊の本を探すのに、いくつものアプリを立ち上げて、検索しなくてはならないなんて、馬鹿馬鹿しいにもほどがあります。 特にシリーズ物の長編漫画を複数の電子書籍で購入し
Gitのような複雑なシステムは使い方が難しい。 ある程度使い方を知っている場合でも、あまり一般的でない機能を使うのは難しい。 たとえば以下のような場合はどういうコマンドを使えばいいだろうか? ひとつ前のバージョンのREADME.mdからの変更を見たい README.mdは3日前からどう変わった? package.jsonにcoffeeという名前が入ったのはいつ? ここ1週間ぐらい変更されてないファイルは? 最近大量に修正したファイルはどれだっけ? 最初の例について考えてみる。 Gitでは「HEAD^」「HEAD^^」のような表現で昔のコミットを参照できるので $ git diff HEAD^ README.md のようにすればひとつ前のコミットのREADME.mdとの比較ができるが、 最近のコミットでREADME.mdを編集していなかった場合は このコマンドを起動しても何も出力されない。
Cassandraのストレージエンジンを入れ替えて高速化した「Rocksandra」、Instagramがオープンソースで公開。Javaのガベージコレクションによる遅延を大幅に解消 Instagramは、NoSQLデータベースのCassandraで発生していたJavaのガベージコレクションに起因する遅延を解消し、高速化した改良版Cassandraをオープンソースで公開したと発表しました。 ストレージエンジンとしてキーバリューストアの「RocksDB」を用いたことから、同社はこの改良版Cassandraを「Rocksandra」と呼んでいます。 JavaのガベージコレクションがCassandraの遅延を発生させている 同社がRocksandraの開発に至った経緯は、エンジニアブログ「Open-sourcing a 10x reduction in Apache Cassandra tail
EC2 Auto-ScalingでECS組んでますか?エラーレート高いですか?救ってあげてもいいですか? サイバーエージェント技術本部インフラエンジニアの@prog893です。今回も「AWA」という音楽ストリーミングサービスのインフラの改善について紹介したいと思います。前回の記事では、データベースの復旧時間が12時間から55分まで短縮できた話を紹介しましたが、今回は楽曲ダウンロード及びストリーミングレイヤーでのエラー率を大幅に改善したことについて述べたいと思います。 楽曲ダウンロード及びストリーミングの構成 まず、楽曲ダウンロード及びストリーミングの構成概要について紹介します。 音楽ダウンロード及びストリーミングの構成概要 楽曲配信サーバ(以降Track Proxy)はコンテナとして実行しAWS Elastic Container Service(ECS)で運用しており、ECSのバックエン
今年の夏頃から、特にサービスとして出すわけではなく、社内で使っているシステムのリプレースを行う事になりました。主な目的はレガシーすぎる設計をある低度モダンにする事、そして他のシステムと連携出来るようにする事、です。 対象のシステム 見積書や請求書などを管理・発行している。機能はそれなりに多いがUI操作はFormベース、テーブルタグで諸情報を表示するシンプルな物。ノンフレームワークで1画面1PHPファイルな古き良き時代のコード。おそらく10年ぐらい?稼働している。当初はPHP 5.1、PostgreSQL 8.x系だったが、現在はPHP 5.6とPostgreSQL 9.6で稼働しています。 その他の社内システム かつてはノンフレームワークだったり、太古のバージョンのCakePHPだったり、PHPが4系だったりしたが、概ねCodeIgniter 3系最新版 + PHP 5.6~7.1 + P
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事について 「GoogleAnalyticsの設定、どうしたらいいんだっけ...」と迷ったときのためのレファレンスです。 新規のサイトを立ち上げる時・GAの再設計がしたくなった時に参照してください。 のちのちアクセス解析しつつ改善していくために、できるだけ汎用的にデータを拾っておく 可能な限り、非コーダーができる作業で完結させる というのをテーマにまとめました。 STEP 0: GTM・GAのアカウントを取得 Googleのアカウントがあれば、驚くほど簡単に取得できます。 GoogleAnalyticsのアカウントを作る Goog
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く