Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

既存GoプロジェクトにOpenTelemetryを計装する機会がありました。eBPFによる自動計装ではなく、手動計装を選んだ理由を説明します。 GoアプリケーションへのOpenTelemetry計装手段 Goにおいては、OpenTelemetryの自動計装が公式で用意されていません。公式サイトにAutomaticの章がないことからわかります。おそらく、ランタイムの制約で実行時にアプリケーションの挙動を変えることが難しいのでしょう。 トレースに十分なスパンを含めるために、現状では以下の2つの計装手段があります。既存のGoアプリケーションに導入する手間や影響範囲をイメージいただくために、概要に絞って解説します。 手動計装 eBPFによる自動計装(Work In Progres) 1. 手動計装 まず、OpenTelemetryのSDKをインストールし、セットアップをします。 func main
はじめに こんにちは、FarStep です。 プログラミングを学ぶ中で、「プロセス」と「スレッド」という言葉を耳にしたことがある方は多いと思います。 しかし、これらの違いを明確に説明できる自信がない方も多いのではないでしょうか。 本記事では、プロセスとスレッドの違いについて、エッセンスを抽出して 解説します。 説明を簡潔にしましたので、本記事は 5 分程度で読み終えることができます。 本記事の内容を自分の言葉で説明できるようになれば、プロセスとスレッドの違いの理解は十分でしょう。 それでは、始めます 🚀 プログラムとは プロセスとスレッドの違いを理解する前に、まずは「プログラム」について理解しましょう。 プログラムとは、プログラミング言語で書かれた一連の命令 のことです。 プログラミング言語の例としては、以下のようなものがあります。 C 言語 Java Python Ruby JavaS
はじめに 先日、会社のSlackで、新入社員から Array#sort の動作(ソートのアルゴリズム)が良くわからないという質問がありました。 「多分、クイックソートじゃないかと思うが Rubyのソースコードのどこに実装されているかわからない ので、Rubyコミッターに聞きましょう。」 みたいな先輩社員(私の同僚)からのアドバイスがあり、私に?話が振られてきました。 言われてみれば、みんな、Rubyのソースコードのどこに何があるか知らないのかもと思いました。 ずいぶん前に、 「【超入門】キミにも作れる! Ruby拡張ライブラリ開発」を書きましたが、今回は読み方の超入門編です。 Array#sort を題材に説明していきます。 なお、 Ruby のバージョンは、 3.2.2 を前提とします。 ディレクトリとファイル Rubyのメソッドの大半は、以下のどこかのディレクトリにあるファイルで実装さ
Re http://d.hatena.ne.jp/perlcodesample/20091130/1258979624, http://mt.endeworks.jp/d-6/2009/12/scriptsubimport.html スクリプトとコードとテストを単一のファイルにまとめたい*1という需要が、かねて自分の中であったので教えを請うた結果、以下のような感じで書けばいいことがわかった。 #! /usr/bin/perl use modules...; my $global = ...; sub foo { ... } sub bar { ... } run_tests() if $ENV{HARNESS_ACTIVE}; # メインのコード foo(); bar(); ... sub run_tests { ... exit; } __END__ =head1 NAME my_scr
https://classmethod.connpass.com/event/55140/ の発表資料 Goの並行処理に必要な幾つかの機能と、それをつかったサンプルをご紹介
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 非同期プログラミングと呼んでいるのは、ノンブロッキングIOと select, poll, epoll, kqueue のようなIO多重化を利用したネットワークアプリケーションを書くことです。 node.js で websocket 使ったチャットを書くとかそういうのです。 「他の多くの言語」とは、 Python (asyncio), node.js, C# などを想定しています。 Erlang や GHC なんかは Go に近いかも知れません。 async / await がない言語では、「コールバック地獄」や「deferre
関連キーワード プログラミング | セキュリティ 実際にシステムに侵入して脆弱(ぜいじゃく)性を確認する「ペネトレーションテスト」(侵入テストとも)。ペネトレーションテストへのプログラミング言語「Python」活用を解説した書籍『Black Hat Python, 2nd Edition: Python Programming for Hackers and Pentesters』の著者であるジャスティン・サイツ氏とティム・アーノルド氏は、Pythonの有用性を主張する。両氏からのアドバイスをインタビュー形式で紹介しよう。 初心者が「JavaScript」「Go」「Ruby」を学ぶべき理由は? ―― Python以外に初心者が学習すべきコンピュータ言語はありますか。 併せて読みたいお薦め記事 Pythonを学ぶ理由 「Python」をセキュリティ担当者が学ぶ意味は? どう学ぶべきか? Ja
関連キーワード プログラミング | セキュリティ 前編「初めてのプログラミングには『Python』を選ぶべき“セキュリティ的な理由”」は、実際にシステムに侵入して脆弱(ぜいじゃく)性を確認する「ペネトレーションテスト」(侵入テストとも)の担当者が、プログラミング言語「Python」を習得すべき理由を解説した。この主張は、ペネトレーションテストへのPython活用を解説した書籍『Black Hat Python, 2nd Edition: Python Programming for Hackers and Pentesters』の著者、ジャスティン・サイツ氏とティム・アーノルド氏による。Pythonを習得する上で理解しておくべきポイントを両氏に聞いた。 ―― 「Python 3」だけを学習するのがお勧めですか。「Python 2」も学習する意味はありますか。 アーノルド氏 Python 2
関連キーワード プログラミング | セキュリティ 実際にシステムに侵入して脆弱(ぜいじゃく)性を確認する「ペネトレーションテスト」(侵入テストとも)の経験を積もうとする人にとって、「Python」は習得する価値のあるプログラミング言語だ。Pythonは、ペネトレーションテスト担当者が 企業のセキュリティ対策の調査 ネットワークの傍受 攻撃を目的とする防御ツールの悪用 指揮統制サーバの有効化 といった、ペネトレーションテストで重要なタスクを実行するプログラムを作成するのに役立つ。 Pythonがペネトレーションテスト担当者にとって理想的なプログラミング言語であり続けている理由とは何か。「Python 2」と「Python 3」の違いとは。ペネトレーションテストへのPython活用を解説した書籍『Black Hat Python, 2nd Edition: Python Programming
自分でサービスをつくって自由に生きていきたい、そう思ってフリーランスになってから10年、気がつけば受託開発に追われる日々。たしかに売上は順調に伸びていくものの、物足りない日常が過ぎ去っていく。 「...このまま受託開発をずっと続けるのか?...いや、やっぱり自分でサービスをつくって生活できるようになりたい」 心の声に従うまま、受託を完全にやめることを決意。思い切った決断でしたが、新しい仕事も断り、退路をたってサービス開発に専念。結果、オンラインメンターサービスMENTAがヒットし、M&Aにてランサーズグループにジョイン。いまもサービス成長させるべく、がんばっている毎日です。 自分で考えたものがたくさんの人に使われて、サービスがあってよかった!と言っていただける。サービスをつくる毎日は最高です。 この記事は僕のこれまでの個人開発で学んだ失敗や気付きなどの知見を網羅的にまとめたものになります。
プログラミング上達したいんだったら、四の五の言わずに、 ・クリーンアーキテクチャ ・レガシーコード改善ガイド ・アジャイル・サムライ ・リファクタリング 系のどれか を、全部最低5回読み返して欲しい。それでプログラマとしては圧倒的に成長できるんだから、マジで読んで — Next.js + Hasura 最速プロトタイピング本 @技術書典9 出す予定 (@erukiti) July 27, 2020 先日、こういうツイートをしたらバズってしまいまして。これらの本を理解できるまで読みこめばプログラマとして成長できますよーというもので、 ・ クリーンアーキテクチャ ・ レガシーコード改善ガイド ・ アジャイルサムライ ・ リファクタリング 系のどれか(例えばリファクタリング第二版) の4冊を挙げました。いろいろな人の感想を読んで、補足が必要そうだなと思ったので記事として書きなおしています。 この
これまでメモリーセーフなシステムプログラミング言語として紹介されることが多かったRustだが、このメモリーに関連する脆弱性に対して安全であるという特徴に加え、高速に実行できることやガベージコレクションが発生しないといった特徴も備えている。これらの特徴から、RustはWebのシステムにも十分に応用できると言える。 そしてWebでのアプリケーション開発にはサーバー側との通信はもちろんだが、それに加えてWebのフレームワークやデータアクセスライブラリーとのインテグレーションが必須となる。 一方Webアプリケーションにおいてデータのやり取りにはREST APIが使われてきたが、それをより効率的にしようとしてFacebookが開発したのがGraphQLだ。REST APIはWebがダイナミックに進化するにつれてさまざまなサイズのデバイスをサポートするためにも利用されるようになった。その半面、巨大なサ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く