このメモは、私(@ymmt2005)が長年にわたってソフトウェアプロダクト開発に関わってきて 2022年現在こうしたほうが良いと考えているベストプラクティスです。
科学的な分析等に基づくわけではない経験則であるため、今後も随時見直すことがありますし、 ここに書いてあることが常に正しいわけでもあらゆるソフトウェア開発に適するわけでもありません。
しかしながら、実務経験が豊富で、モダンな技術スタックに明るいエンジニアの経験則は一定の 役に立つのではないかと考えて記します。
#!/bin/bash -ve | |
set -o pipefail | |
# EPUB ファイルをチャプター毎の mp4 ファイルに変換するシェルスクリプト | |
## 依存関係 | |
# brew install w3m が必要 | |
# unzip で、EPUBファイルからコンテンツ抽出 | |
# find, sort で、EPUBファイル内にあるXHTMLファイルをリストアップ | |
# w3m で、XHTMLファイルからHTMLタグを除去し txt に変換 | |
# say コマンドで txt から mp4 ファイルに変換 |
Hide private address on Amazon
hide-address.user.css
.import argparse | |
import angr #angr8 | |
from angr import sim_options as so | |
import claripy | |
import logging | |
from struct import pack | |
from pwn import * | |
import angrop | |
bin_path = '' |
アニメや映画などを見ていると、「博士」と呼ばれる人が出てくることがあります。ポケモンにもオーキド博士がいますね。多くの場合物語に登場する「博士」は一人だけで、たんに「はかせ」と呼ばれます。物語に出てくる博士はだいたい物知りで、年配であることが多く、「○○じゃよ」みたいな話し方をしたりします。この「博士」、実際にはどうやってなるのでしょうか?本稿では、「博士」にあまり馴染みのない人向けに博士の仕組みを説明してみようと思います。なお、博士号のとり方は分野によりかなり違います。以下は筆者の知る理工系、特に工学系に限った話だと思ってください。
物語では「博士」を「はかせ」と呼ぶことが多いですが、称号としての「博士」は「はくし」と呼ばれます。大学などの高等教育機関は、学術上の知識、能力が十分にあると認めたものに対して学位(degree)を授与することができます。学位にはいろいろありますが、その最高位に位置づけられるのが「博士号」です。戦前は博士号を授与できる機関が帝国大学に限られていたために希少性が高かったようですが、現在は学校教育法により、大学院を置く大学は課程修了者に修士または博士の学位を授与できることが定められています。他にも学位授与機構という、大学以外で学位を授与できる機関があります。
An upcoming project has me looking at car hacking at the moment. I watched a great video ( https://www.youtube.com/watch?v=nvxN5G21aBQ ) which caught me up to speed on the fundamentals. There are a few other videos out there on introductory car hacking, but they all seem to revolve around the virtual can interface provided by vcan
. I decided I didn't want to test virtually because then I wouldn't know how to work with the actual connection hardware. At the same time, being a beginner, I DID NOT want to plug into my personal vehicle's ODB2 port.
I was looking for something between vcan
and a real car. A little googling led me to the ScanTools ECUSim 2000:
https://www.amazon.com/OBDLink-ScanTool-ECUsim-Simulator-Development/dp/B008NAH6WE
This board simulates a car. It has a ODB2 port for interfacing just like one would do with a
from java.awt import Color | |
from ghidra.util.task import ConsoleTaskMonitor | |
from ghidra.program.model.block import BasicBlockModel | |
from docking.options.editor import GhidraColorChooser | |
""" | |
Ghidra script to colorize all basic blocks identified by the input file. | |
Prompts for a file to use as input. This script will attempt to sanity check | |
that a basic block actually does start at each provided address. |
あなたのシステムで、失敗の根本的な原因を探すのにどのくらい時間がかかりますか?5分?5日? もし、5分近くで答えられたなら、あなたのプロダクションシステムやテストは素晴らしいロギングを持っていることでしょう。 多くの場合、ロギングや例外ハンドリングや(あえて言いますが)テストなどの一見、本質的ではない機能は実装の後に行われます。 例外ハンドリングやテストと同様に、あなたのシステムやテストの両方にロギングの戦略が本当に必要です。 ロギングの力を過小評価しないでください。最適なロギングは、デバッガの必要性を排除することさえできます。
node_modules/ | |
md/ |