Stack Overflow for Teams is now called Stack Internal. Bring the best of human thought and AI automation together at your work. Try for free Learn more
Stack Overflow for Teams is now called Stack Internal. Bring the best of human thought and AI automation together at your work. Try for free Learn more
私はここ1週間ほど、同僚の David の一言で Infrastructure as Code について頭が大混乱状態でした。 それは次の一言です。 Chef や Puppet は大体の部分は Infrastructure as Code じゃないよね。ARM (Azure Resource Manager) はそうだけど。 ただ、Chef-Provisioning は Infrastructure as Code だよね。 もう頭が大混乱です。なんとなく言わんとしていることはわかりますが、私は今まで Chef とか、Puppet とか、Ansible とかで やっているようなことが、Infrastructure as Code と思い込んでいましたが、何か間違っていたのでしょうか?そういえば、 Chef はConfiguration Management Toolと紹介されていたなとか頭
Bash は歴史のある代表的なコマンド言語で、テキストにコマンドを並べるだけで手軽にシェルスクリプトとして実行できます。 シェルスクリプトは基本的にはコマンドの羅列ですが、変数や条件分岐、ループ、関数などの制御構文も備えており、手続き型プログラミング言語としての側面も持っています。これらを活用すれば、シェルスクリプトでプログラミングが可能です。 もちろん、一般的なプログラミング言語と比べると機能は限定的で、独特のクセや記法も多いため、最近の言語に慣れた人は戸惑うことも少なくありません。 しかし Bash ならではの強みもあります。多くの OS で標準シェルとして使われているため、普段のシェルコマンドを並べるだけで動く手軽さは非常に魅力的です。一度習得すれば長く役立つ技術と言えるでしょう。 シェルスクリプトを単なるコマンドの集合と捉えず、一つのプログラミング言語として意識して書くことで、Py
Initial publication: June 29th, 2015 Note: This article is part of a 3 part series: Hacking the PS4, part 1 - Introduction to PS4's security, and userland ROP Hacking the PS4, part 2 - Userland code execution Hacking the PS4, part 3 - Kernel exploitation See also: Analysis of sys_dynlib_prepare_dlclose PS4 kernel heap overflow Since there haven't been any major public announcements regarding PS4 h
インフラグループの Morikawa です。 今回は Ansible 2.0 でリリースされた block ディレクティブ について、ここ 1 年半ほど使ってみて便利だったシーンをピックアップしてみようと思います。 個人的に良くなったと思うのは以下の 3 つでした。 tags 設定が集約できる 条件分岐の集約ができる タスクの階層が見た目でも分かりやすい これらのメリットについて、PostgreSQL サーバのインストールを例にとって説明したいと思います。 block ディレクティブの無い Playbook block ディレクティブを用いずに書いた場合の Playbook の一例が以下となります。 なお、個々のタスクを処理内容ごとに部分的に実行可能とするため、私が Playbook を書く際は原則タスクに対して tags の設定を行うことにしており、下記の Playbook もそのような
なんとなしにBashのリダイレクトとパイプについて調べてたので、後から確認しやすいようにまとめてみることにする。 1.ファイルへのリダイレクト 基本的な使い方。コマンドの実行結果をファイルにリダイレクトする事で、上書きや追記をさせることが出来る。 これについては、UNIX系OSに慣れていない人でもよく知っている事だろう。 「>」で上書き(ファイルの既存内容は削除される)、「>>」で追記書き込みが行われる。 コマンド > ファイル # 上書き コマンド >> ファイル # 追記 で、このリダイレクトだが通常は標準出力しかリダイレクトされない。 この辺りを使い分ける場合は、以下のようにコマンドを実行する。 ※追記書き込み時も同様のため割愛。 コマンド 1> ファイル # 標準出力のみをリダイレクト(デフォルト) コマンド 2> ファイル # 標準エラー出力のみをリダイレクト コマンド &> フ
まとめ zshからfishに乗り換えました 移行時にハマった点を紹介します 高機能なzshの全体像を把握できていない人にはfishは良い選択肢です これまでのあらすじ zshは名前に Z がついていてカッコいいですし、自分好みの設定をコツコツ作り上げていく楽しみがある反面、多機能で何がどうなっているのかわかりにくい部分があります。一方fishは、名前が魚を意味する単語でカッコ良さの欠片もありませんが、ゲーム開始直後にコナミコマンドで最強装備にするように、インストール直後の状態でもシンタックスハイライトや補完が有効な状態になっていますし、更に設定を追加することで、より自分好みに改善するという余地まであります。 fishについては以前から気になっていましたが、普段の作業はzshでも問題なく行えていましたし、何と言ってもシェルを変更するというのは一大事ということで踏みとどまっていました。しかし、
私達の使うアプリケーションは色々な音を出します。通知やエラーを知らせる効果音、たまにジングル (短かい音楽) を鳴らすものもあります。好みや事情によって無効にしている人も少なくないと思いますが、個人的には鳴らせるときには鳴らす方が好みです。なので、毎日使うアプリケーションのひとつであるシェルからも音が出ると楽しいのではないかと思います。例えば、コマンドを実行するときに効果音を出してみたり、失敗したとき ($? -ne 0) には悲しい感じの音が出るとか。もっと発展させて、状況に応じてリアルタイムにサウンドを作り出すとか。 そんな「音の鳴るシェル」作りの一環として、今回はコマンド実行の前後で音を出す方法を考えてみます。どうすればコマンドを叩くタイミングで任意の処理を実行できるのでしょう。1年くらい前に シェルを操作する 記事を書きました。この方法ではシェルの入出力を操作できますが、シェル上で
pythonbrewからpython 2.7.2を入れようとしたところ、エラーが出てインストールに失敗しました。pythonbrewが悪者みたいな言い方ですが、そんなことはありません。 pythonbrewから普通にpython 2.7.2をインストールすると、ビルドには成功するもののmake testの段階でエラーになります。--no-testオプションを使うとmake testをスキップできるのですが、気になるので調べてみました。調べたついでにパッチを作りました。 (ちなみに、homebrewからpythonをインストールしたときはエラーが起こらなかったなぁ、と思ったら、2012年1月時点のFormulaでは最初からmake testをスキップしてインストールしていました。) 環境 Mac OS X 10.7.2 Xcode 4.2.1 (llvm-gcc-4.2) readline
To learn how to install Python on your system, you can follow a few straightforward steps. First, check if Python is already installed by opening a command-line interface and typing python --version or python3 --version. You can install Python on Windows using the official installer from Python.org or through the Microsoft Store. On macOS, you can use the official installer or Homebrew. For Linux,
概要 Python でプログラムする際にとても便利な Anaconda ですが、長く使っているとコンピュータのハードドライブの要領を圧迫し始めました。 本稿では、そんな Anaconda の不要になったファイルを整理・削除して、ハードドライブをクリーンな状態に保つ方法を解説します。 なぜAnacondaが肥大化したか? そもそも、なぜ Anaconda のファイルが肥大化したのでしょうか? 一番大きな理由は、conda install でインストールしたパッケージのキャッシュが残っているためです。 特にパッケージは日々バージョンアップされており、同一のパッケージでも新たに conda install すると新しいパッケージがダウンロードされて、古いパッケージのキャッシュは残ったままになってしまいます。 古いパッケージは将来使うことがないかも知れないのに、ハードドライブにキャッシュが残ってし
Ansible でパスワードやAPIキーなどの機密情報を扱う場合には ansible-vault を使うことで暗号化されたファイルとして変数を保存できます。 簡単な使い方は以前書きました Ansible Vault を試す しかしながら、ansible-vault はファイル単位での暗号化であるため、暗号化の不要な項目までまるっと暗号化され、どんな変数が定義されているのかすらわからなくなってしまうという問題がありました。 これは結構不便です。 そんなことをずっと思っていたのですが、ふとドキュメントを読んでいたらこの問題の解決策が書いてありました。 Splitting Out Host and Group Specific Data なんと、バージョン 1.4 という ansible-vault 登場(1.5)以前からある機能でした!! が、 As an advanced use-case,
はじめに Ansible 2.4からAnsible Vaultで、あるファイルはパスワードA、またあるファイルはパスワードB、……と別々のパスワードを使って暗号化した場合でも1つのコマンドで復号できるようになった。 これは公式ドキュメント( http://docs.ansible.com/ansible/2.4/vault.html )の「Use encrypt_string to create encrypted variables to embed in yaml」、「Vault Ids and Multiple Vault Passwords」、「Providing Vault Passwords」辺りに説明されている。 要約 2.4からも従来の--vault-password-fileオプションは使えるが、代わりに--vault-idオプションで置き換えることもできる。 --vau
Outline Outline 仮想化(virutalization) ハイパーバイザ/ホスト型仮想化の違い コンテナはどんなところに使われているだろうか? コンテナのセキュリティ コンテナの実装 コンテナのメリット/デメリット メリット デメリット コンテナはどうやって実装されているのだろうか? コンテナはプロセス 自作コンテナ by Haconiwa では,まずコンテナはプロセスなのでforkするところから始めます. Namespaceを分離します cgroupを設定 Capabilityを設定 コンテナへのAttack コンテナのセキュリティ機構 Attack Surfaces スイスチーズモデル AppArmor /sys/kernel/uevent_helper /proc/sysrq-trigger AppArmorの適用 AppArmorによる保護 seccomp secco
インストール Docker エンジンのインストール Mac OS X Windows Ubuntu Red Hat Enterprise Linux CentOS Fedora Debian Arch Linux CRUX Linux FrugalWare Gentoo Oracle Linux openSUSE and SUSE Linux Enterprise Amazon EC2 Google Cloud Platform IBM SoftLayer Microsoft Azure Rackspace Cloud Joyent Triton バイナリをインストール Kitematic のインストール Docker Machine のインストール Docker Compose のインストール Docker Swarm のインストール Docker 基礎 コンテナのクイックスタート Do
composeファイルのバージョン2以降で、YAMLのトップレベルにvolumes:を置いてボリュームの定義をし、service:内でそのボリューム名を指定するという書き方ができます。 version: "2" services: database: image: mariadb:10 volumes: - datastore:/var/lib/mysql ...(略)... volumes: datastore: Docker EngineやDocker Composeのドキュメントを見るとこんな感じで書いてあるかと思います。この書き方だとdatastoreはlocalというドライバを使用して/var/lib/docker/volumes/datastore/_dataあたりのディレクトリをコンテナ内にマウントするという動作になります。 消えちゃう問題 この方式は各サービスのvolume
ファイルやポート、プロセスの関連を確認する際に良く利用するlsofコマンドについて、個人的に覚えておきたいオプションや使い方をまとめてみる事にする。 なお、もしlsofコマンドがない環境の場合、ファイルとプロセスの紐付けを確認するだけであればfuserコマンドが入っていればそれで代用可能だ。 1.全プロセスを確認する lsofコマンドは、オプションを付与しないで実行すると全てのプロセスについて出力してくれる。 lsof [root@test-node ~]# lsof COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root cwd DIR 253,0 4096 128 / systemd 1 root rtd DIR 253,0 4096 128 / systemd 1 root txt REG 253,0
最新版で学ぶwebpack 5入門 Babel 7でES2023環境の構築 (React, Vue, Three.js, jQueryのサンプル付き) ECMAScript 2015(略:ES2015)以上の言語仕様でJavaScriptを書くことが、昨今のウェブのフロントエンドエンジニアの基本テクニックです。しかし、ECMAScript 2015以上の仕様のJavaScriptで記述すると、Internet Explorer 11など古いブラウザでは動作しないこともあります。そこでBabelなどのトランスパイラと呼ばれるツールを使って、ES2015〜ES2023の仕様で記述したJavaScriptファイルを互換性のあるECMAScript 5に変換します。 トランスパイラとして一番有名なのが「Babel」というツールです。ただ、BabelにはECMAScript Modules(impo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く