ろぐれこーど

限界組み込みエンジニアの学習記録とちょっぴりポエム

macOS + vscode + clangでatcoder C++デバッグ環境構築

ソフトウェアエンジニアっぽくない仕事ばかりして久しいですが、最低限コーディングとかアルゴリズムとかわかっていたいと思う自分がいるのでatcoder始めてみました。昔すこしだけpythonでやってたんですが、コード解説とか多い&仕事とかで今後使うかも とい…

会社が買収されたのを機にキャリアを考え直して転職した話

この度一念発起して転職したのでその記録。外的要因もまあまあ強いため参考にはならないかもしれませんが、今の時代「自分の会社が倒産しない」と言い切れる業界はほぼなく、あっさり買収されて環境激変することも容易にあり得ます1。そんな時できることは何…

真に成果を上げる組織に必要な『心理的安全性のつくりかた』

「心理的安全性」というワードがここ最近で急に浸透してきているように感じたので、教養としても知っておきたいと思い呼んでみました。マネジメント向けとされていますが、サブリーダーやメンバーといったレベルでも実践できることが多く、役立つことが多い…

VSCodeに慣れ切った人間が限界までサクラエディタを使ってみた話

サクラエディタ、使っていますか? 自分は新卒入社時、先輩に謎マウント1取られて以来忌み嫌っていたのですが、何事も経験せず批判するのも良くないなと思い、とりあえず限界までカスタムしたらどれくらい使い物になるのかを試してみました。ちなみに普段はV…

ソフトウェア品質向上のために 〜HISコードメトリクス〜

結構前に、以下のようなツイートをしました 「if-else ifに対しては条件抜けがないことを明示するために書く」ってのがIPAが出してる組み込みソフトコーディングガイドに記載されてるので、それに準拠してるとこは書くかも https://t.co/Vdb7QZJXGt— じっく …

エンベデッドシステムスペシャリストに合格したので振り返り

題名の通り、エンベデッドシステムスペシャリスト(ES)に合格できたので軽く振り返ます。次に受ける人の参考程度になればよいかなと。(死ぬほどギリギリだったので偉そうなことは言えません) ギリギリすぎて草まあ受かったからよし! pic.twitter.com/Aj4…

設計を知ることは原則を知ること。『プリンシプル オブ プログラミング』

久しくソフトウェア設計的な本に触れてなかったので、以下の本を読んでみました。 プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則作者:上田 勲発売日: 2016/03/23メディア: 単行本 「3年目までに読んでおくべき」とありま…

copytreeのignoreをinclude/excludeで指定する(python)

pythonにてディレクトリを再帰的にコピーする場合、shutil.copytreeを使用できます。このとき引数ignoreを使用すると指定したglobパターンにマッチするファイル、ディレクトリを除いてコピーができますが、指定の仕方がちょっと特殊(shutil.ignore_patterns…

自分の資産は自分で守る。『教養としての投資入門』

学生の頃までは「将来性があって技術的なことができれば給料はそこそこでいいや」とか「貯蓄とか一般財形しとけばいいでしょ」と雑な考えだったのですが、少し働いてみて気が変わりました。労働まじでしんどすぎ。働くのが嫌になったので気分転換に以下の本…

Googleドライブ起動中の右クリック(コンテキストメニュー)表示が遅いのを解消する

Googleのクラウド同期ソフトである「バックアップと同期」や「Googleドライブ(旧Google Drive File Strem)」起動中、エクスプローラ上での右クリック(コンテキストメニュー)が開くのが遅くなると言う問題があるようです。 support.google.com 19年にissu…

固定小数点数による分解能表記(LSB)と演算

組み込み開発時に、一般的な(?)プログラミングではあまり扱わない要素として「固定小数点数」の利用があります。組織によっては単に「LSB」とか呼ばれたりしますが、新入社員の時にさも当然のことのように言われて困惑した思い出があるので、ここにメモとし…

初心者から脱したいなら「C言語 ポインタ完全制覇」

新卒のとき、派遣で来てた人の机の上に下の本がありました。 新・標準プログラマーズライブラリ C言語 ポインタ完全制覇作者:前橋 和弥発売日: 2017/12/07メディア: Kindle版 その時はひよっこ中のひよっこだったので「なんか難しそうな本だな」と思ってスル…

コンサルじゃないけど『コンサル一年目が学ぶこと』を読んだ

Amazon Readingで読めるビジネス書で、評価の高かった本を読んでみました。コンサルに関わらず、どの業界でも使える仕事の基礎みたいな内容です。 コンサル一年目が学ぶこと作者:大石哲之発売日: 2014/07/31メディア: Kindle版 著者 概要 話す技術 思考術 デ…

全ての基本は構造化から。『組み込みソフトウェア開発のための構造化モデリング』

構造化モデリング及び設計に関する本を読みました。オブジェクト指向設計が提唱されて久しいですが、組み込みの製品開発では今でも構造化設計に基づく部分が多くあります。(C言語だと言語仕様的に実装しにくいということも一因だけど、新規開発が少なく実績…

tagsファイルをパースして関数一覧を取得する

プロジェクト内の関数一覧を取得したいとPLに言われたので、適当に方法を考えてみました。構文解析から愚直にやると地獄を見そうなので、今回はCtagsを利用し、tagsファイルをパースするスクリプトをpythonで書きます。 Ctags == 5.8 python >= 3 C/C++のプ…

elxrリンカにおけるリンカスクリプトの記述

GHSコンパイラのelxrリンカにおけるリンカスクリプト(.ldファイル)の書き方がわからなかったため、ざっくり調べました。 概要 elxrリンカ MEMORY SECTION contents指定 関数の使用 属性の使用 (参考)ldリンカ まとめ 概要 Linker Directiveファイル(通称リ…

周回遅れで『SOFT SKILLS』を読んだ

今更ながら、少し前に話題になった「SOFT SKILLS」という本を読みました。もはや本を買うまでもないくらいネット上に書評等の記事が出回っていますが、記録のために書き残しておきます。 SOFT SKILLS ソフトウェア開発者の人生マニュアル作者:ジョン・ソンメ…

VScodeでファイルの表示・検索・監視のExclude設定をする

ファイルの多いディレクトリをVScodeで開くと動作が重くなったり、grep検索の結果が見づらくなります。その対策として各種Exclude設定を調べたのでメモします。versionは以下を想定。 vscode == 1.51.1 globパターンの記述 Exclude設定 エクスプローラの表示…

MongoDBのcollection基本操作をpythonで(pymongo)

pymongoによるMongoDBのcollectionに対する操作をしょっちゅう忘れるのでメモします。バージョンは以下を想定しています。基本的にはMongoDBでのshellコマンドがそのままpymongoで使用できます。 MongoDB == 4.4.1 pymongo == 3.10.1 検索 基本 演算子の指定…

巡回冗長検査(CRC, Cyclic Redundancy Check)の原理と実装

実務でCRC、巡回冗長検査を使うことがあったのですが、いまいちよくわかっていなかったので調べてみました。間違いあれば訂正します。 CRCとは 使い始めるために 生成多項式 二元系列での除算 CRCの計算 実装 補足説明あれこれ 実装都合の知識 生成多項式の…

プロセス改善の第一歩に『ハイブリッドアジャイルの実践』

アジャイルというプロセスは、主に小規模な開発案件で適応できるものかと思っていましたが、以下の本を見つけたので読んでみました。 ハイブリッドアジャイルの実践作者:英繁雄,奈加健次,平岡嗣晃,前川祐介,関西電力株式会社発売日: 2014/11/26メディア: Kin…

sipsコマンドでheic画像を別形式に一括変換する

.heicの画像をに別フォーマットに変換する必要があったため、シェルスクリプトを書きました。heic画像を格納したディレクトリで実行すれば同名のjpg画像を新たに保存します。macがサポートしているsipsコマンドを使用しているため、他OSでは使用できません。…

『一日ごとに差が開く 天才たちのライフハック』でライフをハックしてみたい

Amazon reading対象だったので以下の本を読みました。 1日ごとに差が開く 天才たちのライフハック作者:許 成準発売日: 2019/04/25メディア: Kindle版 自己啓発本には大抵「習慣付けが大事」みたいな内容が多いですが、実践のハードルがかなり高いようなもの…

volatile修飾子の使いどころ (組み込み, C)

C言語におけるvolatile修飾子をどういったときに使う必要があるかを整理したかったので調べました。 結論 説明 レジスタ操作 他で参照しないレジスタへの書き込み 特定の手順での書き込み レジスタ参照 他で書き込みしないレジスタへの参照 速度重視の最適化…

一生縁がないと思っていた「アート」に触れて

我慢の夏休みとかいう、GWにも聞いたようなフレーズで外出自粛を余儀なくされている今日この頃ですが、いよいよやることがなくなってきたので普段は読まなさそうな本を読みました。 「自分だけの答え」が見つかる 13歳からのアート思考作者:末永 幸歩発売日:…

数値を含む文字列のリストを数値順でソート (numerical sort, python)

pythonにはリストをソートするための関数sorted()がありますが、数値を含む文字列のリストをソートすると意図しないものとなります。 l = [ "test2", "test1", "test12", "test4", "test10" ] sorted(l) # ["test1", "test10", "test12", "test2", "test4"] …

subprocessを子プロセスまでkillして停止させる (python)

pythonのsubprocessライブラリ使用時、バックグラウンド実行したサブプロセスを中断させるのに手こずったのでメモします。 結論 Windows Linux 補足説明 execコマンド subprocess 参考 結論 下記の環境で確認済み。 python == 3.7.6 バックグラウンド実行す…

デュアルブート時のLinuxとWindowsの時刻ズレを解消する

ubuntu18.04とwindows 10をデュアルブートしていると、時刻がずれる現象が起こったので解消方法をメモします。 結論 補足説明あれこれ システムクロック ハードウェアクロック hwclockコマンド timedatectlコマンド 結論 Linux側の時刻を調整することを前提…

整数値からポインタ値へのキャスト (C言語)

C言語で整数型からポインタへキャストする書き方で少し詰まったため、メモします。 想定ケース 「特定のアドレスに値を直接書き込みたい」というケースを想定します。以下のようなコードを実際に見ました。 // address(0xFFFF0000)に0xFFを書き込む unsigned…

Ubuntu18.04 にpipでwxPython(Phoenix)をインストール

Ubuntu18.04 + python3.7.6(pyenv) にwxPython(Phoenix)をインストールするときに少しハマったのでメモしておきます。 結論 試したこと pip apt まとめ 参考 結論 2020/5/17現在の方法です。 sudo apt install libsdl2-2.0-0 libsdl2-dev してから pip insta…