タグ

ブックマーク / qiita.com (50)

  • いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita

    いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう!ShellScriptBashLinuxUNIXmacOS はじめに [ $? -eq 0 ] や [ $? -ne 0 ] は冗長でデメリットしかありません。非常に多く見かける書き方ですが、1979 年に Bourne シェルが広く公開された時からこのようなコードは必要ありませんでした。実際に当時はこのような書き方は使われておらず、このような書き方をしなければならなかった歴史的な経緯などはありません。これはなぜか広まってしまった良くない書き方です。 優れたコードとは無駄がないシンプルなコードです。丁寧なコードとは無駄な処理を書くことではありません。[ $? -eq 0 ] や [ $? -ne 0 ] は書かないほうが、簡単で読みやすくわかりやすくなります。優れた文法

    いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita
  • やはり俺の情報教科書はまちがっている。 - Qiita

    目次 はじめに 個人を特定する情報が個人情報じゃない デジタル署名は暗号化しない TLS(SSL) は共通鍵を公開鍵で暗号化しない TLS(SSL) が使われていれば安全じゃない 変数は箱じゃない Python 等は「ソースコードを 1 行ずつ実行するインタプリタ方式」じゃない 日語 1 文字は 2 バイトじゃない 動画が動いて見えるのは残像によるものじゃない 標化定理は「2 倍以上の周波数」じゃない その他いろいろ はじめに 2022 年から高等学校で、プログラミング等を学ぶ「情報Ⅰ」が 必修 必履修科目になりました。1 さらには 2025 年入試から大学入試共通テストでも出題されるようになり、教科「情報」の重要性が高まっています。 これで 2030年に79万人不足すると言われる IT 人材 の問題が解決!…と言いたいところですが、先日も『課題感ある教科1位「情報」』という調査結果が

    やはり俺の情報教科書はまちがっている。 - Qiita
  • PowerShellを使ってBluetooth音声デバイスに接続 - Qiita

    1つのBluetooth音声デバイスを複数の接続先に使い回すときに切り替えが面倒だったので、自動的に接続するスクリプトを作りました。 PowerShellを使ってペアリング済みBluetooth音声デバイスに接続し、再生デバイスをそのBTデバイスに指定することができます。 前提 7以降のWindows 当然、Bluetoothが利用可能なマシンである必要がある あらかじめ目的のBluetoothの音声デバイスとペアリングを済ませておく 用意 必要ツールのインストール Bluetooth Command Line Tools こちらのサイトからインストール https://bluetoothinstaller.com/bluetooth-command-line-tools AudioDeviceCmdlets 管理者権限のPowerShellで以下のコマンドを実行してインストール 目的のデ

    PowerShellを使ってBluetooth音声デバイスに接続 - Qiita
    otn
    otn 2024/04/27
  • オブジェクト指向プログラミング環境をPythonに自作する - Qiita

    オブジェクトシステムを作ろう!! ある日、Xを見ていると、Lispとオブジェクトシステムという面白いドキュメントを見つけました。 どういう文章かというと、Lisp言語に対して、オブジェクト指向の機能を実装しようと、過去にはいろいろな方式が開発されていました。そのLispにおけるオブジェクト指向の方言を博物学的にまとめた記事となっています。今のオブジェクト指向プログラミング言語では、概ねクラスを定義し、それをnewしてインスタンスを生成する。というのがセオリーだと思いますが、黎明期のオブジェクト指向においては、用語の定義や、そもそも実装方式が洗練されておらず、少しずつ毛色の違う形の実装になっています。 例えば、CommonLispの場合を見てみると、 (defclass bank-account () ((dollars :initform 0 :accessor dollars :init

    オブジェクト指向プログラミング環境をPythonに自作する - Qiita
  • どうしてあなたの共通化は間違っているのか:目次 - Qiita

    はじめに この連載では共通化とモジュール分割について扱います。この話題においてQiitaで有名な記事のひとつが@MinoDrivenさんの単一責任原則で無責任な多目的クラスを爆殺するでしょう。この記事を未読の方はまずこちらを読むことをお勧めします。連載では、この記事に書かれているような基礎的な事項については既知であることを前提に、どのようにすれば単一責任原則にそったモジュールの分割を行うことが出来るのかをなるべく 「場合による」という言葉に逃げずに なるべく 網羅的・理論的に 解説します。 いいね、ストックをよろしくお願いします。 対象読者 設計に興味のあるエンジニア 基礎的な設計原則について学んだものの、実際の場面でどのように応用すればいいのかが掴めないエンジニア ミクロな設計についての知識を増やしたい人 ※この記事では、特定のメソッドをどのように作成するべきか、このクラスは複数の処理

    どうしてあなたの共通化は間違っているのか:目次 - Qiita
  • アセンブリ言語を読んでみよう(中学の卒論)※画像追加 - Qiita

    N年前に中学校で書いた卒論をサルベージしたので、せっかくだから公開したいと思います。 間違っているところも多々あると思いますが、歴史を感じるためにあえてそのまま掲載しています(とはいえ間違っている情報を掲載しっぱなしなのも心苦しいので、ぜひ間違っているところはコメント欄で教えてください) 添付資料(コード等)は紛失したので、ないです(かなしい) 見つかったのでアップロードします 図 目次 Ⅰ.研究の動機 3 Ⅱ.プログラミング言語とは 3 1.C言語とは 4 2.アセンブリ言語とは 4 Ⅲ.CPUの基内部構造 5 1.レジスタ 5 A.プログラマが操作できるレジスタ 5 B.プログラムから操作できないレジスタ 6 2.制御装置 7 3.演算装置 7 4.クロック 7 Ⅳ.メモリとアドレス 7 1.スタックの説明 8 Ⅴ.実験の予想 9 Ⅵ.実験 9 1.実験の方法 9 2.実験に使うプロ

    アセンブリ言語を読んでみよう(中学の卒論)※画像追加 - Qiita
  • 160行で作るシンプルプログラミング言語 - Qiita

    "fib" = (("val") => { (val < 2) ? { val } : { (@fib(val - 1)) + (@fib(val - 2)) } }); @print(@fib(7)); @print(@fib(8)); @print(@fib(9)); @print(@fib(10));

    160行で作るシンプルプログラミング言語 - Qiita
  • Googleの送信ガイドラインが更新されるのでSPF/DKIM/DMARC/ARCをpostfixで署名+検証できるようにしたメモ - Qiita

    概要 2024年2月から、Googleからメール送信のガイドラインが更新されるとのことで、SPF・DKIM・DMARC・ARCの設定を推奨するような内容だったので、 改めてそれぞれの調査とpostfixへの設定をしてみたのでメモ メールの送受信に関わる設定ですので、記載内容を鵜呑みにするのではなく、其々の組織やグループのポリシに合わせて設定することが重要です。それぞれの設定項目の意味や影響範囲などを正しく理解した上で設定を行い、十分に検証を行ってください。その際に、もしこの記事の内容が参考になれば幸いです。 私自身100%分かっているかと言われると怪しいので SPF(Sender Policy Framework) SPFはメール送信元ドメインが正当な経路からメールを送信しているかを検証するための仕組みです。 一般的に、組織は特定のメールサーバーを通じてメールを送信します。たとえば、自社の

    Googleの送信ガイドラインが更新されるのでSPF/DKIM/DMARC/ARCをpostfixで署名+検証できるようにしたメモ - Qiita
  • シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita

    はじめに シェルスクリプトの世界は今後 10 年で大きく変化します。10 年という数字は切りが良い数字を持ってきただけで根拠はありません。これより長い時間がかかるかもしれませんし、もしかしたら短くなるかもしれません。しかし確実によりよい方向に変わっていくでしょう。Unix/Linux の標準コマンドはさまざまな問題を抱えています。Unix/Linux の標準コマンドに依存している限りシェルスクリプトに大きな改善はありません。これからのシェルスクリプトの世界は Unix/Linux の標準コマンドに依存しない世界です。それがどういうものになるのかをこの記事で解説しています。この記事は私の予言であり目標です。 シェルスクリプトの失われた30年の進化を取り戻す! 残念なことに、シェルスクリプトの世界は 30 年前から大きく変わっていません。それまでの間、プログラミング言語の世界、ソフトウェア開発

    シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita
  • 中途入社や部署異動で来た新メンバーを活躍しづらくするアンチパターン - Qiita

    1. はじめに ソフトウェア開発のチームに、新しいメンバーが入ってくることはよくあります。 以前に新卒社員がチーム入ってきた場合の育成方法を紹介しました(こちら)。 今回は、新卒社員ではなく、他の会社から中途入社か同じ会社の部署異動で来る新メンバーの話です。 (エンジニアが数百人などで規模が大きい会社の場合、部署が違うと仕事のやり方が全く変わる場合があるので、今回は中途入社と他の部署からの異動を同じように「新メンバー」として扱います) 会社や部署が変わると仕事のやり方が大きく変わるため、仕事のやり方に戸惑うことが多いと思います。 稿では、そのような「新メンバー」を活躍しづらくしてしまうアンチパターンとその対策を紹介します。 2. 中途入社や部署異動で来た新メンバーが適応することの困難さを理解する 中途入社や部署異動で来た新メンバーが組織に適応することは、新卒社員のそれとは別の難しさがあり

    中途入社や部署異動で来た新メンバーを活躍しづらくするアンチパターン - Qiita
  • 【まとめ】大学が公開している有益な資料 - Qiita

    はじめに 今回は各大学が公開している、エンジニア向けの資料をまとめていきます。 東京大学 ChatGPT活用法 ChatGPTの基礎的な内容から実際にどのように活用すべきかが解説されている。 Pythonプログラミング入門 Pythonについて環境構築から始まり、基文法、応用的な使い方まで分かりやすく解説されている。 AWS入門 ハンズオン形式でAWSの学習ができる。 AI・データサイエンスの活用事例 データサイエンスやAIの活用事例を学べる。 人工知能・深層学習を学ぶためのロードマップ AIやデータサイエンスの具体的な活用事例が学べる。 京都大学 プログラミング演習 Python 統計学 統計学やデータ分析、検定を学べる。 慶應大学 ChatGPTの活用資料 ChatGPTを用いた開発方法が学べる。 東京工業大学 機械学習 筑波大学 データベース データベースの基から正規化や設計とい

    【まとめ】大学が公開している有益な資料 - Qiita
  • Visual Studio Codeに入れるべき拡張機能【2023年最新版】 - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに VSCodeは世界で多くの人が使っているコードエディタです。 開発の際に使用している人も多いのではないでしょうか。 今回はそんなVSCode拡張機能を一挙に紹介していきます。 拡張機能 VSCodeは世界中で支持されているコードエディタですが、最大の魅力が「拡張機能」です。 機能を追加して、より自分が使いやすいコードエディタにすることができます。 拡張機能のインストール 拡張機能のインストールのやり方を説明します。 アクティビティバーの拡張機能マークをクリックする(四角が4つあるマークです) インストールしたい拡張機能を検索する 拡張機能を選ぶ インストールをク

    Visual Studio Codeに入れるべき拡張機能【2023年最新版】 - Qiita
  • エンジニアは全員おうちKubernetesをやるべし【Part 2:どうやるのか】 - Qiita

    こんにちは。おうちKubernetesを勧めるためにやってきました。 このシリーズでは、Part 1で「なぜやるのか」、Part 2で「どうやるのか」について話します。 この記事は自宅サーバー上のKubernetesで不特定多数向けのサービスを展開することを勧めるものではなく、自分用・身内用のアプリを自宅サーバー上のKubernetesで運用することを勧めるものです。 ハード面 1台構成 or 複数台構成 複数台構成を取るメリットは大きいものだと以下があります。 1台が不調でも残りのサーバーで処理を継続できる(可用性が高まる) 大量のアクセスを捌ける 前者は、自宅サーバーでは気にしても仕方がないというか、停電やネット回線の障害で簡単に落ちるため、過度に可用性を気にする必要はないと思います。逆に言えば、可用性を気にする場合には、そもそも自宅サーバーはあまり向いていません。電源やネットを普段使

    エンジニアは全員おうちKubernetesをやるべし【Part 2:どうやるのか】 - Qiita
  • エンジニアに読んで欲しい技術書90選 - Qiita

    はじめに タイトル通り、読んで欲しい(圧)技術書をたくさん集めてみました。自身の担当から外れる領域に関しては、会社の人に協力を仰ぎ、編集しました。「何を読めばいいかわからない」、「次の読むを探したい」などのように考えている方の参考になればと思います。 また、大きく、 ・新米エンジニア ・脱新米エンジニア と分けてまとめたので、参考にしてみてください。 技術書のススメ 技術書の紹介の前に、技術書で得られるものについて説明したいと思います。全然読み飛ばしてもらって大丈夫です。この章からの紹介を行なっていきます。 技術書は体系的な構成となっているため、技術書を読むことで、 ・論理的な思考力が身に付く ・技術歴史・背景を知れる ・技術の知識、手法を学べる これらを学ぶことができます。論理的な思考力、知識はわかるけど、技術歴史・背景を知ってどうするんだと思う方もいるかもしれません。しかし、歴

    エンジニアに読んで欲しい技術書90選 - Qiita
    otn
    otn 2023/11/01
  • WSL2 ミラーモードでDocker使えないのは困る - Qiita

    WSL 2.0.0以降で試験的に提供されているネットワークミラーモードは非常に魅力的でが、まだ試験的ということでいくつか課題があるのも事実です。ここではDockerでの課題と回避策を交えつつミラーモードの深淵を覗いてみたいと思います。 [2023.12.6]Docker Desktopでのポート重複は 4.26.0 で対応となったようです。 Added support for WSL mirrored mode networking (requires WSL v2.0.4 and up). リリースノートより [2023.10.25] ミラーモードはじめいくつかの新機能はWindows11 22H2通常版に機能開放されました。最新のWindowsUpdate適用の上、ストア版WSLをアップデートすることにより以下のオプションが.wslconfigで使えるようになります。 Dockerつか

    WSL2 ミラーモードでDocker使えないのは困る - Qiita
    otn
    otn 2023/10/22
  • 難解言語 Malbolge は HelloWorld に「2 年」かかった - Qiita

    TL; DR こちらが難解プログラミング言語 Malbolge で HelloWorld を行うプログラムになります。プログラムとはいったい・・・ (=<`$9]7<5YXz7wT.3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm Malbolge Malbolge は 1998 年 Ben Olmstead により開発された難解プログラミング言語です。オリジナルのホームページはとっくに消滅していますが、幸いにもアーカイブは残っていました。 Malbolge は難解プログラミング言語の中でも特に難解であること自体を目的に開発された、文字通り地獄みたいな言語です。 Malbolge was truly created with the i

    難解言語 Malbolge は HelloWorld に「2 年」かかった - Qiita
  • GWの休みに勉強しよう!!!有名IT企業の研修資料まとめ - Qiita

    勉強について エンジニアの皆さん。エンジニア以外の皆さん。 ・勉強しようと思っているけど、何を勉強したらいいかわからない ・ネットを漁っても良質な教材が出てこない ・他人がどんなことをしているか気になる こんなお悩みありませんか? 今回は、有名企業の研修資料をまとめましたので、勉強のネタにしてみてはいかがでしょうか? 新人、ベテラン関係ありません! GWに暇を持て余したら、こちらをご覧くださいね サイボウズ サイボウズです。 22年度の内容が公開されていました。 ■モバイルアプリ開発 ■サイボウズのアジャイル・クオリティ ■MySQL - テストデータが偏るということ ■モブに早く慣れたい人のためのガイド ■テクニカルライティングの基 ■ソフトウェアテスト ■セキュリティ ■ソフトウェアライセンス 講義資料と講義動画まで公開されています。 資料が苦手な人でも学習が捗りますね。 ラクス こ

    GWの休みに勉強しよう!!!有名IT企業の研修資料まとめ - Qiita
  • Elixir自社プロダクト「Bright」①:「今のIT業界でエンジニア/プログラマは適正に評価されない」と 25年間、思い悩んだ結果、「自社から変えよう」と始めて2年後、プロダクト化に至る - Qiita

    Elixir自社プロダクト「Bright」①:「今のIT業界エンジニア/プログラマは適正に評価されない」と 25年間、思い悩んだ結果、「自社から変えよう」と始めて2年後、プロダクト化に至るElixirSaaSスキルシートfukuoka.exBright この記事は、Elixir Advent Calendar 2022 10の24日目です 昨日は、私で「Eixirで機械学習に初挑戦⑥:いま、Elixir AI・MLで何が出来る?→ElixirでAI・MLを構築するメリット→2023年にElixirで攻略する領域」でした 【2023/12/26追記】 皆さまに沢山、応援いただいたコラムの続編をアップしました その後、Brightがどうなったかの後日談を、どうぞお楽しみください Merry Xmas! piacere です、ご覧いただいてありがとございます 今回は、なんだかエモいタイトルで

    Elixir自社プロダクト「Bright」①:「今のIT業界でエンジニア/プログラマは適正に評価されない」と 25年間、思い悩んだ結果、「自社から変えよう」と始めて2年後、プロダクト化に至る - Qiita
  • PowerShell 使い方メモ - Qiita

    コマンドプロンプトと同じ要領でコマンドが入力できる。 コマンドレット PowerShell では、コマンドのことを コマンドレット と呼ぶ。 コマンドレットは、 <動詞>-<名詞> の命名規則に従って定義されている。 例えば、 Get-Content とか、 Get-Date のような感じ。 エイリアス 「フォルダを移動するときのコマンドレットは、 Set-Location です」 と説明すると、 100 人中 190 人くらいは「ありえへん!」と感じ、 PowerShell を勉強する気が失せると思う。 さすがにフォルダ移動するたびに Set-Location と入力してると自殺したくなるので、 PowerShell にはデフォルトでエイリアスが定義されている。 Set-Location のエイリアスは、 cd と chdir と sl が定義されている。 なので、 cd <移動先のパス

    PowerShell 使い方メモ - Qiita
  • [翻訳] 端末の神秘を解き明かす - Qiita

    原文 The TTY demystified http://www.linusakesson.net/programming/tty/ 翻訳 TTYサブシステムはLinuxおよびUNIX一般の設計において中心的な位置を占めます。しかし、不幸なことにその重要性はしばしば見過ごされ、良い入門記事を見つけづらくなっています。それでも、LinuxにおけるTTYの基礎知識は開発者やパワーユーザーにとって不可欠です。 これから見ていくシステムはあまりエレガントではありません。TTYシステムはユーザーから見るととても便利ですが、実際は特殊ケースが多く、入り組んでいます。なぜこうなっているのかを理解するには、歴史を紐解く必要があります。 歴史 1869年、株価表示器が発明されました。株価表示器は、タイプライター、長いワイヤーのペア、表示用紙テーププリンタから構成される電気機械で、遠く離れた場所にリアルタイ

    [翻訳] 端末の神秘を解き明かす - Qiita