概要 本稿では、高速で軽量なWEBサーバーとして人気のある Nginx を CentOS 7 にインストールする手順について解説します。 ここで解説する手順は、公式サイトに記述されている手順と同等です。 リポジトリの追加 Nginx では公式に yum のリポジトリを公開しており、その yum リポジトリからインストールするのが良いでしょう。 ここでは公式ページに記述がある通りに、yum リポジトリを追加します。 root 権限で新たにファイル /etc/yum.repos.d/nginx.repo を追加し、追加した nginx.repo には次のように記述します。 [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 ファイル追加後の /etc
バッチを作成しようとルすると、コマンド引数で動作変更したいことがあります。 今回は Node.js でコマンド引数の受け取り方および解析を行う方法についてまとめました。 コマンド引数解析は自作すると面倒なので commander モジュールを利用した方法を載せています。 基本 Node.js においてコマンドライン引数は process.argv で受け取れます。 コマンド引数の保存先 process.argv インデックス 0 は node へのパス インデックス 1 は 実行 JavaScript のパス インデックス 2 以降にコマンド引数が与えられます。 実際のソースコード、実行、結果の関係をサンプルコードとしてみると以下のようになります。 ソース(index.js) for (let i = 0; i < process.argv.length; i++) { console.l
概要 pytest の基本的な使い方を記載します。 適宜参照するための公式ドキュメントページ Full pytest documentation API Reference インストール 適当なパッケージマネージャ等でインストールできます。 sudo apt install python-pip pip install pytest which pytest /home/vagrant/.local/bin/pytest 実行方法 test_sample.py #!/usr/bin/python # -*- coding: utf-8 -*- class TestClass(object): def test_one(self): x = "this" assert 'h' in x def test_two(self): self.y = "hello" assert hasattr(s
Pytestを実行するときに知っておくと便利なコマンド&オプションをまとめました。 環境 Python3.6 pytest 4.3.0 venv 特定のテストのみを実行する モジュールを指定して実行 モジュール毎にテストを実行します。 pytest test_1.py パスを指定して実行 フォルダ別にテストを実行します。 pytest testing/ キーワードを指定して実行 文字列に含まれるキーワードにマッチするもののみを実行します。 マッチング対象はファイル名、クラス名、関数名です。 pytest -k "MyClass and not method" 上の例の場合、”TestMyClass”のキーワードを含むテストを実行しますが、”method”キーワードを含むものは除きます。 例えば、 "TestMyClass.test_something" は実行されますが、 ”TestMyC
関数型言語のことなんて知らなくても、ただそこに便利な関数があるので使っていきましょうというお話です。 LodashやRamdaには、リスト操作やオブジェクト操作に関する便利な関数がたくさんあります。 ["a", "b"] と [1, 2] から { a: 1, b: 2 } を作る処理を思い浮かべてください。 何も知らなければforループを使って書いたりしそうですが、_.zipObjectやR.zipObjを知っていればこれを使うだけでできてしまいます。 以下で、Clojureのclojure.coreにあるよく使う関数を中心に、Lodash, Ramdaを使ったときにどうやって実現できるのか調べてみました。 調べてみた感想としては以下のとおりです。 JavaScript標準の関数ではまだまだ不足している部分が多く、LodashとRamdaは一長一短 Lodashは副作用がある関数(対象オ
Like mkdir -p, but in Node.js! Now with a modern API and no* bugs! * may contain some bugs example pow.js // hybrid module, import or require() both work import { mkdirp } from 'mkdirp' // or: const { mkdirp } = require('mkdirp') // return value is a Promise resolving to the first directory created mkdirp('/tmp/foo/bar/baz').then(made => console.log(`made directories, starting with ${made}`) ) Out
今回は、Pythonで文字列の空白を削除する「strip」「lstrip」「rstrip」の使い方を解説します。 文字列の空白を削除するstrip・lstrip・rstrip Pythonは「strip」「lstrip」「rstrip」を使って文字列の空白を削除することができます。文字列の先頭の空白を削除したり、末尾の空白を削除したり、途中にある空白を削除することができます。 strip・lstrip・rstrip構文 # 先頭と末尾の空白を削除する 文字列.strip() # 先頭の空白を削除する 文字列.lstrip() # 末尾の空白を削除する 文字列.rstrip() 文字列の先頭・末尾にある空白を削除します。 戻り値 空白が削除された文字列が返されます。 strip・lstrip・rstripの使用例 例1. 先頭・末尾の空白をまとめて削除する ' python '.strip(
タイに住んでいる日本人は、誰とつきあっているのか。どこで出会うのか。人それぞれではありますが、タイにいたほうが日本よりもはるかに、人と出会う機会が多いことは確かなようです。恋愛もタイ生活の楽しさを彩るものですが、先々を考えるとやはり、シビアさも求められてきます。 人同士でつながろうという意識が日本より強い タイでも日本でも、生活に潤いを与えてくれるのはパートナーの存在ではないでしょうか。とりわけ異国暮らしとなれば、心細いこともたくさんあります。なんでも話せて、お互い理解しあえ、大切にしようと思える相手がいれば、きっと毎日はより充実するでしょう。 タイの場合、日本よりもずっと「出会いの場」がある印象です。職場でも、歓迎会とか誕生会とか、コミュニケーションを取れるような機会がけっこうあって、アットホームな会社が多いように思います。 また、会社は違っても現地採用の日本人同士はつながりが強いので、
MicrosoftのTo-Doというアプリを使って、普段は日々のタスクを管理しています。 このTo-DoのタスクはOutlookのAPIを使って操作できるなので、やってみました。 まずはお試しなので、curlでタスクを取得するところまでです。 手順について 1. アプリの登録 APIでタスクを取得するためには、APIを叩くためのアプリを登録しておく必要があります。 https://apps.dev.microsoft.com/#/appList こちらよりアプリを登録します。 以下の項目を登録しておきました。 アプリケーションID アプリケーションシークレット プラットフォームとしてネイディブアプリケーション Microsoft Graph のアクセス許可として「Tasks.Read」 これらの値は以降の手順で使うので、参照できるようにしておいてください。 2. コードの取得 以降はブラウ
総合的に見ると、AWS よりも GCP の方が低価格で運用できることがわかります。 Google Cloud ではコスト節約に繋がる仕組みが整っている 利用料金を単純比較しても GCPは 安価で使えるサービスであるということがわかりました。しかし、Google Cloud には、さらにお得に利用できる仕組みも整っています。詳しく見てみましょう。 無料クレジットが用意されている 1 つ目は、無料クレジットの存在です。Google Cloud には、初めて利用する人へ向けた90日間のトライアルが用意されています。Google Cloud の全てのサービスで利用できる 300 ドル分の無料クレジットが付与され、それを使い切るか、90 日が経過するまでは課金が発生しません。 また、無料クレジットを使い切った場合や、90 日間を超えた場合にも、自動的に課金が始まることはありません。クラウドサービスを
社内で開発環境についての情報を共有する会を開催した。 参加者全員が発表のスタイルで、ただ聞いてるだけの人がいないようにしたら いろいろな情報を共有出来て大変参考になった。 私は1日のほとんどをターミナル上で過ごすので、ここ数年GUIアプリにはあんまり関心が 無かったんですが、最近導入して便利だったやつを共有したら好評だったのでまとめておく。 Dash Dash - Documentation Browser, Snippet Manager - Kapeli ドキュメントブラウザ、スニペット管理ツール。ドキュメントをローカルにダウンロードして 利用するので高速。今日(2014/03/29)時点で130以上のドキュメントとAPIに対応していて、 プログラミング言語に加えて、MySQL、MongoDB、Puppet、Vagrantなどのドキュメントもある。 自作ドキュメントを追加することも可能
こんにちは! DataGrip 2018.3リリースについてのニュースです。 いつものように、このリリースサイクル中にIDEの改善をサポートしていただいたEAP参加者の皆様に感謝申し上げます。 最も積極的にご支援いただいた方々には、感謝の気持ちを込めて、無料でDataGripサブスクリプションを贈呈させていただきました。 このアップデートの詳細な概要を確認したい場合は、当社のWhat’s new ページをご覧ください(サムライズム様による翻訳はこちらです)。このブログポストの続きを読んで、DataGrip 2018.3の拡張機能の全リストをご確認ください。 データベース・オブジェクト — Cassandra データベースサポート — 選択したオブジェクトのSQLファイルを生成 — PostgreSQLextensions サポート — PostgreSQL 11 でのストアドプロシージャ(
はじめに JavaScriptの難読化で調べると最有力として挙がる「JavaScript Obfuscator」。オプションの項目を眺めていると、難読化以外にも色々機能が実装されていて面白かったので、README.mdのオプション項目の日本語訳という形で紹介します。シンプルな英語だし訳いらんというのは(ry JavaScript Obfuscator オプション JS Obfuscatorでは次のオプションを使用できます。 options: { compact: true, controlFlowFlattening: false, controlFlowFlatteningThreshold: 0.75, deadCodeInjection: false, deadCodeInjectionThreshold: 0.4, debugProtection: false, debugProt
2019.11.20 | Writer:NTT東日本アベ AWSの料金を見積もるためにAWSの料金体系を理解しよう クラウドの運用費用など、クラウドの利用に課題がある方は、NTT東日本へお気軽にお問い合わせください。 AWSの料金体系の基本は、「使ったら使った分だけ支払う」です。つまり、使ってみないと正確な請求金額はわかりません。しかし、それではいくら請求が来るかわからないので、社内稟議が通せないという方もいらっしゃるのではないでしょうか。ここでは、AWS利用前でもAWS利用料の概算見積もりを把握するための基礎的な知識について解説します。 AWSの料金体系 AWSと一口にいっても、仮想サーバーを構築できるAmazon Elastic Compute Cloud (EC2)や、オブジェクトストレージのAmazon Simple Storage Service(Amazon S3)など、120
作業効率化に大きく貢献してくれているアプリケーションのご紹介というかまとめになります。 毎日行うような事はどんどん楽にしていきたい今回紹介するアプリはどれも自分が日常的に行う作業を効率的にしてくれたり、ストレスを軽減してくれます。毎日行うような作業は少しでも楽にしたいですよね。 人や業務内容によっては毎日行う事や必要とするものは変わってきますので、「絶対これを使うのがいい!」と断言できるわけではありませんが、少なくとも自分はこのアプリなしではいられないなと思うものを選びましたので、参考にして貰えると幸いです。 Path Finder 7 デュアルブラウザ左サイドバー以外に下と右にもシェルフがあるシンボリックリンクの作成新規ファイルの作成が可能ドロップスタック(ファイル移動時に一旦置いておける場所がある)「ターミナルに開く」でフォルダをターミナルで開く事ができる(地味に便利)かなり癖のあるア
2019年7月24日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第23回となる今回のテーマは「AWSでゲームサーバーを最大90%安く利用する方法」。アマゾン ウェブ サービス ジャパン株式会社シニアソリューションアーキテクトの吉田英世氏が、ゲームサーバーの運用コストを劇的に安くするAWS活用法を解説します。前半パートとなる今回は、Amazon EC2の大幅なコスト削減を実現するスポットインスタンスの概要と、それをゲームに活用する上での知見を語ります。講演資料はこちら AWSでゲームサーバーを最大90%安く利用する方法 吉田英世氏:みなさん、こんばんは。私はAmazonのソリューションアーキテクトという部署にいまして、ゲームのお客様を主に担当している技術者です。AWS上でどうい
この記事は、AWS Advent Calendar 2014 の12日目の記事です。 AWSを利用したゲームの運用を行い約1年半、この記事ではAWSのスポットインスタンスを利用した取り組みについて簡単に紹介したいと思います。 なお、こちらの記事は、2014年7月17日(木)~18日(金)に行われたAWS Summit 2014 Tokyoの「Tech Deep Dive By Customers」トラックで発表させて頂いた「AutoScale×ゲーム ~運用効率化への取り組み~」のスポットインスタンスの利用についての簡易版となります。 はじめに みなさんスポットインスタンス利用していますか? 今年に入ってAWSも大幅な値下げが続き、よりサーバ構築や検証を簡単にできるようになったのではないでしょうか。その中でもスポットインスタンスは、破格の価格で利用することが出来「バッヂ処理」や「検証」のた
Eight 事業部の秋本です。 本記事では Eight における EC2 スポットインスタンスの活用について取り上げ、同時にスポットインスタンス運用をラクにするサービスである Spotinst もご紹介したいと思います。 TL; DR EC2 オートスケーリンググループで運用されてきたインスタンスを Spotinst の Elastigroup という枠組みで運用するようにしました Elastigroup はリッチなオートスケーリンググループといった風情です Elastigroup に移行することで月々の EC2 費用が全体で4割程度削減できました もっとも Elastigroup にはオートスケーリンググループとは異なるお作法があり、それなりに苦労しました ここからは前置きが続くので、上で述べた内容の詳細が早く知りたいという方は下記リンク先に飛んでしまってください: Spotinst 導
LinuxにPythonをインストールする手順を紹介します。 LinuxにはデフォルトでPython2.xがインストールされています。 今回はPython3.x系のダウンロード手順になりますのでご注意ください。 もし今からPythonの学習を始めるならばPython3系を勉強しましょう。 Linuxではrpmが用意されていないので、sourceからmakeする必要があるので注意してください。 インストール環境 今回のインストール環境は以下になります。 CentOS:CentOS Linux release 7.4.1708 (Core)Python:Python 3.6.3 インストール手順 手順の流れは以下になります。 必要なパッケージのインストールPythonのダウンロードPythonのインストール環境変数の設定 まずはパッケージのインストールです。 今回はyumでインストールします。
Finderのキーボードショートカットのまとめです。 キーボードショートカットを早見表にしてみました。 MacのFinderのキーボードショートカットまとめ Finderのキーボードショートカットをまとめてみました。ほとんどのキーボードショートカットは網羅しているはずです。 なお、キーボードショートカットはMac OS X 10.6 Snow Leopardで確認しました。 Finderのキーボードショートカット早見表 移動やファイルを操作 表示形式の切り替え ファイル削除やゴミ箱を空にする 「Command」+ X のショートカット 「Shift」+「Command」+ X のショートカット 「Control」+「Command」+ X のショートカット 「Option」+「Command」+ X のショートカット 「Option」+「Shift」+「Command」+ X のショートカ
本記事 本記事はVue.jsを使ってGoogle App Engineにホストしている静的なサイトをNuxt.jsを使って書き直そう思います。 題材は以前使った自分のポートフォリトサイトです。 keisukeyamashita.com GoogleCloudPlatform(GCP)で無料枠を使いきり画像などのコンテンツをCloud Storageに置いてありましたが、Embulkをマスターしたことによって簡単に二つ目のアカウントに移行できたので、再度ホストしようと思いました。 目的 今回の移行には、以下のような目的がありました。 コンポーネント設計が自由すぎる どこまでをどうコンポーネント分けするのかは、Vue.jsやReactを使っている人ならよくあると思います。 僕自身も、学生で、インターンといえばサーバーサイド、インフラ、モバイルアプリしか歩んでこなかったので、フロントエンドを知識
プロジェクト推進室の服部 (@yhatt) です。現在は社内の福利厚生制度である Speee Library を筆頭とした社内システムを中心に担当しています。 今回は、遡ること 2 年前に公開した、今更聞けない Bootstrap のレスポンシブ の続編として、Bootstrap 4 正式対応版 に内容をアップデートしてお届けします。 『Bootstrap 4 を使って、"柔軟な" レスポンシブ Web を構築したい』という方は、是非この記事を読んで、Bootstrap 4 のレイアウトシステムの基本をおさえていただけると幸いです。また、『Bootstrap 3 から 4 に移行したい(移行した)』という方のために、v3 と v4 の違いを交えながら解説していきたいと思います。 前回の記事については、以下をご覧ください。 tech.speee.jp 以前公開していた記事は、Bootstra
Google Cloud PlatformにはSpeech APIという音声認識を行うための機能があります。今回はこちらのAPIを使って、Pythonで音声の日本語をテキストに起こしてみようと思います。Speech APIの詳細。 また、Pythonで録音するプログラムと合わせて使うことで、録音した音声をほぼリアルタイムにテキスト化するプログラムも作成いたしましたので、ぜひ参考にしてください。 音声ファイルをテキストにするサンプルプログラム 以下にサンプルプログラムを示します。 #coding:utf8 import base64 from googleapiclient import discovery import httplib2 #APIキーを設定 key = "YourAPIKey" #音声認識に使うファイル名 speech_file = "sample.wav" #URL情報
5秒で試せる Cloud Speech API Google Cloud Speech API のページのデモアプリで、言語を選択してブラウザに向かって話すだけで手っ取り早く試せます。利用登録も必要ありません。(Chrome 以外のブラウザだとうまく動かないことがあります) Google Cloud Platform の利用登録 Cloud Speech API を直接使うには、まず初めに Google Cloud Platform の利用登録が必要になります。(Cloud Speech API は Google Cloud Platform が提供するサービスのひとつです)登録用のGoogleアカウントを1つ用意しましょう。 Google Cloud Platform トップページの「無料トライアル」をクリックし、Googleアカウントでログインします。 Google Cloud Pla
こんにちは、2020年新卒入社予定の山口です!修論と引越し準備とアルバイトで慌ただしい日々を過ごしています。今日は業務で触った、Google製API Google Cloud Speech-to-Text API について皆さんと共有できればと思います。 Google Cloud Speech-to-Text API とは APIを導入していく GCP側 PC側 実際に試してみる 認識モデルを変更してみる マルチチャンネルで試してみる ファイル形式・サンプリング周波数を比較してみる ナレーション音声(「本日は〜」の音声です。) 走れメロス_朗読 おわりに Google Cloud Speech-to-Text API とは Google Cloud Speech-to-Text API は名前の通り、音声データから文字起こしをするAPIです。この音声データは私たちが日頃聞いているような音声
はじめに 今までコールセンターへの音声認識システムの導入とかに携わってきました。 音声認識の方式には大きく2種類あります。 バッチ型 音声ファイルを渡すと認識した結果が返ってくる コールセンターの通話録音をテキスト化してビッグデータ分析とかで活用できる Youtube動画の自動字幕とかでも使われている。 リアルタイム型(またはストリーミング型) 喋っている音声がリアルタイムで認識されていく。 コールセンターのスーパーバイザが複数のオペレータの音声をモニタリングしたりする場合に活用できる 最近だとAbemaTVで記者会見の生中継とかでAIポンが使われている で、クラウド型の音声認識APIに関しては以下が4強と言われています。 Google Cloud Speech API Microsoft Azure Bing Speech API IBM Watson Speech to Text Am
はじめに 2018年に以下の記事を投稿しました。 Google Cloud Speech APIのリアルタイム音声認識は使い物になる精度なのか? おかげさまで結構なアクセス数や「いいね」をいただいたのですが、先日「同じ手順を踏んでもエラーが出て動作しない」とコメントいただきました。 調べてみたところ、コードでインポートしているライブラリ(grpc-google-cloud-speech-v1beta1)が2019年4月ごろにサポート終了していることが原因なようです。 ということで、マイク入力でストリーミング音声認識を行う方法を再度記事としてまとめました。 動作環境 以下の環境で試しています Windows 10 Python 3.6.8 (64bit) Google Cloud SDK GCPでプロジェクトを作成したり、gcloudの初期設定をしたり、Pythonのセットアップしたり、必要
概要 日本語の音声ファイルを文字起こししたい場合がある。真っ先に思い浮かんだのがAmazon transcribeだが、まだ日本語には対応していなかった。 調べたところ、Google Speech APIが日本語に対応していたのでこちらを使って文字起こしをしてみた。 サンプルの音声 iPhoneに付属しているボイスメモというアプリで録音した https://itunes.apple.com/jp/app/%E3%83%9C%E3%82%A4%E3%82%B9%E3%83%A1%E3%83%A2/id1069512134?mt=8 今回はあくまでもサンプルなので、今日の日付を読み上げた。 加工 ボイスメモで録音したファイルはm4aファイルになる。 このフォーマットではGoogle Speech APIが対応していないのでwavファイルへ変換する。 Speech APIが対応しているファイルフ
フィードバックを送信 ストリーミング入力の音声を文字に変換する コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 このセクションでは、マイクからの入力などのストリーミング音声をテキストに変換する方法について説明します。 ストリーミング音声認識では、音声を Speech-to-Text にストリーミングし、音声を処理しながらリアルタイムでストリーム音声認識の結果を受信できます。ストリーミング音声認識リクエストについては、音声の制限もご覧ください。ストリーミング音声認識は、gRPC 経由でのみ利用できます。 ローカル ファイルでストリーミング音声認識を実行する ローカル音声ファイルに対して、ストリーミング音声認識を実行する例を次に示します。API に送信されるすべてのストリーミング リクエストには 10 MB の上限があります。この上限は、最初の Streami
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く