「ランタイム」を含む日記 RSS

はてなキーワード: ランタイムとは

2018-12-27

anond:20181227035624

そう。元々の着地地点は「Green500でトップになったのは分かった。ということはエコで高性能なマシンなんだよな?」「と思ったら事実上ASIC詰め込んで他の参加者がやってない冷却液に浸けてまでして勝ち取ったトップかよ」

ってところで、

「それってエコで尚且つ速いマシンなのか? おーん?」

みたいなのが昨日のダイジェストよ。

パソコンの例で言うと、windows on ARMみたいな「特殊環境windowsを載せたかエコバッテリーも長時間持ちます」の様な胡散臭さがあってのう。

ギリギリ艦これofficeは動いてもRPGツクールランタイムは動かなくねえか、それと。

まあ別にいいんだけどさ。

2017-05-12

コンパイラーが無料じゃないなんて!」ちょまど氏記事修正箇所

修正前: https://archive.is/gWxJY

修正後: https://thinkit.co.jp/article/11373

差分: http://difff.jp/4jrxz.html

以下、大きく変わった箇所を抜き出します。

ちょまど:もう一つ言えば、開発ツール無償じゃないのもなんか間違ってるって思っていたんですよ。なのでXamarinマイクロソフトに買収されたって聞いた時にすごく喜んだんです。これでXamarinはきっとOSSになって無償になるって思って。

ちょまど:もう一つ言えば、開発ツール有償だと開発者に浸透しにくいって思っていたんですよ。なのでXamarinマイクロソフトに買収されたって聞いた時にすごく喜んだんです。Xamarinライセンス代が高かったけど、これによりきっと無償になるし、しかも(XamarinチームはもともとMonoチームが母体OSS好きなのもあり)XamarinランタイムOSSになって人に勧めやすくなるかなって思って。

----

ちょまど:そうです。私は逆にマイクロソフトWindows会社しか知らなくて、開発者になってからVisual StudioC#会社で、とってもOSS会社だって思ったんですが、入って気づいたのは世の中にはものすごくマイクロソフトキライな人が多いって言うことで(苦笑)。なんかアンチな人が特にインターネットには多いです。

ーーあー、マイクロソフトアンチが多いのはよくわかります。昔を知っている人は特にそうなりがちかもしれませんね。

修正記事からは上記文章が削除されました。

----

ちょまど:さきほどからマイクロソフトが変わって衝撃を受けていると言う話がみなさんから出てきてますけど、私からすればエディターがOSSなのは当たり前だし、開発ツールは当然マルチプラットフォーム対応だし、そういうのはもうホントに当たり前だったので一緒に盛り上がれなくて悲しいです(笑)

ちょまど:(さきほどからマイクロソフトが変わって衝撃を受けていると言う話がみなさんから出てきてますけど、)私からすればVisual Studio CodeのようにエディターがOSSなのは当たり前だし、Mac版のVisual Studioが出たように開発ツールは当然マルチプラットフォーム対応だし。マイクロソフトが変わって衝撃! という話題で一緒に盛り上がれなくて悲しいです(笑)

----

ちょまど:でも無料じゃない開発ツールっていうのが不思議だったんですよ、そんなことしたら開発する人も増えないし、結果的不利益を被るのは目に見えてるじゃないですか。「どんなに良いツール作ってもお金取ったら無意味だ!」って思ってました。なのでXamarinマイクロソフトに買収されてホントに嬉しかったです。だってAndroidiOSの両方作ろうと思ったら1年で25万円くらいかかるんですよ。

ちょまど:でも無料じゃない開発ツールっていうのが不思議だったんですよ、ベースが有料だと、開発する人も増えにくいし、結果的不利益を被るのは目に見えてるじゃないですか。「どんなに良いツール作ってもお金取ったら広まりにくいよ!」って思ってました。XamarinAndroidiOS版の両方のアプリを作ろうと思ったら、ライセンス代が1年で25万円くらいかかってたんですよ。私みたいな社会人歴2〜3年の人が趣味でやるには高過ぎる値段でした。

----

正直言って元記事のちょまど氏の発言不正確なところが多々あった。

Microsoftの方によると

と、記事にするのに必要な補足がうっかり抜け落ちたようだ。

2017-02-26

anond:20170225195916

"Google翻訳オープンソースプロジェクトに使うのはダメなのか? " についての反論

いい記事なのだが、いくつか反論や補足が必要だと思ったので書く。

GPLコンパイラの例

このGPLコンパイラとはGNU bisonやGCC(GNU Compiler Collection)について指しているのがほぼ明確なのでそれらについて書く。

確かに著作権法を元にしたライセンスは、ソフトウェアの出力結果に対してソフトウェア著作権ライセンスが影響しないと解釈するのが妥当であるというのは正しい。

ただしこれは"著作権ライセンス"に限った話である、つまり著作権ライセンスでは不可能な制約がEULAなどでは課すことが可能であるということを意味する。

詳しくはGNUの書いた記事の"契約を元にしたライセンス"という項を読むと良い。以下に引用する。

https://www.gnu.org/philosophy/free-sw.html

ほとんどの自由ソフトウェアライセンスは、著作権を元にしています。そして著作権によって課することができる要求には制限があります。もし、著作権を元にしたライセンスが、上記に記した自由尊重するならば、まったく予期しない他の種類の問題があることはありそうもないでしょう(予期しないことはまま起こりますが)。しかし、ある自由ソフトウェアライセンスは、契約を元にするもので、契約もっと広範な制限を課することが可能です。これは、そのようなライセンスが、容認できないほど制限が強く、不自由でありうる、いくつもの形態がありうることを意味します。

わたしたちは、起こりうるすべてのことをあげることはできないでしょう。もし、契約を元としたライセンス利用者を(著作権を元としたライセンスでは無理な形で)異常に制限するならば、そして、それがここで正当だと述べられていないのならば、それについて検討しないといけないでしょうし、そのライセンスは、不自由である結論づけるかもしれません。

また元の記事の著者はGCCやbisonがGNU GPLのような強いコピーレフト保護されたソフトウェアでも、それによって作成された著作物GPLにならない(つまりコンパイラやパーサーのライセンス継承しない)ことを根拠考察しているようだが、実はbisonやGCCGPLにはライセンスに対する例外付属していることを考慮すべきである

GCCやbisonの著作権保持者であるFree Software Foundationは著作権法の話をするとき、たいていアメリカ合衆国を想定しているがこれらの自由ソフトウェアが広く使われるあたって、著作権法とそれを元にしたライセンスが異なった解釈をされることがありうることをおそらく危惧している、そのため出力に対してソフトウェアライセンスが影響しないことを確実にするためにこれらの例外規定しているのではないか

この二つの理由から、元記事議論世界中に対して広く配布するFLOSSディストリビューションでは(非常に残念ながら)鵜呑みに出来ないと私は考える。

フェアユースについて

フェアユース規定は例えば日本では存在しない、

加えて言えば、たとえフェアユース規定が全世界的に利用できて、営利目的でなければ利用できたとしても、

フリーソフトウェア/オープンソース定義の中に

自由.0: どんな目的に対しても、プログラムを望むままに実行する自由

(i.e. オープンソース定義 6項 利用する分野に対する差別禁止)

がある限り、そのような制限ディストリビューションは受け入れられないだろう。

またOracle vs GoogleJavaAPI訴訟はケースとしてはかなり特例であり、

一般に広く適用すればlibcすら当てはまるのではないかと私は思っている、

これを根拠にしてよいのならばそもそもコンピューター業界がひっくりかえるのではないか

Web翻訳の結果をオープンソースソフトウェアで使うべきか、そうではないか

少なくともUbuntuのようなプロジェクトにおいて、私は断固反対である

というのは現状ほぼすべてのWeb翻訳(例外があれば教えて欲しい)はプロプライエタリないし、それと同じ結果をもたらすSaaSSだからである

Webブラウザを介して使う翻訳サービスはSaaSSの代表例であり、ユーザーコンピューター計算コントロール

つべであるという自由ソフトウェア思想と明らかに相容れないものである

このようなサービスを利用することの弊害として、(例えば)Google翻訳翻訳処理の計算依存することにより、ユーザー入力Googleが常に把握することが挙げられます

もちろんこれはあまり良いことではない。

多くのFLOSSシステムディストリビューション自由ソフトウェアを主に入れるというガイドラインを持っている。

アーカイブのごく一部にnon-free(Ubuntuならrestricted/multiverse)なソフトウェアがあるが、

これは事実上妥協産物であり、排除しても大した問題がないならば配布から除外することに多くのディストリビューション関係者異論を挟まないだろう。

また例えばDebianはあるソフトウェアがDFSG(Debian フリーソフトウェアガイドライン)に適合するフリーソフトウェアであったとしても、それがガイドラインに適合しない著作物依存する場合、contribというセクションに閉じ込めており、それは公式システムの一部ではないとしている。(建前ではcontrib/non-freeセクションはユーザー向けの付加サービスとされる)

Ubuntuコミュニティ新規に作られた著作物コミュニティ哲学に反する物に依存するというのは、かなり致命的である

たとえ奇跡が起こり、例外的Google翻訳や一部のプロ翻訳ツールBSDライセンス(Launchpad上での翻訳ライセンス)での出力を許したとしても決して褒められたものではない。

Ubuntubug#1に"Ubuntuソフトウェア自由である。常にそうであったし、今後も常にそうである自由ソフトウェアは万人に望むままの方法で使い、望むままの人間と共有できる自由を与える。この自由は多大な利点である。"とプロジェクト創始者であるマーク・シャトルワースが書いていることをよく考えるべきである

https://bugs.launchpad.net/ubuntu/+bug/1

この反論を読んだ読者の中にはあまりGNUプロジェクト寄りに思想が傾いていると思う者がいるかもしれないが、

いわゆる"Linuxディストリビューション"の中には数多くの重要GNUソフトウェアシステムの根幹をなす形で入り込んでおり(例えばGCC,bash,glibc etc...)

またUbuntu派生元となったDebianの成立経緯にはやはりFSFが関わっている。

さらに言えば、システム保守を手伝う人の中にはシステムフリーからボランティアで頑張っているという人もいると思う。(ほとんどではないかもしれない)

のでUbuntu周りの話に限ってはこういった観点で見てもよいと思ったので書いた。

追記

Ubuntu Japanse Teamの関係者に読まれたようなので満足しました。(2017/2/27 22時)

2016-12-05

Lenovo.Modern.ImController.PluginHostがネットからDLしたもの

Lenovo.Modern.ImController.PluginHostが大量に回線占有してたので放置した結果

がIdeapad100に12月5日付でインストールされた

無言で

オーケーわかった今度は買わない

っていうかユーザーアンインストールしたアプリの最新版をアプデでインストールすんな

っていうか現在アップデートしてますとかなんか情報表示してくれ

2016-06-11

初心者にはSaStrutsは難しすぎた

前回、JSP?を軽く勉強たから今回は、フレームワークを導入した。

とりあえずチュートリアルサンプルをimportした。

前回の教訓もあって、プロジェクトをimportしたあとプロジェクトのファセットから動的Webモジュールとして設定。

Warデプロイで動くかと思ったら

HTTPステータス 404 - /sa%dstruts%dtutorial/と文字化けっぽいエラー

困った。。。

プロジェクトのファセットの隣にランタイムってやつを発見Tomcatにチェックを入れてみたら

HTTPステータス 404 - /sa-dstruts-dtutorial/

文字化けが直った。

あとは、デプロイメントの記述子の設定を確認。ウェルカムページのweb.xmlが見当たらない…

プロジェクトの中にあるはずだけど、仕方ないから参照してるページにコピペ

Eclipseリフレッシュして、動かすと・・・

チュートリアルページきたああああああ!!!

Javaってのは難しい言語だ。なんで環境設定こんな複雑なんだろう

http://anond.hatelabo.jp/20160608115003

INSTALLATION

あるソフトインストールしている最中

最初なんかランタイムエラーが出たぞ

再起動したらOKになった

いけた

ちゃんと説明書を読んだらいけた

成功した

よっしゃこーい

バンバン仕事するぞ

2015-11-12

参考訳:拡散したJavaシリアル化の脆弱性についてApache Commons声明

原文:https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread

原題Apache Commons statement to widespread Java object de-serialisation vulnerability

翻訳日:2015年11月12日(午後にタイトル日本語しました)

----

2015年11月1日 火曜日

Apache CommonsJavaオブジェクトのデシリアライゼーション脆弱性に関するステートメント

著者:Bernd Eckenfels(コミッター), Gary Gregory(Apache Commons副責任者)

AppSecCali2015 でGabriel Lawrence (@gebl) と Chris Frohoff (@frohoff) によって発表された "Marshalling Pickles - how deserializing objects will ruin your day" は、信頼されないソースからシリアル化されたオブジェクトを受け取るときセキュリティ問題をいくつか明らかにしました。主な発見は、Java オブジェクトシリアライゼーション(訳注:seriarization/シリアル化/直列化=ネットワークで送受信できるようにメモリ上のオブジェクトデータバイト列で吐き出すこと。シリアル化されたJava オブジェクトRMIなどのリモート通信プロトコル使用される。)を使用する際に任意Java関数の実行や操作されたバイトコードの挿入さえもを行う方法説明です。

Frohoff氏のツールである ysoserial を使って、Foxglove Security社のStephen Breen (@breenmachine) 氏はWebSphereJBossJenkinsWebLogic、OpenNMSといった様々な製品調査し、(http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/) に各々の様々な攻撃シナリオ記述しています

両者の調査活動は、開発者Javaオブジェクトシリアライゼーションに信頼を置きすぎていることを示しています認証前のシリアル化されていないオブジェクトにも。

Javaにおけるオブジェクトのデシリアライゼーション(訳注:de-serialization/非直列化=ソフトウェアで扱うことができるように、送受信されたデータを元に戻すこと)が行われるとき、大抵は想定された型にキャストされ、それによって、Javaの厳しい型のシステムが、得られた有効オブジェクトツリーだけを保証しています

不幸にも、型のチェックが起こるまでの間に既にプラットホームコードが生成されて、重要ロジックは実行されてしまっています。そのため、最終的な型がチェックされる前に、開発者コントロールを離れた多くのコードが様々なオブジェクトの readObject() メソッドを通じて実行されてしまます脆弱性のあるアプリケーションクラスパスから得られるクラスの readObject() メソッドを組み合わせることで、攻撃者は(ローカルOSコマンドを実行するRuntime.exec()の呼び出しを含めて)機能を実行することができます

これに対する最も良い防御は、信頼されていないピア通信相手)とは複雑なシリアルプロトコルを使うことを避けることです。ホワイトリストアプローチ http://www.ibm.com/developerworks/library/se-lookahead/実装するように resolveClass をオーバーライドするカスタム版の ObjectInputStream を使うと、影響を制限することができますしかしながら、これは常にできることではなく、フレームワークアプリケーションサーバがエンドポイント提供しているような時にはできません。簡単な修正方法がなく、アプリケーションクライアントサーバプロトコルアーキテクチャを再検討する必要があるため、これはかなり悪いニュースです。

これらのかなり不幸な状況において、エクスプロイトのサンプルが見つかっています。Frohoff氏は、 Groovy ランタイムSpringフレームワークApache Commons コレクションからクラスを組み合わせるサンプルのペイロードに gadget chains (ガジェット・チェーン)を見つけています(訳注:provided)。これはこの脆弱性エクスプロイトのためにより多くのクラスを組み合わせられることは完全に確実なことで、しかし、これらは今日攻撃者が簡単に得られるチェーンです。

(Twitter画像)https://blogs.apache.org/foundation/mediaresource/ce15e57e-94a4-4d7b-914c-8eb8f026659c

この脆弱性のために利用される(訳注:blamed)ことができない確かな機能実装するクラスができ、安全性が信用できないコンテキストにおけるシリアル化を利用されないようにするような既知のケースの修正ができたとしても、少なくとも分かったケースだけでも継続的修正していくことが要求されますモグラ叩きゲームを始めるだけであるかも知れませんが。実際にはこれは、オリジナルチームが Apache Commons チームに警告が必要だと考えていない理由で、それゆえに比較的、活動開始が遅れました。

Apache Commons チームは InvokerTransformer クラスのでデシリアライゼーションを無効化することによって commons-collection の 3.2 と 4.0 のブランチにおける問題対処するために、チケット COLLECTION-580(http://svn.apache.org/viewvc/commons/proper/collections/branches/COLLECTIONS_3_2_X/src/java/org/apache/commons/collections/functors/InvokerTransformer.java?r1=1713136&r2=1713307&pathrev=1713307&diff_format=h) を使っています議論されているやるべきことのアイテムは、変化させる仕組み毎(per-transformer basis)に、プログラマティックに有効にするような機能提供するかどうかです。

これには前例がありますOracle と OpenJDK JRE の一部であったり、バイトコードを挿入して実行することを許したりする com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl クラスで、セキュリティマネージャー定義されているとデシリアライゼーションを拒否します。

これはシステムプロパティ jdk.xml.enableTemplatesImplDeserialization=true とすることで無効にできますApache Commons Collection は、本来よりもこの実行モデルは一般化していないため、セキュリティマネージャー存在独立したこの機能無効化することを計画しています

しかしながら、明確化のために述べておくと、この便利な"ガジェット"は、唯一知られている方法でもなければ、特に未知のものでもありません。そのため、インストールされたものを強化されたバージョンApache Commons Collection に置き換えることが、アプリケーションをこの脆弱性に対抗できるようにするわけではありません。

このブログポストレビューのために Gabriel Lawrence に感謝したいと思います

Apache Commons Collection は、Java コレクションフレームワークに加えて追加のコレクションクラス提供する Java ライブラリです。InvokerTransformerコレクションにあるオブジェクトを(特にリフレクション呼び出しを通じてメソッドを呼び出すことで)変換するために使うことができる Transformer ファンクションインターフェース実装の一つです。

一般のSallyによる2015年11月10日午前10字15分にポスト | コメント[1]

コメント

OracleWeblogicセキュリティアラートを発行しています

http://www.oracle.com/technetwork/topics/security/alert-cve-2015-4852-2763333.html?evite=WWSU12091612MPP001

提供されている回避策は、T3プロトコルへのアクセス(とリバースプロキシーにおけるT3メソッドフィルタリング)です。

2015-02-11

SpringBootアプリjavafxを使って配布しやすくしよう

概要

Javaで開発されたアプリケーションにはインストールにまつわる難点がある。

それによりせっかく興味をもってくれたユーザーも試す前に諦めてしまいがちである

また、サーバーサイドアプリケーションJavaである場合デプロイ監視の際の難点が多く運用者を悩ませてきた。

javafxで導入されたパッケージャを用いることで各OSネイティブインストーラーの作成が可能になり、この問題を解消・緩和できる。

SpringBoot などを用いた ExecutableJar作成するアプリケーションであれば、サーバーサイドアプリケーションであっても一部制限があるものパッケージングできる。

問題点の整理

Javaで開発されたアプリケーションの配布には以下の問題点がある。

解決方法として

javafx-maven-pluginを使うとよい。javafxと冠しているが実態パッケージングツール

javafxの冠があるがためにスタンドアロンアプリ開発者以外を遠ざけている感あり。

Windows(msi/exe), Linux(rpm/deb), Mac(dmg) など各OSディストリビューション固有のパッケージングが行える。

公式ページ( http://zenjava.com/javafx/maven/ )では更新が止まっているが、Github( https://github.com/zonski/javafx-maven-plugin )とMavenRepository( http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.zenjava%22%20AND%20a%3A%22javafx-maven-plugin%22 )を確認するとちゃんと開発は続いている。

実際にどのようにすればパッケージングできるか

まずアプリケーションmaven アプリとして開発する。

pom.xml に以下を追加する。

mainClassはSpringBootなら@SpringBootApplicationのついてるクラスですね。

vendor適当組織や個人の名前を入れておきましょう。

※ 以下の XML が化けるのは増田不具合仕様っぽい。 http://anond.hatelabo.jp/20100205210805

<plugin>
  <groupId>com.zenjava</groupId>
  <artifactId>javafx-maven-plugin</artifactId>
  <version>8.1.2</version>
  <configuration>
    <mainClass>[main method class]</mainClass>
    <vendor>[Vendor Name]</vendor>
  </configuration>
</plugin>

あとはそのままビルドすればよい。

maven clean jfx:native

ビルドが終わると target/jfx/native 以下に、ビルドしたOS/distributionに合わせて msi, exe, deb, rpm, dmg ができあがります

本当であればクロスビルドできてしかるべきなのですが、まだ実現はされていないようです。

これらのパッケージは Widonws であれば Program Files(x86) に、Linux系であれば /opt/ の下にインストールされるようです。

/opt/app-name/ の下には app と runtime の2つのディレクトリがあります

app の下にはビルドした jar ファイル依存ライブラリが置かれています

runtime の下には実行用の jre が配備されています

実行ファイルにそのまま引数を渡せば jar 実行時の引数としてそのまま渡されます。(-Xmxなどはまだ未検証です)

課題

OS毎の注意点

2014-09-06

http://anond.hatelabo.jp/20140906083135

最近地方中央省庁とあるデータのやりとりが、AccessベースAccessVisualBasicからExcelベースExcelマクロ)に変わったんだが…。

うちの県ではVisualBasicランタイムを作業用PCインストールするだけで折衝に一年越しだったから、一応変更自体は歓迎だったんだけれども、これが…。

ちなみに、扱うデータ量は、ざっくり言って、一都道府県当たり平均で5000行×1000列の表くらい。多い都や府なら、列の方がこの数倍行くだろうな。で、あくま個人的感想として、どんな感じかつーと、

(1)データ触ったり集計したりしにくくなった。

前のシステムは、データ自体は単なるAccessデータだったので、間違いを修正したり別の集計に使用したりが意外と気楽に出来た。

今度は、Excelを無理矢理マクロやらで動かしてデータベース化してるからAccess時代よりも途中でデータが触りにくくなった。で、データミスがあれば、いちいち一番大元の支所の担当者に連絡して最初の打ち込みデータから変更して貰わないとならない。

(2)めちゃくちゃ重くなった。

これは、まあ想像つくと思うけど…重い。Excelはいファイルが数十メガとかあって、デカから扱いに困るし、重さについては、特にデータから選択して表示させる機能が弱いらしく、やたらに時間がかかる。これが結構致命的かも。支所に配付した入力システムですら、4年前のPCではフリーズしまくった(新しいPC使えと言ったら、結局個人用のPC使ったとかいう噂も……ウソでしょ?)。県庁での取込・集計システムは、取り込んだデータ10支所ごとのまとめ表を閲覧表示しようとするだけで大体数分かかる。なお、一支所毎に表示する機能がないので(なんだそれ)仕方なく、支所ごとに、システムから一覧表(紙)を打ち出して送付してもらっているが(なんだそれ)、そうなると今度は、データと紙が一致しないという事例が発生した。表示機能特に重いので、先方でも、データの中身は余り見ずに送ってるらしく、最終段階でデータいじったのを忘れたりしてそういうことが起こるらしい(なんだそれ)。

(3)マクロ部分で起きていることが把握しづらい。

これは仕方ないことだが、RDBなら元々ソフト機能でしていることをマクロやらせてて、そこを触られたくないからだろうが、やってることの中身が把握できない。で、たとえばデータ保存の際にいろいろエラーメッセージが出ることがあるんだが(2年前のシステムで、標準で.xlsで保存する仕様になってるため、「機能低下が云々」とか)、おそらく問題なかろうとは思いつつも、不安なまま運用してる。

結論

エクセルから入力とか扱いとか、気楽になった部分は評価する。なので、データベースとしての運用を想定したDB機能強化版のExcel Proとか出ないものか? と。

あと、これ中央ではちゃんと動いてんのかね? 心配なんだけれども。

まあ、そんなこんなでおにーさんはいろいろ困っています。。。

2013-02-04

Windows XPWindows 7デュアルブート

はじめに、XPと7のデュアルブートPCの構成にあたって

建前としては2つのOSを併用しての慣れ、移行を意識したものデュアルブートをしてみること自体にDIY的な興味もありました。

対象は、Windows XP Home 32bitがインストールされたデスクトップPCです。

1台目のハードディスクディスク0)はパーティションが2分割されており、CドライブWindowsXPインストールされ、Dドライブはその他のデータ用です。未割当の領域は無いのでパーティション操作ツールを使ってDドライブを縮めて空きを作るつもりです。

そこにもう一つのOS/Windows7 Home Premium 64bit DSP版インストールし、XPとのデュアルブートします。以下、覚書です。

準備

情報収集・手順の確認

まずは、情報収集です。「Windows XP 7 デュアルブート」などで検索しました。

やはり公式ということでMicrosoftウェブサイトの説明をはじめによく確認しました。http://windows.microsoft.com/ja-JP/windows7/Install-more-than-one-operating-system-multiboot

説明としては割とシンプルもので、要はOSは古い順にインストールせよ、新しいOSを空きパーティションインストールせよというだけのものです。

次いで移行wikiやmynavi、DOSVレポート、ITAYA氏のサイト等各所詳しい方々の記事も参考にしました。

http://windows7.wiki.fc2.com/wiki/XP%E3%81%A8%E3%81%AE%E3%83%87%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%96%E3%83%BC%E3%83%88

http://news.mynavi.jp/special/2009/windows7/023.html

http://www.dosv.jp/other/0907/16.htm

http://www.geocities.jp/itaya_ys/TIPS/DualBoot/index.html

基本的に先にXPインストールされていれば、さほど難しいこともなく7もインストールでき、起動時にブートメニューが示され「以前のバージョンwindows」か「windows 7」のどちらを起動するか選べるようになるとのことでした。このときの既定のOSや待ち時間Windows7のシステムプロパティから設定できるようです。

ブートマネージャーコマンドプロンプト編集する方法や、EasyBCD編集する方法も紹介されていました。

必要ドライバソフトウェアの準備

Windows7 64bitに必要ドライバダウンロードしておきます

マザーボードメーカーサイトからチップセットLAN、サウンド、グラフィックの各ドライバダウンロード

グラフィックボードドライバダウンロード

ハードウェアドライバなどをダウンロード

セキュリティソフトダウンロード

EasyBCDダウンロード

Mini Tool Partition Wzard

Easeus to do Backup

バックアップ

インストール先のハードディスクディスク0)を丸ごとイメージバックアップします。

Easeus to do Backup 5.5でディスク0を外付けハードディスクディスクコピー

インストール実施

パーティション操作

Mini Tool Partition Wizard 7.7でDドライブサイズを縮める。

ハードディスク末尾側(?)約60GBを未割当領域に。

特に異常なさそうなことを確認。

Windows 7インストール

はじめXPを起動したままインストールしようとしたが、「このインストールディスクは、お使いのバージョンWindows互換性がありません。詳細については、コンピューターシステム情報を参照してください。Windowsを新しくインストールするには、インストールディスクを使ってコンピューター再起動ブート)し、[新規インストールカスタム)]を選択してください。」などとメッセージが出てきた。問答無用に上書きしようとするらしいが、32bitと64bitだし、DSP版だし、でアップグレードインストールできないのは当然。

Win7インストールDVDを入れたままPC再起動BIOSポスト画面でキーを押してDVDドライブからの起動を優先させる。

インストーラが起動し、インストールを進めていく。インストール先に未割当の領域を選ぶ。

その後普通にインストールを進める…はずが、うっかりインストール途中の再起動時「Press any key to boot from CD or DVD」と表示されているときキーに触ってしまい、初めからインストールやり直しになってしまった。無駄Windows.oldを作ることになった。

それ以外には特に何もなくインストール完了。

再起動シャットダウン後の起動を行い、XP・7いずれもブートメニューから選んで問題なく起動することを確認。

後処理

チップセットドライバLANドライバ、サウンドドライバインストール再起動

グラフィックボードドライバインストール再起動

.NET Framework 4.5をインストールRadeon の新しいCatalystには4か4.5が必要。なぜドライバユーティリティにこんな大きなランタイムめいたもの必要なのか…)

セキュリティソフトノートン)をインストール

インターネット接続してWindows Update

Windows 7の標準機能システムイメージバックアップ。起動に必要ファイルが含まれるのでXPパーティションも一緒にバックアップされる。

XPが7の復元ポイントを削除してしまう問題の対処

XPからWindows7パーティションへのアクセスを不能にする。

  1. Windows XPレジストリエディタ (regedit.exe) を起動します。
  2. 「HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\Offline」を開きます。「Offline」キー存在しない場合は、新規に作成します。
  3. 編集」→「新規」→「DWORD値」をクリックします。エントリ名に「\DosDevices\X:」と入力します。(X:の部分はVista/2008/7がインストールされているドライブ名です。
  4. 「\DosDevices\X:」をダブルクリックし、値のデータに「1」を入力します。

http://www.geocities.jp/itaya_ys/TIPS/Vista/Vista05.html

XPからは容量0・空き容量0・未フォーマットローカルディスクとして見えるようになる。(アクセス不可)

気付いたこと

ドライブレターがふり直される

CドライブXP)、Dドライブがあるので、なんとなくEドライブWin7システムドライブになると思っていたが、Win7を起動したらインストールされたドライブはCに、XPドライブはDに、DドライブだったものはEに、以下他のドライブレターも順にずれていた。

当然XPを起動したときはもとのドライブレターのまま。(Win7はE)

約100MBのシステムパーティションが作られていない。

ディスクの先頭に約100MBのシステムパーティションが作られる、と聞いていたが今回は作られなかった。

WindowsXPのあるCドライブのbootフォルダの中に関係ファイルがあるようだ。

なぜブートメニューに「以前のバージョンwindows」なのか。手抜き?

『「以前のバージョンWindows」を選択実行した場合は、NTLDRが読み込まれ、BOOT.INIに複数のOSが設定されていれば、そのメニューを表示し、BOOT.INIに1つのOSしか設定されていない場合は、すぐにそのOSが起動します。』
http://www.geocities.jp/itaya_ys/TIPS/DualBoot/index.html

なるほど。たとえば、XPと2000がインストールされている場合、以前のバージョンの...を選んだら、XPと2000のどちらを起動するかメニューが表示される、と。

2012-10-13

Objective-C勉強したいならコレを読め2012秋

前提

前提2

公式ドキュメント

日本語ドキュメント - Apple Developer

日本語化された公式ドキュメント。全てを読むのは難しいが、「Objective-C プログラミング言語」「Objective-Cによるプログラミング」を読めば、大半の入門書より網羅的に解説している。

ろくに書籍化されていない情報日本語で読むにはここしかない。

androidでは一切ドキュメント日本語化されず、公式チュートリアル日本語化でさえ有難がられる(そして一般の開発者が理解していない)惨状なので、日本語資料の存在を有難がるべき。

読む際の注意点

クラスリファレンス

XCode内で調べたいクラスでOption+右クリックでクイックヘルプを開き、更にクラス名をクリックすると、オーガナイザにクラスリファレンスが表示される。

ここで概要を読めばおおよそは分かる。

リファレンスに使われている単語は限られているので、英語が苦手で文法が不明瞭でも、読み続けさえすればある程度意味は把握できるようになる。

福井高専の有志による日本語リファレンス存在するが、更新が古い上に意味真逆に捉えた最悪な翻訳が野放しになっており、オリジナルへのリンクもない仕様なので、読むべきではない

詳解Objective-C 2.0 第3版

ベースObjective-Cの入門書が欲しいのであれば、この本一択

iOSに限定しないことで、Cocoa TouchCocoaのサブセットであるがゆえの制約など、iOSだけ見ているとなぜそういう仕様になっているのか分からない部分が明瞭になる。

ある程度理解したつもりでいるiOSプログラマでも、おそらく新しい発見がある。

Dynamic Objective-C

マイナビの連載でweb無料で読むことができるが、加筆修正された書籍版も販売されている。

約7年前に始まった連載なので、情報としては古く、ポージングなど既に廃止されたテクニックについて語っていたりもするが、その内容は色褪せない。

Objective-Cランタイムがどのようにオブジェクト指向C言語を結び付けているのか、クラスメソッドの実体とは何なのかを明らかにしていく。

iPhoneプログラミング UIKit詳解リファレンス

正直詳解と呼ぶほど詳しくないので、UIKitで困ったら素直にクラスリファレンスに頼った方が良い(ネットググるのは間違った情報に当たる確率が高いのでおすすめしない…)。

しかし丁寧な解説はUIKitに触れる際に一読する価値はある。

惜しむらくはiOS4時代のもので、バージョンアップ時にそれなりにUIKitに変更が加えられるので、それを考慮に入れて読むこと。

  • iOS5ではViewController周りに変更点が多い。大きな変更点で覚えているのは、UIAppearanceプロトコルで外観の操作ができるようになったりとか。
  • iOS6ではViewControllerのライフサイクルが変更したほか、属性付きテキストや使えるようになったり、テーブルビューヘッダが再利用可能になるなど細々とした修正点も。

iOSデバッグ最適化技法

タイトルからは中級者以上を想定しているように見えるが、実際には初学者向けで、retainを使ったメモリ管理から話が始まる。当然、MRC時代の本。

しかデバッガを用いたクラッシュ原因の特定や、Instrumentを使ったメモリリークの防止など、より品質の高いアプリケーションを作るノウハウについて触れているのが異色。

iOS開発におけるパターンによるオートマティズム

iOS開発で多用するMVCを利用したデータ管理や、テーブルビューによるリスト表示などをパターンとして紹介する本。

「使い方は分かったけど、どう作ればわからない」という人に作成の一つの指針としておすすめだが、万人に対してこの通りに作れ、とは薦めにくい。

この本は、強力な仕組みながら解説の乏しいCore Dataをプッシュしてページ数を割いているのが貴重なのだけど、NSFetchedResultsController(訂正しました。指摘ありがとうございます!)をスルーしているため実用性を大きく欠いてしまっている。

iPhone Core Audioプログラミング

大半の用途ではAVAudioPlayerを使用すれば困らないと思うのだけど、日本語Coreフレームワークについて1冊本が出ていて、これだけ詳細な情報が手に入るというだけで読まないと損。

独創的で優れた楽器アプリ日本のAppStoreからこれだけ多く登場したのは、この本の存在があったからに他ならないように思う。

エキスパートObjective-CプログラミングiOS/OS Xメモリ管理マルチスレッド

2012年はてな匿名ダイアリー名作ランキング50選様に取り上げて頂いた関係で、再び日の目を見ているようですので、この一冊を追加。

冒頭のメモリ管理の話が平易すぎて読む本を間違えたかと思ったが、ARCBlocks挙動を実装レベルで解説する以降の章はまさにエキスパートに相応しい内容。「使い方」の一歩先を知りたい人におすすめ

モダンスレッドプログラミングAPIであるgcdについても、網羅的な解説がある。

2011-09-06

http://anond.hatelabo.jp/20110906170229

マルチ対応アプリを作って、OSの言語に合わせて表示できるようにする思想だから

ここがどういうことを言ってるのかちょっとよくわからないんだけど、

アプリ間の依存関係はまぁそれほど問題にならないからどうでもいいかな。

下位レイヤがほんと酷い。

dllだのランタイムライブラリだの、スクリプト言語の実行環境だの何だの

パッケージ単位で全部解決させようとするからどのインストーラにもいちいちpythonとか入ってやがる。

逆にその辺がまとまってないソフトを入れようとすると、依存関係を自分で解決する必要があって大体ハマる。

そういうのは管理システムの方でやればいいと思う。

管理システムへの登録スクリプト環境をきちんとしとけば(例えばmachomebrewrubyに統一されてる)、

「正しい申告」なんて必要無くて提出されたスクリプト機械的にテストすればいいだけじゃね?

2010-05-01

Javaから呼び出し元のJRuby環境を利用する

Tomcat上のJRubyから呼んだJavaプログラムから呼び出し元のJRuby環境(Runtime)を使いたいときにどうすればいいのか?

方法が1つわかったのでメモ

(追記2:こんなめんどいことしなくてもJRuby.runtimeで取れたみたい)

イメージ的には以下の感じ

Java

↑↓

JRuby(on Rails)

Java(Tomcat)

※注意:warblerでwar化したRailsアプリ場合

JRubyは1.4.0、jruby-rack.jarは0.9.7、warblerは1.0.1

プログラム

まずは必要なクラスをimport

import org.jruby.Ruby;
import org.jruby.rack.PoolingRackApplicationFactory;
import org.jruby.rack.RackApplication;
import org.jruby.rack.RackServletContextListener;

ServletContextをどっかから取ってくる(Listener作ってfieldに埋めるとかして)(追記:$servlet_contextで取れる[JRuby-Rack使うから])

ServletContext context;//=~~~

warblerでwar化するとweb.xmlRailsServletContextListener(extends RackServletContextListener)が登録される。

そのListener起動時にFactoryがServletContextに登録されるので、それを取得する

PoolingRackApplicationFactory factory = (PoolingRackApplicationFactory)context.getAttribute(RackServletContextListener.FACTORY_KEY);

PoolingRackApplicationFactoryapplicationPoolを取ってくる

(protected fieldなのでリフレクションを使用)

Field poolField = factory.getClass().getDeclaredField("applicationPool");
poolField.setAccessible(true);
Queue<RackApplication&gt; pool = (Queue<RackApplication&gt;)poolField.get(factory);

poolからRubyランタイムを取得

RackApplication ap = pool.peek();
Ruby ruby = ap.getRuntime();

呼び出しもとのJRuby環境を使ってRubyコードを実行できる

ruby.evalScriptlet("p 'test'");
memo

実際に使うときは、applicationPoolにちゃんと入っているかなどのチェックが必要になる。

初期化タイミングなどが影響して取得できない場合、Threadなどを使ってポーリングして入っているか確認する

2009-03-26

Win XP SP3インストール後 XTRM VB Runtime(X-GUARD)の不具合解消法

ふと思いついてWin XP SP3をインストールした 特に不具合はなし

ただX-GUARDが起動するたび

XTRM VB Runtime.msiを指定してインストールしろだの出てくるので

XTRM VB RuntimeやらX-GUARD入れ直したりしたが駄目で

(ちなみにランタイムファイル名はxrun06.exe)

そこでググったところランタイムバージョンがふるいんじゃね?

Visual Basic 6.0 SP6 ランタイムライブラリを入れたらいんじゃね?

と言われ入れたら解決した

グルのに手間掛かったんでここに記録しとく

とにかくXTRM VB Runtimeの関係のが先に進まない場合

↓の入れれば解決するってこった

Visual Basic 6.0 SP6 ランタイムライブラリ

http://www.vector.co.jp/soft/win95/util/se188840.html

2008-02-27

Adobe AIR って要するにローカルアプリ書き環境でしょ

俺はAdobeの旧Macromedia部分が嫌い。こいつらは10年以上大風呂敷だけ広げて見せてるだけだから。

でも世の中がそれを必要とするってんならそれぐらいは認める。

で、AIRってなんじゃいと思ってみたらただのローカルアプリケーション開発環境だった。しかも統合されたもツールらしきものは無く散発的な既存製品ランタイム。なんじゃそれ。相変わらず手抜きだな。

ネットワークプラットフォームとか言ってるけど要するにやりたいのは単純にFlashによるローカルアプリケーションを書くこと。むしろネットワークとは逆の方向に影響力を伸ばしたいって訳で、それなんてDirector

時代に合わせて表現にFlashHTMLJavascriptも使えますよってことだろ?じゃあそういえよ。で、まーた2、3年したら放り出すのか。別の新機軸を取り入れて鋭意開発中って言い続けて何年経つんだよ。

いいからさっさとIllustratorバグ取れよ、このハッタリ会社め。

2008-01-30

Re: コンパイラとインタープリタは同類

PHPに噛み付くノリで噛み付いてみる。

CGI用途限定で使用されるPHP/Perl/Ruby

システムperl依存してしまったFreeBSDは、それを解消するために四苦八苦した歴史があるんだぜ。

最近のLLたちは、実際には中間コードコンパイルしてるから、ランタイムコンパイラとか言ったりするんだぜ。

結局コンパイラインタープリタの境界があいまいになった部分があるから、スクリプト言語とか言い出したんだぜ。たぶん。

2007-12-03

初心者の質問に初心者が回答している…

これひどいな…。誰もつっこまないのか?

question:1196344660

>>「ランタイムなどを使用せず」というのは無理です。C/C++の標準に、ネットワーク系の関数が無いからです。たとえばWindowsなら、Winsockライブラリが使用できるので、それを利用することになります。<<

質問している人が言うランタイムって別途配布する必要があるライブラリのことだろ?最初からインストールされているWinsockや静的にリンクできるライブラリは別物だろ?

>>WindowsだとC++で書いてもMFCを使っちゃうとランタイムが必要ですよ。<<

これも静的にリンクできるよ。ひょっとして入門版の開発ツールを使ってるのか?

質問者初心者なのはしょうがないけど、回答者初心者なのは勘弁してくれ。

2007-10-22

8bit時代とは何だったのか - 8色タイリングが拓いた表現者の時代 -

ブックマークでも人気のこちらを見て考えた。

YouTube『PC-6601が歌うタイニーゼビウス』

80年代に隆盛を誇った8bitホビーパソコンの追憶の詩と映像である。若くてそんなの知らない向きにはこちら→Wikipedia 8ビットパソコンホビーパソコン

要するに貧相な計算能力ながらようやく「人間にも分かる」表示能力と発音能力を持った初期のパソコンの、ユーザーがその表現をプログラム側からながら自由に扱うことができるところに面白みのあった一時代についての懐古である。曲も素晴らしい。

もちろん私も8bitホビーパソコンのストライクゾーンユーザーだったわけで上記クリップの言わんとする感じは良く分かる。逆に世代が違うとそれだけでこのビデオ作品には何も感じないかもしれない。

しかしそんな懐かしズムについて語りたいわけではない。いや、むしろ猛然と語りたくてしかたないのか。ともあれ、この国産8bit時代に我々現30代はアーダコーダと雑誌を横に機械語まで弄ったりしたのだ。頭の柔らかい中学生ぐらいだから理系とか関係なく自然言語を取り扱えた。いきなりバイナリコードを組んでる姿は親からみたら異星人だったに違いない。それでもクラスに数人はいたはずだ。希少種というほどでもない。

そこで疑問に思うのがそんな我々30代が社会で中堅と相成った現在において、この日本ソフトウェア産業レベルが低いのはどういうことなのだろうか。かように自主的にコンピュータの実習をしてきたにもかかわらずだ。

怪しい部分はいろいろある。

8bitパソコンうつつを抜かしている間言われたのは「プログラマーでは食っていけない」という呪いだった。実際、私も特性があったとも思えないが選択肢から最初から除外していた。この辺の妥当性は現在プログラマーの人のコメントを待ちたい。外見的にはWebプログラマーとして人材が流れ込む現在とは対照的だとは思う。

また、90年代の停滞だ。Macintosh廉価版と続くPC/ATWindows95の普及まで「パソコン」は暗黒期にあった。さらに言うと2000年ごろのウェブプラットフォーム現実感として開けてくるまで80年代のような「パーソナル」さはなかったように思う。

思うに、80年代パソコン90年代(後半)以降のコンピューティングは全くの別物だったのではないだろうか。

そこで8bitパソコンがなんだったかというと、実際はパーソナル「コンピュータ」ではなくパーソナル「メディア」だったのだろうと思うのだ。(当時ログイン伊藤ガビンPCメディア論を振るっていたが、ここではもっと画用紙同様の素直な意味である)今からみると惨めな表現力しかないのだが自由に、難しい表現だが、扱うことができた。サラリとその場でBASICを組めばキーに音を割り振れるような自由だ。いくつかの8x8マスのカラフルな独自“文字”を設定してテレビ局しか触ることのできなかったCRT画面を芝生“文字”や樹木“文字”で埋め尽くし草原にしてしまう自由だ。

特に当時は計算能力限界があったためユーザーも遅くて動かないアルゴリズムに凝ることより表現に凝ることに走ったのかもしれない。

ゆえにコンピューティングの正統な進化たるMacintoshPC/ATではそれを引き継ぐことはできず、ラピッドプロダクションで表現を行うメディアであるウェブの普及までその再来感覚がなかったのだ。

そしてこれはコミック60年代??)、アニメ70年代??)と続きゲーム(90??年)が引き継いだ日本サブカルチャーの基底をなす一つでもあると思う。

だから大人になったパソコン少年※が作るのはウェブプラットフォームランタイムではなく『PC-6601が歌うタイニーゼビウス』なのである。

※作者が何者か全く知らない。本当は20才のモデルかもしれないし65才会社役員かもしれないのであしからず

2007-08-12

法曹は別に偉くないよな

あいつらのほとんどは所詮実行環境に過ぎん。

自己書き換えがほとんど不能なランタイム・エンバイロメントである。

とび職が世間の歯車であるのと同程度に歯車だ。

機械ではなくて人間なのだから、法適用時に極力社会リソースを必要としない方向へ改善する圧力を自己としても持ってほしいものだが…

それは政治家仕事ではあるが、政治家が常に法律家、しかも単なる実行環境ではなく実行環境を自ら改革する意思を持った法律専門家たちを必要とするようになんとか持っていけないのだろうか。

SEの視点で法律を読むと無駄なのがよくわかる。

SE仕事には顧客企業における無駄な手続きや申請を合理化したり、闇に隠れていた秘密の手続きを明らかにしたりすることが含まれる。

そしてその会社コンピュータを入れるという名目で合理化することで、世界を変えている。でもあいつらは。

また、社会学者経済学者の視点で読めばおそらく社会が「誤ったインセンティブ」で導かれてしまっているのが手に取るようにわかるのだろう。

正しいインセンティブで導かれれば減少する不幸がどれだけあることか。でもあいつらは。

結局あいつらは無駄なものを無駄なまま運用する機械に過ぎん。

昔持っていた敬意はどこかへ雲散霧消してしまったよ。

パン屋の旦那と同じくらいには尊敬できるけど。

いや、パン屋の方がやっぱり尊敬できるな。

パン屋の若旦那は工夫をこらした新作パンを創造してくれるもの。

法律家にはそれがない。

 
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん