タグ

OSとprogrammingに関するraimon49のブックマーク (24)

  • シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ

    はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ

    シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
    raimon49
    raimon49 2023/10/16
    シェルスクリプトとの比較わかり易い。
  • Java 19の注目新機能Virtual Threadについて ~TechFeed Conference 2022講演より | gihyo.jp

    TechFeed Conference 2022 Pick up Java 19の注目新機能Virtual Threadについて ~TechFeed Conference 2022講演より 記事は、2022年5月に開催されたTechFeed Conference 2022のセッション書き起こし記事「Java 19 の注目新機能 Virtual Thread について(てらだ よしお⁠)⁠ — TechFeed Conference 2022講演より」を転載したものです。オリジナルはTechFeedをご覧ください。 皆さん、こんにちは。Microsoftの寺田です。今日はJavaの最新動向についてご紹介していきたいと思います。どうぞよろしくお願いいたします。 まず最初にこちらをご覧ください。 2017年にJava 9をリリースして以降、Javaは半年に1度、アップデートするようになりました

    Java 19の注目新機能Virtual Threadについて ~TechFeed Conference 2022講演より | gihyo.jp
    raimon49
    raimon49 2022/09/03
    これMicrosoftの人が紹介してるんだ。
  • iOSのファイル共有機能5パターンの検証とセキュリティ対策まとめ - Flatt Security Blog

    はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの志賀(@Ga_ryo_)です。 iOSアプリケーションを開発する上で、メディアファイルやドキュメントファイルを他のアプリケーションと共有する機能を実装するケースがあると思います。iOSでは、ファイル共有のために様々な機能を提供していますが、OSの更新に従って機能が増え、把握が困難になってきたと感じている方もいることかと思います。 また、そういった機能が追加された際に実装方法に関する解説をしてくださる方々がいらっしゃると思いますが、細かい仕様について語られることはあまり多く無いという印象です。 そこで稿では、iOSアプリケーション上で利用できる各種ファイル共有機能を5つのパターンに分けて検証しつつ、これらを利用する上で注意すべき点についても解説していこうと思います。 注) 稿では度々サンプルコードを提示する

    iOSのファイル共有機能5パターンの検証とセキュリティ対策まとめ - Flatt Security Blog
  • PHPにはエスケープ関数が何種類もあるけど、できればエスケープしない方法が良い理由

    このエントリは、PHP Advent Calendar 2021 の20日目のエントリです。19日目は @takoba さんによる PHPプロジェクトのComposerパッケージをRenovateで定期アップデートする でした。 SQLインジェクションやクロスサイトスクリプティング(XSS)の対策を行う際には「エスケープ処理」をしましょうと言われますが、その割にPHP以外の言語ではあまりエスケープ処理の関数が用意されていなかったりします。それに比べてPHPはエスケープ処理の関数が非常に豊富です。これだけ見ても、PHPはなんてセキュアなんだ! と早とちりする人がいるかもしれませんが、しかし、他言語でエスケープ処理関数があまりないのはちゃんと理由があると思うのです。 稿では、PHPのエスケープ処理用の関数を紹介しながら、その利用目的と、その関数を使わないで済ませる方法を説明します。 SQL

    raimon49
    raimon49 2021/12/21
    そもそもエスケープ関数の使い方を意識しなければならない状況を避ける、という話。たしかに。
  • Objective-C小史

    Mediumより。 BY ハンセン・スー これまでに、ユーザがダウンロードしたiPhoneアプリは1,400億を超えています1。iPhoneの成功は、サードパーティ製アプリのエコシステムに関係しています。2008年にApp Storeがデビューしたとき、すべてのアプリは、Apple以外のコミュニティではほとんど使われていなかったプログラミング言語Objective-Cで書かれていました。それ以来、Objective-Cの使用は爆発的に増加し、アプリを作る開発者たちのゴールドラッシュとなりました。Appleは2014年に新しい言語Swiftを導入しましたが、AppleのiOSオペレーティング・システムのほとんどは今もObjective-Cで書かれており、今後何年もAppleのデバイスで使用されるでしょう。 多くのプログラマがObjective-Cを知ったのは、iPhoneアプリ革命の時でした

    Objective-C小史
  • シェルを経由しないOSコマンド呼び出しがPHP7.4で実装された

    この記事はPHP Advent Calendar 2019の5日目の記事です。 はじめに 私は6年前に、PHP Advent Calendar 2013として「PHPだってシェル経由でないコマンド呼び出し機能が欲しい」という記事を書きました。その中で、OSコマンドインジェクション対策の根的かつ安全な対策は「シェルを経由しないコマンド呼び出し」であることを指摘した上で、末尾に以下のように書きました。 PHPコミッタのみなさま、PHP5.6の新機能として、シェルを経由しないコマンド呼び出しの機能を追加できませんか? 現実には当時からPCNTL関数にてシェルを経由しないコマンド呼び出しはできたのですが、当関数の使用が難しいことと、CLI版あるいはCGI版(FastCGIは可)のPHPでないとサポートされていないなどの制限があり、popenやproc_openなど使いやすいコマンド呼び出し関数に

  • Python で Unicode 正規化 NFC/NFD の文字列を扱う - forest book

    先日、ビジネスパーソン向けの Python を執筆したことを書きました。 t2y.hatenablog.jp 稿では書のことを「できるPy」と呼びます。 Amazon でいくつかカスタマーレビューもいただいて次のコメントをみつけました。 python3.7 対応ということで、pathlib を使ってる点が(古いpython は切り捨てる!的なところは)潔いと言えば潔いし、日語のファイル名にも気を配っている記述はオライリーに期待するのは酷なところもある。でもこのでもNFD問題は全くの記述無し。だめだろ、それじゃ。 Amazon CAPTCHA まさに仰る通りです。執筆時にそのことに気づかずご指摘いただいてありがとうございます。 ここでご指摘されている NFD 問題というのは、ファイル名のみに限った問題ではなく、Unicode の文字集合を扱ってエンコード/デコードするときに発生する

    Python で Unicode 正規化 NFC/NFD の文字列を扱う - forest book
  • コンピュータシステムのサマータイム対応を巡る二つの楽観論 - アンカテ

    いきなり来年から日でサマータイムを導入するという話が出てきて、私には到底実現できない話としか思えなかったが、自民党の少なくとも一部の方々は気で考えているようだ。そもそも、私にはメリットがどこにあるのかわからないがそれは置いておいて、コンピュータシステム側の対応が非常に困難であるということを、なるべく一般の方にわかるように説明してみたいと思う。 5chとツィッターを眺めて見ると、同業者の人は私と同じ意見が多数であるように見えるが、一部楽観的に見ている方もいるのに驚いた。何事にもいろいろな見方があるので、賛否両論の意見があって議論していけばいいことではあるが、その楽観論を見ていると、全く違う立場の二種類の楽観論がある。何がなんでも自分の立場が正しいと主張する気はないが、この二種類の楽観論が絶対両立しないことは確かで、ここだけはハッキリしておかなければならないと強く言いたい。 最悪のケースは

    コンピュータシステムのサマータイム対応を巡る二つの楽観論 - アンカテ
    raimon49
    raimon49 2018/08/08
    5ちゃんねるのサーバと5ちゃんねるブラウザ(フロントエンド)の例え。
  • 「悪い方が良い」原則と僕の体験談|Rui Ueyama

    ソフトウェアの世界には「悪い方が良い」原則という有名なエッセイがある。キレイにレイヤ分けされた一貫性のある良いデザインよりも、一見手抜きっぽい悪いデザインのほうが実は良いときもあるという話だ。この逆説的なデザイン原則を僕は身をもって体験したことがある。それについてちょっと書いてみようと思う。 僕はlldというリンカの現行バージョンのオリジナル作者だ。リンカというのはコンパイラと組み合わせて使うもので、実行ファイルやDLLを作るのに使用される。lldはプロダクトとしてはかなり成功していて、標準のシステムリンカとして採用しているOSがいくつかあったり、GoogleやFacebookなど皆が知っているような大規模サイトの中で広く使われていたりする。 現在のlldは2世代目で、第1世代のlldは僕がプロジェクトに参加する前から存在していたのだけど、数年前にそれを捨てて一から書き直すということになっ

    「悪い方が良い」原則と僕の体験談|Rui Ueyama
    raimon49
    raimon49 2018/04/06
    敢えて抽象レイヤーを設計しないようにしたら上手く行った経験則。とても面白い。
  • もしOSに断絶があればRubyは死んでいた可能性が高い、まつもと氏がRuby25周年で講演

    Post author:sider Post category:Uncategorized Reading time:4 mins read Post published:2018-02-26 もし過去のOSに断絶があったら、Rubyが絶命していた可能性はかなり高い。25年のRuby開発の歴史を振り返りつつ、そんな意外な見方を示したのはRubyの生みの親として知られる、まつもとゆきひろ氏だ。 日生まれのプログラミング言語「Ruby」(ルビー)が25歳の誕生日を迎えた。Rubyが生まれたのは1993年2月24日のこと。それからちょうど25年目となる2018年2月24日に、Ruby25周年記念イベント「Ruby25(ルビー・トゥエンティーファイブ)」が、Rubyアソシエーションおよび日Rubyの会の後援で東京の品川インターシティーで開催された。 基調講演を行ったまつもと氏は、25年を振り返

    もしOSに断絶があればRubyは死んでいた可能性が高い、まつもと氏がRuby25周年で講演
  • WWDC 2016にAppleの未来を感じた理由とは? エンジニア参加者が語る

    こんにちは、ドリキンです。普段はサンフランシスコに住んでいてソフトウェアエンジニアをしています。 古くからのAppleファンでもあり、2000年から10年近くほぼ毎年WWDC(Worldwide Developers Conference:世界開発者会議)に参加していました。ここ数年はチケットのプレミアム化により断念していましたが、2016年は5年ぶりでWWDCに参加できました。 一応説明しておくと、WWDCとはAppleが開発者や技術者に向けて毎年開催しているイベントです。今回のWWDC 2016は米サンフランシスコで6月13日~17日(現地時間)に開催されました。初日の基調講演はライブストリーミング配信されているので、ご覧になった方も少なくないと思います。 WWDC 2016では、iOSがいよいよ「iOS 10」になり、OS Xは「macOS」に改名されることが発表されました。詳しくは

    WWDC 2016にAppleの未来を感じた理由とは? エンジニア参加者が語る
  • 「ケータイキット for Movable Type」のOSコマンドインジェクションの修正 | 水無月ばけらのえび日記

    更新: 2016年4月27日11時5分頃 Movable Typeのプラグイン「ケータイキット for Movable Type」にOSコマンドインジェクションの脆弱性があったという話が出ており、J-WAVEの64万件の個人情報流出はこれが原因だったとされています。 J-WAVEでも64万件の個人情報流出の可能性、原因ソフトの利用者は至急パッチ適用を (itpro.nikkeibp.co.jp)「ケータイキット for Movable Type」にOSコマンドインジェクションの脆弱性、利用者は修正バージョンへアップデートを、すでにJ-WAVEへの攻撃で悪用 (internet.watch.impress.co.jp)ケータイキット for Movable Type の脆弱性についてまとめてみた (d.hatena.ne.jp)配布元のアイデアマンズからは、4月22日にまず「緊急パッチファイ

    raimon49
    raimon49 2016/04/28
    何でPerlじゃなくPHPなんだろうという点が最初の疑問だったが、記事の最初で丁寧に書かれていた。ケータイキットではImageMagickをPHPスクリプトから実行して画像変換しているそう。
  • Stack Overflow Developer Survey 2016 Results

    Overview Developer Profile I. Geography II. Developer Occupations III. Programmers, Engineers, and Developers IV. Age V. Experience VI. Gender VII. Diversity VIII. Education Technology I. Most Popular Technologies II. Most Loved, Dreaded, and Wanted III. Top Tech on Stack Overflow IV. Trending Tech on Stack Overflow V. Top Paying Tech VI. Correlated Technologies VII. Development Environments VIII.

    Stack Overflow Developer Survey 2016 Results
    raimon49
    raimon49 2016/03/18
    学生にはJavaが広く親しまれているのはしっくり来る。React伸び過ぎ。
  • Page not found

    Stay updatedRealm’s newsletter keeps you up to date on product announcements, best practices, community events, and more.

    Page not found
  • Stack Overflow Developer Survey 2015

    Overview Every year we run a survey. This year, more developers answered more questions than ever before. 26,086 people from 157 countries participated in our 45-question survey. 6,800 identified as full-stack developers, 1,900 as mobile developers, 1,200 as front-end developers, 2 as farmers, and 12,000 as something else. We conducted this survey to help us better understand our community and to

    Stack Overflow Developer Survey 2015
  • デザインの「悪い方がよい」原則 The Rise of "Worse is Better"

    デザインの「悪い方がよい」原則 The Rise of "Worse is Better" rpg@lucid.com 日語訳: daiti-m@is.aist-nara.ac.jp 私や Common Lisp と CLOS のデザイナーのほとんどは、MIT/Stanford 方式の設計に親しんでいる。 この方式の核心は、「正しい」やり方をせよ、という ことにつきる。デザイナーにとっては、以下の点をすべて正しく満たすことが 重要である。 簡潔性 デザインは実装と使用法の両面において単純でなければならない。 このとき、使用法が単純な方が、実装が単純なことより重要である。 正当性 デザインはすべての点において正しいものでなければならない。 誤りは許されない。 一貫性 デザインは一貫性を欠いたものであってはならない。一貫性を保つ ためには完全性は少しだけ犠牲にしてもよい。一貫性は 正当性と同

    raimon49
    raimon49 2015/01/03
    正しくデザインされた巨大なソフトウェアは、いつまでも実装されず、実装の最後の20%に努力の80%が必要になり、遂には実装されても最新のハードウェア上でのみ動作する。色んな例が思い浮かぶ。
  • bash によるオプション解析 - Qiita

    すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の

    bash によるオプション解析 - Qiita
    raimon49
    raimon49 2014/12/21
    getoptのBSD系とか。
  • 非同期処理の基礎

    MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。

    非同期処理の基礎
    raimon49
    raimon49 2014/05/12
    スレッドよりもタスクキュー。.NETの新実装Interlocked命令も。
  • Mac vs Windows徹底比較 ~OS宗教戦争の歴史をひもとく~

    Macの良さがわからなすぎて、死にたい 議論元エントリーはこちら。 両陣営の信者の皆さん、元気ですか?(ノ´∀`)ノ 毎度のことながら、MacWindowsの論争を見るともんにょりしますね。人類から戦争が途絶えぬ縮図が、ここに。(´ω`) しかし、最近パソコンをはじめたユーザや、元エントリの増田のような人にとっては、信者の言葉ってワケわかめだと思うんですよ。 そんなわけでMacWindows歴史を、なるべく平易に書いてみました。(´∀`) 歴史を見返して、WindowsMacの強み弱みを把握すれば、宗教戦争の理解が深まり、自分にピッタリのパソコンが分かるかもしれません。 たぶん。 元増田のエントリーがWindows寄りの結論になっているので、 Mac寄りの視点で書いてみる事にしました。(`・ω・´) だれかWindows寄りや、Linux寄りの視点を加筆して下さいな。当エントリの補

    Mac vs Windows徹底比較 ~OS宗教戦争の歴史をひもとく~
    raimon49
    raimon49 2014/03/22
    仕事で止むを得ずXcode毎日使ってるけど、重いしマイナーバージョンアップ程度で挙動が突然変わるし、どう考えてもVisual Studioの圧勝だろ……。
  • サーバエンジニアが「開発力」を持つ意味 - Gosuke Miyashita

    初出: Software Design 2009年4月号(2009年3月18日発売) 宮下 剛輔 サーバエンジニアの定義 特集では、サーバエンジニアが開発力を持つことにより、どのような力を得ることができるのか、日々の業務にどのように役立てることができるのか、具体例とともに紹介します。 題に入る前にまずはここでのサーバエンジニアの定義を明確にし、特集全体のコンセプトについて説明します。 クライアント/サーバ型のシステムを考える場合、サーバ側は大まかに以下のようなレイヤーに区分できます。 アプリケーションレイヤー ミドルウェアレイヤー OSレイヤー ネットワークレイヤー これらのレイヤーのうち、ミドルウェアレイヤーとOSレイヤーを主担当とするエンジニアを、特集記事でのサーバエンジニアと定義し、対象読者と想定します。その中でも特に、オープンソースソフトウェア(OSS)をメインで扱うエンジニ