chevron_left

メインカテゴリーを選択しなおす

cancel
Programming Log https://nwpct1.hatenablog.com/

勉強した内容(プログラミングや開発ツールについてがメイン)をまとめていきます。

勉強した内容(プログラミングや開発ツールについてがメイン)をまとめていきます。

nwpct1
フォロー
住所
西区
出身
明石市
ブログ村参加

2013/09/09

arrow_drop_down
  • 最近3Dプリントで作ったもの紹介

    友人が3Dプリンターで色々作っている様子を見ていて、以前から興味は持っていたのですが、 Scott Yu-JanさんのYouTube動画 を色々見るようになってからまた3Dプリントに興味がでてきたので、最近ようやくFusion 360を触り始めました。今回は3D CADの勉強方法と作ったものを紹介します。 3D CADの勉強と3Dプリントサービスでの注文 作ったもの紹介 Raspberry Pi Zero 2 Wケース Raspberry Pi Pico Wケース 壁掛けディスプレイ デスク周りの色々 テーブルグロメット 扇風機のマウントとカバー デスク周りその他 はんだ付け用のサポート iP…

  • PDFMinerコードリーディングメモ ① Indirect Object ReferenceのTokenize処理

    しばらくこちらのブログを更新していなかったのですが、2023年からはもう少しGitHub以外のアウトプットも増やしてみようかなということで、試しに今回はコードリーディング時のメモとかも残していってみます。 2023年に新しく学ぶ技術はRustとPDFにします。— c-bata (@c_bata_) 2023年1月16日 なるほどー。PDFはデータ構造が表示に特化しているのでなかなか大変そう。でも読んで表示するならなんとかなるのかな。Python使うか分からないけど、某書籍のPDFからテキスト生成するのに使ったコードがあるので参考にどうぞーpdfminerを使ってPDFからreSTを生成 htt…

  • 著書『実践Django Pythonによる本格Webアプリケーション開発』が本日から発売されます。

    Twitterでは以前から告知を行っていましたが、著書『実践Django Pythonによる本格Webアプリケーション開発』が本日から発売になります。 購入を検討している方は、Amazonもしくはお近くの書店で探してみてください(エキスパートPythonプログラミング 改訂3版も今月末発売予定です)。 初の著書であり単著ということもあり大変なこともありましたが、満足の行く一冊が出来上がってホッとしています。 Amazonさんでは一昨日から発送を行っているようですが、早速データベースカテゴリの売れ筋ランキング1位となり、ベストセラー1位になっていました。 購入してくださった方、Twitterで拡…

  • 最近の登壇資料と出版予定の書籍、インタビュー記事

    最近は勉強会での登壇や書籍の出版などアウトプットが色々重なりました (昨年は一度もプロポーザルを書かず登壇依頼もなかったので随分増えました)。 そのたびにツイートもしてきましたが、ほとんど流れてしまって少しもったいない気がしたのでブログにまとめておこうと思います。 登壇資料 PyData.Tokyo Meetup #23「サイバーエージェントにおけるMLOpsに関する取り組み」 Optuna Meetup #1「CMA-ESサンプラーによるハイパーパラメータ最適化」 World Plone Day「Web パネルディスカッション(Python Webと非同期)」 CA BASE NEXT「サイ…

  • Pyppeteer(with headless Chromium) + GitHub Actionsでoptuna-dashboardの継続的E2Eテスト

    以前 optuna-dashboard というWebツールを開発・公開しました。 もともと Goptuna のために実装したReact.js + TypeScript製のSPAのWebツールでしたが、Optunaでも使えるようにしたところ、周りでも使ってるよという声をいただくことが増えてきて、公式に利用が推奨されるようになりました。 Optuna v2.7.0 released, with new tutorials, examples, and code improvements! @c_bata_ has fully redesigned the dashboard. Try out th…

  • 2020年ふりかえり

    仕事 仕事ではDeveloper Expertsというのに選ばれたり、BBOChallengeで5位入賞したり、社内の表彰イベントでBest Professional Engineer Awardというのをいただけたり、ようやく少し満足のいく仕事ができてきた気がします。 執筆・登壇 登壇0件、英語ブログ0件、このブログ4件、会社ブログ2件と技術的なアウトプットは例年に比べかなり少なかった。 ただ翻訳と執筆をそれぞれ1件進めていました。特に執筆はかなり時間がかかってしまっているのですが、5月ごろには出版できそうです。 OSS開発 GitHub activities OSSでは、Optunaのコミ…

  • mypyc_ipython: mypyc用のIPythonマジックコマンド

    最近mypyc(型ヒントのついたPythonのコードからC拡張を生成するコンパイラ)のコードを読んでいたのですが、Cythonの %%cython マジックコマンドみたいに手軽に確認したいなということでマジックコマンドを実装してみました。CythonやPythonとサクッと性能を比較したいときにぜひ使ってみてください。 github.com ここでは実装時のメモと、mypyc・cython・(pure) pythonのマイクロベンチマークの結果を残しておきます。 実装について IPythonマジックコマンドの実装自体は↓のページに書かれています。 Defining custom magics …

  • Kubeflow/KatibがGoptunaを使った最適化に対応しました。

    KubeflowのKatibというハイパーパラメーター最適化等を担当するコンポーネントにGoptunaを使ったSuggestion serviceを実装しました。

  • optuna-memorydump で InMemoryStorage の結果を定期的にSQLite3に書き出す。

    CPUたくさん積んだマシン1台で、Optunaを回すときにstorage backendの選択は悩ましい点があります。 結果をDashboardやJupyterで詳しく確認したり、あとから最適化を再開するためにRDB storage backendを使って永続化しておきたいのですが、マシン1台しか使わないときにわざわざMySQLとかPostgreSQL立てるのは結構面倒なので、自然とSQLite3を選びたくなります。 ただSQLite3はマルチスレッドやマルチプロセスによる最適化時に、あまりおすすめできません。 そもそもLock errorを完全に防ぐことが難しいという話もありますが、 enq…

  • Django 3.1 MySQL db_flush() の高速化とTransactionTestCase利用時の注意点

    DjangoのMySQL DatabaseOperations Backendのとある処理を最適化するためのpatchを書いていて、それがマージされたのですが、注意点があるため記事にしておこうと思います。 全部読むのが面倒な方向けに結論だけ先に書いておきます。 MySQLにおいて、TransactionTestCaseのteardown処理が高速になりました。 またほとんどのユーザーにはそれほど重要ではありませんが、 sqlflush コマンドも効率的なクエリを生成し、 flush コマンドも高速になります。 TransactionTestCaseを使ったテストで AUTO INCREMENT…

  • Github ActionsでクロスコンパイルしてGithub Releaseにアップロードする

    追記: GoReleaserのbabarotさんの記事があったので紹介。GoReleaser使ったほうが手軽でよさそう。 Go で書いた CLI ツールのリリースは GoReleaser と GitHub Actions で個人的には決まり tellme.tokyo 追記: GoReleaserのプロジェクトがGithub Actionを公開したようなのでこちら使ってみるといいかもしれません。 https://github.com/goreleaser/goreleaser-action この前kube-promptのリリースでミスをしてしまいissueが立て続けに2件上がったことがあった…

  • GoptunaのRDB storage backendを使った分散ハイパーパラメーター最適化

    先月は会社の技術ブログ執筆当番となっていたため、そのネタづくりに Goptuna を実装・公開しました。記事公開時にはTPEとUniformDistributionしかありませんでしたが、その後もコツコツ開発を続け現在はCategoricalDistributionなどOptunaがサポートしているDistributionを全て実装し、枝刈りなどの機能にも一部対応しています。 adtech.cyberagent.io 今の機能なら業務にも投入できるかなと思っていたのですが、いざ使おうとすると最適化の結果を永続化できないこと・Dashboardが見れないことは結構問題でした。今回はGormを使っ…

  • Djangoライブラリのテストを setup.py testで実行するためのTestCommand

    Djangoのアプリケーションをライブラリとして公開する際の、ファイル構成はいろいろな選択肢があります。 通常のプロジェクトの始め方と同じように django-admin startproject でプロジェクトを作成しその中に作成したアプリケーションを公開する場合や、プロジェクトは用意せずに django-admin startapp your-awesome-library でアプリケーションだけを作成する場合などがあります。 基本的には前者のやり方が悩みどころが少なく簡単ですが、パッケージ構成は後者のほうがスッキリするかもしれません。このあたりは正解がなくOSSのプロジェクトによっても様…

  • LLVMのauto-vectorizationとc2goasmによるGo Plan9 Assemblyの生成によるSIMD最適化

    InfluxDBの開発チームはApache Arrowの技術に注目していて、ArrowのGo実装の開発にも積極的に参加しています。Stuart Carine (InfluxDBの開発チームメンバー)がApache ArrowのGo実装に取り入れたc2goasmとLLVMを使った最適化が以前話題になりました。 www.influxdata.com c2goasm はClangで生成したアセンブリをGo Plan9 Assemblyに変換できる汎用的なコマンドラインツールです。しかしその活用事例はほとんどが、Goコンパイラーが行っていないSSEやAVX命令を用いたSIMD最適化です。この記事では …

  • Intel AVX (Advanced Vector Extensions) によるSIMD演算

    SIMD(Single Instruction Multiple Data)は、名前の通り複数のデータを1命令で処理する方式を指します。各プロセッサコアに異なる命令を供給する機構が必要なMIMDと比べ、SIMDは必要なトランジスタ数が少なく小さな面積でプロセッサを設計することができるため、GPUにおける並列処理のパラダイムとしても主流になっています (SIMTは今は扱わない)。 Intel CPUのMMX命令やSSE命令、AVX命令はSIMD方式の演算命令になります。動画配信チームからML系の研究チームに異動したのですが、研究成果を実用レベルのアプリケーション実装に落とし込めるよう今回はこのA…

  • Github Actionsでbranch作成/削除にフックしてFeature環境を構築する

    最近Github Actionsを触る機会があったのですが、まだ自分のgithub accountはbetaのwait list待ちで業務で使ってるrepostioryでしか使えないので、使い方とかポイントを忘れないようにメモ。ついでにいくつか公式のactionにPR送ったり、KubernetesのIngress Rulesを編集するためのActionを公開していたりもするので、こちらも紹介します。 Add deleted_branch and deleted_tag filters by c-bata · Pull Request #42 · actions/bin · GitHub Add…

  • Wrapping up 2017 and 2018, Hello 2019.

    そういえば振り返り記事書いてなかったなと思いたち書きました。 よくみたら昨年も忙しすぎて書いてなかった。 (写真は年始に会社の人と新潟まで泊まりでスノボいったときの景色) Wrapping up 2017 and 2018 2018は振り返りをしてなかったので、2年前の目標を確認。 2017年抱負(エンジニアリング) - c-bata web 卒論の提出と卒業: 達成 そういえば当時はまだ学生でした。卒業おめでとう。 書籍の出版: 達成 すこし遅れましたが、こちらは無事出版。心からおすすめできるいい本です( エキスパートPythonプログラミング 改訂2版が発売されました - c-bata w…

  • CUDAメモ: NVIDIA Tesla K80, CUDA 10.0, Ubuntu 18.04

    たまたま参加したもくもく会に石本さんも来ていたので、疑問点があれば聞けるいい機会かなと思いCUDAの勉強をしてみました。 公式ドキュメント が非常に丁寧に書かれていてすごくスムーズに調査できた。最適化や行列計算のアルゴリズム的なテクニックに関しては、石本さんにおすすめされた CUDA C プロフェッショナル プログラミング (impress top gear) を今度読んで見る。 CUDA Toolkitのインストール CUDA Cプログラミング nvcc: NVIDIA CUDA Compiler NVIDIA Visual Profiler IntelliJ CLion, cmakeの設定…

  • RAW Socket / BPF(Berkeley Packet Filter)を用いたパケットキャプチャーツールの実装

    パケットキャプチャーツールは、ネットワークを流れるすべてのパケットを受け取り解析します。 NIC(Network Interface Card)のほとんどはプロミスキャスモードとよばれるモードをサポートしており、これを有効にすることでアドレスにかかわらずNICはすべてのパケットをホストに渡します。 ソフトウェアとハードウェアが連携して動作するため、扱っているレイヤーが低く環境によってInterfaceに差異があります。 tcpdumpの開発者によってつくられたlibpcapというライブラリはUNIXのシステムの差異を吸収します。またWindowsにもWinPcapという名前で移植されています。…

  • Google Translate APIを使ったSphinxドキュメントの自動翻訳

    多言語への翻訳は大変な作業ですが、近年は機械翻訳の精度も上がってきました。 ふと思いついて .po 形式の翻訳ファイルをGoogle翻訳を通して自動で入力するスクリプト を作ったのですが、サクッと書いた割に予想以上に便利で料金も思ったより安かったので記事にしました。また実際に自分が公開している日本語で書かれたSphinxの資料を、このスクリプトを使って英語に翻訳してみます。 追記: ライセンスについて id:beatdjam さんのコメントが気になったので共有です。 自分もGoogle Translate APIのドキュメントを読み返してみますが、利用される方も確認してからご利用ください。 以…

  • Double forkによるプロセスのデーモン化と、ファイル変更時の自動サーバーリロードの実装 (Python)

    Pythonで約100行のシンプルなWSGIサーバーを書いてみる - c-bata web でWSGIサーバーを作ってみました。 100行程度の非常に簡易的なものでしたが、実際にDjangoアプリケーションを動かすこともできました。 前回作ったWSGIサーバーをもう少し便利に使えるようにいくつか機能を追加したのですが、 その中でもWSGIサーバーに限らず知っておくとよさそうな3つの実装を紹介します。 目次: Double Fork によるサーバープロセスのデーモン化 Pythonファイルの更新に検知してサーバーを自動で再起動する 文字列で指定したPythonオブジェクトを動的に読み込んで実行す…

  • Pythonで約100行のシンプルなWSGIサーバーを書いてみる

    エキスパートPythonプログラミング改訂2版作者: Michal Jaworski,Tarek Ziade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也出版社/メーカー: KADOKAWA発売日: 2018/02/26メディア: 単行本この商品を含むブログを見る Webアプリケーションフレームワークの作り方 in Python — c-bata.link の資料が最近になってホットエントリー入りし、思ったよりも多くの方に読んでいただけているようです。見返しているとWSGIサーバーを作りながらHTTPについて学べる章があってもいいかもとふと思いました。書くとすれば内容的には id:shi…

  • PyCon JP 2018 でDjangoの話をしてきました。

    まずはPyCon JP 2018おつかれさまでした。全体的にクオリティの高い発表が多く、参加者としても楽しむことができました。 また最近は執筆を優先していた結果Pythonの勉強会にあまり顔を出せていなかったため、久しぶりにご挨拶できた方も多かったです。 自分の発表について PyCon JP 2016の発表 個人的によかった発表 感想 自分の発表について Djangoの本を執筆中ということもあり、 DjangoCongress JP 2018 に続いて今回もDjangoのネタで登壇しました。 採択された「Django REST Framework におけるAPI実装プラクティス」の他に、もう一…

  • Django における認証処理実装パターン

    この資料は DjangoCongress JP 2018で話した「Djangoにおける認証処理実装パターン」 の解説記事になります。 2019/04/08 追記: GithubのコードはPython3.7 Django2.2にupdateしています) 何年か前に Djangoのユーザー認証まとめ という記事を書きました。今でもコンスタントに100PV/dayくらいアクセスのある記事なのですが内容が古く、実装時にハマりやすい注意点にもあまり触れることができておらず、おすすめできる資料ではありません。今回はDjangoCongress JPにて発表の機会をいただけたのですが、この機会に認証処理につ…

  • エキスパートPythonプログラミング 改訂2版が発売されました

    改訂2版と書いてあるように、この本には初版があり日本語の翻訳書は2010年頃に出版されていました。 自分がPythonを書き始めたのが2014年頃だったのですが、当時通っていた学校の図書館で見つけてこの本を借りたことがあります。 プログラミングの勉強を初めたばかりの自分は、ほとんど何も理解出来ないまま返却したのを今でも覚えています。 今回は縁あって初版の翻訳メンバーである稲田さん、渋川さん、清水川さん、森本さんの4名と一緒に翻訳をすすめることになりましたが、4年前には何も理解できなかった自分がこれだけのベテラン陣と一緒に改訂2版の翻訳に関われていると思うと少し感慨深いです。 さて、初版から大幅…

  • Mach APIとCPUレジスタ値の取得について

    AbemaTV Advent Calendar の10日の記事です。 最近作っているツールの話をしようかと思ってましたがちょっと開発が間に合わなかったので、同期のiOSエンジニアから教えてほしいと言われたMach APIについて書きます。 あまりMach APIに関する資料は日本語・英語ともに多くないので、いざ使おうとするとドキュメントの情報が足りず苦労する。必要に応じてカーネルソースを読んだほうが早いことも多くあるため、この記事ではCPUレジスタ値の取り出しをベースに、カーネルソースを読む上で頭に入れておきたいMach APIのいくつかの概念についても解説する。 レジスタ値の取得 (Linu…

  • PyCon APAC 2017 参加レポート

    今年で3回目のPyCon APAC参加になりました。 前回まではgihyo.jpさんの方で連載していたのですが、今回はpyladiesの方々が書いてくれるみたいなので楽しみ。 台湾で開催された「PyCon APAC 2015」参加レポート:レポート|gihyo.jp … 技術評論社 「PyCon APAC 2016 in Korea」参加レポート:レポート|gihyo.jp … 技術評論社 詳しいレポートはgihyo.jpの方にあがると思うので、LTの話とマレーシア(クアラルンプール)について知ったことをメモ程度にまとめようと思います。 物価は安いし、大体どこに行っても英語も通じるし、治安もそ…

  • python-prompt-toolkitをgolangに移植。kubernetesクライアント作った

    Github Trendingに載ってから、予想以上に伸びました。ありがとうございます。 Wow... #githubhttps://t.co/ENQjRyqZmN pic.twitter.com/iqFx59ydcq— c-bata (@c_bata_) 2017年8月17日 python-prompt-toolkitをgolangでも使いたいなと前から思い移植していたのですが、今日go-promptという名前で公開しました。 GitHub - c-bata/go-prompt: Building a powerful interactive prompt in Go, inspired b…

  • 2週間半のReact Nativeアプリ開発を振り返る

    React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~作者: 松澤太郎出版社/メーカー: マイナビ出版発売日: 2018/08/29メディア: 単行本(ソフトカバー)この商品を含むブログを見る ここ2週間ちょっとReact NativeでiOSアプリ書いてました。 サーバサイドをメインでやってきた自分にとって面白い技術で、今後も趣味で使ってみたいなと思えているのでTipsや所感を残しておきます。 目次 選定理由 Tips エラーハンドリング・状態管理 入力欄をキーボードの出現に合わせて動かすアニメーション 今回使ったライブラリ react-…

  • Protocol BuffersをJSONに変換する

    React Native + GoのProobuf API Serverの構成でアプリケーションを作っているのですが、次の条件でdeserializeができないことがわかってしまった。 [javascript] Failed to deserialize protobuf message which has other message types. · Issue #3098 · google/protobuf · GitHub protobuf/reader.js at master · google/protobuf · GitHub decodeIO/protobuf.js の方も一応試…

  • asyncioがPOSIXスレッドを使っている原因を調べる

    tokibito先生 (id:nullpobug) がオフィスに遊びにおいでと声かけてくれたので、オープンコレクターさんに遊びに行ってました。 aodag先生 (id:aodag) と3人で雑談してたんですが、ふと以前気になっていたことを思い出したので聞いてみた。 気になっていたこと とある勉強会の発表資料 を作っている時に、 asyncioとaiohttpを使ってとあるサーバにHTTPのリクエストを送るコード例を用意した。 import aiohttp import asyncio async def fetch(l, url): async with aiohttp.ClientSessi…

  • 2017年抱負(エンジニアリング)

    今週のお題「2017年にやりたいこと」 あけましておめでとうございます。 今年やりたいことを書き出してみる。 nwpct1.hatenablog.com 2016年はインプットのかなり多い年だったので、今年はアウトプットを増やしたい。 卒論の提出と卒業: まずはちゃんと卒業します。 書籍の出版: 実はもう動いているので必ずやりきる。これは2016年の目標でもありましたが、告知できるのは今年の5月頃になりそうです。 Webサービスをリリース: いま作りたいものがあるのでなんとか形にしたい。 Github 100 stars: 2016年の目標だったんですが、最も集めたのはKobinの50star…

  • 2016年のふりかえり

    2016年も終わりですね。大学院には進まずに都内のWeb系企業に就職するので、学生生活もそろそろ終わりみたいです。 3月頃から渋谷新宿あたりにいると思うので、またご飯行きましょう🍺 OSS活動 Write Code Every Dayには程遠いですが、昨年に比べてコードを書く量も増えてきています。 さすがに技術的にも成長はしているみたいで、コーディングスピード(特にPython)があがったのもContributionsの数に繋がったのかな。 つくってきたOSSをふりかえる。 Kobin 趣味でWebフレームワークとドキュメンテーション、サンプルアプリ、周りのツール群を全部1人で書いていくのは思…

  • docker-composeにnginxのコンテナ追加したらRedirectでハマったのでメモ

    自作のWSGIフレームワークKobinのExampleにおいて、手元でも静的ファイルをNginxで返すように変更を加えた。 ただしRedirectがうまくいかないので調査 & 雑にメモ (ところどころ英語)。 Problem GitHub - kobinpy/kobin-example: Example application using Kobin python web-framework. ローカル(Mac)の http://127.0.0.1:8080 にマッピングしてdocker-compose up。 Github OAuthでログイン GithubからのCallback URLは …

  • Core APIの概要とDjango REST Frameworkでの使い方

    Django Advent Calendar 2016 - Qiita 18日目の記事です。 Django REST Frameworkは、DjangoでRESTfulなAPIを提供するときに非常に人気のあるフレームワークです。 既に使ってるよという方も多くいらっしゃるのではないでしょうか。 日経電子版さんも業務でも活用しているようです。 この記事では、REST Framework自体の使い方とかはあまり話しません。 REST Framnworkの作者である @_tomcriestie さんが策定・開発しているCore APIの概要と使い方について、これまでの経緯も含めて簡単に解説します。 C…

  • rexecute: ファイルの更新を検知して指定したコマンドを自動実行するCLIツールつくった

    そんなことより卒論書きなよって話ですが、texファイルの更新を検知して自動でビルドする仕組みを整備しました。 2年前に論文を書いていたときは、RubyのGuardを使っていたのですが久しぶりに試すと動かなくて、それを直すのも面倒だったので、少し汎用的に使えるツールをGolangでつくりました。 github.com 使い方 使い方はシンプルで、lsやfindでファイルの一覧をとってきて、rexecuteコマンドにパイプで渡すだけです。 $ find . -name '*.tex' rexecute make build みんなのGo言語で気になったところを読んでいたのですが、CLIツールの…

  • Released Kobin v0.1.0: Web Framework for Python3.

    少し開発が停滞気味だったのですが、最近多くのアップデートを加えたので、v0.1.0をリリースしました。それに伴い、WSGIミドルウェアやWSGICLIの開発、ドキュメントの整備を行ったので紹介。 github.com Kobin Kobinの説明や使い方は、ドキュメンテーションを書いたのでここでは省略します。 Welcome to Kobin — kobin 0.1.0 documentation Welcome to Kobin — kobin 0.1.0 ドキュメント また実際に自分でKobinとSQLAlchemy、Angular2などを使って、サンプルのアプリケーションを書いているので…

  • Webフロント周りのパフォーマンスを計測・チューニングする

    Github Pagesで公開しているポートフォリオサイトがそんなに色んな情報載せてる訳でもないのですが、遅くてあまり気持ちのいいものではないので、最適化していきます。 結論から書くと、2.87sぐらいかかっていた読み込みが1.57sぐらいになりました。 まだまだ細かいチューニングの余地はありますが、コストのわりに効果の大きそうなところを探って対処してみました。 Chrome Developer Tools, Page Speed Insightsとかで原因を探る JavaScriptのminify 大きい画像はプログレッシブ形式のJPEGに変換 ImageOptim CloudFrontでC…

  • h2load, apache benchによる負荷テスト

    前回の記事で触れたApache JMeterやGatlingとは違って、今回試したのはシナリオとかもなくHTTPのリクエストを大量に投げて、スループットやレイテンシを計測してみたい時に便利なツール。 実際に試したのは次の2つ。他にも、wrkやvmbench、siegeが気になったので試したらまた追記。 h2load ab: apache bench h2load Installation: HTTP/2 に対応するベンチマークツール h2load を Build するメモ ぶっちろぐ http/2に対応 Command: $ h2load -n 1000 -c 200 --h1 http:…

  • Apache JMeterメモ

    Website: http://jmeter.apache.org/ Apache JMeterを教えてもらったので、後で見返せるようにメモ。 Apache Software Foundationで開発されているオープンソースのJavaアプリケーション Webサーバーに対して複数のHTTPリクエストを送信し負荷をかけたり、JDBCを経由してデータベースサーバーに負荷をかけたりできる 基本的な流れ 起動 最新のzipバイナリをダウンロード・解凍。 $ cd apache-jmeter-3.0/bin $ java -jar ApacheJMeter.jar スレッドグループ スレッド数: 並列に…

  • Electronでニコ動のコメントみたいにTweetを表示するアプリつくった

    知り合いのエンジニア(rayさん)がGTK3で作っていた nsd というのがあるんですが、結構いい感じなのでMacでも動くものが欲しかった。 Electronで似たようなことが出来ないか調べてみると、GTK3とかに比べて簡単にできそうだったので作ってみた。 ポイントは: 常に最前面にtweetが表示される マウスのイベントが後ろに透過する コーディングだったり他の作業が問題なく出来る 今度、カンファレンスや勉強会で話す時にハッシュタグ表示してみます。 ロゴも描いてみた マウスのイベントの透過について rayさんのnsdとかの場合、tweetのテキストを囲うだけのとても小さくて透明なウィンドウを…

  • PIPEによるプロセス間通信とselect, poll, epollの話

    エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)作者: Michal Jaworski,TarekZiade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也出版社/メーカー: ドワンゴ発売日: 2018/02/26メディア: Kindle版この商品を含むブログを見る 先日、 tokibito 先生(id:nullpobug)と勉強していたpipe, select, poll, epollあたりについてメモ。 os.fork os.fork : 子プロセス(child process)をつくれる。 import os a = 0 print(a) os.fork() a…

arrow_drop_down

ブログリーダー」を活用して、nwpct1さんをフォローしませんか?

ハンドル名
nwpct1さん
ブログタイトル
Programming Log
フォロー
Programming Log

にほんブログ村 カテゴリー一覧

商用