ブックマーク / blog.amedama.jp (7)

  • Lima を使って Apple Silicon 版の Mac で x86-64 (Intel on ARM) な仮想マシンを扱う - CUBE SUGAR CONTAINER

    Apple Silicon 版の Mac を使っていても、依然として成果物をデプロイする先は ISA が x86-64 (amd64) のマシンであることが多い。 となると、どうしても x86-64 の環境を使って作業をしたい場面が出てくる。 もちろん、IaaS を利用してリモートにマシンを立ち上げれば良いんだけど、簡単な検証なら手元で手軽に済ませたい。 今回は、そんなニーズを埋めてくれるかもしれない Lima を使ってみる。 Lima を使うと、Apple Silicon 版の Mac 上で ISA が x86-64 の Linux 仮想マシンを手軽に立ち上げることができる 1。 ただし、バックエンドは QEMU のソフトウェアエミュレーション (qemu-system-x86_64) なので、ネイティブな環境に比べるとパフォーマンスは大きく劣る。 使った環境は次のとおり。 $ sw_v

    Lima を使って Apple Silicon 版の Mac で x86-64 (Intel on ARM) な仮想マシンを扱う - CUBE SUGAR CONTAINER
    tmatsuu
    tmatsuu 2022/02/26
    Apple Silicon上でx86 _64環境がどうしても必要な皆様へ
  • 返り値のチェックでシェルスクリプトが止まらないようにする - CUBE SUGAR CONTAINER

    シェルスクリプトで set -e しておくとコマンドの返り値が非ゼロ (エラー) のときにスクリプトを止めることができる。 この機能を使うと、コマンドの実行結果がエラーになった状態で処理が突き進んでしまうことを防止できる。 ただ、この機能は便利な反面、スクリプトが意図せず止まってしまうこともある。 今回は、それを回避する方法について。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.6 BuildVersion: 18G103 $ bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18) Copyright (C) 2007 Free Software Foundation, Inc. もくじ もくじ set -e

    返り値のチェックでシェルスクリプトが止まらないようにする - CUBE SUGAR CONTAINER
    tmatsuu
    tmatsuu 2019/10/18
    自分はコマンドの後ろに || true をつけてその場しのぎしちゃうことが多い
  • Python: Selenium + Headless Chrome で Web ページ全体のスクリーンショットを撮る - CUBE SUGAR CONTAINER

    スクレイピングした Web サイトからページ全体のスクリーンショットを撮影したい機会があった。 そこで Selenium の Python バインディングと Headless Chrome を使ったところ実現できたのでメモしておく。 ちなみに、ページ全体でなければ Headless Chrome 単体でも撮れる。 その方法についても末尾に補足として記載しておいた。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.13.5 BuildVersion: 17F77 $ python -V Python 3.6.5 $ pip list --format=columns | grep -i selenium selenium 3.13.0 $ chromedriver --version ChromeDriver 2.

    Python: Selenium + Headless Chrome で Web ページ全体のスクリーンショットを撮る - CUBE SUGAR CONTAINER
    tmatsuu
    tmatsuu 2018/08/04
    便利
  • オープンソースの脆弱性スキャナ OpenVAS を使ってみる - CUBE SUGAR CONTAINER

    今回はオープンソースの脆弱性スキャナである OpenVAS を使ってみることにする。 脆弱性スキャナというのは、ホストに既知の脆弱性が含まれないかどうかを自動でスキャンしてくれるツール。 注意: 脆弱性スキャンはポートスキャンやペネトレーションを含むため外部のサーバには実行しないこと 使った環境は次の通り。OS は Ubuntu 16.04 LTS にした。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial $ uname -r 4.4.0-89-generic セキュリティ用途だと Kali Linux を使うことも多いみたい。 インストール Ubuntu で OpenVA

    オープンソースの脆弱性スキャナ OpenVAS を使ってみる - CUBE SUGAR CONTAINER
    tmatsuu
    tmatsuu 2017/08/13
    最近User-AgentにOpenVASと書かれた不正アクセスが増えてるよ。それはある意味スキャナとしても使えるってことだ。
  • フレッツ回線が遅すぎる問題を IPv6/IPoE と DS-Lite で解決した - CUBE SUGAR CONTAINER

    最近というほど最近でもないんだけど、近頃はとにかくフレッツ回線のスループットが出ない。 下手をすると、モバイルネットワークの方が速いので時間帯によってはテザリングをし始めるような始末だった。 今回は、そんなスループットの出ないフレッツ回線を何とか使い物になるようにするまでの流れを書いてみる。 先に断っておくと、今回はいつものような特定の技術に関する解説という側面は強くない。 思考の過程なども含んでいるので、いつもより読み物的な感じになっていると思う。 調べ物をして、それらについて理解した内容のまとめになっている。 結論から書いてしまうと、今回のケースでは IPv6/IPoE 接続と DS-Lite を使って何とかなった。 DS-Lite というのはゲーム端末ではなくて IPv4/IPv6 共存技術の一つである RFC6333 (Dual-Stack Lite Broadband Deplo

    フレッツ回線が遅すぎる問題を IPv6/IPoE と DS-Lite で解決した - CUBE SUGAR CONTAINER
    tmatsuu
    tmatsuu 2017/04/20
    いいね。PPPoEガチャ
  • Python: Pykka でアクターモデルについて学ぶ - CUBE SUGAR CONTAINER

    アクターモデルというのは、並行処理のプログラミングモデルの一つだ。 並行処理という言葉からは、まずマルチスレッドとかをイメージすると思うけど、それよりも抽象度の高い概念となっている。 つまり、アクターモデルというのはマルチスレッドなどを用いて構築することになる。 どちらかといえばプロセス間通信 (IPC) の技法であって、共有メモリやロック、RPC と比較するものかもしれない。 そんなアクターモデルは、概念とか使ったときの嬉しさを理解・実感するのがなかなか難しいモデルだとも思う。 理由としては、使い始めるまでに必要なコード量が多かったり、それなりの規模のアプリケーションで使わないとメリットが分かりづらい点が挙げられる。 ただ、これはあくまで主観的なものだけど、アクターモデルをベースに組まれたアプリケーションは規模が大きくなっても並行処理をしているコードが読みやすい。 共有メモリやロックを使

    Python: Pykka でアクターモデルについて学ぶ - CUBE SUGAR CONTAINER
    tmatsuu
    tmatsuu 2017/04/01
    アクターモデルについてこれまで学んだことがなかったんだけど、チュートリアルとしてとてもいい。素晴らしい
  • Python: Janome で手軽に形態素解析する - CUBE SUGAR CONTAINER

    Janome は Pure Python で実装された日語の形態素解析ライブラリ。 形態素解析というのは文章から意味をもった最小の構成単位となる形態素を取り出すことをいう。 他の日語の形態素解析ライブラリは Python から使えてもバインディングが提供されているだけでドキュメントがイマイチだったり、あるいはインストールが大変だったりということも多々あるんだけど Janome はそんなことがない。 インストール インストールは実に簡単。 pip を使ってさっくりできる。 $ pip install janome 使ってみる 使い方も至ってシンプルで janome.tokenizer.Tokenizer さえ知っていればいい。 Tokenizer#tokenize() メソッドに日語のユニコード文字列を渡すだけで解析ができる。 解析結果はリストで返ってくる。 >>> from jano

    Python: Janome で手軽に形態素解析する - CUBE SUGAR CONTAINER
    tmatsuu
    tmatsuu 2015/12/29
    pure pythonなの良い
  • 1