7839

雑草魂エンジニアブログ

技術

レジスタファイル・命令・シーケンサ

現在、CSの勉強のために、コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)を読んでいる。 P.17 主記憶装置を含む演算実行機構 前回は主記憶装置に焦点を当てたが、今回はレジスタ、制御信号群に焦点をあて整理をしてみる。 レジスタファイル …

メインメモリ(主記憶装置)RAM

現在、CSの勉強のために、コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)を読んでいる。 P.17 主記憶装置を含む演算実行機構 レジスタ→ALU→レジスタのサイクルで計算ができるものの、大量のデータを処理するためには大量のレジスタが必要とな…

演算回路(2)ALU・レジスタ

現在、CSの勉強のために、コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)を読んでいる。 P.13 コンピューターの演算サイクル コンピューターの演算サイクルをなんとなく理解できたが、この基礎をしっかり抑えておきたいと思い、自分なりにま…

演算回路(1)組合せ論理回路

現在、CSの勉強のために、コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)を読んでいる。 P.13 コンピューターの演算サイクル コンピューターの演算サイクルをなんとなく理解できたが、この基礎をしっかり抑えておきたいと思い、自分なりにま…

浮動小数点

現在、CSの勉強のために、コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)を読んでいる。 P.5 32ビットの浮動小数点による実数の表現 この式で、実数が表せることに関して、即座に理解できなかったので、浮動小数点に関して、自分なりにまとめ…

【Arduino】UART シリアル通信(HardwareSerial / SoftwareSerial)

Arduinoでシリアル通信をするにあたって、調べたことを備忘録としてまとめておく。 UARTとは HardwareSerial SoftwareSerial HardwareSerial実装 SoftwareSerial実装 SoftwareSerialメソッド SoftwareSerialコンストラクタ begin listen available read flus…

機械製図におけるマインドセット

機械図面におけるマインドセットに関して、「図面ってどない描くねん!現場設計者が教えるはじめての機械製図 第2版」から、学んだことをまとめておく。 設計図面を書けば、その通りのモノがきちんと完成品として出来上がってくる。という夢物語ではなく、モ…

【ESP32】 開発環境構築(Mac / VSCode / PlatformIO IDE)Lチカ

ESP32-DevKitC-32D を使って、Wi-Fiモジュールを使った開発に手を出してみたくなり、やっと ESP32 を手に入れた。今回は、初歩の開発環境構築とLチカについて、備忘録として残しておく。 ESP32-DevKitC-32Dに関して 開発環境に関して VSCode(Visual Studio C…

【GitHub Actions】Next.jsのPreview Mode + microCMS(EC2・S3への自動デプロイ設定)

現在、とあるサイトを Next.js + microCMS で運用している。そして、インフラ環境は、CloudFront + Amazon S3 構成としている。今回、エンジニア以外の人がmicroCMSで記事を執筆して、プレビュー画面で見栄えも確認したいのに、気軽に確認できない。という問…

【Rails】ActiveRecord::Base#reload(SQLキャッシュ)

Railsアプリケーション開発時に、少しハマったので、備忘録として残しておく。今回を通して、RailsのSQLキャッシュという機能があることを知った。また、その場合に、どのようにして再取得すべきかを学ぶことができた。 実行環境 Ruby : 3.0.1 Ruby on Rails…

【Ruby】begin ~ rescue ~ end 例外処理

Railsアプリケーションで、複雑な処理を実装しようと思うと、例外処理の実装が不可欠となる。Rubyで例外処理をどのように実装するか、(毎回確認している気がするのでw)備忘録として残しておく。 例外処理 raise rescue (おまけ)一定回数retryさせる まとめ…

【Rails】Sidekiq 〜ジョブがスタックしたので、複数プロセスで対応

自動復旧できるシステムが構築したくて、Railsで簡易的なアプリケーションを開発した。その際に、バックグラウンドジョブを実行するために、Sidekiqを使った。ただ、バックグラウンドジョブがスタックすることがあったので、調べたことを備忘録として残して…

【C/C++】C++言語文法(2)

前回のC++言語文法の続き。 C言語との違い 関数の引数 変数宣言 構造体 bool型 クラスの相互参照 const修飾子 テンプレート STL(Standard Template Library) イテレータ 仮想関数(virtual修飾子) 純粋仮想関数 抽象クラス インターフェース inline修飾子 …

【C/C++】C++言語文法

C言語を学びなおして、引き続きC++言語の文法の基礎を学習した。備忘録として残しておく。 今回も、C言語に続き、一週間で身につくC++言語の基本を教材として使わせていただいた。これが無料公開されているなんて、本当に感謝しかない。 ファイル分割 名前空…

【C/C++】C言語文法の復習(3)文字

C言語の文字の取り扱いは、他の言語で文字列としての型に慣れていると、きちんと理解できていなかったように思えた。以下の問題のお陰で、自分の理解不足を痛感したので、備忘録として残しておく。 【問題】 【解答】 文字・文字列 ASCIIコード 文字を数値に…

【C/C++】C言語文法の復習(2)ポインタ

前回のC言語文法の復習の続き。 ポインタ 変数とポインタ 配列とポインタ 動的なメモリの生成 文字列操作 構造体 列挙型 まとめ ポインタ ポインタの話をする前に、変数に関する前提知識を確認しておく必要がある。(ここを抑えておくことで、ポインタに対す…

【C/C++】C言語文法の復習 変数・メモリ・コンパイラ

C言語は大学の授業でやったぐらいで10年ぶりの学び直し。最近は、RubyやTypeScriptばかりやっていたので、すっかり忘れていた。C言語において、気になった部分を備忘録として書き残しておく。 今回は、一週間で身につくC言語の基本を教材として使わせていた…

【C/C++】MacでC/C++実行環境構築(Clang→GCCの環境構築)

C言語は大学の授業でやったぐらいで10年ぶりの学び直し。今回は、一週間で身につくC言語の基本を教材として使わせていただいた。これが無料公開されているなんて、本当に感謝しかない。 早速、実行しようとした際に、少し戸惑ったので、調べたこともあわせて…

個人のタスク管理をGitHub Projectsでやることにした

仕事のタスクに追われて、個人的な興味関心の学習などが最近疎かになっていたので、タスク管理を導入してみた。Trelloなどの様々なツールがあるが、今回GitHubのProjectsでやることにした。導入してみて、意外に使いやすいかもwと思ったので、今回紹介して…

スマートエスイー(Smart SE)の正規履修を修了して(2021/04-09)

めちゃくちゃ久しぶりのブログ更新になってしまった。アウトプット習慣を定着させていたが、最近は目の前のことに追われすぎて、かなりサボってしまった。 今回は、4〜9月まで受講していたスマートエスイー(Smart SE)を無事に修了できたので、そちらの振り…

【Python】既存の PDF に画像を挿入する(PyPDF2 / ReportLab)

あるアプリケーション内で、Python を用いて Excel ファイルを作成し、その Excel ファイルを LibreOffice で PDF に変換していた。Excel のヘッダー/フッターには、文字・ロゴ画像を挿入していたが、LibreOffice で PDF 変換時に、なぜかヘッダーの画像だけ…

【Python】XlsxWriter を用いて整形したデータを Excel ファイルに出力する(逆引き)

先日、Python で簡単なデータ解析をして、解析した結果を Excel ファイルで出力するアプリケーションを作成した。その際に、XlsxWriter を用いて、Excel ファイルの作成・編集などを行ったので、備忘録として残しておく。 XlsxWriter とは ライブラリ逆引き …

【Rails】DB を使わずに、jsonファイルで簡易ユーザー管理機能を実装する

ある Rails アプリケーションにおいて、下図のように、1つの DB を複数のアプリケーションが参照する場合がある。(ただし、複数のアプリケーションから、自由に DB の書き込みができるのではなく、1つのみに Read/Write 権限を持たせて、その他は Read 権…

【Python/JWT】LINE WORKS の BOT の AccessToken を取得する

今回、LINE WORKS に新しく BOT を導入することになった。BOTの用途は、通知用であり、インタラクティブである必要はない。 通常の LINE の BOT を作成したことはあったが、LINE WORKS での BOT 作成は初だったので、備忘録として残しておく。 システム概要 …

【OpenSSL】オレオレ(自己署名)証明書を作成する(EC2)

EC2 のステージング環境で SSL 対応がしたいとの要望があり、まだSSL サーバー証明書の購入ができていなかったこともあり、暫定でオレオレ(自己署名)証明書を作成した。今回は、その備忘録を残しておく。 オレオレ(自己署名)証明書とは OpenSSLのインス…

【Rails】SideKiqを用いて非同期処理(バックグラウンドジョブ)を実行する

今回、Rails のプロジェクトで、バックグラウンド処理を実装したくなり、SideKiq を用いて実装を行ったので、備忘録として残しておく。 ジョブ管理 Sidekiq とは Redis をインストールする Sidekiq を実装する (おまけ)AWS EC2へのデプロイ Redis のインス…

【Linux】Supervisor でプロセス制御(Rails + Puma / Capistrano)

EC2(AmazonLinux2)に構築した Railsアプリケーションのプロセス管理、具体的にはデーモンプロセスとして動かすために、今回 Supervisor を使ったので、備忘録として残しておく。 Supervisor v4.2.1 Supervisor とは Supervisor のコマンド supervisord sup…

【Rails】Capistrano で Rails アプリケーションを自動デプロイ(サーバー設定/デプロイ編)

先日の【Rails】Capistrano で Rails アプリケーションを自動デプロイ(設定編)に続き、今回は実際にデプロイするにあたり、サーバー側で事前に設定した内容に関して、備忘録として残しておく。 Capistrano ver.3.14.1 Rails ver.5.2.4 AmazonLinux2 サーバ…

【Rails】Capistrano で Rails アプリケーションを自動デプロイ(設定編)

Rails アプリケーションを本番、ステージング環境にデプロイする際に、同じ作業を何回もやるのは正直面倒である。今回、Capistrano というデプロイ自動化ツールを使ったので、備忘録を残しておく。 Capistrano ver.3.14.1 Rails ver.5.2.4 サーバーの環境構…

【Puma】Rails 5.2 + Puma + Nginx のデプロイ設定

先日、【EC2】Rails5 環境構築(Ruby + MySQL5.7 + Node.js + Nginx) について書いた。そして、今回は、アプリケーションサーバーである Puma について色々と調べて設定したので、備忘録を残しておく。(以前、Rails を使っていた時は、Unicorn が主流だっ…