タグ

sakushin_loのブックマーク (771)

  • Kubernetes上でgRPCサービスを動かす

    Kubernetes上でgRPCサービスを動かすことが多くなってきている.が適切にロードバランスをする,リクエストを落とさずサービスをデプロイするためにいくつか注意することがあるので簡単にまとめておく. 以下の2つを意識する. Kubernetes ServiceはL4のLoad balancer(LB)であること gRPCはコネクションを使いまわすこと KubernetesのPodは死んだり作られたりを繰り返す.KubernetesのPodにはそれぞれ内部IPがアサインされるが,このIPはPodが新しく作成される度に変わる.IPが変わってもPodにアクセスするためにKubernetesではServiceをつくる.ServiceはPodを抽象化しVirtual IP(VIP)を提供する.VIPを使うことでPodのIPが変わってもPodにアクセスすることができる. VIPはNetwork i

  • Ununtu に ClamAV を導入する

    ClamAV を Ubuntu に導入したのだが,思いのほか面倒臭かったので,覚え書きとして記しておく。 ClamAV をインストールする ClamAV のインストール自体は APT (Advanced Package Tool) で簡単にできる。 なお clamav-daemon は ClamAV をサービス化するためのパッケージである。 現時点(2019年5月)で ClamAV の最新は 0.101.x なのだが APT で提供されているバージョンは 0.100.x の古いバージョンのようだ。 一応,以下の脆弱性への対応はしてあるみたいだが ClamAV® blog: ClamAV 0.101.2 and 0.100.3 patches have been released! このバージョンの古さは後々に影響を及ぼすかもしれない。 Debian には最新のソースパッケージがあるようだが

    Ununtu に ClamAV を導入する
  • iOSの消耗型課金のサーバーサイドTipsまとめ - Qiita

    注意 この情報は2017年8月25日現在のものです。 目次 消耗型課金全体の処理フロー レシート検証について 課金アイテムの扱い方について 消耗型課金全体の処理フロー 消耗型課金とは、AppStoreで登録できる使い切りのアイテムへの課金のことをいいます。 たとえば、ゲームアプリでライフを購入するときなどは使い切りのアイテムなので消耗型課金になります。一方、1か月など決まった期間サービスが受けられる課金のことを月額課金や、自動更新購読といいます。 (実際のアイテム登録画面) アプリで消耗型課金商品を購入してからの処理の順番は、下記の図のようになります。 アプリからAppStoreへ購入リクエスト AppStoreからレシートを受取る サーバーサイドへBase64エンコード済みのレシートを投げる サーバーサイドはBase64エンコード済みのレシートを使ってAppStoreにレシート問い合わせ

    iOSの消耗型課金のサーバーサイドTipsまとめ - Qiita
  • なるべく理解したいffmpeg - ザリガニが見ていた...。

    ストリーム・フィルターチェーン・フィルターグラフ・リンクラベルという概念に注目して調べてみた。 ファイル情報を見る ファイルに含まれるビデオとオーディオの形式を確認してみる。 $ ffmpeg -i sample.flv ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers ...中略... Input #0, flv, from 'sample.flv: Metadata: starttime : 0 totalduration : 1155 totaldatarate : 346 bytelength : 50005082 canseekontime : true sourcedata : B0AFCF105HH1424147114695748 purl : pmsg : httphostheader :

    なるべく理解したいffmpeg - ザリガニが見ていた...。
  • Test Sizes

    Small tests should be isolated from each other, but this constraint gets in a way of medium and large tests (especially for web testing). Take a look at what users are doing with Selenium + TestNG. Also, dependencies and high parallelism are not mutually exclusive, it's unfortunate that this rumor is still around. Here is why: http://beust.com/weblog/2009/11/28/hard-core-multicore-with-testng/ Rep

    Test Sizes
  • 【工作】100円ショップの赤ちゃんのオモチャをパワーアップさせてみた - ARuFaの日記

    こんにちは、ARuFaです。 突然ですが先日、100円ショップでこんなものを購入してしまいました。 「ドッキリ!赤ちゃん」というオモチャです 膨大な商品が陳列されている100円ショップの店内を歩いていたところ、突然視界の端に『全裸の赤ちゃん』が写ったような気がし、「いや、そんなわけないか…」と思ってよく見てみると、そこには全裸の赤ちゃんがパッツパツに梱包されていたのです。 けがれを知らないその瞳はキラキラと輝いており、気付けば僕は商品説明などを一切読まずにこの商品を購入していました。 そして帰宅後、僕はさっそく商品を開封し、窮屈そうなパッケージから赤ちゃんを解放してあげることに。 パッケージから取り出してみると、赤ちゃんも心なしか嬉しそうな顔をしている気がしました。 ……そしてこれは余談なのですが、ふと空のパッケージを見ると、赤ちゃんの抜け殻みたいになっていて思わず悲鳴を上げてしまいました

    【工作】100円ショップの赤ちゃんのオモチャをパワーアップさせてみた - ARuFaの日記
  • Set environment variables from file of key/value pairs

    TL;DR: How do I export a set of key/value pairs from a text file into the shell environment? For the record, below is the original version of the question, with examples. I'm writing a script in bash which parses files with 3 variables in a certain folder, this is one of them: MINIENTREGA_FECHALIMITE="2011-03-31" MINIENTREGA_FICHEROS="informe.txt programa.c" MINIENTREGA_DESTINO="./destino/entrega-

    Set environment variables from file of key/value pairs
  • golang のレイヤ構造において、他のコードに影響なくインフラレイヤのデータソース実装を差し替えることは可能か? - pospomeのプログラミング日記

    最近、golang のレイヤ構造において、他のコードに影響なくインフラレイヤのデータソース実装を差し替えることは可能か? という質問を受けた。 回答時間が限られている中で質問を受けたので、 「現実的には難しい」という雑な回答しかできなかった。 さすがに雑すぎるなと思ったので、 自分なりの回答をちゃんと残そうと思う。 影響を受ける対象となるコードは? MySQL -> PostgresSQL への差し替え MySQL -> WebAPI への差し替え インフラレイヤにDB依存のコードをまるっと実装してしまう DDDの場合 独自の接続オブジェクトを作る DDD & IDDDのサンプルはどうなっているか? 差し替える必要はあるのか? まとめ 影響を受ける対象となるコードは?golang のレイヤ構造において、他のコードに影響なくインフラレイヤのデータソース実装を差し替えることは可能か? とい

    golang のレイヤ構造において、他のコードに影響なくインフラレイヤのデータソース実装を差し替えることは可能か? - pospomeのプログラミング日記
  • CQRS+ES on GCP

    Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53

    CQRS+ES on GCP
  • DDDでエンティティ間の関連を「ロールオブジェクト」でスマートに扱う - Qiita

    はじめに 実践ScalaでDDD で発表した中で、エンティティ間の関連を「ロールオブジェクト」として定義する ことをお話ししましたが、スライドでは要約になっています。 実際にプロダクトでやってみて有効なパターンだと感じているので、改めて突っ込んで解説したいと思います。 なお、内容的には Scala をターゲットとしていますが、他の言語にも考え方は応用できると思います。 サマリ DDDで設計していると エンティティ と エンティティ の間に関連があり、その 関連に関するドメインの振る舞い と言うものが出てきます。 例えば 「ユーザー エンティティ」 と 「タスク エンティティ」 がある場合に、その間には 「タスクの作成者」 や 「タスクの担当者」 と言う関連があったりします。 そしてそれらの関連は「タスクの作成者は、タスクを削除する」や「タスクの担当者は、タスクを完了する」のような振る舞いを

    DDDでエンティティ間の関連を「ロールオブジェクト」でスマートに扱う - Qiita
  • インフラストラクチャの永続レイヤーの設計 - .NET

    このコンテンツは eBook の「コンテナー化された .NET アプリケーションの .NET マイクロサービス アーキテクチャ」からの抜粋です。.NET Docs で閲覧できるほか、PDF として無料ダウンロードすると、オンラインで閲覧できます。 データ永続化コンポーネントは、マイクロサービス (つまり、マイクロサービスのデータベース) の境界内でホストされているデータへのアクセスを提供します。 内容としては、リポジトリや作業単位クラス (カスタム Entity Framework (EF) DbContext など) などのコンポーネントの実際の実装が含まれています。 EF DbContext は、リポジトリおよび Unit of Work パターンの両方を実装します。 リポジトリ パターン リポジトリ パターンは、システムのドメイン モデルの外部で永続化の問題を維持することを目的とした

    インフラストラクチャの永続レイヤーの設計 - .NET
  • 脱MacBookしようとしてnew XPS 13 2018年モデルにLinuxをいれてみたけどちょっと後悔してるよ - タオルケット体操

    Linuxはオープンソースなので政治的にも正しいし、自分で改造すれば理論上は無限大の可能性があり、とにかくすごいです。 Macは使うととにかく宗教になってしまい信者だから全部ダメだし、オープンソースじゃないから自由じゃないです。みんながLinuxを使えば無限がたくさんになって、かなりすごいことになるとおもいます。 みなさん使うといいとおもいます。 困ることは何もありませんでした、あったとしても自分でパッチをあてれば理論上は全て解決するのでわるいアップルやマイクロソフトみたいな悪のプロプライエタリ企業の顔色を伺う必要もなく、誇り高いきもちになれます。こんなすごいOSを使える自分はきっと特別な存在なのだと感じました。 *1:たぶんDellは日にDevelopperがいることを知らないんだとおもう。SEしかいないとおもってる *2:正気かよ *3:筆者はペーペーなのでLinux GUIの詳しい

    脱MacBookしようとしてnew XPS 13 2018年モデルにLinuxをいれてみたけどちょっと後悔してるよ - タオルケット体操
    sakushin_lo
    sakushin_lo 2018/06/21
    自分もOSXやめてLinux(with GNOME)をメインにしたクチだけど、いくつかの苦境を超えて快適な環境を手に入れつつある。 キーバインドカスタマイズは窓使いの憂鬱Linux版 https://github.com/kenhys/mayu が特に問題なく動いて良かった。
  • Crypko

    High-quality Anime Character Generation and Design powered by GAN (Generative Adversarial Networks).

    Crypko
  • Dockerコンテナが遅くなるもう一つの原因 | POSTD

    前回の ブログ記事 では、Kubernetesの話と、 ThoughtSpot がKubernetesを開発インフラのニーズに合わせてどのように取り入れたかをご紹介しました。今回はその続報として、最近の興味深いデバッグ経験について少々駆け足になりますがお話ししていきます。記事も「コンテナ化と仮想化はノットイコールである」という事実に基づいており、たとえcgroupの上限がどれも高くない値に設定されホストマシンで十分な演算能力が利用できるとしても、コンテナ化されたプロセス同士がリソースの競合を起こす場合があることを示したいと思います。 ThoughtSpotでは内部のKubernetesクラスタで 多数のCI/CDや開発関連のワークフロー を稼働させており、ある1点を除いては全てが順調でした。唯一問題だったのは、ドッカー化された製品コピーを起動すると、パフォーマンスが期待を極端に下回るレベ

    Dockerコンテナが遅くなるもう一つの原因 | POSTD
  • Angular + Firebaseで作ったWEBサービスをリリースしたので、たまった知見を書き出してみる - Qiita

    Angular + Firebaseで作ったWEBサービスをリリースしたので、たまった知見を書き出してみるJavaScriptAngularSEOSPAFirebase はじめに 以前からちょこちょこ新しいWEBサービスを作っているということをQiitaの記事に掲載していましたが、このたび[SCORERA(verβ)」を正式にリリースしました。(2019年3月にサービス終了) サービス構築、リリースにあたって色々と知見がたまったので、作成過程で詰まったことや、リリースにかかる作業のうち技術的な側面のものを中心に公開しておこうと思います。 目次 前提 どんなサービス? 使用している技術 トピック SCORERAのディレクトリとモジュール構成 RxJSの状態管理 外部ライブラリの選定 FirebaseのRealtime DatabaseFirestore クライアントサイドのエラー取得 An

    Angular + Firebaseで作ったWEBサービスをリリースしたので、たまった知見を書き出してみる - Qiita
  • 『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法

    Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)

    『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
  • Keyboard Layout Editor

    {{(multi.sm || meta.switchMount) ? switches[multi.sm || meta.switchMount].name : 'Mount N/A'}} {{(multi.sb || meta.switchBrand) ? switches[multi.sm || meta.switchMount].brands[multi.sb || meta.switchBrand].name : 'Brand N/A'}} {{(multi.st || meta.switchType) ? switches[multi.sm || meta.switchMount].brands[multi.sb || meta.switchBrand].switches[multi.st || meta.switchType].name : 'Switch N/A'}}

  • tmux 2.4にアップデートしたら"invalid or unknown command"エラーがでるようになった - Qiita

    問題 tmux2.3から2.4にアップデートしたところ,コピーモードに関するキーバインドで"invalid or unknown command"というエラーを吐くようになってしまいました...(泣 備忘録として解決策をここに記しておきます。 詳しい解決方法は解決への3ステップを御覧ください。 解決策 私は.tmux.confに次のようなコピーモードに関するキーバインドを記述しています。同じような設定をしている人も多いのではないでしょうか。

    tmux 2.4にアップデートしたら"invalid or unknown command"エラーがでるようになった - Qiita
  • Markdownエディタを作って月15万円稼ぐためにやったこと — Inkdrop

    自分でもびっくりしてるいぬさん僕はフリーランスをしながら脱受託を目指してアプリを作って生活しています。だいたい1年のうち7割ぐらいをアプリ作りの時間に充てています。稿では、Inkdropというマルチプラットフォーム対応のMarkdownエディタを一人で開発して月15万円の売上を達成するまでにやった事を包み隠さずにシェアしたいと思います。 Inkdropの月間売上の推移やったこと概要毎日感じるちょっとした問題を見つける自分自身がこれだ!と思えるまでプロトタイプを作るプライベートβ期間でヘビーユーザを作る継続性を重視して価格をつける決済処理はStripeで楽に実装する良いランディングページを作るユーザサポートを最優先にする自分の得た知見を惜しまずブログに書くクオリティで勝負する批判を全て無視する毎日感じるちょっとした問題を見つける僕は別に特別でもなんでもありません。人は意外と同じ事を感じたり

    Markdownエディタを作って月15万円稼ぐためにやったこと — Inkdrop
  • Ubuntu 16.04に窓使いの憂鬱をインストールする

    Ubuntu 16.04に窓使いの憂をインストールしたときの手順です。 Ubuntu 14.04にインストールした時の手順を参考にしています。 Ubuntu 14.04にMozcと窓使いの憂をインストールする Mozcは16.04からデフォルトでインストールされるようになりました。 窓使いの憂のインストール 愛用させて頂いています。 http://www42.tok2.com/home/negidakude/ 手順は14.04の時と同様。 まずは必要なライブラリをインストール。 $ sudo apt-get install libudev-dev $ sudo apt-get install libusb-1.0-0-dev $ sudo apt-get install libboost-dev $ sudo apt-get install libboost-iostreams-de

    Ubuntu 16.04に窓使いの憂鬱をインストールする