ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Node.js言語サポートチームの加藤佑典です。 普段はYahoo!ブックストアの開発/運用を主にしています。 先日、同じチームの柄澤がNode学園祭 2016の発表でも少し触れていますが、今期から社内でNode.jsの言語サポートチームが発足しました。 本日はそのチームメンバー+有志で行っているNode.js Core APIの勉強会で話題になった、Buffer APIの変更点について触れたいと思います。 本記事はNode.js v6.9.1 Documentationをベースに書いています。 1. はじめに 勉強会は、以下のようにAPIをカテゴリ分けし、基礎的なAPIであるカテゴリー1のものから順に進めています。
HTTPステータスコードを返すというのはとても単純なことです。ページがレンダリングできた?よし、それなら 200 を返しましょう。ページが存在しない?それなら 404 です。他のページにユーザをリダイレクトしたい? 302 、あるいは 301 かもしれません。 I like to imagine that HTTP status codes are like CB 10 codes. "Breaker breaker, this is White Chocolate Thunder. We've got a 200 OK here." — Aaron Patterson (@tenderlove) 2015, 10月 7 訳:HTTPのステータスコードのことは、市民ラジオの10コードみたいなものだと考えるのが好きです。「ブレーカー、ブレーカー、こちらホワイト・チョコレート・サンダー。200
Amazon は、Redis エンジンと Memcached エンジンの両方で ElastiCache 動作します。関心のあるエンジンのガイドを使用してください。必要なエンジンがわからない場合は、このガイドの「Memcached キャッシュと Redis の独自設計型キャッシュの比較」を参照してください。 サーバーレスキャッシュ ElastiCache for Redis にはサーバーレスキャッシュが用意されているため、アプリケーションの Redis ベースのキャッシュの追加と運用が簡単になります。 ElastiCache Redis Serverless を使用すると、可用性の高いキャッシュを 1 分以内に作成できるため、インスタンスのプロビジョニングやノードやクラスターの設定が不要になります。デベロッパーは、 ElastiCache コンソール、SDK、または CLI を使用してキャッ
あるシステムを、1人のユーザから1100万人以上にスケーリングするにはどのようにすれば良いのでしょうか。Amazonのウェブサービスソリューションアーキテクトである Joel Williams が AWS re: Invent 2015 Scaling Up to Your First 10 Million Users でスケーリング方法について素晴らしいプレゼンをしています。 AWS上級者のユーザには適さないプレゼンですが、AWS初心者やクラウド初心者、Amazonが次々と送り出す新機能の流れについていけていない人が始めるには素晴らしい内容だと思います。 おおよその見当は付いていると思いますが、このプレゼンはAmazonによって提供されているため、どの問題についても解決策として提案されているものは全てAmazonのサービスになります。amazonのプラットフォームの役割は、印象深く、分か
目次 初めに 極小理論 ステップ1. 問題の再現と確認 ステップ2. 最低3回のヒートダンプ採取 ステップ3. 問題の発見 ステップ4. 問題解決の確認 他のリソースへのリンク まとめ Something you might want to bookmark: Simple Guide to Finding a JavaScript Memory Leak in Node.js by @akras14 https://t.co/oRyQboa8Uw — Node.js (@nodejs) January 6, 2016 注釈:お気に入りに登録してください。 Simple Guide to Finding a JavaScript Memory Leak in Node.js (Node.jsでのJavaScriptメモリリーク発見簡単ガイド) @akras14 http://www.ale
これから新規で構築する際は、IAMベストプラクティスに準じた設計を行いますよね。当然ですよね。 でも、こんなAWSアカウントありませんか? 短納期を実現するためにスピード優先で構築したAWSアカウント 他の会社が構築したAWSアカウントを引き継いで運用中 AWSに理解のない担当者が初期設定をしたAWSアカウントを利用中 定期的なセキュリティの見直しをしていない2年以上前のAWSアカウント 便利だからこそきちんとしたセキュリティの設計と運用がAWSは重要です。 桜が咲く前に一度AWSのセキュリティを見なおしてみませんか? ■念のための操作ログチェック 大丈夫だと信じて疑いたくないけれど、念のためチェックをしましょう。 確認1:ルートアカウントで通常操作を行っていない いかいずれかの方法で確認をしてください。 確認方法1 CloudTrailからCloudWatch Logsへログ配信設定をし
こんにちは、運用2課の斉藤です。 サーバーワークスの中では、アプリケーションの運用と開発を行っている珍しい人種です。 よくある話ですがデプロイ方法が案件毎にバラバラだったり妙に複雑だったりします。 Capistranoというツールを使っている場合もありますが、残念ながら全案件で統一は出来ていない現状です。 そんな中AWS CodePipelineがリリースされました! まだN.Virginiaリージョンでしか利用できませんが、早速AWS CodePipelineを触ってみました。 AWS CodePipeLineとは コードのビルドからテスト、デプロイまでのワークフローを定義できるCIサービスです。 Amazon S3もしくはGitHubに置かれたソースコードに変更があれば、 それをトリガーとして設定したフローを開始します。 デプロイには、AWS CodeDeployやAWS Elasti
はじめに こんにちは、川原です。 当エントリはDevelopers.IOで弊社AWSチームによる『AWS サービス別 再入門アドベントカレンダー 2015』の14日目のエントリです。昨日13日目のエントリは都元の『AWS Elastic Beanstalk』でした。 このアドベントカレンダーの企画は、普段AWSサービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。 本日14日目のテーマは『AWS CodeDeploy』です。 目次 サービスの基本的な説明 デプロイ先サーバーの選択方法 デプロイ方法の選択 AppSpecファイル(appspec.yml)によるライフサイクルイベントの制御 CodeDeployと連携するサービス サービス利用のユースケース デ
Collaboration made easy. Add real time collaboration features to your website today! Get Started TogetherJS is a free, open source JavaScript library by Mozilla that adds collaboration features and tools to your website. By adding TogetherJS to your site, your users can help each other out on a website in real time!
どうも、まさとらん(@0310lan)です。 今回は、Webサイトやアプリなどへ複数人によるリアルタイムコラボレーション機能を、驚くほど簡単に実現してくれるJavaScriptライブラリのご紹介です! このライブラリ自体は、数年前から存在しているので知っている方も多いと思いますが、まだ「知らないよ…」という方は、ぜひこの機会にトライしてみてください。 いまだに、ちょっとした「コラボ機能」を実装したい時に重宝する唯一のライブラリになっています! 【 TogetherJS 】 ■「TogetherJS」の始め方! それでは、実際にサンプルを作りながら「TogetherJS」がどのようなライブラリなのかを見ていきましょう! まず最初に、「TogetherJS」を利用するのに必要となる本体ファイル「together.js」をGitHubからダウンロードするか「git clone」で取得します。 も
はじめまして。 「ボーイフレンド(仮)きらめき☆ノート」(以降、ボイきら)でサーバサイドエンジニアをしております、伊藤です。今回はAWS(主にAurora周り)とPHPを使用して高信頼性かつハイパフォーマンスなシステムを構築するためのノウハウを共有させて頂きたいと思います。 目次 はじめに キャッシュの話 自動化・自動生成の話 Auroraの話 Zephirの話 おわりに はじめに まずはじめに、ボイきらのサービスとシステムの概要を簡単にご紹介します。 サービスの概要 ボイきらは2016年11月15日にリリースした女性向けリズムゲームです。事前登録は24万人を突破し、リリース後はAppleStoreの無料ランキングで1位を獲得しました。サービスの運用で特徴的なのはリリースが約2ヶ月で以下の5種類の新イベントを計11回も開催していることです。 マラソンイベント レイドイベント ハイスコアイベ
DOL特別レポート 内外の政治や経済、産業、社会問題に及ぶ幅広いテーマを斬新な視点で分析する、取材レポートおよび識者・専門家による特別寄稿。 バックナンバー一覧 情報技術の分野で著しい発展が見込まれるAI(人工知能)。米グーグルの子会社であるディープマインド社が開発した囲碁プログラム「アルファ碁」が2016年に人間のプロ囲碁棋士に勝ったことでAIの急速な進化を感じた人も多いだろう。インターネットの普及によってAIが膨大な情報(ビッグデータ)を教材として取り込むことが可能になり、急速に進化している。米国で最も読まれているAIの教科書の著者でもあるグーグルの研究本部長、ピーター・ノーヴィグ氏にグーグルの研究部門の内容と、AIの未来を聞いた。(聞き手/ダイヤモンド・オンライン編集部 松野友美) ──グーグルの研究部門は、どういう体制でどういった研究をしているのですか? グーグルは様々な事業を展開
SiTest にABテスト機能を導入した背景には、「ウェブサイトの解析から改善まで SiTest だけで行えるようにしたい」という想いがあります。 複数のツールを使うと管理コストが高くなりますし、費用もそれぞれのツールでかかってきます。 そのため、ABテスト機能も SiTest の中に盛り込んでご提供することに致しました。 今回はそんなABテスト機能をより有意義にご活用していただくために、ABテストに関する用語をご紹介していきます。 「スプリットランって何?」「ABテストと多変量テストの違いは?」「テストってどうやって行うの?」といった疑問にお答え致しますので、ぜひご一読ください。 ABテストとは、ウェブページの一部、またはページ自体や広告を2パターン用意し、ユーザーの反応をテストする手法です。 3パターン以上のページや広告を用意してテストする場合は、A/B/nテストと呼ばれることもありま
1.閉じタグが不要! HTMLの場合, <h1>Hello World</h1> のように閉じタグが必要ですよね、 Jadeだと h1 Hello World でOKです。 それだと入れ子にできないんじゃない?という疑問がでてきますね。 大丈夫です。インデントを調節すると下記のように入れ子も可能になります。 doctype html html head title Glad Cube body h1 Hello World HTMLだと、このようになります。 <!DOCTYPE html> <html> <head> <title>Glad Cube</title> </head> <body> <h1>Hello World</h1> </body> </html> ちなみにプロパティの記述の仕方は () で括るだけです。 例. <a href="">Hello World</a> ->
Milanote is an easy-to-use tool to organize your ideas and projects into visual boards.
jQueryの登場でアニメーションの表現がとても楽になりました。 更にCSS3がモダンブラウザの全てで動作するようになり、 CSS Transitionsを使った非常に滑らかなアニメーションも実現出来るようになりました。 私はこのCSS Transitionsを使ったアニメーションが最速だと思い続けていたのですが、 どうやらJavaScriptを使った方が速いケースがあるらしいのです。 Webページのアニメーションを行う事に特化したVelocity.jsというライブラリがあります。 なんとこのライブラリを使うだけで、超滑らかなアニメーションが出来るとのこと! 今回は Velocity.js の内部実装を調べながら秘密に迫ってみようと思います。 Webサイトでのアニメーションの代名詞とも言えるjQueryアニメーション。 一体何が悪くてカクカクになってしまうのでしょうか? そこで調べた所、j
こんにちは、プロダクト開発チーム エンジニアの森永です。 Webアプリケーションの開発、Webサイトの作成などでJavaScriptライブラリを使うケースは多いかと思います。もちろんSiTestでもJavaScriptライブラリを使用しております。 その中で代表格とも言えるjQueryですが、最初のバージョンがリリースされた2006年から10年の節目である今年の6月にバージョン3.0がリリースされました。(その後7月に3.1がリリースされました) 今回はjQuery3で変更となった点、そしてjQuery3の登場が今後のフロントエンド開発等に及ぼす影響を考察いたします。 まず簡単にjQueryについて説明いたします。 jQueryはアメリカのプログラマーであるジョン・レシグが開発したJavaScriptのライブラリです。 最初のバージョンが2006年にリリースされて以降、DOMの操作やアニメ
ここ最近、Web業界のトレンドの変化が激しいですね! 日々、新しい技術がでている気がします。 来年のトレンドになりえるPWA(プログレッシブ ウェブアプリ)を 開発していくための簡単な手順を見ていきましょう。 PWA(プログレッシブ ウェブアプリ)は開発者カンファレンス「Google I/O」でクローズアップされた注目の技術です。 ざっくり説明すると、ネイティブアプリとウェブサイトをいいとこどりしたWEBアプリケーションです。 ネイティブアプリのプッシュ通知やアプリ感覚性をWEBアプリにとりいれることにより、インストール不要なブラウザで動くネイティブアプリ(のようなWEBアプリ)が実現できます。 心地よいネイティブアプリのUIをインストールせず、触れるとなるとメリットですよね。 (しかも気に入れば、インストールすることもできます。) もう一つ、大きなメリットがPWA(プログレッシブ ウェブ
Webサイトやブログを運営している方、あるいはWebデザイナーであれば、利用する画像をどう作成するか、一度は頭を悩ませたことがあるのではないでしょうか 特にブログの場合、それほど一記事にコストをかけることもできず、テーマに合った画像を探すのに結構な時間がかかることもあります。 いつの間にか、日本が「いらすとや」だらけになってる このようなトピックスもあるぐらい、皆さん画像には困っているようです。 特にアイキャッチ画像などはFacebookなどのSNSで拡散されたときのサムネイル(OGP画像)として表示されることが多く、コンテンツの内容にマッチしていて目を引くものが必要なので、使えるものを探し出すのは大変ですよね。 そこで今回は、著作権に抵触してしまうなどのトラブルの心配をせずに「画像の商用利用」をする方法について解説します。 ※パブリックドメイン/クリエイティブ・コモンズ ゼロ(以下CC0
Node.js は単なるサーバーサイドの JavaScript にはとどまらず、 マシン内で簡単に使える為の工夫が沢山存在します。 Node.js ではローカルのコマンドを簡単に登録する事が出来ますので、 その仕組みを利用して自作コマンドを作っていきます。 Unix や Linux では、シバンを用いて好きなインタープリターで実行できます。 JavaScript をローカルで実行したい場合、Node.js をインストールした状態で、1行目におまじないを記述することで実行できます。 $ cat hoge #!/usr/bin/env node console.log(123); $ chmod +x hoge $ ./hoge 123 また、パスの通ったフォルダに設置することで、 どこからでもコマンドとして呼び出せます。 $ hoge -bash: hoge: command not fou
対話型人工無能ボットを簡単に作成できるプラットフォームです。 人工知能ではなく、人工無能ですが、 エンジニアでなくても、GUI(ブラウザ操作)だけでチャットボットを作成することができます。 もう一つの特長として、Twitter, Slackなどのチャットツールとも連携が容易であり、 Webサイトにチャットボットツールを搭載できるスニペットも生成してくれます。 また、無料で使用できます。 では、実際に作っていきましょう。 メールの内容を確認して、赤枠からサインイン画面に遷移してください。 パスワードを記入して、「SET PASSWORD」をクリックします。 すると、アカウント画面に遷移するので、 さっそく「CREATE A BOT!」をクリックし、BOTを作っていきましょう。 今回は、「WelcomeBot」テンプレートが用意されているので、そちらを選択します。 チャットボットの名前を決めま
機械学習等を勉強されている方なら、 「ベイジアンフィルタ」という言葉を聞いたことあるのではないでしょうか。 ベイジアンフィルタを実装するには、もれなく形態素解析が必要になってきます。 今回はその形態素解析を手助けするライブラリを紹介していきます。 ナイーブベイズ(単純ベイズ分類器)というアルゴリズムを利用して、テキストの自動分類などに応用することのできるフィルタの総称です。 そもそもナイーブベイズやベイズ統計学について知らない方は下記の記事を参照してください。 ナイーブベイズ分類器を頑張って丁寧に解説してみる 機械学習の理解に必須!ベイズ統計学の基礎の基礎 ベイジアンフィルタは,事前に与えられたパターンにしたがって未知の文章を分類します。 事前に正しいデータを与え学習を行うので、「教師あり学習」と呼ばれる機械学習の手法の一つになります。 学習量が増えるとフィルタの分類精度が高くなる特長があ
当方ボーカル、フルスタックPaaS募集 ほしいもののコンセプト SPA職人としてそこに全力を尽くしたいので、それ以外を全部やってほしい とはいえストレージへのアクセスはAWS Lambda/Cloud Function等を介してちゃんとしたコントロールをしたい プロトタイピング時は何も考えずにORMを叩いていたい 運用フェーズでは金を払ってスケールしたい。とはいえボトルネックは常に監視したい。極端にやばいスケールサイズはどうせ人を雇うのでその先は考えなくていい。 より細かい要求 認証はPaaS側が全部持ってほしい JSONSchema でクライアント/サーバーサイドのアクセス制限を定義したい サーバーはフルマネージド Lambda/CloudFunction で関数単位でパフォーマンス監視/障害検知 ローカルで本番と同じ構成が建てられる アセットは勝手にCDNに投げといてほしい バックエン
今回は、コーディングレス開発環境であるNode-REDを用いて「Twitterへ投稿された画像に何が写っているか発言する人工知能ジョークボット」を作成しましたので紹介します。本ボットは、Microsoft Cognitive ServicesのComputer Vision APIノードと、WatsonのLanguage Translator APIノードを組み合わせて開発しました。特定のハッシュタグを含む画像付きツイートが投稿されると、下の様に画像に何が写っているかの説明を返信してくれます。 最初にボットの動作デモを掲載します。 (1) 電車の写真 まず、特定のハッシュタグを付けて、下の電車の画像を投稿してみます。 すると、ボットが写真に何が写っているか発言します。「旅客列車が駅に到着」とリプライし、良い感じの認識結末ですね。 (2) カフェの写真 同様にハッシュタグを付けて、カフェの写
近年、「AlphaGo」が囲碁チャンピオンを打ち破ったり、 自動運転車が開発されたり、 アマゾンがレジのない店舗を開発したりと人工知能が著しく成長してきているのを感じていると思います。 今回はそんな人工知能においていかれないよう、 AIボットを体験する前に、その環境を作ってみようという試みです。 エンジニア向けの記事として書いておりますが、 コーディングなど必要のない内容となっておりますので、 リラックスして読み進めていっていください。 IBM英国Hursley研究所のメンバーを中心に開発されている ハードウェアデバイス/APIおよびオンラインサービスを接続するためのツールです。 ざっくり説明すると、 機能毎に用意されたノードをマウスで繋ぐ操作で、簡単にアプリケーションを作成できる開発環境です。 Node-RED自体はもともとIoT向けに開発されたオープンソースソフトウェアでしたが 現在は
GoogleのTensorFlow, MicroSoftのCNTK、AmazonのDSSTNEと人工知能技術のオープンソース化が著しく増えてきました。 ただ、どの技術も使うのが難しかったり、プログラミングの技術が必要だったりしました。 今回は、人工知能技術をブラウザ上で扱える「Wit.ai」をご紹介します。 実際にどのようなものか見ていきましょう。 音声や文章を送ることによって動かせるアプリケーションやデバイスを簡単に作るためのオープンソースプラットフォームです。 連携できる対象が多様であり、例えば、モバイルアプリやウェアラブルデバイス、ロボット、メッセンジャーエージェントとさまざまです。 特長として、扱える言語が豊富であり、Node.js、Ruby、Python、C言語、Rust、JavaScriptプラグインで使用することができます。 また、端末もiOS、Android対応です。 それ
Vagrant + Ansible + Docker を組み合わせて、 最終的にたった1コマンドで開発環境を作り上げてしまう事をゴールにプロジェクトを作成していきます。 前回の記事では Vagranet + Ansible でマシンの初期設定を行いました。 今回はDockerを組み合わせる前に、Vagrantではどんなことが解決出来て、 逆にどんな事が未解決なのかを整理していきます。 「この不具合ですが、僕のマシンでは再現しませんでした。」 いくら調べてもエラーが出ない、結局エラーを挙げた人のマシンも借りて検証し、 依存ライブラリのひとつがインストールされずに漏れている事を確認しました。 このエンジニアあるあるを予防することが出来ます。 Vagrant と Ansible(プロビジョニングツール) により、 Vagrantfileとプロビジョンの設定を文書として持てるようになりました。 こ
1. 手動テストはなくならない 2. 手動でおこなって効果のないテストを自動化しても無駄である 3. 自動テストは書いたことしかテストしない 4. テスト自動化の効用はコスト削減だけではない 5. 自動テストシステムの開発は継続的におこなうものである 6. 自動化検討はプロジェクト初期から 7. 自動テストで新種のバグが見つかることは稀である 8. テスト結果分析という新たなタスクが生まれる これらの原則は、どのようなドメイン、プロセス、ツールの現場におけるテスト自動化であっても共通して言える、テスト自動化に取り組む前に留意しておくべきことがら=原則を、テスト自動化研究会のメンバーによる議論のうえ、絞り込んだものです。これからテスト自動化に取り組まれる方、現在取り組まれている方、これから見直しをされたい方にご参考いただければ幸いです。 解説 1. 手動テストはなくならない ユーザビリティテ
プラン一覧 お客様のニーズに応じて 最適なプランをご提案いたします 無料で使えるフリープランの 提供を開始 Google オプティマイズのサポート終了が決定しました。 今後も事業者様・代理店様が手軽にA/Bテストが実施できるように無料プランの提供を開始しました。
分析×改善×効果検証はこれ1つ あなたのチームに"ちょうどいい" ノーコードで ウェブサイトを改善 ヒートマップ A/Bテスト EFO パーソナライズ
2-1. 経緯 トラフィックのコストパフォーマンスを良くする為のプロジェクトが立ち上がりました。 トラフィック自体を捌く事自体は以下のような手段を駆使することで可能です。 ・サーバーの台数を増やす ・サーバーをより上位のプランに変更する Amazon EC2 はどちらも簡単に実現できますので特に問題視はしてませんが、 現在進行形で増え続けているコストを減らすためには別の手段を考える必要があります。 2-2. 現状分析 SiTest プロジェクト始動時は開発速度を重視するために、 設定より規約を重視するCakePHPというフレームワークを選択していました。 CakePHPの挙動は素直で開発しやすく不満はないのですが、高トラフィックを捌くことが苦手です。 そもそもサーバーサイドとして選択しているPHP自体の問題である程度までしか処理能力が出ません。 Web Framework Benchmar
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Node.js 言語サポートチームの柄澤史也 (@fmy) です。 12/6のエントリ「今年のうちに対応したい、Node.jsのBufferに潜む危険性」に引き続き、社内での Node.js Core API 勉強会の内容を紹介します。 1. Stream API の重要性 Node.js 界隈の有名な言葉に次のようなものがあります。 「Stream を制するものは、 Node.js を制す」 Node.js 最大の特徴は何と言っても非同期 I/O です。 そしてその非同期 I/O の実装こそが stream モジュールなのです。 HTTP サーバのリクエスト・レスポンス gulp のようなタスクランナー TCP ソケ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く