タグ

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

  • Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita

    はじめに 私のエンジニアとしての初仕事Dockerでした。辛かったのをいまでも思い出します みなさんこんにちは、Watanabe Jin(@Sicut_study)です。 みなさんはエンジニア始めたての時にどんなことで苦労したでしょうか? GitHub Docker Kubernetes AWS など色々あるかと思いましたが、「環境構築」というのは多くの人がつまづく箇所かと思います。 プログラミングの勉強をするにはそもそもの開発環境がないとできないことも多いです。 またAWSなどのクラウドを利用してデプロイをするときにも再度登場して苦しめられます。 今回はそんな初心者には考え方や使いどころがわかりづらいDockerについて例え話を活用しながら説明していきたいと思います。 Dockerが難しいと思うのは、「概念がよくわからない」「説明を読んでも使いどころのイメージがつかない」というのがある

    Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita
    dpprkng
    dpprkng 2024/07/10
  • 東京大学のAWS入門資料がいい感じだったので最新のAWS環境でも実行できるようにしてみた - Qiita

    きっかけ 東京大学のAWS講義「コードで学ぶAWS入門」、いわゆる東大AWSってやつがが良いらしいと聞いたのでやってみました。 確かにこれは良いです。クラウドをこれから学びたい方にぜひおすすめ。 集中講義的に休日に半日もあれば学べます。 かかるAWS費用もわずか。 ほとんどのチュートリアルがAWSの無料枠で実行できてしまいます。ディープラーニング用のGPUインスタンスをぶん回すところは有料です。それでも数百円で済みます。 これは一通りハンズオンをやってみたAWSの費用です。 もはや学ばない理由が見当たりませんね。 これを書いた理由 けっこう有名な講義資料なのでいまごろ紹介するまでもないネタかと思っていましたが、いざやってみたらハンズオンのコードが最近のAWS環境では動作しない箇所がいくつかあったので。 動作するように修正した手順をまとめておきました。 記事がはてブを950件ももらってしま

    東京大学のAWS入門資料がいい感じだったので最新のAWS環境でも実行できるようにしてみた - Qiita
    dpprkng
    dpprkng 2024/07/07
  • エンジニアにも知って欲しいChatGPT基本テクニック - Qiita

    はじめに ChatGPTブームがひと段落した感がありますが、周りのエンジニアChatGPTを活用している姿をあまり見みません。 基的なテクニックを理解すれば、エンジニアこそChatGPTを活用できると思うので、普段使用しているテクニックをいくつかピックアップして紹介します。 プロンプトの記載方法 Markdown記法で指示する 色々なところで紹介されていますが、回答や処理の精度を上げる方法としてChatGPTへの指示にMarkdown記法を使用することがオススメされています。 例えば下記のような文章による指示を行おうとした場合

    エンジニアにも知って欲しいChatGPT基本テクニック - Qiita
    dpprkng
    dpprkng 2024/07/02
  • TypeScriptを導入する意味と限界、型レベルプログラミングの紹介 - Qiita

    はじめに JavaScript/TypeScript初学者を抜けたあたりの方に向けてTypeScriptの利点や限界、型レベルプログラミングについて紹介します。 TypeScriptJavaScriptをラップしたライブラリであり、静的な型情報をつけることができます。また、それらの型情報をもとに型を推論し、型違反な代入やプロパティへのアクセスなどをプログラム実行 以前 に検知することができるようになっています。 例えば、動的型付けの言語であるJavaScriptでは、以下の関数のa,bには数値だけでなく、文字列を渡すことができます。数値同士を渡せば加算してくれますし、文字列同士を渡せば文字列連結をしてくれます。 「数値計算用の関数なのに、文字列連結に利用できてしまう」という緩さを開発時にはなるべく排除しようというのがTypeScriptを導入する意義です。 以下、TypeScriptの基

    TypeScriptを導入する意味と限界、型レベルプログラミングの紹介 - Qiita
    dpprkng
    dpprkng 2024/06/11
  • 【超初心者向け】Pythonのテストの書き方(pytest, unittest) - Qiita

    概要 pythonでテストコードを書くときがありますが、(筆者のように)超初心者からすると難しい用語や書き方がたくさん並んでいてハードルが高いです。 テストコードの入口となる最低限(最低限過ぎるかもしれませんが)の書き方を備忘を兼ねて書きます。 pythonでのテストコードを書く時のライブラリの種類 筆者が簡単に調べたところ、2つのライブラリがよく使われているようです。 unittest : python標準ライブラリ。インストールが必要ない。pytestと比較すると、柔軟なテストケースを書きづらい。 pytest : サードパーティ製のライブラリ。インストールの必要がある。柔軟なテストケースが書ける。pythonのテストコードを書く時のデファクトスタンダートになりつつある模様(これが当かは確認していないですが、そういう記述を見かけることが多かったです)。 筆者個人としては、以下の3つの

    【超初心者向け】Pythonのテストの書き方(pytest, unittest) - Qiita
    dpprkng
    dpprkng 2024/05/28
  • Ubuntu 22.04にsambaをインストールしてファイルサーバにする(Linuxユーザーのホームディレクトリを共有) - Qiita

    Ubuntu 22.04にsambaをインストールしてファイルサーバにする(Linuxユーザーのホームディレクトリを共有)Ubuntusamba

    Ubuntu 22.04にsambaをインストールしてファイルサーバにする(Linuxユーザーのホームディレクトリを共有) - Qiita
    dpprkng
    dpprkng 2024/05/22
  • DockerのUbuntuをunminimizeで通常に戻す - Qiita

    Linux上での操作手順の確認や「Ubuntuでアレどうやるんだっけ?」みたいなときに、いちいち仮想マシンを用意するのは手間なので、手軽に扱えるDocker上で試してみようとすると、思うように動かないことがあります。 そんな時の解決方法を紹介します。 なお、記事ではUbuntuイメージを対象としています。CentOS等の他のディストリビューションについては事情も異なるでしょうし扱いません。 DockerのUbuntuは特殊版 Dockerイメージというのは基的に余計なものを極限まで削ぎ落として軽量化されているものが多く、一般的に中に入ってインタラクティブにあれこれ操作するのには向いていません。 普通のLinuxのような感覚で操作しようと思ったら、下記のような謎のメッセージが表示されて動かない……manコマンドも使えない、みたいな経験はありませんか? This system has be

    DockerのUbuntuをunminimizeで通常に戻す - Qiita
    dpprkng
    dpprkng 2024/05/22
  • PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita

    記事で言及しているReflexのdiscord内に日語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出てきますし、ネットでもかなり情報の多い、StreamlitやDashは項番1のダッシュボードライブラリに該当すると思いま

    PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita
    dpprkng
    dpprkng 2024/05/06
  • 初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話 - Qiita

    この記事について この記事では、プログラミング初心者の大学生である(であった)私が試行錯誤しながらなんとかスター数300越えのOSSライブラリを作った過程をまとめたものです。ライブラリ自体はまだまだ発展中のためこの記事も適宜更新してく予定です。ライブラリ自体の詳細というよりも、自作OSSの認知度を上げで他の人に使ってもらうために有用そうな知見をまとめていこうと思います。 ライブラリの概要 今私が作っているのは、AIJackという、機械学習モデルがもつセキュリティ・プライバシー上の脆弱性についての各種攻撃・防御手法を実験するためのPythonツールです。既存のライブラリの多くは特定の種類の攻撃や防御に特化したものが多く、複数のタイプの攻撃・防御を組み合わせて実験するためにはいくつものライブラリを組み合わせる必要がありました。そこでAIJackでは、できる限り統一的なAPIで様々な攻撃・防御手

    初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話 - Qiita
    dpprkng
    dpprkng 2024/04/21
  • 個人開発者がGoogle Cloudの環境構築でお財布を守るために最初にすべきこと - Qiita

    初めに 自分は2年くらい業務でGCP(今はGoogle Cloudですね)を使っていたのですが、友達個人開発Google Cloud使いたいから手伝ってとのことで、久々にコンソール触りたいなーと思ったので環境構築を手伝うことにしました。友達クレジットカードが紐づいた環境なので自分の環境以上に課金やセキュリティに対して注意しなくてはなりません。課金だけでなく友情も爆発してしまいかねませんので 今回は最初期から構築するということで個人開発者向けにお財布や環境を守るうえでの最初にやったほうがよい課金のセーフティ的な設定をまとめていきたいと思います。企業で検証環境管理している人にも参考になるかと思いますので是非最後まで見てもらえると嬉しいです! 前提 Google Cloudのプロジェクトを作成していること 課金アカウントを作成していること(クレジットカードの紐づけできていること) その1

    個人開発者がGoogle Cloudの環境構築でお財布を守るために最初にすべきこと - Qiita
    dpprkng
    dpprkng 2024/04/16
  • インターホンをスマホに通知する方法をものすごく丁寧に説明する【Raspberry Pi Zero WH 】 - Qiita

    在宅勤務している人、多いですよね。 いつでも配達を受け取れてとても助かります。 しかし...2階で仕事をしていると、 インターホンの音が聞こえにくい! 他のことに集中していると気づかない!!!! せっかく配達に来てくれたのだから、一発で受け取りたいものです。 エンジニアらしく仕組みで解決しましょう! 忙しい人のための超要約 インターホンの室内モニタのA接点を使用します(鳴ると接点が閉じる) RaspberryPi Zero WH を用いて、A接点のオンオフによりGPIOの出力3.3VをGPIO17に印加する回路を組みます GPIO17に印加されたことをPythonスクリプトで検知します 検知したらLINE Messaging APIを使用してpush通知を送信します この説明で理解できる人は、記事全体を読む必要ないと思います。 電子工作初心者でも理解しやすいよう丁寧に書き上げたので、ぜひご

    インターホンをスマホに通知する方法をものすごく丁寧に説明する【Raspberry Pi Zero WH 】 - Qiita
    dpprkng
    dpprkng 2024/04/12
  • Ubuntu Server 22.04 LTSでKVMを使用する方法 - Qiita

    はじめに Ubuntu Server 22.04 LTSでKVMを使用する方法をまとめました。 KVM自体はLinuxカーネルに組み込まれているので、実際に行うのはKVMを使用するために必要なパッケージのインストール、ブリッジの作成ということになります。 最初はUbuntu公式のドキュメントを見て、そのとおりに行えばできるだろうと考えて作業を始めましたが、断片的な情報はあれど、一連の手順を示した情報は見つけられませんでした。 AWSやRHEL、その他のOSSなどでは、使用可能になるまでの手順が一通り載っている公式ドキュメントがありますが、UbuntuのKVMについては見当たりませんでした。そのため、必要なパッケージは何か、ブリッジの設定はどうするかということを調べて回りました。その結果が、この文章です。 もし、「公式のここに一連の手順が全部載っている」ということをご存じの方は、ご指摘くださ

    Ubuntu Server 22.04 LTSでKVMを使用する方法 - Qiita
    dpprkng
    dpprkng 2024/03/15
  • Ruby on Rails 開発環境構築 on M1 Mac - Qiita

    はじめに ※この文章は現在ベータ版です。随時アップデートしていく予定です。 macOSのパッケージ管理ツールHomebrewをつかって、M1チップ搭載Mac(M1 Mac) 上にRuby on Railsの開発環境構築を行う際の手順を書いています。 M1チップ搭載MacBookPro環境構築手順 を参考にしています。 M1 Macでの汎用的な環境構築については M1 Macの開発環境 が参考になります。 (パッケージ管理にHomebrewではなくMacPortsを採用しているので、その箇所は Homebrewによる環境構築ではあまり参考になりません。) M1 Macでのwith Homebrew な環境構築について 開発環境 on M1 Mac with Homebrew を 書いてみました。 事前準備 Homebrew は Xcode の機能を利用して、ソフトウェア群をコンパイルするので

    Ruby on Rails 開発環境構築 on M1 Mac - Qiita
    dpprkng
    dpprkng 2024/03/09
  • Misskeyのおひとりさまサーバを建ててみた - Qiita

    オブジェクトストレージ Wasabiを使用。 証明書 ZeroSSLを使用。 メールボックス さくらのメールボックスを使用。 使用しないもの Docker Cloudflare OSインストール VPSインスタンスの作成 KAGOYA CLOUD VPS コントロールパネルにログインする。 テンプレートにないパッケージを使用するため、FedoraのISOイメージをアップロードする。 FedoraのダウンロードページのISOの実URLをコピペする。 ISOイメージは1日で消えるので名前はなんでもいい。 インスタンス作成画面に移動し、ISOイメージにアップロードしたイメージを選択。 スペックにCPU 2コア / メモリ 2GB / ストレージ 200GB のものを選択。(今回はオブジェクトストレージを使用するので、大容量のものでなくてもよかったかもしれない) virtioはONのままでOK。

    Misskeyのおひとりさまサーバを建ててみた - Qiita
    dpprkng
    dpprkng 2024/03/04
  • Ubuntu 22.04にdockerをインストールする - Qiita

    まえがき Ubuntu 22.04にdockerをインストールする方法をメモしておきます。Dockerをインストールする方法は公式ドキュメントでは3つ紹介されています。 Dockerのリポジトリを登録してそこからインストールする方法 DEBパッケージをダウンロードして手動でインストールする方法 コンビエンススクリプトを使用して自動でインストールする方法 ここでは1のDockerのリポジトリを登録してそこからインストールする方法をつかいます。基的にDocker公式サイトに従っています。 環境 Ubuntu 22.04 Docker 20.10.17 古いバージョンの削除 もし今までにDockerをインストールしたことがあって削除したい場合は削除しておきます。

    Ubuntu 22.04にdockerをインストールする - Qiita
    dpprkng
    dpprkng 2024/02/12
  • 【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 目次 1.はじめに 2.VSCode拡張機能紹介 3.コーディングのポイント 4.よく使われる英単語一覧 5.エラーとの向き合い方 6.テストで動作確認 7.検索の極意 8.公式ドキュメントに慣れる 9.リファクタリングでさらに読みやすく 10.資料作成で気をつけること 11.Gitで管理 12.よく使うLinuxコマンド一覧 13.仕事の進め方 14.プログラム以外で意識するところ 15.初心者こそ読んで欲しい 16.まとめ 1. はじめに プログラミングは現代のデジタル社会において重要なスキルです。 AIがコードを書いてくれる時代ですが、それでも人の手によるプログラ

    【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita
    dpprkng
    dpprkng 2023/12/15
  • UbuntuでSSDを完全消去(Secure Erase)する - Qiita

    概要 Linuxコマンドを用いて,SATA接続のSSDのデータを二度と復元できないように完全消去する方法について紹介します. 注) Secure EraseはSSD内部で行われる操作のため失敗すると最悪の場合SSDが文鎮化します.くれぐれも自己責任でお願いします. 検証環境 OS Ubuntu Desktop 20.04 LTS SSD SANDISK SDSSDH3-1T00-G25 はじめに (方法だけを知りたい方は飛ばしてください) SSDにゼロ埋めは意味がない 一般に,OS上でファイルを削除したとしてもディスク上ですぐに消えるわけではない1 ことはご存知かと思います. そこで,ディスクを破棄するとき・他人に譲るときなどは情報漏えいを防ぐためにディスクの完全消去を実施する必要があります. HDDの場合は以下のように全てのセクタに0を書き込む作業(通称ゼロ埋め)をすれば解決します. し

    UbuntuでSSDを完全消去(Secure Erase)する - Qiita
    dpprkng
    dpprkng 2023/12/08
  • Twitterカードが貼られたツイートはすべて詐欺です、という時代 - Qiita

    最近見つけた現象で既に論じられているかと思ったがちょっと解説が見つからなかったのでまとめておく。 手短に X(旧Twitter)クライアントで表示されるTwitterカードについてカードに表示されるドメインとは違うページにリンクさせる手法が存在する この手法は第三者のTwitterカードを利用することができる つまり悪用者は第三者のTwitterカードを表示させながら自身の意図するページに閲覧者を誘導することができる これはフィッシングの手法になりうる 見つけたツイート 以下のツイートはGoogleBloomberg、日経ビジネスのTwitterカードが添付されているがクリックするとそれらとは異なる情報商材サイトにジャンプする。リンク先に危険な仕組みはないと思われるがクリックは自己責任で。念を入れたい人は curl -L で。 PCブラウザでカーソルを合わせてもXの短縮URLサービスであ

    Twitterカードが貼られたツイートはすべて詐欺です、という時代 - Qiita
    dpprkng
    dpprkng 2023/12/07
  • 「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい - Qiita

    この記事はNuco Advent Calendar 2023の4日目の記事です。 弊社では、経験の有無を問わず、社員やインターン生の採用を行っています。 興味のある方はこちらをご覧ください。 はじめに 後輩に 「なぜ0.1+0.2≠0.3になるんですか?」 と聞かれて答えられますか? コンピュータの計算では「0.1+0.2」は「0.3」になりません。 これを理解していないと予期せぬ重大なバグを生み出す可能性があります。 分からない方、どうぞ安心してください。 この記事を読んだ全員が「0.1+0.2≠0.3」を理解できるように分かりやすく説明していきます。 コンピュータが計算を間違う理由 まず、そもそも「0.1+0.2=0.3」で正しい!「0.1+0.2≠0.3」なんてあり得ない! という方のために、プログラミング言語のフォーマット処理を経ない、コンピュータの計算結果を見てみます。

    「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい - Qiita
    dpprkng
    dpprkng 2023/12/05
  • EmacsをHomebrewでインストールしてMac特有の設定をする - Qiita

    バージョンなど macOS Big Sur バージョン 11.0.1 MacBook Air (M1, 2020) Emacs 27.1 (Emacs Mac PortのHomebrew版) Rosetta2を使用したターミナル環境 Emacs Mac Port (Homebrew版) Emacsは公式がMac用のものを配布してるが,昔から日語変換のときにチラついたり問題があるので,その辺りを色々修正してくれてあるEmacsをインストールする. Mitsuharu Yamamoto氏がMac Port用に作成したものをrailwaycat氏がHomebrew用に公開している. インストール方法などもここに書いてある homebrew-emacsmacport インストール 上のリンクに書いてあるようにHomebrewでインストールすれば良い. ==> emacs-mac This is

    EmacsをHomebrewでインストールしてMac特有の設定をする - Qiita
    dpprkng
    dpprkng 2023/11/07