タグ

2014年9月29日のブックマーク (27件)

  • 日本語で読める IT名文書 三選 - naoyaのはてなダイアリー

    pplog の方に書いたけど、別にブログに書けばいいかと思い直したので投稿。Slack でチャットしてて、なんとなくこれ面白いよ URL を共有する機会があったので適当に選んだもの。 伽藍、バザール、ノウアスフィア、おなべ(3) http://www.artonx.org/diary/20120411.html#p01 artonさんがノウアスフィアの開墾についてわかりやすく書いてるもの。原文はちょっと長くて読むのが大変だけど、こっちは分かりやすいし、面白い。OSS の構造がなんかわかったきになる、すごい。 Steve Yegge の Google とプラットフォームに関するぶっちゃけ話を訳した http://anond.hatelabo.jp/20111018190933 (前編) http://anond.hatelabo.jp/20111018192953 (中編) http://a

    日本語で読める IT名文書 三選 - naoyaのはてなダイアリー
  • レガシーコード改善の戦略と戦術

    自己紹介 name: 和田 卓人 hatena : t-wada twitter : t_wada github : twada レガシーコード改善コンサルティングも多いです

    レガシーコード改善の戦略と戦術
  • bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6271) - もろず blog

    ※(2014/10/1 追記) 脆弱性の番号を誤って CVE-2014-6721 と表記してしまっていました 正しくは "CVE-2014-6271" です 失礼致しました ※(2014/10/7 追記) 2014/10/7 14:00時点で Shell Shock への修正パッチは6個 公開されています 既に対応済みのシステムでもパッチの漏れがないか注意してください シェルに脆弱性が見つかったらしいです このコマンドを実行すると脆弱性があるバージョンかのチェックができるようです $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 以下のように表示されたらアウトです vulnerable this is a test どうやら、このコマンドが正常に実行できるというのがこの脆弱性の正体らしく、 echo vuln

    bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6271) - もろず blog
  • エドガー・ダイクストラが綴った「”自然言語プログラミング”の愚かしさについて」 | POSTD

    自動計算機の初期の頃から、形式的記号体系を注意深く正確に使わなければならないというプログラミングを、その欠点と感じる人がいました。そういう人たちが問題にしたのは、命令を忠実に守る計算機の絶対的な服従性で、少し考えれば、命令に明らかな誤りが含まれているのが分かるような場合でも、機械がそれに従ってしまうという点です。機械にとっては「少しというのはとても長く、考えるのは苦痛を伴うプロセス」(A.E.Houseman)なのですが、それでもそういった人たちは、ちょっとした表記上のミスが引き起こす無意味な動作を拒否できるような、より聡明な機械の登場を熱望し心待ちにしました。 人間と機械の間に不要なリスクを生じさせるインターフェースとしてすぐに認識されるようになったのが、冗長性という形態がほとんどない機械語です。そして、この認識に一部、呼応する形で、いわゆる「高水準言語」が開発され、時間の経過と共に、私

    エドガー・ダイクストラが綴った「”自然言語プログラミング”の愚かしさについて」 | POSTD
  • PowerShell Script の エディタ と Visual Studio - tech.guitarrapc.cóm

    PowerShellスクリプトを書く時のエディタには、いくつか人気のものがあります。 PowerShell ISE Visual Studio PoweGUI PowerShell Plus や いくつか他にも利用者がいるものはあるのですが、いずれも完成度が上記より低い印象が強いため、3つに絞っています。*1 いずれもインテリセンスやコードハイライト、REPL環境が当然ついています。 エディタを選択する時、多くの方にとっては 問: PowerShell Script/Module を書くときのエディタは? 答: PowerShell ISE かもしれません。しかし私の場合は Visual Studioとなります。 ではなぜ PowerShell Script/Moduleを Visual Studio で書くのか、ISE との違いを見てみましょう。 PowerGUI は、あ、察し。 目次

    PowerShell Script の エディタ と Visual Studio - tech.guitarrapc.cóm
  • shellshock と sudo - hogehoge @teramako

    CVE-2014-6271を発端とする bash の脆弱性、いわゆる ShellShock って呼ばれている奴。環境変数に仕込んだ任意のコマンドを実行できてしまうってことから、CGI との組み合わせが取り沙汰されている。 その頃 sudo の設定の勉強をしていたので、ふと気になったのが、sudoの設定で環境変数を持ち越して使用することができる env_keep の設定。sudo で root としてbashを実行させれば、任意のコマンドを特権昇格して実行できちゃうんじゃ? というもの。 早速試してみた。 普通に実行したもの $ export ORACLE_SID='() { :;}; echo Vulnerability !!!' $ cat /usr/local/bin/testcmd #!/bin/bash -x id printenv ORACLE_SID $ /usr/local/

    shellshock と sudo - hogehoge @teramako
  • [速報]オラクル、ボタン1つでOracleデータベースをクラウドへ移行できる新しいDBaaSを発表。Oracle OpenWorld 2014

    [速報]オラクル、ボタン1つでOracleデータベースをクラウドへ移行できる新しいDBaaSを発表。Oracle OpenWorld 2014 米オラクルはサンフランシスコで開催中のOracle OpenWorldで、同社のクラウドサービスの強化を発表しました(関連記事:[速報]Oracle OpenWorld 2014開幕。クラウドをAmazonクラウドやGoogleと同じ価格で提供するとエリソン氏が明言)。 基調講演に立った同社CTO兼取締役会長のラリー・エリソン氏は、オラクルがSaaS、PaaS、IaaSを一緒に提供することを強調。また、オンプレミスのOracleデータベースもアプリケーションも容易にクラウドへ移行し、あるいはクラウドからオンプレミスへ戻すことを実現するとも語りました。 ラリー・エリソン氏基調講演から、SaaSとPaaSについての部分をダイジェストで紹介しましょう。

    [速報]オラクル、ボタン1つでOracleデータベースをクラウドへ移行できる新しいDBaaSを発表。Oracle OpenWorld 2014
  • Groovy memo — Groovy memo

    Groovy memo¶ Groovyの使用に関するメモです。Grailsなどのフレームワークには当面触れません。 Contents:

  • プロフェッショナルのための実践Heroku入門

    ちょっと遅くなりましたがHerokuの相澤さんより「プロフェッショナルのための 実践Heroku入門」を頂いたので軽く感想を書いておきます。 ページ数は180ページと若干薄めです。 アドオンやアーキテクチャのあたりはもう少し分量あっても良かったかな、という印象。 わりとすぐに全部読めちゃいます。 一回通しで流し読みした後は逆引きで使えるのが良いです。 ドメインやSSLの設定とかはHeroku使っててもやったことがない人も多いだろうからとっかかりとしてはとても良いと思います。 (ただし、UIとかはわりと頻繁に変わるので概要理解したら一度はDev Centerのドキュメントも見た方が良いです。) ちなみにHerokuチョット使える身としてはほとんど既知の内容だったんですが、一個だけはじめて知った機能はこれ。 $ heroku logs -r prod git remoteに複数のHeroku

    プロフェッショナルのための実践Heroku入門
  • The Twelve-Factor App (日本語訳)

    はじめに 現代では、ソフトウェアは一般にサービスとして提供され、Webアプリケーション や Software as a Service と呼ばれる。Twelve-Factor Appは、次のようなSoftware as a Serviceを作り上げるための方法論である。 セットアップ自動化のために 宣言的な フォーマットを使い、プロジェクトに新しく加わった開発者が要する時間とコストを最小化する。 下層のOSへの 依存関係を明確化 し、実行環境間での 移植性を最大化 する。 モダンな クラウドプラットフォーム 上への デプロイ に適しており、サーバー管理やシステム管理を不要なものにする。 開発環境と番環境の 差異を最小限 にし、アジリティを最大化する 継続的デプロイ を可能にする。 ツール、アーキテクチャ、開発プラクティスを大幅に変更することなく スケールアップ できる。 Twelve-F

  • 【重要】GNU bash の脆弱性に関する注意喚起 | さくらインターネット

    お客様各位 さくらインターネット株式会社 平素よりさくらインターネットに格別のご愛顧を賜り、誠にありがとうございます。 この度、GNU Project が提供する、Linux などの UNIX系 OS に含まれるコマンドを 実行するためのシェル「bash」において、OSコマンドインジェクションの脆弱性が発見 され、コンピューターセキュリティ関連の情報発信などを行うJPCERTコーディネーション センターより注意喚起が発表されています。 ▼JPCERTコーディネーションセンター GNU bash の脆弱性に関する注意喚起 https://www.jpcert.or.jp/at/2014/at140037.html さくらのVPS など弊社の一部サービスの OS において、対象となるバージョンの GNU 「bash」がインストールされている場合があります。お客様におかれましては、「bash」

    【重要】GNU bash の脆弱性に関する注意喚起 | さくらインターネット
  • 45000種類のモダンなUIをパーツごとに検索できるサイト「UICloud」 | ライフハッカー・ジャパン

    UICloud」は45,000以上のモダンなUIをパーツごとに検索できるサイトです。ボタンやメニューなどのデザインを検索することができ、さらにそのパーツをPSD形式でダウンロードすることも可能です。 以下に使ってみた様子を載せておきます。まずUICloudへアクセスしましょう。 このようにパーツごとにカテゴリわけされています。カテゴリから絞り込むこともできますし、フリーワードで検索して探すことも可能です。 ダウンロードボタンがあり、ここからPSD形式で素材を手に入れることができますよ。モダンなUIを探しつつ、素材も手に入るのは助かりますね。ぜひUIをデザインする際にご活用ください。 UICloud (カメきち)

    45000種類のモダンなUIをパーツごとに検索できるサイト「UICloud」 | ライフハッカー・ジャパン
  • Programming Language Network

    Programming Languages Network A graph of programming languages that consists with their influences, companies, developers, dialects, implementations. Nodes Edges Search

    Programming Language Network
  • PyCon JP 2014 で「Pythonとscikit-learnではじめる機械学習」と題して発表してきました - Yamakatu as a Service

    PyCon JP 2014 で「Pythonとscikit-learnではじめる機械学習」と題して発表してきました ■発表について @showyou さんが MLCT #1 にて「お前らPyConで機械学習ネタしゃべろや」と言っていたのを思い出して、まさか通ると思わずに応募したら通っちゃったので発表してきました。 笑いが結構とれていたこともあり、調子にのって余計なことを喋りすぎてしまい、時間不足で途中で終わる、という失態を犯しました。みなさん、当に申し訳ありません… 当初、ライブコーディング形式にしようか迷っていたのですが、scikit-learnはあまりにも簡単すぎて、ライブコーディングだとマジで数分で終わってしまうので、機械学習、スパムフィルタ、NaiveBayesの理論的なところも話していたら肝心のscikit-learnの話はちょっとしかできないという… PyCon JPは1万円

  • Pythonによるソーシャルデータ分析入門

    未だにへっぽこプログラマーの私が、「Callback関数なにそれ美味しいの?」状態から、 Callback関数、「それはとっかえひっかえされる関数だお(キリッ」ってなるまでにとった行動のまとめ。 ちなみに私、C言語とPythonくらいしか喋れませんので、今回はC言語に特化した内容でお送りします。 ※Webから漁ってきた情報から手っ取り早くまとめたものなので間違いもあると思われます。間違った点はゴリゴリ指摘していただけるとマンモスウレピーです。 Callback関数とは? ■プログラム中で、呼び出し先の関数の実行中に実行されるようにあらかじめ指定しておく関数( IT用語辞典 より引用) 初心者が読んでもわけわかめだと思います。いきなり定義が頭に入る奴なんていません。 これはまだマシな方で Wikipediaの解説 なんてクソイミフです。 アホだと自覚してる私は読む気さえ起きません。 完全理解

  • プログラマ歴12年の僕が選んだ「10年経っても役立つ技術書17選」 - give IT a try

    はじめに 僕がプログラミングを始めてから、もうすぐ12年になろうとしています。 この12年間、いろんな技術書を読んだり、仕事やプライベートでたくさんコードを書いたりしてきました。 最初に入ったSIerでは主にJavaを、前職の社内SE時代はC#をメインのプログラミング言語として使ってきました。 現在はRubyをメインで使っていますが、言語が変わっても、また何年経っても「これはあのとき学んだ知識が役に立ってるよなあ」と思う瞬間がときどきあります。 そこで今回はこれまでに読んだ技術書を一通り振り返り、「こので学んだことは今でも役に立ってる」と思うものを17冊ピックアップしていきます。 おことわり (2014.09.29 20:00追記) このエントリのタイトルは「10年経った今でも役に立っている」という意味で付けています。「今から10年後まで役立つ」という意味ではありません。(紛らわしくてご

    プログラマ歴12年の僕が選んだ「10年経っても役立つ技術書17選」 - give IT a try
  • Shellshock: Better 'bash' patches now available

    The problem with the first patch, as Red Hat explained in its Shellshock FAQ, was that it only took care of the original bash flaw CVE-2014-6271. This, the true Shellshock bug, is the worst bash security hole. There were also others. Red Hat said: "Shortly after that issue went public a researcher found a similar flaw that wasn’t blocked by the first fix and this was assigned CVE-2014-7169." This

    Shellshock: Better 'bash' patches now available
  • Webスクレイピングが捗るGoutteを使ってみる

    シャワー後の水切りでヘドバンしてたら頸椎を痛めてしまいました。あれは絶対やめた方がいいです。と周囲に広めているたきゃはしです。急に題ですが今回はPHPで簡単にできるWebスクレイピングをご紹介します。 ◯ Webスクレイピングとは Webサイトからデータを抽出するソフトウェア技術のことです。 RSSやWebAPIが公開されていないサイトからでもデータ抽出が出来るようなイメージです。 早速クローラーの Goutte(グットゥ) を使って紹介していきたいと思います。 Goutte は Symfony や Twig、Pimple等の開発者として知られるFabienが手がける人気ライブラリです。 ◯ インストール

    Webスクレイピングが捗るGoutteを使ってみる
  • Terraformを使う!「Terraformからherokuアプリを操作する際のハマりどころ」 - Tech-Sketch

    前回はTerraformからのherokuアプリ操作をお知らせしました。 第四回はTerraformを利用してherokuアプリを操作する際にハマった所について書いて行きたいと思います。 Terraformの基的な操作は 第一回の記事 を Terraformからherokuアプリの操作は 第三回の記事 を ご参照ください。 ハマりどころ①「Herokuアプリの作成とHerokuドメインの作成を同時に行うとエラーになる」 Terraformの設定ファイル(.tf)にHerokuアプリとHerokuドメインを同時に記載する場合、 Terraformに順守した書き方をしないとエラーが発生し、「Herokuアプリは作成されるがドメインが割り当てられていない」状態が発生してしまいます。 このエラーはTerraformの計画時には検出することが困難です。 実際にどのような状況になるか試して

    Terraformを使う!「Terraformからherokuアプリを操作する際のハマりどころ」 - Tech-Sketch
  • bash脆弱性(2014/9/24公開)対応について | DevelopersIO

    はじめに AWSチームの鈴木です。 2014/9/24、多くのLinuxディストリビューションのシェルとして採用されている「bash」に関する、脆弱性の報告がありました。 GNU bash の脆弱性に関する注意喚起 「bash」に危険度の高い脆弱性、修正パッチの適用と回避策の実施を AWSがEC2用として提供しているLinux OSイメージ(AMI)にも当脆弱性の影響が及びます。 当記事ではその対応方法についてまとめます。 2014/10/01 update yumによるパッチ適用、確認方法について、追記、修正を実施しました。 対処方法 パッチ適用済みのパッケージがリリースされています。 パッケージ管理システム(yum, apt-getなど)を利用してアップデートを実施します。 Amazon Linux 公式情報 ALAS-2014-418 ALAS-2014-419 アップデート 1)事

    bash脆弱性(2014/9/24公開)対応について | DevelopersIO
  • 式の分割:反対から考える - Strategic Choice

    どういうこと?式が複雑になりすぎてしまった場合、問題を「反対」から考えてみて、シンプルにならないかどうか検討します。どうして?物事を反対から考えると、うまくいく場合があります。どうすれば?「反対」から問題解決を試みます。例えば、「配列を逆順にイテレートしてみる」「データ後ろから挿入してみる」など、とにかくいつもと反対のことをやってみるのです。具体的に、Rangeクラスで考えてみます。 struct Range { int begin; int end; // 例えば、[0,5) は[3,8) と重なっている。 bool OverlapsWith(Range other); }; 以下の図は、範囲の例です。(白丸は値を含まない、の意味。)ここでは、「A」「B」「C」はお互いに重なっていませんが、Dはすべてと重なっています。いずれかの端が、他の範囲と重なっているかを確認する「OverlapsW

    式の分割:反対から考える - Strategic Choice
  • [速報]JavaOne 2014開幕。Javaの進化がアプリケーションを速くする

    米サンフランシスコで9月28日(日時間で日29日早朝)、「JavaOne 2014」が開幕しました。 Java SE 8が今年リリースされ、Java EE 7は昨年リリースされたタイミングでの今年の基調講演は、まだ次バージョンの議論が始まったばかりということもあって現バージョンの内容をあらためて振り返る話が中心になりました。基調講演の内容をJava SE、Java EEに焦点を当ててダイジェストで紹介します。 性能向上などを果たしたJava 8 JDK 8はインターナショナライぜーション、セキュリティなど多くの改善点がある。 特にLambdaJavaプログラマにとって、言語への見方を根的に変えるような大きな変化だ。Java言語にとってもJavaライブラリにとってもモダナイジングを実現し、プログラミングモデルを大きくアップグレードする。

    [速報]JavaOne 2014開幕。Javaの進化がアプリケーションを速くする
  • 規範的なアジャイルコーチングの必要性

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    規範的なアジャイルコーチングの必要性
  • 一歩進んだレスポンシブデザインの取組み - ワザノバ | wazanova

    https://www.youtube.com/watch?v=UA0XnOxHqNg 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 “Junior Designers vs Senior Designers”というエントリーで、経験の少ないデザイーナーとデキるデザイナーの違いが、わかりやすいイラストで簡潔に表現されています。(実際にイラストを見ないとわかりづらいかもしれないので、サイトで確認ください。) この中で、FacebookのDesign DirectorのJulie Zuoが紹介しているポイントは、 1) プロセス: やみくもに迷走しながら進むのではなく、論理だったメソッドを順次検証することによりゴールに到達する。 2) 目標: 「よく見せる」、つまり、型の決まった箱の中でパーツを整理して

  • 【Bash脆弱性 対応のまとめ】 各ディストリビューションの修正パッケージのリリース相次ぐ、暗黙にBashを呼び出すケースに要注意

    【記事内容の更新】 米国時間9月29日付けで発表されたMac OS X向け修正パッケージの公開に関する情報を追加しました(注記の[2])。 Bashは、LinuxMac OS X等のUnix系システムにおいてOSとユーザの仲立ちをする「シェル」と呼ばれるソフトウェアの1つで、特にLinuxでは標準のシェルとして一般に使われている。また、原型のshシェルの拡張として、ユーザ対話だけでなくプログラムの一種としても広く利用される。 今回の脆弱性では、環境変数を経由した命令定義が、内容を問わずそのままBashで実行されてしまう。わかりやすい例はWebサーバのCGIプログラムで、そのやり取りではユーザのIPアドレスやユーザエージェント等の情報が環境変数で渡されるため、CGIプログラムがBashで記述されている場合、細工した情報を送ることにより、それを受け取ったBashが環境変数を経由して任意のコマ

    【Bash脆弱性 対応のまとめ】 各ディストリビューションの修正パッケージのリリース相次ぐ、暗黙にBashを呼び出すケースに要注意
  • JDK 7u65/8u11以降に存在するバイトコード検証の不具合 - GeekFactory

    JDK 7u65/8u11以降にはバイトコード検証の不具合 JDK-8051012 があります。Groovyでは、 GROOVY-6951 で報告されているように、コンストラクタ内でsuper()やthis()を使うと実行時エラーが発生します。 Gradle SSH Pluginでもコンストラクタ内でsuper()を実行するコードがあり、JDK 7u65/8u11以降で正常に動作しない問題があります。最近のJDKで不具合が修正されているか確認してみたのですが、やはり動作しませんでした。結果は以下の通りです。 成功 7u60-b19 失敗 7u65-b17 失敗 7u67-b01 成功 8u5-b13 失敗 8u11-b12 失敗 8u20-b26 残念ながら、GROOVY-6951 のスレッドによると8u40まで待つしかないようです。 なお、Travis CIでは当該の不具合に対する暫定対

    JDK 7u65/8u11以降に存在するバイトコード検証の不具合 - GeekFactory
  • Pythonで頑張る『Java言語で学ぶデザインパターン入門』【Factory Methodパターン】 - 何かを書き留める何か

    【前回までの粗筋】 Chaplinの『Modern Times』と(Template|Factory) Methodはそんなに関係がない。 今日はFactory Methodである。Template Methodの考えをインスタンスに応用したもの。 インスタンス生成の枠組みだけを作り、詳細はサブクラスに投げる。 """Factory Method オブジェクトを生成するときのインタフェースだけ規定して、 実際にどのクラスをインスタンス化するかはサブクラスが決めるようにする。 """ import abc class Product(metaclass=abc.ABCMeta): """Product factorymethodが生成するオブジェクトの インタフェースを規定する""" @abc.abstractmethod def use(self): pass class Factory(

    Pythonで頑張る『Java言語で学ぶデザインパターン入門』【Factory Methodパターン】 - 何かを書き留める何か