Web ベース統合開発環境 Nide が(・∀・)イイ!!
たまたま以下のページを見たのですが、ブラウザが統合開発環境 (IDE) になるというのは以前から興味があったジャンル。
実際、使いやすかったのでインストール方法等を書いてみる
1. Node.js をインストール
Nide をインストールするには npm というコマンドパッケージが必要です。
npm は最新版の Node.js と同時にインストールされます。
以下から入手したインストーラを実行してください。
2. Nide をインストール
Nide のソースコードは以下のページから入手できます。
github に依存したくないなら、左上の ZIP ボタンでソースコードをダウンロードできます。
ダウンロードしたフォルダ (Coreh-nide-xxxx) 内で以下のコマンドを実行します。
sudo npm install -g nide
これで Nide があなたの PC にインストールされます。
3. Nide プロジェクトを作成する
プロジェクト管理したいディレクトリで、以下のコマンドを実行すれば、Nide プロジェクトが構築されます。
nide init # ディレクトリ内に # .gitignore # .nide/ # .npmignore # が作成されます。
一度構築した Nide プロジェクトがあるディレクトリでは、以後、以下のコマンドでプロジェクトを開くことができます。
nide
Nide は実行されるとローカルサーバ(http://localhost:8123)からプロジェクトにアクセスできます。
終了する際はローカルサーバを Ctrl + C で強制終了?
ちなみに JavaScript 以外の言語もカラーリングされます。
入力補完はできない模様。
V8 の RTLD_DEFAULT が見つからないビルドエラー
MacOSX 10.6 を使用。
JavaScript V8 エンジンを scons でビルドする際、以下のエラーが発生。
src/platform-macos.cc:500: error: 'RTLD_DEFAULT' was not declared in this scope
scons: *** [obj/release/platform-macos.o] Error 1
scons: building terminated because of errors.
問題のソースコード (v8/src/platform-macos.cc) を見てみると、
#include <dlfcn.h> (略) static void SetThreadName(const char* name) { // pthread_setname_np is only available in 10.6 or later, so test // for it at runtime. int (*dynamic_pthread_setname_np)(const char*); *reinterpret_cast<void**>(&dynamic_pthread_setname_np) = dlsym(RTLD_DEFAULT, "pthread_setname_np"); if (!dynamic_pthread_setname_np) return; // Mac OS X does not expose the length limit of the name, so hardcode it. static const int kMaxNameLength = 63; USE(kMaxNameLength); ASSERT(Thread::kMaxThreadNameLength <= kMaxNameLength); dynamic_pthread_setname_np(name); }
RTLD_DEFAULT は /usr/include/dlfcn.h に定義されているけど、
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) のマクロ状態でないと読み込まれないようになっている。
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) #define RTLD_NOLOAD 0x10 #define RTLD_NODELETE 0x80 #define RTLD_FIRST 0x100 /* Mac OS X 10.5 and later */ /* * Special handle arguments for dlsym(). */ #define RTLD_NEXT ((void *) -1) /* Search subsequent objects. */ #define RTLD_DEFAULT ((void *) -2) /* Use default search algorithm. */ #define RTLD_SELF ((void *) -3) /* Search this and subsequent objects (Mac OS X 10.5 and later) */ #define RTLD_MAIN_ONLY ((void *) -5) /* Search main executable only (Mac OS X 10.5 and later) */ #endif /* not POSIX */
- 対応策
むやみに _DARWIN_C_SOURCE を定義するのが嫌だったので、v8/src/platform-macos.cc の先頭に #define RTLD_DEFAULT ((void *) -2) のマクロを定義することにしました。
#define RTLD_DEFAULT ((void *) -2) #include <dlfcn.h> (略)
その後、ビルドに成功しました。
ただ、プラットフォーム(OS バージョン)が変化すると RTLD_DEFAULT 定義が変更される恐れもあることをお忘れなく。
文字列を is 演算子で比較するのは危険
ascii 文字列は ==, is のどちらでも同じ結果を返します。
一方、unicode 文字列は is で比較した場合の結果が異なります。
# ascii 文字列の比較 a = 'str' b = 'str' a == b >>> True a is b >>> True # unicode 文字列の比較 a = u'str' b = u'str' a == b >>> True a is b >>> False u'str' is u'str' >>> True
ドキュメンテーションによると、
演算子 is および is not は、オブジェクトの アイデンティティに対するテストを行います: x is y は、 x と y が同じオブジェクト を指すとき、かつそのときに限り真になります。
とあり、is 演算子はインスタンス ID が同じかどうかを比較するようです。
Python では ascii 文字列は非オブジェクトで、unicode 文字列はオブジェクトと見なすべきなのでしょう。
同様に、数値は非オブジェクトで、配列はオブジェクト。
【Macintosh】Minecraft のメモリ使用量を指定する
Wiki には Windows 版のやり方しかなかったので、Mac 版のメモリ指定方法を試みてみました。
Mac 版 Minecraft のバンドル構造は以下のようになっています。
Applications/ Minecraft.app/ Contents/ Info.plist PkgInfo MacOS/ JavaApplicationStub Resources/ en.lproj/ InfoPlist.strings favicon.icns Java/ MinecraftLauncher.jar
Mac 版の場合、 /Applications/Minecraft.app/Contents/Resources/Java/MinecraftLauncher.jar が Java 実行可能ファイルになります。
したがって、以下のコマンドをターミナル等で実行すればいいことになります。
java -Xms512m -Xmx3072m -jar /Applications/Minecraft.app/Contents/Resources/Java/MinecraftLauncher.jar
最小使用量を -Xms1024m 等にすると、メモリ量の増加が ActivityMonitor ではっきり確認できます。
外部から Django プロジェクトのデータベースを操作する
Django プロジェクト(ディレクトリ)の外部にある Python コードから、Django アプリケーションのデータベースを操作します。
ドキュメンテーションにあるように、モデルをインポートする前に以下の手順を実行しておきます。
1. プロジェクトのパッケージを sys.path に追加します。
2. DJANGO_SETTINGS_MODULE 環境変数がプロジェクトの settings.py を指すように設定します。
この手順なしに、外部のコードが Django の models モジュールをインポートした場合、ImportError が発生します。
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
ここでは、プロジェクト django_project のアプリケーション app_name にモデル models.py が定義されているとします。
other.py(シンボリック・リンク等で django_project を参照) /django_project __init__.py manage.py settings.py urls.py /app_name __init__.py models.py tests.py views.py
外部の Python コードは models をインポートする前に以下の手順を踏んでください。
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys # プロジェクトのパッケージを sys.path に追加する sys.path.append('django_project.app_name') import os # 環境変数 DJANGO_SETTINGS_MODULE にプロジェクトの settings をセット os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings' # Model モジュールをインポートする from django_project.app_name import models # データベースを操作可能になる models.ModelXXX(name='xxx').save() # 保存 models.ModelXXX.objects.all() # 取得
kakoroku で保存したタイムシフト放送を NNDD で再生するときのテクニック
Windows の kakoroku でタイムシフト放送をダウンロードした後、Mac の NNDD で(むりやり)再生させるのですが、このときコメントが途中からしか流れない不具合にまみえます。
この回避方法として、NNDD の InfoView にある「過去コメント」タグにて、「更新(ローカル)」を押します。
これでコメントが最初から流れるようになります。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- kakoroku
http://ameblo.jp/ysr7/entry-10636156973.html
- NNDD
ニコニコ動画の検索一覧に総合ポイントを表示するユーザスクリプト【NicoSearchPtsDisplay】
GreaseMonkey ユーザスクリプト(Firefox, Chrome, Safari で動作確認)。
ニコニコ動画の キーワード/タグ 検索一覧に総合ポイントを表示します。
総合ポイントはニコニコ大百科の計算式で算出されます。
- 4 カラム 適用前
- 4 カラム 適用後
- 2 カラム 適用前
- 2 カラム 適用後
- 1 カラム 適用前
- 1 カラム 適用後
インストール:http://userscripts.org/scripts/source/119777.user.js
ダウンロード:http://userscripts.org/scripts/show/119777
パーフェクトJavaScript (PERFECT SERIES 4)
- 作者: 井上誠一郎,土江拓郎,浜辺将太
- 出版社/メーカー: 技術評論社
- 発売日: 2011/09/23
- メディア: 大型本
- 購入: 24人 クリック: 588回
- この商品を含むブログ (12件) を見る