タグ

ブックマーク / thinkit.co.jp (63)

  • ITエンジニアに刺さる「ポッドキャスト6選」

    はじめに 皆さんは「ポッドキャスト」を聞いていますか? ポッドキャストは個人でも配信できる音声メディアのことです。特定のサービスを指すわけではなく、音声ファイルをWebサーバーに置き、RSSフィードで更新情報を配信すればポッドキャストとして認識されます。ポッドキャストのアプリでは、そのRSSフィードのURLを登録すると随時更新された音声データを聴くことができる、という仕組みです。専用のアプリをインストールしておくと番組が更新された時点でプッシュ通知されるため、常に最新の音声データをチェックできます。 ポッドキャストという名前の通り、「iPod」時代の遺物といったイメージもあるかもしれません。しかし昨今、ポッドキャストが見直されているようです。大きな流れとしては、2018年に「Anchor」というポッドキャスト配信サービスが広まったことに起因すると思われます。録音から配信までを1つのサービス

    ITエンジニアに刺さる「ポッドキャスト6選」
    peketamin
    peketamin 2022/06/16
  • DropboxがコアサービスをRustで書き換えた背景とは

    ファイルシェアサービスのDropboxが主要なコンポーネントをPythonからRustに書き換えた。その背景を探る。合わせて、Rustの普及についても紹介する。 ファイルシェアサービス(クラウドストレージ)のDropboxが、コアとなるサービスの一つをPythonからRustで書き直したことをブログで公開した。これはクライアントとサーバー間でファイルを同期させる重要なコンポーネントである「Sync Engine」と呼ばれるソフトウェアを、PythonからRustに変えた背景を解説したものだ。 参考:Rewriting the heart of our sync engine Rustは、Mozilla Foundationが開発をリードしているメモリーセーフなコードの生成を目指したオープンソースの低レベルプログラミング言語だ。ここで言う「低レベル」とは、アセンブラーやC言語と同様に抽象度が

    DropboxがコアサービスをRustで書き換えた背景とは
    peketamin
    peketamin 2022/02/12
  • ロバストネス図を活用したシステム設計

    ロバストネス図とは 今回のテーマは「ロバストネス図」です。ロバストネス図とは、ロバストネス分析を行った結果のアウトプットとなります。ロバストネス分析とは、スリーアミーゴス(ソフトウェアの分野における統一モデリング言語(UML)を開発した3人)の1人であるイヴァー・ヤコブソンが提唱した分析手法で、システムを「バウンダリ」「エンティティ」「コントロール」の3つに分けて分析し(これらについては後述します)、要求モデル(ドメインモデル、ユースケースモデル)をロバスト(堅牢、強靭)にします。 ロバストネス図はUMLで定義されている13種類のダイアグラムには入っていませんが、UMLのコミュニケーション図やコラボレーション図を簡略化した形で簡単に書くことができます。ロバストネス図を書くことで要件の振る舞いが整理され、実装すべき点を明確にできます。 ユースケースシナリオを作成する ロバストネス図のインプッ

    ロバストネス図を活用したシステム設計
    peketamin
    peketamin 2021/07/02
  • ITの英語:ITエンジニアが知っておきたい英単語と表現

    はじめに ITエンジニアとして英語を使う際に、単語や表現の知識が足りないと困ることはありませんか。ITエンジニアに必要な専門知識は持っていても、英語の単語や表現が分からないために、業務がスムーズに行えないのは悔しいですよね。 しかし、数多くある英単語や表現の中から、何を覚えるべきか判断するのも簡単ではありません。そこで今回は、ITエンジニアとして知っておきたい英単語と表現を、3つの場面から紹介します。これらの単語や表現は他の場面でも応用できるものなので、ぜひ覚えておきましょう。 また、単語や表現の日語訳だけを覚えても、文中での使い方が分からない場合もあります。今回は、単語や表現の意味を確認した後に会話動画で用法をご確認いただけるので、使い方のイメージをしっかりと持つことができます。 提案について 上司と打ち合わせをする際の単語と表現 最初に取り上げる場面は、顧客に対して提案する内容につい

    ITの英語:ITエンジニアが知っておきたい英単語と表現
    peketamin
    peketamin 2021/03/30
  • Kubernetes上のアプリケーション開発を加速させるツール(2) Telepresence

    Goアプリケーション*4など、静的リンクしているバイナリでは利用できないsuidしたバイナリはTelepresence Shell内で動作しない/etc/resolv.confをパースするようなカスタムDNSリゾルバ、自身に対するDNS lookupは動かない *2:全制約事項についてはa href="https://www.telepresence.io/reference/methods" target="blank">公式ページを参照してください。 *3:LinuxのLD_PRELOADとmacOSのDYLD_INSERT_LIBRARIESを利用した方法で、詳細はこちらのブログで詳しく解説されています。 *4:go buildではなくgccgoによるビルドやGODEBUG環境変数でnetdnsのリゾルバをcgoに変更するなどのワークアラウンドは存在しますが、非推奨です。 *5:--

    Kubernetes上のアプリケーション開発を加速させるツール(2) Telepresence
    peketamin
    peketamin 2020/10/07
  • プログラマとテストエンジニアにバトル勃発!正しいバグ票の書き方とは?

    バグレポートに関する問題はどこでも起きている 記事は、バグの修正依頼として作成されるバグ票(バグレポート)を対象としています。プログラマが自身でデバッグを一通り終えた後で、テストを専門とするテストエンジニアにそのプログラムをテストしてもらい、その際に検出されたバグを報告してもらうための文書がバグレポートです。独立した部門でテストを実施している会社では、このような形態とバグレポートによる修正依頼が一般的だと思います。 連載は、テストエンジニア向けに、バグ修正のプロセスにおいて非常に重要でありながら、あまり注目されていないバグレポートのあるべき姿をさぐってみたいと思います。 早速ですが、プログラマとテストエンジニアの間でこのようなやりとりがあるのを見たことはありませんか? テストエンジニアとプログラマの間でこんなやりとりが起こっていませんか? 開発進捗会議にて プロジェクトリーダ: Aさん

    peketamin
    peketamin 2020/05/22
  • Istioがマイクロサービスからモノリシックなアプリに変化。その背景とは

    サービスメッシュを実装するオープンソースソフトウェアIstioが最新バージョンを公開した。このリリースではこれまでのコントロールプレーンの発想を一新して、複数のプロセスが協調する形から、「istiod」というモノリシックなプロセスが制御を行う方式に変更されたことが明らかになった。 バージョンアップの概要はIstioのブログ記事にあるが、より詳細にマイクロサービスからモノリシックへの変更に関しては、Christian Posta氏によるブログ記事が参考になる。 公式サイト:Istio in 2020 - Following the Trade Winds Solo.incのField CTOであるPosta氏はRed Hatのアーキテクトというキャリアの持ち主で、2019年11月のKubeConではマイクロサービスを指向するプログラミング言語であるBallerinaのセッションを行ったことも

    Istioがマイクロサービスからモノリシックなアプリに変化。その背景とは
    peketamin
    peketamin 2020/05/15
  • Kubernetes 1.18の新機能を学び、使ってみよう

    はじめに Kubernetes 1.18(以降、1.18)が2020年3月24日にリリースされました。ここではリリースノートで紹介された5つの注目機能に加えて、筆者が注目するHorizontalPodAutoscalerのspec.behaviorフィールドの追加、ノードローカルDNSキャッシュ、Pod StartupProbeを紹介し、最後にStartupProbeを試していきます。 Kubernetes 1.18注目の新機能 最初に1.18リリースノートにおける5つの注目機能について、それぞれ解説します。 Topology Manager(ベータ) Topology Managerは、NUMA(Non-Uniform Memory Access、ヌマ)の環境において、コンテナの使用するCPUとデバイスの同一ソケット(NUMAノード)への割り当てを可能にします。Topology Mana

    Kubernetes 1.18の新機能を学び、使ってみよう
    peketamin
    peketamin 2020/05/10
  • レッドハットの女性エンジニアに訊いた「こんな上司は苦手」の真相

    「インフラストラクチャー領域に女性エンジニアがいないのはなぜか?」今回はレッドハットのエンジニアに訊いてみた。 インフラストラクチャー系のソフトウェアの世界に女性エンジニアが少ないという日特有の状況に対して、その原因を掘り下げるための連載シリーズは、これまで日アイ・ビー・エムのエンジニアに複数回インタビューを行ってきた。今回は、オープンソースソフトウェアをコアに置くレッドハットの女性エンジニアにインタビューを行った。 今回、インタビューに応えてくれたのは、レッドハット株式会社テクニカルソリューション部の2名の女性エンジニアだ。松田絵里奈氏はレッドハットのルールベースのビジネスロジックを実装するBRMSのプリセールスエンジニア、手塚由起子氏はレッドハットのパートナー担当のプリセールスエンジニアだ。松田氏はシニアソリューションアーキテクト、手塚氏はソリューションアーキテクトのタイトルを持

    レッドハットの女性エンジニアに訊いた「こんな上司は苦手」の真相
    peketamin
    peketamin 2020/04/14
  • GitHubがCI/CDソリューションを発表。GitHub Actionsによる実装

    ソースコードリポジトリーサービスのデファクトスタンダードと言っても良いGitHub。その日法人であるギットハブ・ジャパン合同会社が、GitHub上で実装されたCI/CDソリューションGitHub Actionsに関する説明会を実施した。GitHub Actionsは、2018年のGitHub Universeで発表されたGitHubのワークフローを実装するための仕組みだ。 GitHub Actionsは発表の当初から「ワークフロー」というキーワードから連想される「CI/CD」領域への応用が噂されていたと言える。筆者は2018年11月に開催されたGitHub Universeにおいて、製品担当のVPに「GitHub ActionsはCI/CDツールになるのか?」という質問を行っていた。これに対しての回答は「YesでもありNoでもある」というものであった。 そもそもGitHub社内では「Sc

    GitHubがCI/CDソリューションを発表。GitHub Actionsによる実装
    peketamin
    peketamin 2019/11/12
  • 2年経って何が変わった? 国内のDevRel事情

    2017年に掲載した開発者に自社サービスを使ってもらうには? DevRel(Developer Relations)がその解になる。DevRelという単語は徐々に広まってはいるものの、まだまだ誰でも知っているというレベルではない。ただし、DevRelに取り組んでいる企業はすでに多数あり、彼らはあえて自分たちが行っているのはDevRelであると喧伝していないだけでもある。そんな国内のDevRel事情について、開発者向けマーケティングを展開するMOONGIFTの中津川 篤司氏に解説をお願いした。 まずは繰り返しですがDevRelについて簡単に解説してください DevRelはDeveloper Relationsの略語で、自社製品やサービスと開発者の良好な関係性を築くためのマーケティング施策になります。その活動は多岐にわたり、ブログやドキュメントといったコンテンツマーケティング、開発者コミュニテ

    2年経って何が変わった? 国内のDevRel事情
    peketamin
    peketamin 2019/05/23
  • gRPCに関する初のカンファレンス、gRPC ConfがGoogle本社で開催

    マイクロサービスのベースとなるRPCフレームワークのgRPCに関するカンファレンスが、Google社で開催された。 クラウドネイティブなアプリケーションでは、アプリケーション全体を小さなプロセスに分割してステートレスなコンテナの集合体として実装することが最近のトレンドだ。その際の「プロセス間の通信をどうするのか?」については、REST APIというのが大凡の解答だったように思える。 それに対して、Googleが社内で使用していたStubbyの経験を活かして、オープンソースとして公開したのがgRPCだ。2016年にGooglegRPC 1.0を公開し、CNCFでのインキュベーションプロジェクトとなったのが約半年後の2017年1月、その後2019年3月に至るまですでに多くのユースケースで利用が拡がっている。そのgRPCに関する初めてのカンファレンスgRPC Conf 2019が、Googl

    gRPCに関する初のカンファレンス、gRPC ConfがGoogle本社で開催
  • ISUCON史上初の学生チーム優勝! 勝利のカギは「チームワーク」と「失敗からの学び」

    決められたレギュレーションの中で、お題となるWebサービスを限界まで高速化するチューニングバトル「ISUCON」。最大3名でチームを組み、アプリケーションに自由に手を加え、出題者が用意したベンチマークで最も優れたスコアを叩き出したチームが優勝となるコンテストだ。 2018年で8回目の開催となるISUCON8(予選参加チーム数528組(一般432、学生96)、参加者合計1392人。うち30チームが選出場)に激震が走ったのは10月のこと。ISUCON史上初の学生チームが優勝をさらったのだ。稿では、優勝チームのメンバーである中西 建登さん、市川 遼さん、薮 雅文さんにISUCON優勝までの軌跡を聞いた。インタビュアーはリードエンジニアの亀岡 亮太さんに務めていただいた。 個性的なメンバーでチームを結成 亀岡:自己紹介をお願いします。 中西:電気通信大学2年の中西です。もともとサーバー運用会社

    ISUCON史上初の学生チーム優勝! 勝利のカギは「チームワーク」と「失敗からの学び」
    peketamin
    peketamin 2019/02/14
  • クラウドネイティブなプログラミング言語Ballerinaとは?

    CNCFがホストしたWebinarで紹介された、クラウドネイティブなインテグレーションを目的とした言語Balerinaとは? 現在、モノリシックなソフトウェアから、コンテナを中心としたサービスが連携するマイクロサービスなシステムへの移行が進んでいる。クラウドネイティブと呼ばれるようなマイクロサービスのシステムでは、コンテナは入れ物でしかないし、Kubernetesはそれを協調させるためのスケジューラーとして、最終的に複数のコンテナが稼働することで突然のアクセスのピークへの対応や、エラー処理を全体として担保することが要点になる。Kubernetesが選ばれるのは、それらの変動に対して基機能として対応できる部分が評価されているからだろう。しかし一部のシステムが稼働していない場合の処理、例えば一定時間のリトライを制御するサーキットブレーカーをどの部分で実装するのか? などに関しては、まだ各々が

    クラウドネイティブなプログラミング言語Ballerinaとは?
    peketamin
    peketamin 2019/01/08
  • Sparkのデータ処理プロセスと処理性能のボトルネック

    処理時間の増大という性能問題を解決するには、その問題が発生している箇所と処理過程を特定する必要があります。そのため、まずはSparkのデータ処理の概要を解説します(図1)。 Sparkでは、Map処理からReduce処理へ遷移する際に中間データを生成・出力します。その処理を「シャッフル」と呼びます。このとき、中間データはファイル出力されるため「シャッフルファイル」とも呼ばれます。 図1の処理を順序に沿って解説します。 HDFSから処理対象の消費電力量データをメモリ上に読み出します。このとき、Sparkが管理する領域にデータを読み出します。 読み出したデータをメモリ上で集計処理します。 処理後、中間データ(シャッフルファイル)をファイル出力しますが、ディスクへ書き込む前にメモリ上のOSが管理するページキャッシュ領域に書き込みます。 その後、中間データをまとめてディスクへ非同期に書き込みます。

    Sparkのデータ処理プロセスと処理性能のボトルネック
    peketamin
    peketamin 2018/11/10
  • CNCF、Prometheus as a ServiceのCortexをサンドボックスプロジェクトとして採用

    CNCFはWeaveworksが開発を進めるPrometheus as a ServiceのCortexを、サンドボックスプロジェクトとして採用。コンテナ監視のスケールアウトを目指す。 クラウドネイティブなコンピューティングを実現するためのソフトウェアスタックを推進するCloud Native Computing Foundation(以下、CNCF)は、マルチテナント型のモニタリングサービスを実現するCortexを、サンドボックスプロジェクトとして採用したことを発表した。 参考:CNCFのリリース:CNCF To Host Cortex in the Sandbox これはWeaveworksが開発を進めている監視ソリューションであるCortexを、CNCFのプロジェクトとしてホストすることを決定したというものだ。 Weaveworksのブログにあった言葉を用いてシンプルに表現すると、C

    CNCF、Prometheus as a ServiceのCortexをサンドボックスプロジェクトとして採用
    peketamin
    peketamin 2018/10/27
  • 開発者のためのソフトウェアテストのスキルアップ | Think IT(シンクイット)

    はじめに ここまで、さまざまなソフトウェアテストの考え方や種類を紹介してきました。開発者がソフトウェアテストを活用していくなかで、「どのように問題を分割してすすめて行けば良いのか」と「どのようなテストケースを選択するのか」という2つの課題は筆者に多く相談がきます。 今回は、この2つの課題に対して、どのような方法で自らのスキルを上げて行けば解決できるのかを解説します。具体的には、前者には「Mikadoメソッド」を、後者には「テスト技法」を活用します。 筆者がよく耳にするソフトウェアテストの課題 開発者がTDDやテスト設計に取り組む際、筆者はよく次のような課題を耳にします。 どのように問題を分割するのか問題に対してどのようなテストケースを選択するのか 「どのように問題を分割するのか」とは、TDDやテスト設計において「開発対象をどのような問題に分割してテストを作れば良いのかわからない」といった課

    開発者のためのソフトウェアテストのスキルアップ | Think IT(シンクイット)
    peketamin
    peketamin 2018/10/17
  • BIの周辺技術

    peketamin
    peketamin 2018/07/06
  • Kubernetesで機械学習を実現するKubeflowとは?

    KubeCon+CloudNativeConにおいて、Kubernetes上で機械学習を実現するKubeflowが紹介された。 Kubernetesを中心としたクラウドネイティブなソフトウェアのカンファレンスであるKubeCon+CloudNativeCon、3日目のハイライトはなんと言ってもKubeflowだろう。朝9時から始まったキーノートの最初に登壇したGoogleのDavid Aronchick氏は、「KubeConには第1回から参加している」と語り、Kubernetesの盛り上がりに驚きを隠せないようだった。今回は、Kubernetesとともに今最も注目を集めている機械学習をクラウドネイティブにするという、Kubeflowを紹介するセッションとなった。 最初に紹介したのは、機械学習を使う効果だ。Googleのデータセンターの消費電力について、機械学習で制御を行った場合と、人手で制

    Kubernetesで機械学習を実現するKubeflowとは?
    peketamin
    peketamin 2018/06/02
  • ソフトウェアテストのスムーズな導入

    はじめに 第1回で解説したように、ソフトウェアテストによって開発を効率良く進めることはできますが、その取り入れ方も効果的なほうが良いでしょう。 そこで今回は、テスト自体による効果ではなく、テストの効果的な取り入れ方について解説します。 ソフトウェアテストの2つのアプローチ ソフトウェアテストだけに限りませんが、何か活動を起こすときには「継続のしやすさ」が重要になります。現時点で皆さんが実施中の活動についてもそうですが、ソフトウェアテストに関する活動を起こし継続させていく際に障害が起きやすい始め方はできるだけ避けましょう。 筆者がこれまでの経験から見てきた障害で多かったものは、次の2つです。 興味がないものを無理やりやっておりモチベーションが上がらない マネジメントや決裁権を持っている人間から反対されて止められてしまう これらは継続のしやすさを下げるものです。筆者はそれぞれに対するアプローチ

    ソフトウェアテストのスムーズな導入
    peketamin
    peketamin 2018/02/08