タグ

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

  • 開発者(個人)のためのJenkins - Slave編 - Qiita

    はじめに 「開発者(個人)のための」としているのは、別に自分でやっても良いんだけど Jenkins に任せられるなら任せたい、くらいのモチベーションを表現したつもりです。 ここでは、スレーブの作り方と使い方を簡単にまとめてみました。 環境 Ubuntu 14.04 LTS Jenkins 1.580, 1.582 途中から 1.582 に Upgrade しました スレーブの設定方法 まずはスレーブを作ってみる とりあえず作るなら、localhost だけで十分です。 スレーブの新規作成 スレーブの設定 赤枠で囲んでいる部分が、手を加えている場所です。 「リモートFSルート」はディレクトリを指定します。存在しないディレクトリでも構いません。勝手に作ってくれます。 「ラベル」は空白区切りで複数指定できます。私はついついコンマ区切りと間違えてしまいます。 起動方法は、「SSH経由でUnixマシ

    開発者(個人)のためのJenkins - Slave編 - Qiita
    ytkibk
    ytkibk 2022/05/29
    “「誰かが作った秘伝のタレなマシンじゃないとビルドできない」 + 「Jenkins がなぜが動かない」という絶望下でも、スレーブを使えば Jenkins で自動化することも可能です。 ”
  • Bash $((算術式)) のすべて - Qiita

    算術式についてまとめます! 以下の衛星記事もご参照ください。 Bash $((算術式)) のすべて - A 基編 - Qiita Bash $((算術式)) のすべて - B 罠・バグ回避編 - Qiita Bash $((算術式)) のすべて - C 応用編 - Qiita 当は どうでも良い Bash 算術式の細かいこと をメインで書きたいのですが、それだと余り役に立たない記事になってしまうので、基も網羅します! 先ず節1に基事項をまとめ、それ以降に他に書かれていない色々の注意点・応用方法などを簡潔にまとめます。ちゃんとした説明は附録記事に譲ります。 これらの内容(特に節2以降)は、自分で算術式を使う過程で分かったこと・学んだことを基にしています。Bash のマニュアルに載っていないのは勿論のこと、他の場所にも載っていない情報を多く入れられたように思います。役に立つどうかは分か

    Bash $((算術式)) のすべて - Qiita
    ytkibk
    ytkibk 2022/05/19
  • Intel® VTune™ Amplifierを使ってFPGAを解析するチュートリアル - Qiita

    皆さんは、Intel® VTune™ Amplifier(以下 VTune™)でFPGAの解析をしてますか? 実はVTune™はすでに利用するだけ(Community Forum Support)であれば、無償で利用することができます。 また、FPGAについてもまだプレビューの段階ですが利用することができます。 意外と知られていないこの機能の実行までをスクリーンショットを交えながら説明したいと思います。 使った環境に関しては、下記の通りです。 FPGAとしては、Intel® FPGA PACを利用していますが、既存のFPGA開発キットでも同様に利用可能です。 テスト環境 OS : Ubuntu18.04 Acceleartion Stack : 1.2.1 PV (記事ではここの部分のインストールは割愛) FPGA : Intel® Programmable Acceleration C

    Intel® VTune™ Amplifierを使ってFPGAを解析するチュートリアル - Qiita
    ytkibk
    ytkibk 2022/05/11
  • Intel VTune Profiler の使い方 - Qiita

    自分用メモ。説明はUbuntu用。 IntelのCPUを使ってない場合はLinux perfやtoplev、AMDなら (Intelでも動くらしい) CodeAnalyst などを使うとよさそう。 セットアップ ダウンロード Choose & Download > Only Intel VTune Profiler > Download インストール tar.gz を解凍すると install.sh と install_GUI.sh というのがある。 install_GUI.sh の方を使った。 終わると ~/intel/vtune_profiler にインストールされる。 デスクトップエントリ ln -s ~/intel/vtune_profiler ~/.local/share/applications/vtune_profiler でとりあえず出るようになる。 vtune-gui.d

    Intel VTune Profiler の使い方 - Qiita
    ytkibk
    ytkibk 2022/05/11
  • セルフホストできるCコンパイラを作ってみた - Qiita

    低レイヤを知りたい人のためのCコンパイラ作成入門 (以下 コンパイラブック) を一通り読んでCコンパイラを作ってみました。 このはまだ完全でなく(2020/09/01現在)、例えば構造体の実装の説明などは文章としては存在せず、このの参照実装である chibicc を写経がてら作っていきました。 (実際には今現在進行中の @rui さんの Cコンパイラ作成のオンラインコースを始めます の参加者のみに現状は公開されているchibiccよりもうちょっと改善されたcコンパイラ実装が参照実装だそうです) もともと構文解析とかはちょっと興味があったりして、qiitaでも [ruby] Parsletで構文解析する[その1] [ruby] Parsletで正規表現をパースしてvm型のエンジンを実装してみる[その1] パース〜ASTまで みたいな記事は書いていたんですが、あんまりややこしいパーサーは書

    セルフホストできるCコンパイラを作ってみた - Qiita
    ytkibk
    ytkibk 2022/05/11
  • Linuxのパイプをちょっとだけ理解する - Qiita

    この記事は ゆめみ Advent Calendar 2017 の 16 日目の記事です。 Linuxのパイプを理解して、Linuxをコマンドを便利に使いこなそうとする記事です。 Linuxのプロセスの入出力 パイプはプロセス間の入出力を繋げる仕組みなので、まずは、プロセスの入出力を知る必要があります。 標準ストリーム プロセスは、明示的にファイルをオープンしなくても利用できる入出力があります。 標準入力 (stdin) 標準出力 (stdout) 標準エラー出力 (stderr) Javaでは System.in、 System.out、 System.errPHPでは STDIN、STDOUT、 STDERR で扱えるやつです。 C言語で割り当てられるファイルディスクリプタ番号は 0番が標準入力、1番が標準出力、標準エラー出力が2番です。そして、標準入力はキーボード、標準出力と標準エ

    Linuxのパイプをちょっとだけ理解する - Qiita
    ytkibk
    ytkibk 2022/05/11
  • chrtコマンドの使い方 - Qiita

    [root@centos74 ~]# lscpu -a --extended CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE 0 0 0 0 0:0:0:0 yes 1 0 1 1 1:1:1:1 yes 2 0 2 2 2:2:2:2 yes 3 0 3 3 3:3:3:3 yes [root@centos74 ~]# chrt --help Show or change the real-time scheduling attributes of a process. Set policy: chrt [options] <priority> <command> [<arg>...] chrt [options] --pid <priority> <pid> Get policy: chrt [options] -p <pid> Policy opt

    chrtコマンドの使い方 - Qiita
    ytkibk
    ytkibk 2022/04/27
  • Linuxでスケジューリングポリシーを指定してプロセスを起動する - Qiita

    スケジューリングポリシーの種類とその説明はこの記事では扱いません。(後日追記する可能性はあるかもしれません) スケジューリングポリシーを指定してプロセスを起動する方法 chrtコマンドを使います。-f でFIFOを指定。

    Linuxでスケジューリングポリシーを指定してプロセスを起動する - Qiita
    ytkibk
    ytkibk 2022/04/27
  • Intel Edisonをリアルタイム化する - Qiita

    Hi, Are you prefer to read this article in English? Please refer to a discussion at Intel community. Intel Edisonのカーネルに,PREEMPT_RTパッチを当てました. リアルタイムOSとは 皆さんが普段使っているOSは,おそらくリアルタイムシステムではないと思います. ここで,”リアルタイムシステム”という言葉について,おさらい.一般に,「リアルタイム」というと,「リアルタイム処理」という言葉に引っ張られ,その「入力に対して即座に出力が返ってくること」,「コンピューターの処理が現実の時間と同期していること」という意味から,「つまり,とにかく処理が速ければいいんだよね!!」なぁんて解釈されてしまいがちですが,こと,制御の分野に限っては,もっと意味が厳密に決まっています.それによる

    Intel Edisonをリアルタイム化する - Qiita
    ytkibk
    ytkibk 2022/04/25
    “皆さんが普段使っているOSは,おそらくリアルタイムシステムではないと思います.”
  • レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】 - Qiita

    このように、競技プログラミングはコーディングの正確性が問われるコンテストです。 どんな問題が出されるか(2) 競プロは正確性だけではありません。例えば、以下の問題を考えてみてください。 $N$ 枚のカードが一列に並べられています。 左から $i$ 番目のカードには、整数 $A_i$ が書かれています。 あなたは $N$ 枚のカードの中から $2$ 枚同時に選び、取ることができます。取った $2$ 枚に書かれた整数の合計がちょうど $101$ となるような、カードの選び方の通り数を求めてください。 テストデータの制約:$1 \leq N \leq 10^{6}, 1 \leq A_i \leq 10^{9}$ 一番最初に考えられる解法は、以下のように「何枚目と何枚目を選ぶか全探索する」という方法だと思います。つまり、$1 \leq i < j \leq N$ を満たすすべての $(i, j)

    レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】 - Qiita
    ytkibk
    ytkibk 2022/04/16
  • ぜんぶTIME_WAITのせいだ! - Qiita

    課題 突然キャンペーンとかの高トラフィックが来る!とか言われると色々困ることはあるものの、今のご時世クラウドだからスペック上げときゃなんとかなるでしょ。ってとりあえずCPUとかメモリあげて見たものの、キャンペーンが始まったら意外と早くブラウザからつながらない!!とか言われたりする。 CPUもメモリもそんなに負荷は特に高くもない。調べてみたらTIME_WAITが大量にあった。 とりあえず何とかしたい TIME_WAIT数をコマンドで確認 $ netstat -anp|grep TIME_WAIT __(snip)__ tcp 0 0 192.168.1.1:80 192.97.67.192:56305 TIME_WAIT - tcp 0 0 192.168.1.1:80 192.63.64.145:65274 TIME_WAIT - tcp 0 0 192.168.1.1:80 192.39

    ぜんぶTIME_WAITのせいだ! - Qiita
    ytkibk
    ytkibk 2022/04/14
  • 今度こそわかるぞRNN, LSTM編 - Qiita

    はじめに GW中になにか一つアウトプットしたいと思ったので、自分が最初見たとき、ん?と思ったLSTMについて詳しく書いてみようと思います。 ところどころ数式も交えながら、なるべくわかりやすく書いていきたい所存です・・・! シーケンスモデルの分類 題に入る前にまず、シーケンス(系列データ)についてまとめます。 シーケンスモデルは以下の分類ができます。 one to one 入力データも出力データも固定サイズのベクトルである一般のニューラルネット。 one to many 入力データはシーケンスではないが、出力データはシーケンスである。 例として、画像キャプショニングがある。 画像キャプショニングでは、入力は画像であり、出力は英語のフレーズになる。 many to one 入力データはシーケンスだが、出力データは固定サイズのベクトルである。 例えば感情分析では、入力はテキストベースであり、出

    今度こそわかるぞRNN, LSTM編 - Qiita
    ytkibk
    ytkibk 2022/04/12
    “LSTMの画期的な特徴は、「ゲート」と呼ばれる情報の取捨選択機構を持った点です。 ゲートは選択的に情報を通す方法です。”
  • Webhookとは? - Qiita

    Webhookを利用した記事はよく見かけますが、そもそもWebhook自体が何なのか、何を指しているのかよくわからなかったため、それに関しての備忘録です。 Webhookとは? アプリケーションの更新情報を他のアプリケーションへリアルタイム提供する仕組みや概念のこと。 イベント(リポジトリにプッシュなど)発生時、指定したURLにPOSTリクエストする仕組みのこと。 Webhookの説明を見ると**「通知する、Webhookを送る」などの言葉が用いられているが、 これはPOSTリクエストのことを指している**。 Webhookを利用すると何ができるのか? GitHubSlackなどのサービスのWebhookを利用すると、ユーザーはサービス側がPOSTリクエストするURLを指定できる。 つまりサービスがPOSTリクエストしたパラメータに対しての処理(パラメータをSlackに通知など)を自由に

    Webhookとは? - Qiita
    ytkibk
    ytkibk 2022/04/12
  • プロキシのある環境でDockerを動かす方法 - Qiita

    日立製作所の小出です。この記事ではDockerを使う際にプロキシを設定する方法と、それに関連するDockerの挙動について説明します。 はじめに 会社からインターネットに接続するためにはプロキシを経由する必要がある、というのはありがちなシチュエーションだと思いますが、Dockerは他のツールに比べて設定につまづくポイントが多いように思います。実際、Qiitaで検索してみると、以下の件数の記事がヒットします (2019/12/5時点)。 yum proxy: 1281件 apt proxy: 1042件 npm proxy: 832件 docker proxy: 2055件 という具合で、開発者の苦労が伺えます。 また、Docker体にたびたび設定方法や細かい挙動の変更が入ることも混乱の一因かと思われます。そこで、この記事では2019年12月現在のDocker事情を反映した設定方法を紹介し

    プロキシのある環境でDockerを動かす方法 - Qiita
    ytkibk
    ytkibk 2022/03/16
  • Kubernetes 入門 & Ubuntu Server 18.04 *4 で Kubernetes クラスタを建てる - Qiita

    $ sudo sh -c "echo \"master 10.0.0.100\" >> /etc/hosts" $ sudo sh -c "echo \"worker01 10.0.0.101\" >> /etc/hosts" $ sudo sh -c "echo \"worker02 10.0.0.102\" >> /etc/hosts" $ sudo sh -c "echo \"worker03 10.0.0.103\" >> /etc/hosts" $ sudo sed -i 's|/swap|#/swap|' /etc/fstab $ sudo sed -i 's|GRUB_CMDLINE_LINUX=""|GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"|' /etc/default/grub $ curl -fsSL

    Kubernetes 入門 & Ubuntu Server 18.04 *4 で Kubernetes クラスタを建てる - Qiita
    ytkibk
    ytkibk 2022/03/13
  • WSL2でDockerを爆速化 - Qiita

    ウチのWin10もようやくこの前のWindowsUpdateでWSL2が有効になりました。 早速、公式の手順に従ってDockerWSL2に対応させて行きましょう https://docs.docker.com/docker-for-windows/wsl/ その前に、What's WSL2 WSLはWindowsSubsystemForLinuxの略称 WindowsのコマンドラインでLinuxのコマンドが使えるよー的なものだとおもって貰えば良いでしょう。 WSL2はWSLのバージョン2になります。ただし、WSL1の完全上位互換ではなくメリットとデメリットがあります。 https://docs.microsoft.com/ja-jp/windows/wsl/compare-versions まずは前提確認 Docker、バージョンは2.3.0.2以上 Windows10、バージョン 20

    WSL2でDockerを爆速化 - Qiita
    ytkibk
    ytkibk 2022/03/08
    “wslのWindowsとの共有領域である/mnt/c/配下をvolumesで共有すると遅くなってしまうので、 プログラムのコードはそれ以外の場所に置きましょう。 公式のベストプラクティスにもそう書いてあります。
  • 【初心者向け】git fetch、git merge、git pullの違いについて - Qiita

    gitで手こずった時に色々ググってると、「git fetch」と「git pull」がぐちゃぐちゃになってしまったのでまとめておきます。 結論から言えば、「fetchもpullもリモートリポジトリの最新情報をローカルリポジトリへ持ってくる」という操作になりますが、それまでの流れが違うので説明していきます。 リモートから最新情報をローカルに持ってくるのですが、場所は「master」ブランチではなく、「origin/master」ブランチに取り込まれます。 初めは「何それ知らない」となるのですが、具体的に言うと 「master」ブランチ…ローカルの中心となる統合ブランチで、他のローカルの作業ブランチと繋がったもの。 「origin/master」ブランチ…ローカルにある、リモートのmasterブランチを追跡するリモート追跡ブランチ。 となります。 両方ともローカルにあるブランチで分かりにくいの

    【初心者向け】git fetch、git merge、git pullの違いについて - Qiita
    ytkibk
    ytkibk 2022/03/03
    “両方ともローカルにあるブランチで分かりにくいのですが、図でイメージするとこんな感じです。”
  • 「追跡ブランチ」って言うのやめましょう - Qiita

    TL;DR 突然ですがクイズです。「追跡ブランチ (tracking branch)」という言葉の使い方で正しいのはどれだと思いますか? origin/master はリモートリポジトリの master を追跡する追跡ブランチである origin/master はローカルの master に追跡される追跡ブランチである ローカルの master は origin/master を追跡する追跡ブランチである 現在の正解は多分3番です。過去には1番でした。 分からなかった方、分かったけど他人に「追跡ブランチ」と言って伝わるか不安な方。大丈夫です。正確な用語1で言い換えることにしましょう。 origin/master はリモートリポジトリの master を追跡するリモート追跡ブランチ (remote-tracking branch)である origin/master はローカルの master

    「追跡ブランチ」って言うのやめましょう - Qiita
    ytkibk
    ytkibk 2022/03/03
    “図で表すとこんな感じです。”
  • kube-dnsとlibc、スタブリゾルバ、またはいつdnsmasqやgo-dnsmasqが必要になるのか - Qiita

    kube-dnsとlibc、スタブリゾルバ、またはいつdnsmasqやgo-dnsmasqが必要になるのかdnsmasqdnskubernetesgo-dnsmasq thockinさんの「Alpineが(/etc/resolve.confのsearchレコードに対応したよ!」というツイートを見て、「Alpineでgo-dnsmasqいらなくなったのかな?」と思ったら、まだ必要なケースはありそうだったのでメモ。 TL;DR; Kubernetesがアプリケーションコンテナ内/etc/resolv.confの1つのnameserverを消費するので、それでnameserverの上限を超えるようならdnsmasqをDockerイメージにインストールしておきましょう。 Alpine Linuxなら3.4からapk add dnsmasqできます。musl libcを使うAlpine Linux

    kube-dnsとlibc、スタブリゾルバ、またはいつdnsmasqやgo-dnsmasqが必要になるのか - Qiita
    ytkibk
    ytkibk 2022/03/01
    “リゾルバ DNSサーバに名前解決を依頼する スタブリゾルバ=DNS Client。ライブラリに同梱されている libcのgetaddrinfo(3), getnameinfo(3) libcの実装の一つであるglibcにはsearchレコードに対応したスタブリゾルバが同梱されている”
  • 組込み向けDTLSを試してみる - Qiita

    概要 wolfSSLはIoTデバイス、組込み向けのSSL/TLSライブラリです。ここではwolfSSLのDTLS(Datagram Transport Layer Security) 機能をインストールして簡単に試してみます。来は組込向けMCUでそのAPIを呼び出すテストプログラムを作ってみるのがよいのですが、ここでは簡単のためにLinuxやパソコン上で動くサンプルのクライアント、サーバプログラムをビルドして動かしてみます。 その他使うもの:ハンドシェークの様子をみるためにWiresharkでパケットをキャプチャーしてみます。 1. DTLSとは まずは、DTLSというプロトコル、wolfSSLのAPIについて簡単に説明します。すでにご存じの方は次のセクションにスキップしてください。 DTLS(Datagram Transport Layer Security)はUDP(User Dat

    組込み向けDTLSを試してみる - Qiita
    ytkibk
    ytkibk 2022/02/23
    “DTLS(Datagram Transport Layer Security)はUDP(User Datagram Protocol)のセキュリティを実現するためのトランスポート層のプロトコルです。”