Cookpad TechConf 2018: https://techconf.cookpad.com/2018/
configファイル修正したり、ソースをいじった際によくdiffコマンドを使って変更点を確認しますよね。 オプション無しで実行すると見にくいけど、あるオプションを付けてやると gitっぽく出力してくれたり、WinMergeっぽく出力してくれるようになります。 覚えておくと便利なので、ぜひ見ていってください。 オプション無し オプション無しでdiff を叩くと以下のように出力されます。 見にくい・・ 慣れない人が見るとなんじゃこりゃとなりそうですね。 [root@bacchi ~]# diff /etc/ntp.conf.orig /etc/ntp.conf 8,9c8,10 < restrict default kod nomodify notrap nopeer noquery < restrict -6 default kod nomodify notrap nopeer noquer
10 open-source Kubernetes tools for highly effective SRE and Ops Teams If you are running workloads in Kubernetes, your site reliability engineering (SRE) and operations (Ops) teams need right kind of tooling to ensure the high-reliability of the Kubernetes cluster and workloads running in it. Here we present a list of 10 open-source Kubernetes tools to make your SRE and Ops teams more effective t
最近Pythonの並列処理をよく使うのでまとめておく。 基本形 並列処理したいメソッドを別に書いてPoolから呼び出す。 multiprocessing.cpu_count()はシステムのCPU数を返す。 僕の環境では4。デュアルコアなのでスレッド数だと思う。 import multiprocessing def f(x): return x*x n = multiprocessing.cpu_count() p = multiprocessing.Pool(n) params = range(1,4) result = p.map(f, params) 1から3までを二乗しているので、次のような結果になる。 >>> print result [1, 4, 9] 複数の引数を渡す Pool().map()には引数は1つしか渡せない。 しかし、これは複数の引数を1つの引数にまとめることで解決
Goでテストを書くお話です。 基本的なところから、応用的なテストの書き方(パターン?)をまとめておくことにしました。 ポイントを先に列挙します: テストのエラーメッセージは丁寧に書こう テーブルテストを活用してパターンを整理しながら網羅しよう t.Runをつかって大きなテストを分割しよう t.Helperをつかってテストエラーの箇所をわかりやすくしよう テスト用のデータは testdata ディレクトリに置こう Setup/Teardownをうまく書いてテストの見通しをよくしよう 等 では、見ていきましょう。 実装 tenntennさんの もっと楽して式の評価器を作る を参考に、シンプルな計算機能を持つ関数(Compute)を書いて、それをテストしてみます(みんなはテストから書こう)。 実装コード: package calc import ( "go/token" "go/types" )
2017/05/18 APIの高速化方法について追記記事を書きました。 GoogleスプレッドシートAPIの高速化 GoogleI/O 2016でSpread Sheet API v4がリリースされました。 動画はこちらです。 盛り上がるのはAndroidなどデバイスにかかわる話だったり新サービスだったりするのですが、私が一番盛り上がったのはこのリリースだったりします 簡潔に書くと 今までの貧弱だったAPIがものすごく強化されシステムに組み込めるレベルになりました。 本記事ではスプレッドシートをプログラムから操作する方法と、実際に何ができるのかを解説していきます。 サンプルとして以下の様なスプレッドシートを作成します。 スプレッドシートAPIとは その名の通りGoogleスプレッドシートをWebシステムやスマホアプリなどプログラム経由で操作することが可能なAPIです。 元々バージョン3があ
概要 ErrbotはPython製のchatbotです。 このページにはErrbotのプラグイン(自作bot)の作り方で学んだことをまとめます。 内容は公式ドキュメントのPlugin Developmentに概ね沿っていて Pythonの基礎的な知識があれば容易に理解できるはずです。 環境構築については以前の記事をご参照ください。 作成前の基礎知識 ローカルディレクトリの読み込み 基本的にErrbotにおけるpluginは 組み込みの!reposコマンドによりgitを経由して管理されます。 ただし、開発中はいちいちgitリポジトリにソースをあげるのも手間ですので ローカルディレクトリからpluginを読み込みます。 errbot --initによって生成されたconfig.pyの中に BOT_EXTRA_PLUGIN_DIRという設定項目があります。 ここにローカルディレクトリとしたいディ
http://qiita.com/attakei/items/29b3f0086296345216df の続き 今回はSlackを監視して動くErrbotの初期構築をしてみます。 準備するもの Slackチーム ↑のチーム内で用意したbotユーザーとトークン 前回の記事で用意したErrbotの稼働環境 config.pyをSlack用に編集する # L47付近 # チャットのバックエンドを指定。今回はここにSlackを指定する BACKEND = 'Slack' # defaults to XMPP # L135付近 BOT_IDENTITY = { # XMPP部分はコメントアウト # XMPP (Jabber) mode # 'username': 'err@localhost', # The JID of the user you have created for the bot #
LIFULL Advent Calendar 2017の8日目の記事です。 普段は海外向けの不動産ポータルサイトの開発に携わっていますが 本記事ではそれとは関係のない個人的な話をします。 はじめに 背景 サービスがスケールすると運用業務が増えますが、時間は有限です。 効率化の一手段として、定型的な仕事をチャットボットに任せることを考えました。 導入に際して 今やチャットボットはどこでも導入されている仕組みですが チャットボット自体の作成や運用にもそれなりに手間がかかります。 ソースコードの管理(情報の秘匿) 使用するユーザの権限の管理 チャットボット実行サーバの運用・監視・権限の管理 など。最初から一気に考えるとやる気とスピードを損ねそうです。 そこで ソースコードは自身のPCの中だけに秘めて 自分のタスクだけを実行するために ローカルでボットを動かす スモールスタートで始めよう と思い立
[ {"id":1,"name":"akane","birthday":"08-16","vivid_info":{"color":"red","weapon":"Rang"}}, {"id":2,"name":"aoi","birthday":"06-17","vivid_info":{"color":"blue","weapon":"Impact"}}, {"id":3,"name":"wakaba","birthday":"05-22","vivid_info":{"color":"green","weapon":"Blade"}}, {"id":4,"name":"himawari","birthday":"07-23","vivid_info":{"color":"yellow","weapon":"Collider"}}, {"id":0,"name":"rei"} ] pac
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? SDN SDN は Software Defined Networking の略称で、ネットワークをソフトウェアで定義するもの全般を指す概念です。これだけだと本当に幅広い意味に取れるので、スイッチに SSH で入ってコマンドを叩くプログラムも SDN だし、そうなると当然 TeraTerm マクロでスイッチの設定するものも SDN です、と言い張れるわけですが、この記事では OpenFlow プロトコルの登場から現在までのネットワーク周りのソフトウェアを中心とした話題を取り上げます。 OpenFlow OpenFlow は 2008 年
はじめに この記事は CrowdWorks Advent Calendar 2017 の8日目の記事です。 Terraform職人の @minamijoyo です。Infrastructure as Codeしてますか? インフラのコード管理に Terraform を使い始めて2年ちょっと、本番環境で運用していると日々色んな学びがあるので、Terraformやってみた系の入門記事では語られない、現場の運用ノウハウ的なものを共有してみようかと思います。 Terraformを使い始めた or 使っている人が、こんなときどうするの?っていうときに参考になれば幸いです。 書き始めたら超長文になりました。概要は以下のとおりです。 公式ドキュメントを読もう tfファイルを書く技術 インデントを揃える 組み込み関数に親しむ lifecycleブロックを使う リソースの差分を無視する リソース再生成のとき
お久しぶりです。本間です。 またSlackのBotを作ったので紹介したいと思います。 今回はまだ使ったことのない「Interactive buttons」を使ってアンケートができるBotを作ってみました。 使い方 HubotのいるチャンネルにJSON形式で作成したアンケートを投稿します。 ダイレクトメッセージでアンケートが届きます。 ボタンを押してアンケートに答えます。 Hubotのいるチャンネルでアンケートの集計を行います。 集計結果はJSONで出力されます。 事前知識 Express Hubot Slack Appの作成 ここからSlack Appを作成します。 次に、Bot Userのtokenを発行するために。認証後のリダイレクトURLを設定します。 Bot Userの名前とオンラインの設定を行います。 Bot Userのtokenを発行 ここの手順に従ってtokenを発行します。
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。 IDソリューション本部の都筑です。 新卒2年目で普段はYahoo! ID連携のサーバーサイド、iOSのSDKの開発などを担当しています。 今回は最近ユーザーやデバイスの認証で用いられる”JSON Web Token(JWT)”についての解説と、Yahoo! JAPANと他社の活用事例を紹介したいと思います。 JWTとは? JWTとはJSON Web Tokenの略称であり、属性情報(Claim)をJSONデータ構造で表現したトークンの仕様です。 仕様はRFC7519(外部サイト)で定められています。 特徴として、署名、暗号化ができ、URL-safeであることなどが挙げられます。発音は"ジョット"です。 JWTと関連す
先日、「How a single PostgreSQL config change improved slow query performance by 50x」というPostgreSQLのSSD環境でのチューニングの記事を見つけたのですが、これをTweetしたらRTやLikeを比較的たくさん頂きました。 How a single PostgreSQL config change improved slow query performance by 50x https://amplitude.engineering/how-a-single-postgresql-config-change-improved-slow-query-performance-by-50x-85593b8991b0 How a single PostgreSQL config change improved sl
All slide content and descriptions are owned by their creators.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く