タグ

OSに関するMukeのブックマーク (13)

  • 非同期I/O APIの設計がなかなか難しい - .mjtの日記復帰計画

    yuniで実用的なプログラムを書くためには、どうしても非同期I/Oライブラリが必要になる。というわけで黙々と設計しているけれど、これがなかなか難しい。 非同期I/Oライブラリの難しさ そもそもOS/処理系毎に別物が必要 "非同期I/Oライブラリなんてlibuv一択だろ"という意見も有るかもしれないし、実際、Node.jsはlibuvのデザインの実用性を証明しつづけていると言える(実際には逆で、Node.jsのOS抽象化レイヤとしてlibuvが実装されている)。が、libuvはカーネル機能の抽象化でしかなく、同じデザインがyuniに適用できるとは限らない。yuniは既にKawa(Java上のScheme実装)やIronScheme(.net上のScheme実装)をターゲットしているので、これらでも動作するような配慮が必要になる。 もし、yuniの非同期I/Oライブラリを単なるlibuvのバイ

    非同期I/O APIの設計がなかなか難しい - .mjtの日記復帰計画
    Muke
    Muke 2018/01/17
  • Shibu's Diary: ASCII.jpの連載「Goならわかるシステムプログラミング」がパワーアップして書籍化されます

    Real World HTTPに引き続き今年2冊目の書籍が出版されます。ASCII.jpの連載をまとめて、加筆修正したものになります。最初は、連載をつなげて、はじめに、と次回予告を書き換えてつなげればOKという感じからスタートしましたが、章構成を書き換えたり、書き始めのときに「そのうち連載で触れる予定です」を「◯◯章で説明します」に書き換えたり、せっかくだから内容を追記しようとか考え始めたり、レビューアのメンバーが「これは並列・並行の結果であって原則とは違う」みたいな細かい定義のところまで指摘してくれて説明を大幅に書き換えたり、蓋を開けたら前から最後までかなり時間をかけて修正することになりました。せっかく転職で有給消化が一ヶ月あったのですが、この原稿の修正で一ヶ月がするっと溶けました。 11/16追記 Amazonでも販売がはじまっています! 大きな修正ポイントは次の通りです: 連載の分量

    Muke
    Muke 2017/10/20
  • 鳶嶋工房 / AppleScript / JavaScript for Automation (JXA)

    Mac OS Xの自働化用の言語としてAppleScriptがありますが、Mac OS X10.10(Yosemite)から「OS標準で」JavaScriptでも制御ができるようになりました。 これを、JavaScript for Automation (以後 JXA)と言います。 詳細はJavaScript for Automation Release Notesを見てもらうとして、ここでは、ごく基的な情報をまとめます。 とりあえずJavaScript動かしてみる JXAの記述には"アプリケーション/ユーティリティ"フォルダのスクリプトエディタを使う。 スクリプトエディタ スクリプトエディタの[環境設定]-[一般]で、[デフォルトの言語]をJavaScript(1.0)に。 Mathクラス(注1)を使ってみる。上記のように書いて、メニューの[スクリプト]-[実行]か、[▶]︎ボタンをク

    鳶嶋工房 / AppleScript / JavaScript for Automation (JXA)
  • Mac : JavaScript for Automation (JXA) 例文辞典

    このページはMacのOS X Yosemiteから使用できるようになった自動化用のJavaScript (JavaScript for Automation : JXA) の用例について扱っています。 *勉強用に作成したページなので間違いや不具合の出るサンプルがあるかもしれません。致命的なもので、これはまずいというサンプルがありましたらopenspc@alpha.ocn.ne.jpまでメールをください。

  • not found

    Muke
    Muke 2016/07/01
    新鮮なネタが投下されましたね!!
  • Datadog を試してみた - えいのうにっき

    先日開催された Mackerel User Group Meeting で LT をしてきたぐらいには Mackerel ユーザーな僕なんだけど、聞くところによると Datadog というプロダクトも監視系 SaaS としては使っているユーザーが多いということなので、ちょっと試してみることにした。 今回試すにあたり、自分のホームページ(死語)をホストしている home.a-know.me に実際にエージェントをインストールした。例によって、Chef のカスタムレシピ(CentOS / Redhat 向け)を書いてインストールしたので、興味があればそちらも。 もくじ もくじ サインアップ 〜 エージェントのインストールまで Datadog コンソールを開いてみる 2種類のダッシュボードの作成 インテグレーションを試す 監視設定の追加 最後に、課金体系 サインアップ 〜 エージェントのインスト

    Datadog を試してみた - えいのうにっき
  • Big Sky :: golang では for ループの中で defer してはいけない。

    « cat で色々な物をシンタックスハイライト出来る ccat に html 出力機能を入れた。 | Main | 別のプロセスの動的な環境変数を盗み取る » 初めてGolangで書いたデータ投入ツールでプロセスがモリモリ肥大化していくのは ループ内で defer hoge.Delete() とか書いてたせいだったらしい。 defer を消したら100〜200MB落ち着いている。 — m.yuzuki (@ephemeralsnow) December 11, 2015 golang の defer は後処理のキューの登録です。コードを見ていないので分かりませんが、おそらくこういうコードを書いたのだと推測します。 package main import ( "fmt" ) type foo struct { n int } func Create(n int) *foo { fmt.Pri

    Big Sky :: golang では for ループの中で defer してはいけない。
  • JavaScriptの父、オープンソースの高速Webブラウザ「Brave」をβリリース

    公式サイトの説明によると、Braveはサードパーティーによるクッキーやトラッキングをブロックし、広告もほとんど表示させないことで、ページ読み込みをブロックしない状態より60%高速にするという。 また、Firefoxアドオン「HTTPS Everywhere」を統合しており、ユーザーは目的のWebサイトにHTTPS接続できる。 米AppleがiOS 9に広告ブロック機能「コンテンツブロッカー」を追加したことを契機に、Webブラウザでの広告ブロックをめぐる論争が続いている。iOSアプリ開発者のマルコ・アーメント氏は、広告ブロックアプリは「攻撃されるべきではない人々を傷付ける」として人気アプリをApp Storeから取り下げた。米Googleの幹部は、広告ブロックは不要なものを排除するだけでなく重要なもの(コンテンツプロバイダーの収入)も犠牲にしてしまうので、容認できる広告プログラムの構築が必要

    JavaScriptの父、オープンソースの高速Webブラウザ「Brave」をβリリース
  • 2015年の心に残った技術エントリ - ゆううきブログ

    1年分の自分のはてなブックマークを見直した。 およそ 2,000 URLのエントリの中から、特に感銘を受けたり、記憶に残ったエントリを紹介したい。 2015年にブクマしたというだけで、必ずしも2016年に公開されたエントリばかりではないことに注意。 エントリ Scalable Deployments Advanced Techinic for OS upgradeing in 3 minutes MySQLSSDとかの話 モバイルアプリのスレッドプールサイズの最適化 性能測定道 情報科学における18のメタテクニック Webオペレーションエンジニアアウトプットと開発力 はてなに入った技術者の皆さんへ シンプルでかつ最高のJavaScriptプロファイラ sjsp を作りました! ペパボのインターネット基盤技術研究・開発の活動 インフラチーム改め Site Reliability Engi

    2015年の心に残った技術エントリ - ゆううきブログ
  • OS X 10.11 El Capitanでnokogiriをインストールする - There's an echo in my head

    $ brew install libxml2 libxslt libiconv $ gem install nokogiri -- --use-system-libraries bundlerでインストールするときのためにも設定しておく。 $ bundle config build.nokogiri --use-system-libraries なお前提として、公式サイトのインストール方法の"Other OS X tips"にあるように rubyが最新のclangでビルドされていてgccでの依存に無い状態で gemのネイティブ拡張もおなじようにclangでコンパイルされるようになっている ことが必要になる模様。 なのでアップグレードしてrbenvの環境をそのまま引き継いだ場合などでコンパイラがgccだったりする場合は、export CC=clangなどしてrubyをビルドしなおしてからno

    OS X 10.11 El Capitanでnokogiriをインストールする - There's an echo in my head
  • Photon - Electron開発者要注目のOS X風UIツールキット | ソフトアンテナ

    元々GitHubのAtomエディタのために開発されたデスクトップアプリ作成用フレームワーク「Electron」。HTML/CSSといったWeb系技術を使って、クロスプラットフォームのデスクトップアプリを開発可能なため、多くの開発者の注目を集めています。 日紹介する「Photon」は、このElectron用の便利なコンポーネントを多数収録したUIツールキットです(GitHub、Hacker News)。 ツールバー、タブ、ナビゲーション、リスト、ボタン、フォーム、テーブルといった、GUIアプリ作成に必要なさまざまなコンポーネントを、アプリケーションに素早く組み込むことができます。コンポーネントの見た目もOS X風でクールです。 以下ご紹介。 バー ヘッダーとフッターを組み込むことができます。 バーとアクション バーにボタンを設置してアクションを定義することもできまうs. バーとタブ タブを

    Photon - Electron開発者要注目のOS X風UIツールキット | ソフトアンテナ
  • Pineapple - Pythonが実行できるメモ帳

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 新しいXcodeにはPlayGroundという機能が追加されています。これを使えばGUIを組むことなく、手軽にSwiftのコードを実行し、結果を確認できます。アプリのテストコードであったり、ちょっとした構文をテストするのに便利です。 そんなコンソールで実行できる環境は便利だと思います。そこでPythonにも同じような環境を提供するPineappleを使ってみましょう。 Pineappleの使い方 PineapplePythonのコードを書いてその場で実行できる環境です。 計算式をその場で評価させることができます。 さらに式を書いて実行もできます。エラーがあればちゃんとエラーメッセージも出ます。 Pineappleでは入力しているコードだけを実行したり、これまで書いたコードをまとめ

    Pineapple - Pythonが実行できるメモ帳
  • CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話 - 豆腐の豆腐和え

    今年のCPU実験では、有志からなる我らがX班が、おそらくCPU実験史上初である自作CPUへのOS (xv6) 移植に成功しました。コア係とコンパイラ係の面々がそれぞれまとめ記事を書いていたので、OS係から見たOS移植のまとめも書こうかなと思います。こんなことしてましたってことが伝わればいいなと思います。 この記事を読む後輩やらなんやらがいたら、ぜひ僕らがやったようなことはさっさとクリアしちゃって、さらにさらに面白いことをする踏み台にしていってほしいですね。 どなたが読んでもある程度概要が伝わるよう、まずCPU実験とは何かということをさらっと書いた後、実際にxv6を移植するにあたってやったことをまとめたいと思います。 CPU実験とは CPU実験は僕の学科(理学部情報科学科)で3年冬に行われる、半年間にわたる学科名物演習です。 最初の週で4~5人程度の班に分けられた後、それぞれの班でオリジナル

    CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話 - 豆腐の豆腐和え
  • 1