Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
David Chase 21 March 2019 Introduction Go 1.11 and Go 1.12 make significant progress toward allowing developers to debug the same optimized binaries that they deploy to production. As the Go compiler has become increasingly aggressive in producing faster binaries, we’ve lost ground in debuggability. In Go 1.10, users needed to disable optimizations entirely in order to have a good debugging experi
Bash は言わずと知れた歴史あるコマンド言語です。テキストにコマンドの羅列を記述するだけで、手軽にシェルスクリプトとして実行することができます。 シェルスクリプトの実体はシェルコマンドの羅列に過ぎませんが、手続き型プログラミング言語にあるような制御構文も備えています。変数や条件分岐、ループ、関数などです。これらを使えばシェルスクリプトでプログラミングも可能です。 もちろん、現代の一般的なプログラミング言語と比べると機能は限られます。他の言語には見られないシェルスクリプト特有の癖や記法も数多くあり、最近の言語に慣れている人ほど、つまずくポイントが多いです。 しかし、シェルスクリプトだからこその良さもあります。Bash は現在でも多くの OS で標準シェルとして採用されており、普段使っているシェルコマンドを書くだけで動かせる手軽さは何者にも代えがたいです。一度身につけておくと長く使えるお得な
Python その2 Advent Calendar 2018 10日目の記事です。 はじめに インストール 使い方 基本 ログレベルの設定 ファイルに出力 ログローテーション フォーマット変更 まとめて設定 おわりに はじめに Pythonでログ出力する際に何を使っていますか、printでしょうか。それともloggingでしょうか。ロギングは奥が深いようで、以下の記事ではloggingの使い方を詳説されています。 ログ出力のための print と import logging はやめてほしい - Qiita logging入門 - Qiita 標準ライブラリのloggingでも良いのですが、今回はより簡単にログ出力が可能なlogzeroというライブラリを紹介したいと思います。 インストール インストールは他のライブラリと同じくpipでできます。 $ pip install logzero
TL;DR Laravel 5.5 ベース(Laravel 5.7 まで対応) フローチャートでおおまかな処理の流れと、どこでどんなことをするのかを解説します それを踏まえて「こんな時はこうする」というケーススタディを紹介 中小規模のプロジェクトにはそのままコピペで使ってもらえるベストプラクティス的なものを目指しています 実際にこれをベースにしたものが中規模業務アプリに実装されています バリデータ編もあります。 → フロー図で理解するLaravelバリデータの仕組みと、チーム開発でのケーススタディ 動機 個人的にエラー処理の仕組みを理解するために書いたチャートです 自分で勉強しようとしたとき、Laravelのエラー処理に関する記事はたくさんありますが、包括的に全部書いた記事が意外とないなーと思った 無いなら書かないと……(穴埋め係根性) 1. Laravel エラーハンドリングの仕組み 全
Watch Now This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Logging in Python Recording relevant information during the execution of your program is a good practice as a Python developer when you want to gain a better understanding of your code. This practice is called logging, and it’s a very useful
自作RISC-Vシミュレータがある程度落ち着いてきたので、キリがいいところでGitHubで公開することにした。 github.com まあSpike(riscv-isa-sim)の劣化Cloneだと言ってしまえばそれまでなので、あまり意味はないのだけれど。。。 図. 自作RISC-Vシミュレータの外部インタフェース 使い方はGitHub上のREADME.mdに書いてある。BSDライセンスなので自由に改造してやってください。 まあこういうツールの場合BSDライセンスが良いのかどうかもよく変わっていないけれども? RISC-Vの精神に基づいてみた。 Spikeシミュレータとの差分点としては、デバッグ情報がしっかり出力できるようにした。レジスタアクセス情報からメモリアクセスの情報まで、--debugオプションによりしっかり情報を出力する。 その影響で--debugオプションをかなり遅くなってしま
お久しぶりです。ひろたんです。 前々から気になっていたAWS EC2の169.254.169.254について少し遊んでみたのでまとめます。 EC2では、インスタンス内から http://169.254.169.254/ にアクセスすると、そのインスタンスに関する情報が取得できるようになっています。 docs.aws.amazon.com あまり意識したことはないかもしれませんが、インスタンスにIAMロールを結び付けた状態でAWS CLIを使うと内部的にこの169のURLが叩かれる仕組みになっています。 これはインスタンス内で--debugオプションを使ってAWS CLIを実行するとわかると思います。 [ec2-user@ip-172-31-30-197 ~]$ aws s3 ls --debug ~~~ 2018-09-03 11:11:33,898 - MainThread - boto
The document discusses testing HTTP request handlers in Go. It provides examples of testing an HTTP handler function using httptest, testing code that makes outgoing HTTP requests using a mocking library called gock, and injecting dependencies like the system clock for consistent test results. The examples demonstrate best practices for testing HTTP request handling in Go like using interfaces and
The NetBSD Project is pleased to announce NetBSD 8.0, the sixteenth major release of the NetBSD operating system. This release brings stability improvements, hundreds of bug fixes, and many new features. Some highlights of the NetBSD 8.0 release are: USB stack rework, USB3 support added. In-kernel audio mixer (audio_system(9)). Reproducible builds (MKREPRO, see mk.conf(5)). Full userland debug inf
概要 自動のエンドツーエンドテスト環境を作る必要があり、チーム全体で共通で簡易に設置して使えるようにしたい。 そこで、dockerで構築を検討した結果をメモとして残します。 seleniumについて 下記サイトにてとりあえずの基礎知識を得る 入門、Selenium - 第1回 Seleniumの仕組み LinuxのOS選定 上記の資料を読んでいろいろとGoogle先生に聞いたところ、chromeやfirefoxをインストールして正常に動く環境がまず必要。 LinuxとしてCentOSに自分でchromeやfirefoxをインストールして環境を作るとなるとそれなりに手間(構築・メンテ)がかかり他の人に引き継いで継続するのは難しい... そこで、dockerにてコンテナとして扱うことで、簡易に構築できることを目指す。 dockerのseleniumの公式コンテナを使った下記サイトが多機能でいい
なんとなくやってみた系ですね。 今回はCONFIG_DEBUG_OBJECTSのところです。 CONFIG_DEBUG_OBJECTS_FREEがkmalloc/kfreeをヘヴィにつかうような場合にパフォーマンス劣化するよーなんていってます。 まずはCONFIG_DEBUG_OBJECTSの項目を全部無効にした場合。 この時点でもロック周りに時間取ってますね。 hackbenchを引数 10 process 20000 で実行してる時の様子がこんな感じです。 次にCONFIG_DEBUG_OBJECTSの項目を全部無効にした場合。 起動した時点でかなりの時間をロックで使ってます。 そして、hackbenchを同じく実行するとこうこうなります/(^o^)\ このときはこんな感じになっていてもうどうにもならない感がありますね。 説明に書いてあるとおり、ほんと遅くなりますね。 ( ´ー`)フゥ
Getting Started with Python in VS Code In this tutorial, you will learn how to use Python 3 in Visual Studio Code to create, run, and debug a Python "Roll a dice!" application, work with virtual environments, use packages, and more! By using the Python extension, you turn VS Code into a great, lightweight Python editor. If you are new to programming, check out the Visual Studio Code for Education
サイボウズ・ラボの西尾 泰和さんが「エンジニアの学び方」について探求していく連載の第18回(これまでの連載一覧)。サイボウズ・ラボの光成 滋生さんにお話を伺うシリーズ(1)です。 本連載は、「WEB+DB PRESS Vol.80」(2014年4月24日発売)に掲載された「エンジニアの学び方──効率的に知識を得て,成果に結び付ける」の続編です。(編集部) 文:西尾 泰和 イラスト:歌工房 この連載では「エンジニアの学び方」をテーマにインタビューを行い、どういう「学び方」をしているのか探求していきたいと思っています。第2弾は、サイボウズ・ラボのエンジニアとして、楕円曲線などの難しい数学を使った暗号の論文を読んで実装したり、サイボウズが遭遇した問題の原因を掘り下げていって最終的にLinuxのバグを修正したり、と幅広い活動をされている光成滋生さんです。 光成さんが、どういうプロセスで問題の原因を
Kubernetes Meetup Tokyo #10 2018.03.08 https://k8sjp.connpass.com/event/76816/
I had an integration test that was very complex (most are, sadly) and took too long to start. I was able to diagnose why using new features of Go’s 1.10 trace tool. This post describes my workflow and what led me there. The example code I’m using for this post is at https://github.com/cep21/trace-110. My integration test was a bit more complex, but generally had startup that was slow due to a sing
先日私の環境で起きた Vim に関する問題を調査した際の記録。一例なので汎用的に使える手法ではないけど、こういう感じのことをしているよというのを書き留めておきます。 結果的に無駄だった工程も書いています。1 本道で調査が進むことの方が珍しく、だいたい回り道します。 問題 「cgn で検索のマッチ対象を別のキーワードに置き換えたあと . で繰り返すと、Bell が発生する。」 cgn は c + gn で、gn は検索にマッチした範囲です。つまり検索にマッチした内容を c で書き換え、. で次のマッチ対象にも同様の変更を行います。1 つずつ確認しながら置換したい場合などによく使われる操作です。 問題について Vim では不正な操作をした場合など様々な場面で警告としてベルを鳴らします。 例えばノーマルモードでそれ以上移動できない方向に移動しようとした場合など、割と些細なことでも鳴ったりします。
全世界100万人のコンパイルエラーラバーの皆さんこんばんは、この記事はGo Advent Calendar 2017の18日目の記事です。 標準パッケージのlog Goで作るものはミドルウェアだったり、Webアプリケーションだったり、CLIツールだったり様々だと思いますが、ちょっと凝ったことをするとついてくるものといえばロギングですよね。Goにはlogという標準のログライブラリがありますが、 標準パッケージなのでimport "log"だけで使える インターフェイスがシンプル。だいたいfmt 複数goroutineから扱っても混ざらない そのまま使っても時間が出る などなど、最低限の実用性があります。ただ、他の言語のロガーと比べると、 ログレベル 構造付きログ などの機能が不足していると言えます。 よく使われているロガー そもそもこの記事を書くきっかけとなったのが、Go Conferenc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く