2019年7月17日、kafka.apache.jpが主催するイベント「Apache Kafka Meetup Japan #7」がLINE株式会社にて開催されました。分散ストリーミングプラットフォーム「Apache Kafka」に関するナレッジや最新情報を共有する本イベント。今回は4人のエンジニアが、自身や自社における知見を語りました。プレゼンテーション「Kafka Broker performance degradation by mysterious JVM pause」に登壇したのは、LINE株式会社の河村勇人氏。ある日Kafkaに起こった突然のパフォーマンス低下とその原因について、解決までの軌跡を語りました。講演資料はこちら Apache Kafkaのパフォーマンス低下とその原因 河村勇人氏:よろしくお願いします。最初に自己紹介をします。河村勇人といいます。 LINEで全社向けの
こんにちは、Necoプロジェクトのsatです。 本記事ではKubernetes(以下K8sと記載)アプリケーション(以降アプリと記載)の開発を高速化するツール、Telepresenceを紹介します。 最初に結論を書いておくと、Telepresenceは次のようなツールです。 ローカルで動くプロセスやコンテナをk8sクラスタの中で動かせる 既存のDeployment内のコンテナを上記ローカルコンテナで置き換えられる テストやデバッグのためにいちいちコンテナイメージをレジストリにpush,そこからpull…とする必要がないので開発速度が上げられる Telepresenceは現在Cloud Native Computing FoundationのSandBoxプロジェクトです。 Telepresence登場の背景 前節において"開発を高速化する"と書きましたが、まずはTelepresenceを使
Profile id: Songmu (ソンムー) Masayuki Matsuki / 松木雅幸 Nature Japan 株式会社 取締役CTO おそらくはそれさえも平凡な日々 http://www.songmu.jp/riji/ https://metacpan.org/author/SONGMU 好きな言語は、PerlとGoと中国語 200+ GitHub Public Repositories 60+ CPAN Modules 50+ Go modules/tools 3 Times ISUCON Winner Using Perl YAPC::Tokyo 2019 ベストスピーカー
This tool instantly converts JSON into a Go type definition. Paste a JSON structure on the left and the equivalent Go type will be generated to the right, which you can paste into your program. The script has to make some assumptions, so double-check the output! For an example, try converting JSON from the SmartyStreets API or the GitHub API. © 2015 Matt Holt (@mholt6) • View on GitHub • Dark mode
2018年夏(Go1.10)時点でGoのテスト方法をまとめる。 この記事は以下のスライド資料の補足記事になる。 Tour of testing in 2018 https://speakerdeck.com/budougumi0617/tour-of-testing-in-2018 TL;DR Goでテストを行なうときの方法をまとめた。 原則標準パッケージ・標準コマンドの説明のみ サンプルリポジトリは以下 https://github.com/budougumi0617/go-testing testing パッケージ https://golang.org/pkg/testing/ まずは基本としてtestingパッケージがある。Goのテストで使うメソッドは基本的にこのpkg配下にある。(HTTP関連のテストで使うhttptestはnet/httppkg配下にある。) Goでテストを書くと
はじめに メルペイ エキスパートチームのtenntennです。 メルカリグループでは、毎週金曜日にGo Fridayという社内勉強会を開催しています。 毎週やっているとそれなりに知見が溜まってくるので、定期的に”こぼれ話”としてブログを書こうという話になりました。 今回の記事では、先日のGo Fridayで話題にあがった非公開な機能を使ったテストについて扱いたいと思います。 なお、Goにおけるテストの手法やテストしやすいコードの書き方については、GopherCon 2017でも発表があったmitchellhさんの”Advanced Testing with Go”(スライド/動画)が参考になります。テーブル駆動テストやテストヘルパーなど非常に勉強になるので、まだ見たことのない方はぜひスライドや動画をご覧ください。 TL;DR Goのテストではテスト対象とテストコードを別パッケージにできる
[速報!] オンプレミスからプライベートネットワークでのアクセスが可能に!PrivateLink に Amazon S3 が追加されました アップデートによって、Private Link for S3がインターフェイス型をサポートされたことによって、この記事のアーキテクチャは陳腐化しました。大変喜ばしいです!! S3にアクセスする際は極力S3のAPIを使い、追加でAWS Transfer for SFTPのコストを払ってでもSFTPしか使えない場合はAWS Transfer for SFTPを使いましょう。 はじめに おはようございます、加藤です。AWS S3を利用したいが、セキュリティポリシーや送信元のハードウェア・ソフトウェアの都合でパブリックネットワークを使用できない・使用すると脆弱な場合にはプライベートネットワーク経由でS3にアクセスする必要があります。 今回は、この要件を実現する
「レシーバ」とはGo 言語はある種のオブジェクト指向プログラミング (OOP) 言語であり、 OOP 言語の慣例通り、メソッドを呼び出される対象のことを「レシーバ」と呼びます。 ちなみになぜ「レシーバ」と呼ぶのかというと、昔の OOP 言語の文脈ではメソッド呼び出しのことを「メッセージの送信」と言い、メソッドを呼び出される側は「メッセージの受信側」だからです。 「値レシーバ」と「ポインタレシーバ」Go 言語では「値」と「ポインタ」が明示的に区別されているため、たとえばある構造体に対してメソッドを定義する場合でも、「値型」に対する定義なのか「ポインタ型」に対する定義なのかはっきりと区別しなければなりません。それぞれについて簡単に説明します。 値レシーバ「値型」に対してメソッド定義されたものが「値レシーバ」です。 Go 言語では構造体は値なので、以下の例では Person という値型に対して
TypeScript再入門 ― 「がんばらないTypeScript」で、JavaScriptを“柔らかい”静的型付き言語に JavaScriptプロジェクトでTypeScriptを導入する際には、“柔らかい”静的型付き言語とするのがおすすめです。藤吾郎(gfx)さんがまとめた「がんばらないTypeScript」のガイドラインです。 TypeScriptは、すべてのJavaScriptプロジェクトで採用する価値のある技術です。TypeScriptとこれに対応したエディタを導入することで、補完や型ベースの整合性のチェックにより、すべてのプロジェクトで生産性が上がります。またリファクタリングも容易になるので、長期あるいは大規模なプロジェクトでも品質を保ちやすくなります。 この記事では、TypeScriptについて最低限の知識とともに、サクッと(どちらかというと既存のプロジェクトに)導入するための
むおおおお! メインはdebounce-macをビルドするなのでそこまで飛ばしてもOKです。 前置き 先日入社した際にMacBook Proを会社に支給して頂いた私なんですけども、日頃の行いがたたったのかチャタリングが発生するようになってしまいました。もともとだったが気づかなかったのか、最近なのかよく分からないんですけれども、多分最初からなんじゃないかなと、自分を慰め続けてもうはや日が変わって頃に夜中のテンションでブログを書いています。 チャタリング、最初は「まあ別に一日で数十回程度だし、まあ今のところは超支障があるわけではないしなあ」とか思ってたんですけども、この間先方にバグチケットを発行した際に「この状態だとずっとxxxとなってしまいます」っていうところで、"t"がチャタリング起こしていたのに気づいておらず、「ずっっとxxxとなってしまいます」となっていることに先方から返信があった後に
この記事は、Go3 Advent Calendar 2018 の8日目の記事です。 7日目は @codehex さんによる「Go でアプリケーションとクライアントのミドルウェアを作成する方法知ってますか?」でした。 本日はネタ全開でお送りいたします。 Disclaimer(免責事項) はじめに言い訳というか、これを書いた経緯というか。 プログラミング言語をdisる人をdisる芸を見たいですね! — yet another (@Maki_Daisuke) 2018年10月11日 というツイートをいたしまして、言った手前自分でやるか、と思い立った次第です。 なので、ネタとしてお楽しみください。 なお、炎上した場合にも、それすらもネタとして楽しむ所存ですのでアシカラズ。 それでは、いってみましょう。 Go言語がイケてない…だ…と……? Go言語はイケてない言語としてよくdisられているが、その中
Twitterで開発マシンの「最低限の人権」とされるスペックについての話題が広がっています。 発端はこれです。 対GAFAで研究者の処遇改善 NTT、流出に危機感 NTTでは優秀な人材はGAFA(Google, Apple, Facebook, Amazon)に引き抜かれるので処遇を改善しよう(具体的には給料をあげよう)という話です。 そこで、「いや、給料だけの問題じゃない。意思決定が遅い組織的な問題やITエンジニアの仕事そのものへの無理解に起因する開発環境のチープさに嫌気が差して止めていくエンジニアは多い」という話がぶり返されます。この問題はITエンジニア業を営む人にとっては本当によく見る問題であります。 そんな中、ネットで有名なエンジニアの一人がタイムリーにNTT(研究所)を退社しGoogleに入るというエントリを書きました。 6年勤めたNTTを退職しました これでこの開発環境周りの論
8u191でDocker対応がバックポートされたので、頭の整理と確認をしておいた。 ## まとめ Java 11使っておけばそもそも安心なんだけど、Java 8でも8u191以降を使えば安心。 ## 課題だったこと DockerでJavaを動かすときJavaが「そのコンテナに割り当てられたCPU・メモリ」じゃなくて「Dockerが動いてるHostのCPU・メモリ」を見てしまうことが課題だった。 ## Java 10以降 Java 10以降なら「そのコンテナに割り当てられたCPU・メモリ」を見る対応が入ってるから安心になった。 https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#JDK-8146115 ## Java 8は? Java 8で入ってた対応は8u131のこれ: Bug ID:
カテゴリー DX (2) 一般 (59) 研究会 (6) 働き方 (4) 技術 (353) Edge AI (2) Edge Computing (13) Erlang (1) FIWARE (2) Fog Computing (10) Infiniband (31) Internet of Things (32) Key Value Store (17) Linux (3) Linux KVM (10) Machine Learning (6) RealTime Web (14) SRE (3) Webサービス (42) インフラ (8) コンテナ (4) ストレージ (93) データセンター (7) データベース (47) データ流通 (6) テレプレゼンス (2) ネットワーク (215) 仮想化 (111) 災害コミュニケーション (26) 空間情報 (30) 量子コンピューティン
https://starttoday-tech.connpass.com/event/96477/ オウチーノではもともとサービスごとに異なる言語やFWを用いてシステムが分かれており、担当者もそれぞれ別々でした。そのため各サービスに精通した担当者が少なく、担当者は日々の運用で手一杯という状況下で、…
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く