タグ

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

  • Linuxカーネルがx86 microcodeを扱う処理について - Qiita

    はじめに お久しぶりです。@akachichonです。 さて、当初はルートファイルシステム周辺に関する記事を書こうとしましたが色々あり、今回はマイクロコードアップデートについて書きました。 なお、引用したソースコードもしくは確認に使った環境は、「Ubuntu Server 19.10」です。 Ubuntu Server19.10のソースコード取得方法については、補足「Ubuntu Linuxのカーネルソースコード取得方法」を参照してください。 ルートファイルシステムイメージについて Ubuntu Server19.10のルートファイルシステムイメージは、/boot/initrd.img-5.3.0-24-genericです。ルートファイルシステムイメージはUbuntuに限らず、多くのLinuxディストリビューションで共通だと思います。 さて、中身を確認しましょう。ルートファイルシステムイメ

    Linuxカーネルがx86 microcodeを扱う処理について - Qiita
    dpprkng
    dpprkng 2019/12/22
  • RaspberryPiで機械学習をやってみた - Qiita

    Raspberry Pi Advent Calendar 2019の21日目です。 なんとなく機械学習を触ってみたい方、 画像処理に機械学習を取り入れてみたい方、 ラズパイ4を買ってみたけど特にすることがない方向けに記事を書きます。 画像処理に初めて機械学習を使った時に「dlib」というライブラリを使ったのですが、 これが中身を理解しなくても使いやすかったのでご紹介させていただきます。 概要 ラズパイにwebカメラをつなげ、取得した画像データから任意の物体の位置を検出します。 物体の位置は物体の形状(エッジ)を学習することで検出します。 形状認識で用いられる特徴量にはHOG・SIFT・SURFなどがあるのですが、 dlibではHOG特徴量を用いています。 特徴 HOG(Histograms of Oriented Gradients)…輪郭がはっきりと映っている画像に有効 SIFT…ぼやけ

    RaspberryPiで機械学習をやってみた - Qiita
    dpprkng
    dpprkng 2019/12/21
  • Linuxのパッケージをアップデートしたあとrestartが必要なプロセスを見つける方法 - Qiita

    はじめに 脆弱性対応のためのアップデート作業というものは頻繁に発生するものですが、番運用しているシステムではサービスへの影響を最小限にしたいものです。 アップデートした後、出来ることなら必要なプロセスだけリスタートさせることで済ませたいのですが、どのプロセスをリスタートすれば良いのか、そもそもOS再起動しないと反映されないものなのか、判断が付かない場合が少なくありません。 そのような場合のため、再起動が必要なプロセスを見つけたり、OS再起動が必要かどうかアドバイスしてくれるコマンドがあります。 Redhat系 「yum-utils」パッケージに入っている「needs-restarting」コマンドを使います。 # needs-restarting -h Usage: needs-restarting: Report a list of process ids of programs th

    Linuxのパッケージをアップデートしたあとrestartが必要なプロセスを見つける方法 - Qiita
    dpprkng
    dpprkng 2019/12/10
  • さよなら本番サーバー - Qiita

    とあるSESの現場では番リリースの時期が近づいてきており、僕を含めた数人のエンジニアは間に合いそうもない残作業の開発を進めたり、番で使うためのデータの整備を番サーバー内で行ったりしていた。ほとんどがその案件のために集められたメンバーだったため特に和気あいあいとするでもなく、エアコンの風の音が響く小さなオフィスの片隅で静かに作業をしていた。 業務上のやりとりもRedmineで行われており、声を発するのもたまにメンバー同士で話をしたり、クライアントから電話がかかってきた時だけ。その日もメールで通知が届いてきており、確認してみるとRedmineで僕が関係しているチケットにコメントが届いているという通知だった。 通知のURLをクリックしてRedmineのチケットを確認してみる。 それによると一旦番サーバー上に存在するデータの中の一部の主要データをCSV形式で送ってほしいという依頼だった。無

    さよなら本番サーバー - Qiita
    dpprkng
    dpprkng 2019/12/03
  • 「ループ・再帰・gotoを使わず1から100までの数値を印字する」Conner Davis 氏の回答の考察 - Qiita

    2019年6月に以下の記事が投稿されました。 ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか?に対するIchi Kanayaさんの回答 - Quora 英語版の記事「How to print 1 to 100 in C++ without a loop, goto or recursion - Quora」から興味深い回答を抜き出して、それにランク付けをしながら和訳してくださっている記事です。 初級や中級は「まぁあるよね(C++知らないけれど……)」という感じですが、 上級とされた「マイクロソフト社のデータサイエンティスト Conner Davis 氏」の回答が面白かった ので、ご紹介を兼ねてその発想の源泉を推測してみることにしました。 以下に Conner Davis 氏の回答の和訳を引用します。 マイクロソフト社のデータサイエンティスト Conn

    「ループ・再帰・gotoを使わず1から100までの数値を印字する」Conner Davis 氏の回答の考察 - Qiita
    dpprkng
    dpprkng 2019/11/30
  • いまからはじめるReact - Qiita

    この資料は 11/16(土)開催の勉強会 いまからはじめるReact の資料になります。 React未経験者/初学者向けに チュートリアルを通してReact(およびHooks)について学ぶためのものです。 そのため、サンプルコードには例外処理などが不十分な箇所があります。ご注意ください。 Reactとは? Reactとは Facebookが中心となってオープンソースで開発されている ユーザーインターフェースを構築するためのJavaScriptライブラリです。 (2019/10/30現在、v16.10.2 が公開されています) React – ユーザインターフェース構築のための JavaScript ライブラリ https://ja.reactjs.org/ コンポーネント(部品)を作成し、これらを組み合わせることでSingle Page Applicationのような複雑なユーザーインター

    いまからはじめるReact - Qiita
    dpprkng
    dpprkng 2019/11/15
  • 巨大地震のきっかけは月なのか?->月っぽい - Qiita

    0. Abstract 巨大地震(M>8のもの)は多くの場合、月による潮汐応力による地球の変形が、発生のトリガとなっているらしい 過去に発生した地震を、統計的に扱って潮汐との関連を議論した論文もいくつかあった しかし、当然といえば当然なのだが、Tidal Phase Angleについて議論していても、Lunar AgeやLunar Phaseを明確に示したものは見つからなかった Tidal Phase Angleは、Lunar Ageとほぼ同じような振るまいとなるので、当然といえば当然か 一般人が自分でTidal Phase Angleを計算できるとは到底思えない しかし、月と太陽の位置なら自分で見ればわかる なので、Lunar AgeとEarthquakeの発生状況を可視化した 1. Introduction この記事は、過去の地震が統計的にどのような 月の位置と位相の時に発生したのか

    巨大地震のきっかけは月なのか?->月っぽい - Qiita
    dpprkng
    dpprkng 2019/11/15
  • スーパーマリオのジャンプのアルゴリズム - Qiita

    先日、気持ちのいいジャンプを目指してというQiitaの記事を見かけました。記事中では、マリオのジャンプについても触れられています。マリオというと、マリオブラザースやスーパーマリオブラザース等々、色々あるのですが、これはおそらくスーパーマリオブラザースの事だと思われます。ジャンプアクションゲームといったらスーマリですね。 そのマリオのジャンプの仕組みは「マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて~」と書かれていて、別サイトのブログへのリンクが張られています。 マリオのジャンプ実装法とVerlet積分 ただ、この記述については不正確であるという別のブログもあったりします。 マリオの完コピvol.28 ジャンプの解析と修正 ホントのところはどうなんでしょうか?世界で最も有名なゲームジャンプがどのように処理されているのか気になったので調べてみることにしました。 原典にあたる

    スーパーマリオのジャンプのアルゴリズム - Qiita
    dpprkng
    dpprkng 2019/11/07
  • Ubuntu 18.04でNeovimを利用する - Qiita

    環境 OS: Ubuntu 18.04 LTS fish version 2.7.1 目標 Neovimを新しく利用できるようにします。 Neovim利用に必要なPython環境は、pyenvを用いて作成します。 以下のプラグインを利用します。プラグイン管理にはdein.vimを利用します。 これらを特に記載している理由は、これらの導入にハマったからですが、一旦全消ししてから再度以下の手順を進めた中では再発しなかったので、そのハマりっぷりは結局割愛しました。たぶんPython環境が汚れていたのだと思います。 denite.vim deoplete.vim 設定ファイルはクラウド上に保存し、複数端末で利用できるようにします。 Neovimインストール 公式資料は以下。 Installing Neovim 準備 Neovim、および利用するプラグイン導入に必要なPythonモジュールをインスト

    Ubuntu 18.04でNeovimを利用する - Qiita
    dpprkng
    dpprkng 2019/09/17
  • Ubuntu18.04にVagrantをインストールする - Qiita

    > sudo apt-get install virtualbox > sudo apt-get install virtualbox-ext-pack > sudo apt-get install vagrant

    Ubuntu18.04にVagrantをインストールする - Qiita
    dpprkng
    dpprkng 2019/09/09
  • neovim/VimでLanguage Server Protocolを利用するための基礎知識と設定方法 - Qiita

    この記事ではLanguage Server Protocol(LSP)の基礎知識とneovim/VimでLSPを利用するための設定方法を紹介します。 Language Server Protocol(LSP)とは Language Server Protocol(LSP)は、エディタや統合開発環境などの開発支援ツールと言語サーバ(Language Server)のコミュニケーションの手順を定めた仕様です。 従来、開発支援ツールが各種のプログラミング支援機能(自動補完や定義ジャンプ)を提供するためにはプログラミング言語ごとに個別の機能を実装する必要がありました。 LSPでは、言語サーバがクライアントに対して一般的なプログラミング支援機能を提供します。その結果、開発支援ツールは単一のLSPクライアント機能を実装するだけで自動的に言語サーバを提供する全てのプログラミング言語のプログラミング支援機

    neovim/VimでLanguage Server Protocolを利用するための基礎知識と設定方法 - Qiita
    dpprkng
    dpprkng 2019/09/05
  • Manjaro i3 Editionインストールから僕おすすめカスタマイズまで - Qiita

    2020/03/08 内容を整理して、余計な(だと思う)ものを省きました。 順番もあべこべで読みにくい記事だったと思います。ごめんなさい。 ようやく修正しました。 前verはここ リスペクト Linuxに移行した話 こちらのサイトにあったこのデスクトップ、かっこよすぎるんですよ...。 リスペクトしかない いろいろな方の設定ファイルをお借りして、私も透明でかっこよいデスクトップに仕上がっちゃいました Cinnamonがばぐった アップデートでCinnamonがバグってしまわれました アプレットやデスクレットを使おうとするとCinnamonがクラッシュしてしまうんです...。 一旦、全部(homeも)消して、i3 Editionを入れてやろうと思ってます また、環境を整えるためのメモ書きとして残します 環境 Windows10 + Manjaro Linuxのデュアルブート 大事なデータの避

    Manjaro i3 Editionインストールから僕おすすめカスタマイズまで - Qiita
    dpprkng
    dpprkng 2019/08/30
  • Node.jsによるSPA(SinglePageApplication)フレームワーク開発、試しにMyDNSビュワーを作る - Qiita

    Node.jsによるSPA(SinglePageApplication)フレームワーク開発、試しにMyDNSビュワーを作るJavaScriptNode.jsTypeScriptframeworkSPA 1. フレームワーク作り WebシステムをSPA(SinglePageApplication)を実現する上で大きな比重を占めるのは、フロントエンド側の実装部分です。労力の大半はここにつぎ込まれると言っても過言ではありません。しかしWebシステムを作る上では、バックエンド側との連携も必要となり、この部分が簡潔に書けるかどうかで、フロントエンド側の開発コストが決まります。ということはバックエンド側も重要なのです。 フロントエンドの描画部分に関しては、以前からJavaScript/TypeScriptでウインドウシステムを実現するフレームワークを開発しており、これを使えばかなり楽にSPAの開発が行

    Node.jsによるSPA(SinglePageApplication)フレームワーク開発、試しにMyDNSビュワーを作る - Qiita
    dpprkng
    dpprkng 2019/08/24
  • プログラミング言語の習得に必要なもの - Qiita

    はじめに 先日、エンジニアの能力と今どきの難しさというタイトルの記事(2018年)を読んで、「これはほんとにその通り」と思う一方で、具体例がないためにピンと来ない人や、マウント取りではという意見も多数見られた。というわけで、自分が比較的得意な、プログラミング言語の構文解析といった分野に関して、この記事の言わんとしていることを補足するような記事を書こうと思い至った。 記事中では、エンジニアに必要な知識や経験を、「ベース」「カテゴリ」「実行環境」という形(以下)に分けて論じている。 ①ベース コンピュータサイエンス(CS)などの理論的なもの 低レイヤー ②カテゴリ フロントエンド / バックエンド / クライアントアプリなど ③実行環境 特定のプログラミング言語や開発環境やツール、フレームワークやライブラリなど この中で、特に印象的であり、かつ「よくわかる」と思ったのは以下の記述だ。 ③は比較

    プログラミング言語の習得に必要なもの - Qiita
    dpprkng
    dpprkng 2019/08/22
  • VS CodeによるPython開発環境のテンプレ - Qiita

    0. はじめに sublime使いだった僕が(使い込んではいなかったけど)社内のPython開発環境を統一するためにVS Codeの色々を調べたので,そのまとめです. 以下ができるような開発環境の構築を目的としています. 複数人がローカルで開発する時に,環境を揃えたい. ローカルからリモートサーバーにアクセスして開発したい. プロジェクトごとに依存関係を整理したい. コーディングスタイルや型などのチェックを入れたい. Pythonの環境周りはPipenvで管理し,ローカルでdockerを立ち上げてその中で開発するためのテンプレです. 1. install Setting up Visual Studio Code 2. Extension 2.1. 必須 以下は必須. python Remote Development Remote SSH git lens 2.2. オプショナル その他

    VS CodeによるPython開発環境のテンプレ - Qiita
    dpprkng
    dpprkng 2019/08/05
  • コンテナランタイムの動向を整理してみた件 - Qiita

    はじめに 先日以下のQiita記事を書いたのですが、公開した後にコンテナランタイムについて全然書いていないことに気付いたので、今度はコンテナランタイムの動向について整理してみたいと思います。 DockerKubernetes周辺の動向を整理してみた件 また、最近 containerd・cri-o・gVisor などの名前を聞くことが増えたのですが、それぞれの違いを自分が理解できていなかったので、自己学習の目的としてもWeb上の情報などを元に整理したいと思います。 コンテナ仕様の標準規格 コンテナランタイムを整理する前に、OCI(Open Container Initiative)とCRI(Container Runtime Interface)の概要について説明します。 OCI(Open Container Initiative)とは Open Container Initiative(

    コンテナランタイムの動向を整理してみた件 - Qiita
    dpprkng
    dpprkng 2019/08/02
  • Windows 10のssh-agentをコマンド プロンプト、WSL、Git Bashで使ってみた - Qiita

    Windows 10(April 2018 Update)に付属のssh-agentを使用してみました。 コマンド プロンプト(cmd)、WSL、Git Bashで使えることを確認しました。 (WSLはOSSの ssh-agent-wsl が必要) ssh-agent の有効化 GUIで行う場合 サービスOpenSSH Authentication Agentのプロパティを開く。 スタートアップの種類を「自動」に変更する。 「開始」をクリックしてサービスを開始する。 CUIで行う場合 コマンド プロンプトを「管理者として実行」する。 sc config ssh-agent start=auto sc start ssh-agent 秘密鍵の登録 例としてコマンド プロンプトで行います。WSL、Git Bashで行っても登録先は同じです。 WSLで行う場合は $HOME/.ssh に適切なパ

    Windows 10のssh-agentをコマンド プロンプト、WSL、Git Bashで使ってみた - Qiita
    dpprkng
    dpprkng 2019/07/30
  • FreeBSD 12 で自宅サーバ作成 Webサーバ編 - Qiita

    はじめに FreeBSD 12を使用した自宅サーバの構築を行った。FreeBSD 12はリリースされて間もない状態ですが、カーネルに標準でVIMAGEが取り込まれDNSの外向きと、内向きを別々のシステム(jail+VIMAGE)が同一ホストで構築できることから採用することにしました。その時の構築手順を備忘録の意味も含め、具体的にいくつかに渡り説明する。 基システム編その1 背景 基のインストール 日語環境の設定 基システム編その2 セキュリティ ftpサーバ 基システム編その3 jail 基システム編おわり jail内基システム編 基の設定(jail1・jail2共通) DNSDNSの構築におけるこれまでの問題 bind9インストール NTPサーバ Let's Encrypt編 Let's Encryptについて certbotのインストール 各種設定 証明書の取得 W

    FreeBSD 12 で自宅サーバ作成 Webサーバ編 - Qiita
    dpprkng
    dpprkng 2019/07/17
  • nginxを用いてgzip爆弾による不正アクセスへの攻性防壁 - Qiita

    はじめに Wordpressの脆弱性狙いの不正アクセスに対して、展開後にとても大きくなるgzipファイルをレスポンスすることで攻性防壁を構築するブログを参考に、nginxを用いてMacのローカルPCに検証構築した記録です。 参考: How to defend your website with ZIP bombs ソフトウェアバージョン MacOSX Sierra nginx : 1.12.2 手順 Homebrewにてnginxをインストールして検証しました。 nginxの設定ファイルなどのパスについては、自分の環境に適宜置き換えてください。 1. gzip爆弾ファイルの作成 展開後に10GBになるgzファイルをwww配下に作成します。 圧縮状態だと10MB程です。

    nginxを用いてgzip爆弾による不正アクセスへの攻性防壁 - Qiita
    dpprkng
    dpprkng 2019/07/06
  • 細かすぎて伝わりにくい、Pythonの本当の落とし穴10選+α - Qiita

    Pythonはコードが書きやすい?ご冗談でしょう ・とにかくコロンを忘れまくる ・Pythonでは、関数が返す値には明示的に「return」を付ける必要がある ・リストに対してmapやfilterといった関数を適用した結果が、リストではなくイテレーターのオブジェクトになっている こんなのを槍玉にあげてるの?ご冗談でしょう。 今こそあの記事を復活させなきゃいけない気がしたので、自分の昔のブログからサルベージ1しました。またせっかくなので、新しく加筆しました。Python当の落とし穴、ご査収ください。 自作の test.py を import しようとしてもできない 多くの初心者がハマることですが、自分で test.py というファイルを作って実行しようとしても、うまくいかないことがあります。 bash$ vi test.py # test.py というファイルを作った bash$ ca

    細かすぎて伝わりにくい、Pythonの本当の落とし穴10選+α - Qiita
    dpprkng
    dpprkng 2019/06/19