【全エンジニア必見?】仕事で使えないLinuxネタコマンド大全
この記事は、Linuxのコマンドラインで使える、実用性はないがおもしろいネタコマンドを多数紹介している。 テキストを装飾するコマンド(cowsay、xcowsay、ponysay、fortune、yes、rev、banner、figlet、toilet、boxes)、アニメーションを表示するコマンド(cmatrix、hollywood、no-more-secrets、asciiquarium、bb、aafire、cbonsai、cacademo、nyancat、oneko、xeyes)、タイポやパロディコマンド(sl、gti、apt-get moo)、そして少しは使えるコマンド(cal、curl wttr.in、factor、wtf、screenfetch、welcome2l)に加え、telnetで利用できるスターウォーズ表示や、チェス、囲碁、そしてコマンドラインゲーム(スペースインベーダー、テトリス、パックマン、スネーク、マインスイーパー、月面車ゲーム、ソリティア、2048、戦略ゲーム、nethack)を紹介している。 読者にはこれらのコマンドを試して、同僚を驚かせることを促している。
NEC印西データセンターで AWSとOracle Cloud マルチクラウド L3高速低レイテンシ接続してみてみた
このテックブログ記事は、NEC印西データセンターを活用したAWS Direct ConnectとOracle Cloud Infrastructure FastConnectによるマルチクラウド/ハイブリッドクラウド閉域接続の構築手順と検証結果を詳細に解説している。NEC印西データセンターはAWS、Azure、Oracleの主要パブリッククラウドへの接続拠点を備える。記事では、Ciscoルーターを用いたオンプレミス環境からの冗長構成による接続設定、AWSとOracle Cloudにおける仮想プライベートゲートウェイや仮想インターフェースの作成、ECMP設定、BGPルート受信設定、そして各環境間の接続確認(ping、SSH、Netperf)までを網羅している。 最終的に、オンプレミス、AWS、OCI間の相互接続が正常に動作することを検証している。
NEC印西データセンターで Oracle FastConnect L2 接続してみてみた
NEC印西データセンターにOracle Cloud Infrastructure (OCI)への専用接続拠点が設置された。これにより、印西データセンターは国内唯一の主要3パブリッククラウド接続拠点を備えるデータセンターとなり、セキュアかつ低遅延なハイブリッド/マルチクラウド環境を実現する。記事後半は、OCI FastConnectを利用した冗長構成(BGP、ECMP、BFD)の設定手順と検証結果を詳細に記述している。 NEC独自のサービス「NEC Cloud Service based on Oracle」も提供される。
新卒が業務を通して感じたこと・学んだこと
新卒1年目の塩谷さんが業務を通して学んだことをまとめた記事。質問の仕方、作業の認識ずれ、言葉遣いの3点で苦労したと述べている。 具体的な学びとしては、事前に話す内容を整理する、フィードバックを受け入れる、そして実践を通して経験を積むことの重要性を挙げている。 要約すると、新卒は業務におけるコミュニケーション、認識共有、そして実践の重要性を学び、経験を通して成長していく過程を記した記事である。
データ分析をやってみるぞ~その一~
この記事は、著者がRからPythonとMySQLを用いたデータ分析環境に移行する過程を記したものです。Windows環境へのMySQLのインストール手順を詳細に解説しており、インストーラを用いたインストール、アカウント設定、各種設定画面の操作などを、スクリーンショットを交えながら説明しています。インストール過程で遭遇した問題(パスワード入力後のEnterキー未押下)とその解決策も記述されています。 最終的にはMySQL ShellとMySQL Workbenchのインストールが完了し、次のステップとしてMySQLの操作に入ることを予告しています。
【AWS】初心者必見!複雑なポリシー類を簡単にまとめてみた!
AWSのアクセス管理ポリシー6種類を解説した記事。アイデンティティベースポリシー(ユーザー/ロールに付与)、リソースベースポリシー(リソースに直接付与)、アクセス許可の境界(ユーザー/ロールの権限上限)、Organization SCP(組織全体でAWSサービス制限)、Organization RCP(組織全体でリソースアクセス制限)、セッションポリシー(ログインセッション制御)を説明。優先順位は、上からセッションポリシー、リソースベース、アイデンティティベース、Organization SCP/RCPの順で、「拒否」が「許可」より優先される。
「The Arcade」を使ってゲーム感覚でGoogle Cloudを学ぼう
Google Cloudの学習プラットフォーム「The Arcade」を紹介する記事。The Arcadeは「Google Cloud Skills Boost」のハンズオンラボ教材を利用し、月次・トリビア・スキルバッジの3種類のチャレンジをクリアすることでポイントを獲得、景品と交換できるシステム。無料のハンズオンラボが多く、初心者から上級者まで、楽しみながらGoogle Cloudスキルを習得できる。
あなたはいくつ解けますか?データベース分野を徹底解説 【基本情報・応用情報】
この記事は、基本情報技術者試験と応用情報技術者試験のデータベース分野を網羅的に解説したテックブログ記事です。正規化、同時実行制御(ロック)、SQL、トランザクション、キー、ER図、3層スキーマ、制約、インデックス、実行計画と統計情報、リポジトリ、データウェアハウス、データマイニング、NoSQLといったデータベース関連の主要概念を、図解を用いて詳細に説明し、それぞれの概念に関する試験問題とその解答・解説も掲載しています。 特に同時実行制御と正規化については、図解を用いて丁寧に解説することで、理解を助けるよう工夫されています。 さらに、SQL学習に役立つWebサイトも紹介しています。
ポインタとは
この記事は、プログラミングにおけるポインタの基礎概念を解説しています。ポインタとは、メモリ上のデータのアドレスを保持する変数であり、「データの場所を示す地図」のような役割を果たします。ポインタを使用することで、大規模データの効率的な受け渡し、データの共有と変更、動的なメモリ管理が可能になり、プログラムの効率性と柔軟性が向上します。C言語の例を用いて、ポインタの宣言、アドレス取得、値取得の方法、そして関数ポインタや文字列処理への応用などが説明されています。 高級言語であっても、ポインタの基本概念はメモリ管理の理解に役立つと結論づけています。
Lookerを使用したバグと対策の管理方法
本記事は、Jiraで管理するバグチケットの分析を効率化するために、Google Looker Studioと連携させる方法を紹介している。従来はJiraからスプレッドシートにエクスポートして分析していたが、データ量増加によるスプレッドシートの遅延や作業の手間を解消するため、Jira Cloud for Sheetsアドオンを用いてJiraのデータをスプレッドシートに自動インポートし、Looker Studioで視覚的なダッシュボードを作成する手順を解説している。特に、Looker StudioでJiraチケットへのハイパーリンクを作成するテクニックも紹介されている。 結果として、Jiraとスプレッドシート間の往復作業を削減し、効率的なバグ管理を実現する。
Laravelプロジェクトに導入予定の便利ツールをご紹介!
この記事は、Laravelプロジェクトの開発生産性向上のため、PHPStan、Pint、Huskyという3つのツールを導入しようとした際の課題と改善策を紹介している。
-
PHPStan (静的解析ツール): 既存コードのエラーが多いため、
--generate-baseline
オプションでベースラインを作成し、新規コードのエラーに絞り込むことで対応。 -
Pint (コードスタイルツール): 既存コードの一括修正が困難なため、
pint.json
でルールを段階的に設定し、部分適用することで対応。 - Husky (gitフックツール): git commit時にPHPStanとPintを実行し、エラーを検知して開発者に警告する。
導入にあたっては、既存コードへの対応が課題となり、段階的な導入とベースライン機能の活用が有効であることが示されている。
【競プロ】ヒューリスティックコンテストで戦うヒント
この記事は、AtCoderヒューリスティックコンテスト(AHC)攻略のためのヒント集である。経験に基づき、典型的な手法だけでは解きにくい最近のAHC問題への対処法として、以下の5点を提示している。
- 粗視化: 問題を簡略化し、効率的に大局的に良い解を探す(例:巨大な盤面を小さな格子に分割)。
- 小問題分割: 複雑な問題を独立した小問題に分割して解き、それぞれを最適化する(例:ルート探索問題を、ルート決定と信号切り替え最適化に分ける)。
- 自主的制約追加: 自由度が高すぎる問題に、自ら制約を設けて解きやすくする(例:壁の位置を固定するなど)。
- アルゴリズム活用: 問題の一部をアルゴリズム(DP、BFSなど)で厳密に解くことで、残りの部分に集中できる。
- 実行時間活用: 与えられた実行時間を最大限に活用し、パラメータ探索や反復処理で解を改善する(例:粗視化の格子サイズを変えて試行)。
さらに、実装に関する心構えとして、高速化は後回し、コーナーケースに囚われすぎない、嘘解法も許容する、一歩ずつ改善を進める、拡張性は後回しにする、といった点をアドバイスしている。 全体として、AHC特有の考察方法や、効率的な問題解決のための戦略を提示している記事と言える。
プリザンターの外部ユーザー向けセキュリティ強化のポイント
このテックブログ記事は、社内外のユーザーがアクセス可能な、プリザンターベースの基幹システムにおけるセキュリティ強化について説明しています。社外ユーザーアクセス時のセキュリティリスク(APIキー漏洩、ID/パスワード認証の脆弱性)への対策として、APIサーバを中継することでAPIキーを隠蔽し、SMS認証とセキュリティキーによる多要素認証を導入したと報告しています。システム構成は、AWS EC2上にNginxとPHP(Laravel)で構築されたAPIサーバ、TypeScript(React)のフロントエンド、そして社内アクセス限定のプリザンター本体から成り立っています。
プリザンター 一覧画面のボタンでサーバスクリプトを発火させる
この記事は、サーバスクリプトを一覧画面から自由に実行する方法を解説しています。通常、サーバスクリプトは予め設定されたタイミングでのみ実行可能ですが、JavaScriptを用いて一覧画面にボタンを追加し、そのボタンクリックをトリガーにサーバスクリプトを実行する手法を紹介しています。具体的には、$p.events.on_grid_load
イベントを利用してボタンを動的に生成し、$p.send()
でポストバック、サーバ側ではcontext.ControlId
でボタンクリックを判別して処理を実行します。スクリプト実行による画面リフレッシュ中断のリスクを回避するため、サーバスクリプトを利用する利点も述べられています。ただし、サーバへの負荷増加やエラー時の影響に注意が必要であると結論付けています。
コードレビューの必須ガイド:要チェックポイント41選
この記事は、Pythonコードを例に、コードレビューにおける様々なチェックポイントを網羅したチェックシートを提供している。内容は、コーディング規約の遵守、コードの可読性と保守性、安全なコーディング、最適化とパフォーマンス、テスト、APIレビューの7つのセクションで構成され、それぞれ具体的なチェック項目と改善例を示している。初心者からベテランまで、コードレビューの実施や指導に役立つ内容となっている。
非公式のHTTPステータスコードまとめ
この記事は、公式規格にはない非公式のHTTPステータスコードのチートシートを提供している。 Apache, Laravel, Spring Framework, Twitter, Shopify, Microsoft, Esri ArcGIS for Server, Qualys SSLLabs, Pantheon Systems, LinkedInといった様々なサービスやプラットフォームが使用する、エラーメッセージとその説明をリストアップしている。これらのコードは、帯域幅制限、トークンエラー、CSRFエラー、JSON構文エラー、レート制限など、様々な状況を表している。
大学生の息子が授業の課題に生成AIを利用したと言うので、どなんものか聞いてみて、やってみた
この記事は、著者の大学生の子息がプログラミング課題に生成AI(Code Copilot)を利用したことをきっかけに、プログラミング教育における生成AI活用について考察したものです。文部科学省のガイドラインを参考に、大学における生成AIの積極的な活用を認めつつ、生成AIの誤りや限界を理解し、主体的に利用する姿勢が重要だと結論づけています。著者は自身もMicrosoft Copilotを用いて元号西暦変換アプリを作成する過程で、生成AIの有用性と限界を体感し、生成AIは補助ツールとして適切に活用すべきだと主張しています。最後に、テクノロジーの進歩がもたらす社会格差や能力低下への懸念も述べています。
PyScriptでOpenCVを使ってWebで画像処理AI
この記事は、Webブラウザ上でPythonコードを実行できるフレームワークPyScriptを紹介している。PyScriptはAnaconda社が開発し、Pyodideを利用してPythonのパッケージを一部使用できる。記事ではPyScriptを用いた物体検出(YOLOX-Tiny, YOLOv9-Wholebody25)のデモを紹介しているが、キャンバスへの画像反映速度の遅さ(メモリリークとのトレードオフ)という課題も提示されている。 PyScriptはPyodideより簡潔な記述で済む一方、TensorFlowやPyTorchなどの主要なディープラーニングライブラリはサポートされていない点が挙げられている。
知見0の娘っちがYouTubeで「生成AI副業」をやってみた結果
AI生成音楽でYouTube副業に挑戦した娘(経験なし)の1年間を記した記事。当初は収益ゼロだったが、地道な分析と改善、リブランディングを経て、チャンネル登録者5000人、高収益を達成。AIツール(suno.ai, ChatGPT, stable diffusion)を使い、楽曲制作、動画編集、マーケティングを学び、ビジネススキルを習得。収益は二の次となり、視聴者との共感形成を重視するようになった。ただし、著作権や副業ルール、税金申告の重要性を指摘している。
初めてデータベースを触る方向けのデータベース豆知識 🫛
この記事は、データベースの基本概念を解説したテックブログです。データとデータベースの違い、データベースの主要な特徴(リアルタイムアクセス、継続的変化、同時共有、内容による参照)、データベース設計の3段階(概念設計、論理設計、物理設計)、スキーマの定義と使い方、データベース管理システム(DBMS)とその機能(DDL、DML、DCL)、データベースモデリング(ERモデル、リレーションモデル)、トランザクション管理(ACID特性)について説明しています。SQLを用いた具体的な例も示しながら、データベースの基礎知識を分かりやすく解説しています。
DevToysの拡張機能を作ってみた
この記事は、クロスプラットフォーム対応となったDevToys 2.0とその拡張機能開発について解説しています。 DevToys 2.0はBlazor Hybridで構築され、拡張機能によりユーザーは独自のツールを追加できます。 記事では、GUI拡張機能の開発手順、Managed Extensibility Framework(MEF)の利用、Fluent APIによるUI構築、設定値管理、NuGetパッケージによる配布などを説明し、実際に作成されたFluent UI System Icons検索ツールを紹介しています。 このツールは、DevToysのIconコンポーネントのGlyphプロパティをint型に拡張するPull Requestを通じて、DevToys本体にも貢献した事例となっています。 DevToys 2.0はまだプレビュー版ですが、拡張機能開発の容易さから、開発者の日々の作業効率化に役立つツール作成に適しているとしています。
ブラウザがちょっとドキドキ!脆弱性体験 XSS攻撃やってみた
この記事は、脆弱性のあるWebアプリケーション「DVWA」を用いて、Webセキュリティの脆弱性を学習する方法を紹介しています。DVWAは、SQLインジェクション、クロスサイトスクリプティング(XSS)など、様々な脆弱性を意図的に含んでおり、セキュリティレベルを「Low」「Medium」「High」に設定できます。記事では反射型XSS攻撃を例に、攻撃の手順と対策を解説し、DVWAを用いた実践的な学習を促しています。 DVWAを用いることで、安全なコーディングと脆弱なコードの違いを理解し、セキュリティ対策の重要性を学ぶことが可能です。
RustバインディングでPython Lambdaを高速化
この記事は、AWS Lambda上でPythonの処理速度をRustで高速化する方法を解説しています。 Rustバインディングツールmaturin
を用いて、PythonからRust関数を呼び出すことで、計算負荷の高い処理を高速化できることを示しています。具体的には、1000万回ループ処理の例で、Pythonの実装が約3秒かかったのに対し、Rust実装は約3マイクロ秒と、大幅なパフォーマンス向上(約100万倍)を確認しています。手順として、Rust環境構築、Rustプロジェクト作成、Python Lambda関数への組み込み、Lambda Layerの作成、SAMを用いたデプロイ、そしてパフォーマンス比較が詳細に説明されています。
生成AIでおまじないを作ってみた
このブログ記事は、生成AIを活用して、資料作成の締め切りに間に合わない同僚たちに「おまじない」をメールで送った体験談である。 ChatGPTのような生成AIに「期限をすぎて対応しない人に向けて、すぐに処理をするおまじない」を作成させ、それを同僚に送ったところ、2人には効果があり、すぐに作業を完了させた。しかし、1人には効果が薄かったという、ユーモラスな出来事を報告している。生成AIの意外な活用法を示す事例となっている。
右も左もわからない状態からコードが読めるようになるまでにしたこと
この記事は、顧客信頼性エンジニアの著者が3ヶ月間かけてコードリーディング能力を向上させた取り組みを紹介するものです。
当初、変数とメソッドの判別、定義元の特定、引数の追跡、処理全体の把握に苦労していましたが、Rubyの基礎学習、コードの最小単位への分解、スコープ解決演算子(::)の理解、binding.pry
の使用、フロー図の作成などを経て、これらの課題を克服しました。
今後の課題として、コードリーディングのスピード向上と、目的に応じた効率的な読み方の習得を挙げています。
無形商材を売るということ、或いはコンサルティングとは何か、或いはプロフェッショナルとは
この記事は、システム開発における提案のあり方について述べている。著者は、システム、技術、ツールはあくまでも手段であり、顧客は自身の課題を正確に理解していないことが多いと主張する。そのため、顧客の要望を表面的に捉えるのではなく、顧客の真の課題を深く理解し、提案スコープを拡大することで、より大きな付加価値を提供できると論じている。具体的には、顧客の業務理解度、システム化可能性、工数、技術選定、経済性、必要スキルなど様々な側面を分析し、顧客の認識のギャップを埋める提案を行うべきだと主張。単なる人材派遣ではなく、顧客の課題解決に貢献する真のプロフェッショナルとしての姿勢が重要だと結論付けている。
【18日目】フロントエンドエンジニアが社内ISUCON入門編でprivate-isuに初挑戦してみた件
カオナビのフロントエンドエンジニアが社内ISUCON入門編に参加した体験記。PHP、MySQL等のバックエンド知識の不足や、top
コマンドなどのツールへの不慣れを痛感。データベースのインデックス、N+1問題、スロークエリログ解析など、パフォーマンスチューニングに必要な知識・スキルを学んだ。 ボトルネックの特定と解消を通して、パフォーマンスチューニングの面白さと、フロントエンド開発にも役立つ問題解決能力の向上を実感した。
EKSのAmazon Application Recovery Controller (ARC)を試してみる!
この記事は、Amazon EKSクラスタでAmazon Application Recovery Controller (ARC)のゾーンシフト機能を検証したテックブログです。ARCはAWSリソースへのアクセスを制御し、障害発生時の可用性を高める機能です。EKSでは、ARCゾーンシフトはEndpointSliceオブジェクトを操作することで、障害AZ上のPodへの通信を遮断します。筆者は、nginxサンプルアプリを用いた検証で、ゾーンシフトにより指定AZのPodへのアクセスが遮断され、設定時間後に復旧することを確認しました。ただし、KarpenterやCluster AutoscalerはARC非対応のため、注意が必要と結論づけています。
IAMロールが多すぎる?CDKでのCodePipeline設計を見直すポイント
AWS CDKでCodePipelineを作成すると、アクションごとにIAMロールが作成され、ロール数が肥大化する。これを解決するため、role
プロパティを利用して共用IAMロールを作成し、各アクションで使い回す方法を紹介している。これによりロール数を削減し、管理効率を向上させる。さらに、スタックに紐付けるサービスロールについても共用化する方法を示し、最小権限での運用を可能にしている。
Amplify Gen2 (Vue) で画像管理機能のベースを作る
この記事は、AWS Amplify Gen2 を用いてGoogleログイン機能、画像アップロード機能、ユーザーごとの画像管理機能を持つシンプルな画像共有アプリ「mypic」を構築する過程を記述した開発ログである。Amplifyの簡単なセットアップと初回デプロイから始まり、Googleログイン機能追加、sandbox環境の活用、画像アップロード・表示機能の実装、本番環境へのデプロイまでを詳細に解説している。 Amplifyの簡便なCI/CD、sandbox機能によるローカル開発環境の構築、そしてバックエンドで利用されるS3、DynamoDB、Cognito、AppSync、LambdaなどのAWSリソースについても言及している。最後に、小規模サービス展開には最適だが、大規模化に向けたS3 CDNキャッシュ、DynamoDBインデックス設計、スケーラビリティなど、SRE視点での検討事項も提示している。