Code

CentOS7、8からAlmaLinuxへ

article_102_eye_catch

 

CentOS8のサポートが2021年12月で終了しましたね。

今後はCentOS StreamとしてRHELの先進開発環境のようなものとなり、安定版ではなくなります。

クラウド環境、オンプレ環境問わずRHELのクローンであるCentOSを利用しているところは多いのではないかと思います。

CentOS7のサポートはもう少し長く、2024年6月30日までサポートが続きますが、とはいえ移行計画を練らなければならない状況ではあると思います。

移行先の一つの候補として注目されているのがAlma Linuxになります。

CentOSと同じくRHELのクローンであり、安定したLinux OS環境を手に入れることが可能です。

インストール方法もCentOSと変わらないため、利用してみてはいかがでしょうか。

Ubuntu等のディストリビューションへ移行するよりも親和性が高いものと思料しております。

ガントチャートでタスクを管理(WBS、イナズマ線、クリティカルパス)

article_101_eye_catch

 

こんにちは。最近ふとWBSのテンプレートを作ってみたくなりまして、ExcelのVBAを使ってWBSからガントチャートを作成するテンプレートを作成いたしました。

Windows10 Pro環境、MacBook Pro (M1 2020)環境において、Microsoft Office365環境下で動作確認済みとなります。

タスク管理ツールにつきましては、Redmine、Backlog、Jiraなどのアプリケーションやサービスも多く存在しています。

いまさらExcelで管理なんて非効率だとか、高度なタスク管理ができないなどの声もあるでしょうが、あえてExcelで作成したのは配布しやすく、個人でも組織でも利用しやすいメリットがあるためです。

 VBAのコードはプロテクトをかけておりませんので、確認することが可能です。

イナズマ線をどのように引いているか、クリティカルパスをどのように引いているか、Excelにおけるマクロの参考にもなれば幸いです。

Wordによる基本設計書のテンプレート一式

article_100_eye_catch

 

皆さんのお手元には基本設計書の雛型などは整備されておりますでしょうか?都度フォーマットから用意しているような状況でしょうか?

私は2019年3月よりフリーランスエンジニアとして活動を始めましたが、 様々なプロジェクトに参加いたしますと、意外と設計書のテンプレートは整備されていないということです。

そもそも設計書が存在していないとか、メンテ不能なPDF版で存在するとか、設計書のフォーマットがばらばらでメモ書きのような雑なものだったりなど。

そのような現場に入った際に利用可能なテンプレートがあると便利だと思いませんか?

今回は印刷時の体裁面で悩まされることが無いように、Word文書でテンプレートを用意いたしました。

システム開発プロジェクトの工程について(ウォータフォール基準)

article_99_eye_catch

 

こんにちは。フリーエンジニアの山口です。

前回の記事ではエンジニアとはこういうものだ、エンジニアになるためにはたくさんの勉強が必要、平均年収は。。。と長々と語りました。

今回の記事ではエンジニアがシステム開発する際に行う一連の作業の流れを理解することで開発プロジェクトの全貌についてイメージを掴んで頂けたらいいなと思い、システム開発プロジェクトの工程についてご紹介したいと思います。

主にシステム会社に入社したばかりの方、フリーランスのコーダーの方、これからエンジニアを目指そうと考えている方など、システム開発プロジェクトの参画経験が無い、あるいは一部の工程しか参画したことの無い方向けの記事になります。

システム開発プロジェクトにはどのような工程があって、各工程で何をするのか、受託開発におけるプロジェクトの工程を例としてご紹介します。

【CentOS】rpmパッケージのインストール、更新、削除コマンドについて

article_95_eye_catch

 

Linux環境にてrpmパッケージをインストールする際のコマンドになります。

rpmとはRed Hat Package Managerの略で、Red Hat Linuxのために開発されたパッケージ管理方式になります。

ソフトウェアを一つのファイルにまとめて配布するためのファイル形式の仕様と、パッケージをシステムに導入する管理ツールで構成されています。

ソフトウェアをインストールするためのファイル形式の一つです。

頻繁に利用するわけではないですが、何かをインストールしようとしたときにいつも忘れがちなので備忘録として載せます。

【Hyper-V】ホストOSからCentOS7のデスクトップにファイルをコピペする方法(クリップボード共有)

article_94_eye_catch

 

当該記事では、Hyper-Vで構築したCentOS7環境にxrdp経由でアクセスすることで、ホストOSであるWindows環境からCentOS環境へファイルをコピペする方法をご紹介致します。

「続:Hyper-VでCentOS7環境を作る」でHyper-Vで構築したCentOS7環境にxrdpを使ってアクセスすることでファイル共有できるようにする方法をご紹介致しましたが、xrdp 0.9.11では不具合の為接続できませんでした。

2020年4月19日現在ではxrdpのバージョンは0.9.13となっており、hvsockを利用したアクセスに関する不具合は解消しております。

上記の記事で記載した設定はxrdp 0.9.10での設定方法になりますので、そのまま残し、新しい設定方法は本記事でご紹介致します。

【Java】gzipやwgetなどの外部プロセスを実行する方法

article_93_eye_catch

 

Javaで外部プロセスを実行する方法についてご紹介いたします。

例えばgzipコマンドやwget、curlコマンド、nkfコマンド等の外部プロセスを実行する方法になります。

これらの外部プロセスをJavaから利用する際の注意点としましては、実装方法次第でお見合い(デッドロック)状態となってしまう可能性があることです。

外部プロセスの標準出力、標準エラーがバッファサイズを超えてしまう可能性があり、そのような状況になると外部プロセスは標準出力への出力ができず、待ち状態となってしまいます。

また、Javaプログラム上で外部プロセスの終了を待つようにしていると、外部プロセスはバッファが空くのを待っており、Javaプログラム側はプロセス終了を待っているという状態になってしまう可能性があります。

それらの状況を回避することを考慮した実装方法をご紹介いたします。

【PHP】ファイルダウンロード処理を記述する場合の注意点

article_92_eye_catch

 

PHPにおけるファイルダウンロード処理のサンプルを紹介いたします。

PHPでファイルダウンロードをする際、ファイルサイズが小さければさほど問題になりませんが、大きなファイルをダウンロードする場合はバッファリングに注意する必要があります。

実装方法次第ではPHPに割り当てられたメモリでは処理できず、ファイルダウンロードに失敗します。

簡単なテストではなかなか気付かないため、予め知っておくと他の言語においても同様の注意を払うようになります。

【Java】Google Drive APIで大きいサイズのファイルをダウンロードする方法

article_90_eye_catch

 

皆さんはGoogle Drive APIを利用したことがありますでしょうか?

最近Google Drive APIを利用する機会があり、その際に提供されているAPIではどうにも解決できない問題に直面しました。

それはサイズの大きなファイルをアップロードすることはできても、ダウンロードすることができないという問題です。

なぜダウンロードできないかというと、Google Driveからファイルをダウンロードする際、対象ファイルは自動的にウィルススキャンされる仕組みとなっているのですが、100MB以上の大きなファイルについてはウィルススキャンの実行に失敗してしまうためです。

色々と検証を重ねた結果、最終的にダウンロードに成功しましたので、備忘録を兼ねてGoogle Driveからサイズの大きなファイルをダウンロードする方法についてご紹介いたします。

【Java】Google Drive APIでGoogle Driveに接続する方法

article_91_eye_catch

 

最近Google Drive APIを利用する機会があり、API利用までの手順がやや面倒でしたので、備忘録を兼ねてご紹介したいと思います。

プログラムのサンプルはJavaですが、基本はGoogleから提供されているサンプルがベースになります。

API利用までの事前準備は他の言語においても共通になりますので、他の言語を利用の方はGoogleで公開されているサンプルソースをもとにプログラム部分だけ差し替えて読んで頂ければ幸いです。