タグ

ブックマーク / qiita.com (1,116)

  • chan chan は意外と美味しい - Qiita

    すっかり寒くなってきてチャンチャン焼きが美味しい今日この頃ですね(^_^) ところで、Go言語でchannelをchannelで受け渡し出来ること、ご存知でしょうか。 自分の周囲では使っている人少なそうですが、意外と便利なので使用例をいくつか紹介したいと思います。 使用例 1: Request/Response channelは通常片方向の受け渡しですが、channelを二重にすることでレスポンスを受け取ることができます。 例えば処理結果のerrorを受け取りたい場合は chan chan error を使用します。

    chan chan は意外と美味しい - Qiita
  • 俺、このAWS Amplify Consoleでコンテナの自動デプロイ環境が出来たら結婚するんだ - Qiita

    この記事はAWS Amplify Advent Calendar 2019の11日目です。 今回はAWS Amplify Consoleを使ったAWS Fargateのデプロイをご紹介します。 tl;dr amplify addから利用出来るカテゴリだけでなく好きなカテゴリを自由に作成できます。 AWS Amplify ConsoleではCloudFormationテンプレートをデプロイすることが出来るため高度なカスタマイズが可能です。 フロントエンドなしでバックエンドのみのデプロイがAWS Amplify Consoleから可能です。 利用するライブラリのバージョン ライブラリ version

    俺、このAWS Amplify Consoleでコンテナの自動デプロイ環境が出来たら結婚するんだ - Qiita
    y_yuki
    y_yuki 2019/12/11
  • VSCodeの操作ミスでGCP Cloud Composerの裏側k8sをお掃除した話 - Qiita

    tl;dr 筆者はvim派でVSCode初心者。でも勧められたので数カ月ぶりに起動してみた。 Pluginを色々入れていたので、サイドバーにはたくさんのアイコン。なにこれ楽しい。 Cloud Codeタブを触っていたら…指先が震えてトラックパッド誤操作。「Delete Cluster」を押してしまう。 その時たまたま偶然、GCPのオーナー権限を持つIAMで認証していた。 盛大にやらかして復旧が手間だったが、いくつかの理由で障害として顕在化しなかった。 というお話 何をやらかしたのか やらかし当時、筆者はGCPでデータ処理基盤の開発を行っていました。vimとzshが大好きで、開発のすべてをこの2つで済ませてましたが、同僚にVSCodeを猛プッシュされたので使ってみることにしました。 VSCodeは数ヶ月前にインストールしたもののそのときは結局使わず。数ヶ月ぶりの起動でした。 インストール時に

    VSCodeの操作ミスでGCP Cloud Composerの裏側k8sをお掃除した話 - Qiita
  • キング・クリムゾン.js【Guess.js】 - Qiita

    Ateam Hikkoshi Samurai Inc. & Ateam Connect Inc. Advent Calendar 2019 7日目は、19新卒@hinoraがお送りいたします。 みなさんはアニメジョジョ5部、見ましたでしょうか? 僕は今更ながら最近になって見終えました。(めちゃ面白かった) 物語の最後の敵、ディアボロのスタンド「キング・クリムゾン」の能力、とても強力ですよね...! 人の説明によると... 『読める』…… 動きの『軌跡』が読める…… 『未来への動きの軌跡』が… 『キング・クリムゾン』の能力の中ではこの世の時間は消し飛び…… そして全ての人間はこの時間の中で動いた足跡を覚えていないッ! 要するに 1. 👁‍🗨 未来への動きを読む 2. ⌛️ 時間を消し飛ばす という二つの能力を持っているのですが、 今回はそれと大体同じ事ができるGuess.jsをNuxt

    キング・クリムゾン.js【Guess.js】 - Qiita
  • BigQuery で 1 円も溶かさない人の顔 (ZERO BYTE STRUCT を考案した) - Qiita

    自分は BigQuery で Extract-Load されたデータを機械学習モデル用に前処理し、テラバイト級の特徴量エンジニアリングを行っています。この記事では、BigQuery のデータ量を一切消費せず、誇張なく 1 円も溶かさない裏技をまとめます。(2019/12/18 現在) ※ パロ元:BigQueryで150万円溶かした人の顔 元ネタの方と同じ職場で働くことになりましたので、被せて書いております。この記事では、BigQuery 記事最安値を目指します。 速くて安い BigQuery は、データウェアハウスとしても、特徴量エンジニアリングツールとしても優れており、機械学習モデルを用いたサービスを構築する際には、ベースラインとして一候補に挙がるでしょう。 BigQuery の料金 オンデマンドクエリを利用する際、極めて重要なのは読み取りデータ量に対して \$5/TB の料金が発生す

    BigQuery で 1 円も溶かさない人の顔 (ZERO BYTE STRUCT を考案した) - Qiita
  • Serverless Microservices - Saga Transaction - Qiita

    CloudNativeがここまで進化するとインスタンスの仮想化技術をベースとしたシステムなど使いたくなくなってしまいます。 私は新たにシステムを構築する際、必ずServerless Firstの考え方で設計をしていきます。 その中でAWS LambdaAmazon DynamoDBを中心にMicroservicesの設計をしていくのですが、 ACIDの部分をどう対処するかが一番悩むところです。 今回はServeice間のTransactionに関する話を自分なりに整理していきたいと思います。 図1 Saga Design Pattern Sagaは複数のサービスにまたがるトランザクションを実装するためのマイクロサービスアーキテクチャパターンです。 複数のマイクロサービス間でデータ一貫性を実現するもので、Sagaには2つのパターンがあります。 1. Choreography-based S

    Serverless Microservices - Saga Transaction - Qiita
  • 数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ - Qiita

    Help us understand the problem. What is going on with this article? このエントリはCompetitive Programming (1) Advent Calendar 2019 4日目のエントリで、バーチャル幼女プログラマーきりみんちゃんが書いています。 きりみんちゃんはVTuberとしてAtCoderの過去問を解く配信をしたりしています。 競プロ、しっていますか? さて、みなさんは競技プログラミング/プログラミングコンテストというものをご存知でしょうか。 かなり昔から行われているものではあるので、存在は知っているという方が多いかもしれません。 競技プログラミングをざっくり説明すると、期待される入力と出力が定義された問題が出題され、それをコーディングによって解き用意された自動テストを通すまでの速度などを競うコンテストです

    数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ - Qiita
  • 社内slackにVIPチャンネルを作った話 - Qiita

    ABEJA Advent Calendarの1日目です。 はじめに 昨年はABEJA Platformに関するAdvent Calendarでしたが、今年はプラットフォームに限らず幅広い技術を扱おう、ということで縛りを作らずに様々な技術を紹介していきます。 さて、皆さん、社内でのコミュニケーションツールは何をお使いでしょうか。色々なツールがあると思いますが、Slackを使っている所が多いのではないかと思います。Slackはとても良いツールなのですが、使いこなす会社側にその運用ルールが委ねられています。中でも、DMやプライベートチャンネルでの秘密の会話による情報格差などが発生することが問題になり、オープンチャンネルに限定している会社も多いのではないでしょうか。しかしながら、オープンに会話をすれば、皆が平等かつ平和に会話ができるか?というと、全くそんなことはありません。オープンにすると下記のよ

    社内slackにVIPチャンネルを作った話 - Qiita
    y_yuki
    y_yuki 2019/12/03
  • Vueのカレンダー | Advent Calendar 2019 - Qiita

    The Qiita Advent Calendar 2019 is supported by the following companies, organizations, and services.

    Vueのカレンダー | Advent Calendar 2019 - Qiita
  • Qiitaのスパム狩りをしたらAutoMLに仕事を奪われた件 - Qiita

    知っている人は知っていると思うが、Qiitaではたびたび大量のスパム記事が投稿されている。 深夜24~26時頃に記事一覧を確認してみて欲しい。 スパム記事がわんさか出てくるはず。 登録したてのQiitaユーザは不安よな。1 ———— @dcm_chida 動きます🧐 はじめに これはNTTドコモサービスイノベーション部AdventCalendar2019の1日目の記事です。 我々の部署では日頃から「KDDCUP2」や「論文読み会」に取り組んでおり、若手から中堅社員まで最先端の技術取得に励んでいます。 そうした活動をもっと外部へと発信していこうと始めたのがこのAdventCalendarです。社員一人一人が書いた記事を通して、少しでも多くの方に興味を持って頂ければ幸いです。 さて、僕は4年目社員ですがプログラミング初心者の頃から現在に至るまで、Qiitaにはかなりお世話になりました。 自分

    Qiitaのスパム狩りをしたらAutoMLに仕事を奪われた件 - Qiita
  • PlantUMLによってコードベースでAWSのアーキテクチャー図を作る方法 - Qiita

    AWS上にサービスを構築するうえで、アーキテクチャー図を作る機会はままあるかと思います。 その際、draw.ioやCacooなどのウェブサービスで作っている人も多いのではないでしょうか。 今回は別のアプローチとして、PlantUMLによってコードベースでAWSのアーキテクチャー図を作る方法をご紹介します。 PlantUMLの実行環境を用意 まずは、PlantUMLの実行環境を用意します。 ローカル環境にインストールするのもいいですが、素早く試したい場合はPlantUML Web Serverを使うのが便利です。 AWSのアイコンセットを用意 PlantUMLでは、ファイルパスやURLを指定してリソースをインポートすることができます。 これにより自作の画像を組み込むことができるわけですが、ありがたいことにAWSが公式にPlantUMLのためのアイコンセットを配布しています。 awslabs/

    PlantUMLによってコードベースでAWSのアーキテクチャー図を作る方法 - Qiita
  • Terraformアンチパターン(2019年版) - Qiita

    はじめに Infrastructure as Code(以下IaCと略します)って最近では当たり前のように実践されてますよね。特にterraformはかなりユーザが多く、開発のスピードも速い印象です。 IaCを実現できたインフラエンジニアの皆さんの多くが次に直面する問題はコードの保守運用に関する事柄ではないでしょうか? terraformもコードなので、アプリケーションのコードと同じように保守性(テスト容易性、理解容易性、変更容易性)を意識する必要があります。ただコード化しただけでは属人性を排除したとは言えないと思います。 保守性の高いterraformって具体的にどう書けばいいの?と周りに聞いてみても、巷には「ぼくのかんがえた最強のterraformベストプラクティス」が乱立していて、自転車置き場の議論になりがちです。 また、v0.12前後でterraformの記法が大きく変わったので、

    Terraformアンチパターン(2019年版) - Qiita
  • RaspberrypiでLINE通知する簡易防犯カメラ - Qiita

    はじめに(2019.12.7構成図追加) 自宅のセキュリティを強化したいと思ってRaspberryPiで簡易防犯カメラを自作。セキュリティサービスや高価なカメラを買う前にちょっと試してみたいという方向け。 玄関前やリビング窓の不審者を検知しLINE通知させたり、LINEBot経由で好きなときに撮影させようと思う。 今回は左から右の赤線のように、カメラからストリーミングした動画をmotionというパッケージで動体検知させてLINENotifyで通知する。 将来的にはオレンジ点線のようにLINEBot経由で撮影させたい。 準備するもの ・RaspberryPi Zero WH ・カメラモジュール ・zero用カメラケーブル ※これらは事前に接続しておいてください ・RaspberryPiへRaspbianOSのインストール ・SSH接続ユーザの作成 ・LINE Notifyアクセストークン 今

    RaspberrypiでLINE通知する簡易防犯カメラ - Qiita
  • Nest.jsは素晴らしい - Qiita

    Node.jsとExpressでサーバー側のシステムを開発していたのですが、Nest.jsと言うサーバー側のフルスタックフレームワークがあることを知り、乗り換えることにしました。 メリットとデメリット どんなものにも、メリットとデメリットがあります。自分にとって「メリット>デメリット」となったら採用する価値が出てきます。 私が感じたNest.jsのメリットとデメリットは以下の通りです。 メリット Angular風なので、クライアントにAngularを採用するのであれば、同じような考え方で開発することができる TypeScriptで開発しやすい 予め以下のような構成でシステムを作ることができ、メンテナンス性が向上する(人による実装方法の違いをある程度抑制できる) controller filter guard interceptor interface middleware module p

    Nest.jsは素晴らしい - Qiita
  • Slack API 新機能を使ってアプリのホーム・ヴューを活用しよう🏡 - Qiita

    Published: 2019-11-24 Updated: 2020-02-11 OAuth 権限設定についての変更がありましたので、チュートリアルのその設定部分を編集しました。 先日おこなわれた TinySpec Osaka & Tokyo でお約束した通り、日語の App Home チュートリアルを書きました。 今回新しくリリースされた機能、App Home は、ユーザと Slack を1対1で繋ぐことができるスペースで、さらにユーザに直感的にアプリを使ってもらうために加えられた機能なのです。App Home には3つのタブがあり、アプリについての情報をみるための About、チャット対話式ボット機能がある場合にそのボットとダイレクトメッセージで会話できる Messages、そして今回新しく Home タブが加わりました。 この Home タブは、アプリと各ユーザの間を繋ぐプライベ

    Slack API 新機能を使ってアプリのホーム・ヴューを活用しよう🏡 - Qiita
    y_yuki
    y_yuki 2019/11/25
  • OpenCV をビジュアルプログラミングできるアプリを Electron + Vue.js で作成 - Qiita

    要約 Electron + Vue.js で、OpenCVをビジュアルプログラミング的に実行できるアプリ(仮称: OpenCVFlow)を自分の勉強がてら作ってみました。 上の動画のように、画像処理を定義したブロックを並べ、それをリンクでつなげることで、処理を順次実行して結果を確認、保存することができます。機能としてはそれほど多くなく、実用まではいかないかもしれませんが、なにか参考になれば幸いです。(個人的には、ElectronやVue.jsを格的に使用するのは初めてでしたが、それなりに動くものが作れて満足しています。) 採用技術 アプリケーションエンジン: Electron フロントエンドフレームワーク: Vue.js UIフレームワーク: Photon OpenCVライブラリ: opencv4nodejs デザインパターン: アトミックデザイン アトミックデザインについて 今回は、U

    OpenCV をビジュアルプログラミングできるアプリを Electron + Vue.js で作成 - Qiita
  • Goでヘキサゴナルアーキテクチャ - Qiita

    はじめに 『Standard Go Project Layout』と『ヘキサゴナルアーキテクチャ』を参考にサンプルプロジェクトを作ってみました。 トランザクション周りも取り扱います。 『Standard Go Project Layout』とは ↓これです。 Standard Go Project Layout 上記の内容を日語で簡潔にまとめてくださってる記事もありました。 Goにはディレクトリ構成のスタンダードがあるらしい。 別の記事になりますが、こちらもとても参考になりました。 Practical Go: Real world advice for writing maintainable Go programs ヘキサゴナルアーキテクチャとは ↓これです。 ヘキサゴナルアーキテクチャ(Hexagonal architecture翻訳) 家サイトへのリンクも張りたかったのですが、現

    Goでヘキサゴナルアーキテクチャ - Qiita
    y_yuki
    y_yuki 2019/11/19
  • 設計要件をギッチギチに詰めたValueObjectで低凝集クラスを爆殺する - Qiita

    /// <summary>契約金額</summary> public class ContractAmount { public int AmountIncludingTax; public decimal SalesTaxRate; } 当然データの入れ物(以後データクラスと呼称)だけでなく、税込み金額を計算するロジックが必要です。ここであまり設計を考えないと、この手の演算ロジックはデータクラスとは別のクラスに実装されることが多いです。以下のようにControllerに実装されることが多いのではないでしょうか。 /// <summary>契約コントローラー</summary> public class ContractController { private ContractAmount _contractAmount; /// <summary>税込金額を計算する。</summary>

    設計要件をギッチギチに詰めたValueObjectで低凝集クラスを爆殺する - Qiita
  • Terraform職人入門: 日々の運用で学んだ知見を淡々とまとめる - Qiita

    はじめに この記事は CrowdWorks Advent Calendar 2017 の8日目の記事です。 Terraform職人の @minamijoyo です。Infrastructure as Codeしてますか? インフラのコード管理に Terraform を使い始めて2年ちょっと、番環境で運用していると日々色んな学びがあるので、Terraformやってみた系の入門記事では語られない、現場の運用ノウハウ的なものを共有してみようかと思います。 Terraformを使い始めた or 使っている人が、こんなときどうするの?っていうときに参考になれば幸いです。 書き始めたら超長文になりました。概要は以下のとおりです。 公式ドキュメントを読もう tfファイルを書く技術 インデントを揃える 組み込み関数に親しむ lifecycleブロックを使う リソースの差分を無視する リソース再生成のとき

    Terraform職人入門: 日々の運用で学んだ知見を淡々とまとめる - Qiita
  • 関心の分離を意識した名前設計で巨大クラスを爆殺する - Qiita

    大量のメソッドを保有し、数千、数万行単位にぶくぶく膨れ上がった巨大クラス。別名「神クラス」とも「大きな泥団子」とも呼ばれる、長大で複雑で、様々なクラスと密結合で極めて変更が困難なアイツ。 そんな巨大クラスの退治に有効な、命名に関する考え方を紹介致します。 解決したい課題、狙う効果 数千、数万行単位の巨大クラスの登場を抑止する。 巨大クラスを爆砕し、小さなクラス群に分割する。 クラス結合度を下げ、影響範囲を小さくすることで保守コストや変更コストを下げる。 ダメな例 例えばECサイトの「商品」を考えてみます。 よくありがちなのは、商品をそのまま「商品クラス」と設計してしまうこと。 単純な商品クラスは、往々にして出品、予約、注文、発送など、様々なユースケースのクラスと結合してしまいがちです。 商品クラス自体も、結合したクラスに関連する知識(ロジック)を持ち始め、どんどん巨大化複雑化していきます。

    関心の分離を意識した名前設計で巨大クラスを爆殺する - Qiita