Help us understand the problem. What is going on with this article?
PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前の本やウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい
はじめに 以前、と言っても結構前ですが、タイトルにあるようなgit rebase -iの時に役に立つVimプラグインというのを作ったので、それを紹介したいと思います。 動機 僕の所属している開発チームでは、バージョン管理システムにgitを使用しています。 gitは広く知られている通り、分散バージョン管理システムと呼ばれているものの一つです。その特徴と言っていいのかわからないですが、gitを利用すると、手元でのソースコードの変更を、細かい単位でローカルのリポジトリにどんどんコミットしておき、それを適当なタイミングでコミット履歴を改変して内容を整理してから、チームで共有しているリポジトリに状態を同期させるようなことができます。 git rebaseとは、そのようにコミット履歴を改変するときに使用するコマンドです。 git rebaseコマンド、特に-iというオプションを付けたものは、コミットの
Debian系のディストリビューションで綺麗にはまってしまったのでメモ。 Redhat系が予期に計らってくれるおかげで3週間ほどずっとはまっていました…。 OSを5回くらいインストールし直しました。 0.前提 VirtualBox + UNIX系OSでローカル環境にサーバを構築したい。 無駄なマシンパワーを使いたくないので、GUIはインストールしない。 外部ネットワークに接続したい(インターネットを使いたい)。 ポートフォワーディングは使わない。 1.ネットワーク構成 ゲストはホストのNICを利用してNATで外部ネットワークに接続する。 ホストオンリーネットワークでゲストにSSHで接続する。 ホストオンリーネットワーク側のゲストのIPアドレスは固定する。 2.OSインストール インストール手順自体はVirtualBox 4.0でCentOS 6.0を動かしてみたよ。 - 大人になったら肺呼
Luigiとは LuigiはPythonで書かれたデータフロー制御フレームワークです。 ストリーミング音楽配信大手のSpotifyが開発しています。ソニーと提携したことでも話題になりましたね。 Luigi公式レポジトリ 本家のプレゼン資料がわかりやすいです。 一般的にビッグデータ解析では、統計・機械学習を行う前に、クレンジングやフィルタ処理をいくつも重ねる必要があります。その依存関係は複雑で、しかもデータの差し替えや失敗・中断時のやり直しなんてやりだすと、苦行の他のなにものでもありません。そんな時にLuigiは使えます。 名前のLuigiの由来は、データフローを配水管に例え、「世界で2番目に有名な緑色の服を身にまとった配管工」だとか…。赤じゃなくて緑なのは、Spotifyのコーポレートカラーと同じだからでしょうか(笑)。 Pythonではありますが、Pythonによる処理だけでなく、Had
以前、ロックファイルだけを使ったバージョンを書いたのですが、不評だった(?)ので、pidファイルを使ったバージョンを作りました。デコレータとして定義したので使うのは簡単。以下のようにするだけです。 動作的には、以下のようになっています。 メインの処理を始める前に、pidファイルにpidを書き込む。処理が終わったらpidファイルを消す。 すでに、このpidファイルに書き込まれたpidのプロセスが、自プロセスと同じシグネチャを持っている(同じプログラムであると認められる)ときは、すでに同じプログラムが動作していると判断して起動しない。 プロセスの同一性を判断するためのシグネチャとしては、コマンドラインの第1パラメータ(python)と第2パラメータ(pythonファイル名)からディレクトリ名を除いた部分を使う。 これだけだと、pidファイルの読み書きのタイミングが重なったときに整合性に問題が起
##■動機 自分はラズパイ開発はMacからSSH接続で行っていて、かつ同一ネットワークのwifi接続なので電源のみの接続で開発できている。 開発しているときは良いものの、外出時にMac持ち運んだ時とか、寝落ちした時とか、 ラズパイが起動したままSSH接続が切れているときがよくある。 そんな時、ラズパイのシャットダウンのためだけにPC起動するのも面倒だし、かと言って電源ぶつ切りもシステム壊れそうでやりたくない・・・ そんなわけで、PCを起動しなくてもラズパイ本体だけでシャットダウンさせたかった。 探してみると、ボタン一個あればできるみたいなので挑戦。 やることは、 ピンの入力状態を変えるボタンを接続 シャットダウンするプログラムを作成 2をラズパイ起動時に自動起動して、バックグラウンドで動作するサービスとして登録 という感じ。 3の自動起動は、昔は/etc/rc.localというのを使ってい
自分で小さいツールを作る時に心に留めているtipsです. 書き始めたときは「どうせ書捨てだし」と思って書き始めると意外と長い間,もしくはいろんなところで使うことになったりするので,気をつけておくと後から楽になるというような小技です.大規模なソフトウェアの開発ではまた違った流儀があると思います. メインルーチンを関数にする 関数名はなんでもいいのですが,自分は趣味で main() という名前の関数を用意し,メインルーチンは全てそこに書くようにしています. pythonの小さなサンプルコードを見たりすると関数外の部分にベタで実行コードが書かれていたりします.もちろんそれでも動くのですが,以下の2点で後々面倒になることがあります. グローバル変数だらけになり管理が追いつかなくなる:「どうせ小さなスクリプトだし」ではじめると最初は見通しが良くてもだんだんどこでどの変数名を使っているか分からなくなっ
2016年7月12日に,Chainer v1.11.0がリリースされた. Chainer Meetup 03や,Amazon Picking Challenge 2016の準備もあったろうに…なんて速度だ! (第2位,おめでとうございます https://www.preferred-networks.jp/ja/news/amazon-picking-challenge-2016_result ) この記事では,Chainerの新機能を美味しさと共に紹介していきたいと思う. トレーニング部分のコードが抽象化できるようになった Chainer Meetup 03では,「beam2dさんがゲロ吐きながらTrainコードを抽象化してくれている」という話だった. あれからおよそ2週間,Chainerのコードは変化を遂げた.変化を遂げることを許された. 先日とあるライブコーディングイベントにて私が書
はじめに pythonで実行形式に変換するライブラリがいくつかありますが、結局どれを使えば良いのかわからなかったので、まとめて試してみました 今回使ったコードは https://github.com/nabehide/tryFreezing にあります 比較するライブラリは下記の3つです。 py2exe cx_Freeze PyInstaller (py2appはWindows未対応のため、今回は使いません。) 環境 Windows7 32bit professional CPU : Core-i5-4310U 2.00GHz RAM : 4GB Python環境 Python 2.7 numpy : 1.11.2 matplotlib : 1.5.1 PyQt : 4.11.4 検証コード 下記のようなサンプルコード(main.py)を実行形式に変換したいとします。 PyQt4を使ったG
前回の「Raspberry Piを動かすために必要な資材」からの続き。 1.今回の目標 今回はRaspberry PiにOSインストールしてデスクトップ画面が表示できるようにする。 2.作業内容 1.OSをダウンロード 2.SDカードのフォーマッターをダウンロードしてパソコンにインストール 3.マイクロSDをフォーマット 4.マイクロSDにOSを書き込む 5.入出力装置をRaspberry Piに接続する 6.パワーーーーーオン 7.OSインストール実行 8.デスクトップ画面の表示確認 3.1.OSをダウンロード Raspberry Piの公式サイトからNOOBSのDownloadZIPをクリック。 NOOBSにはNOOBSとNOOBS Liteがあって、NOOBSは「easy operating system installer」と書いてあるのでこっちを選択してみた。 ダウンロード完了す
pip, npm, gemのパッケージマネジメントでインストールするときにproxyにより通信エラーがでたときの対処RubyPythonNode.jspipパッケージ管理 コマンドラインからのパッケージインストール時に通信エラーがでたときの対処方法をメモしておく Proxy設定があることによりエラーが発生しているようだったので、設定する方法を調べた。 proxyはInternet Explorerのインターネットオプション->接続->LANの設定で以下のようになっていた 自動構成スクリプトを使用する http://proxy.-----.co.jp/proxy.pac (-----は伏字) -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- pythonのpip コマンドに--proxy=を
#!/bin/bash exec 5> debug_output.txt BASH_XTRACEFD="5" PS4='$LINENO: ' set -x するとdebug_output.txtにログが出力される。 exec 5>はファイルディスクリプタ5番をdebug_output.txtにするという意味。 PS4はトレース出力の際に表示されるプロンプト。$LINENOにより行番号を表示している。 set -xは実行するコマンドをトレース出力させる。 元記事にはbashdb、log4bash、Eclipse、Visual Studioo Codeを使う方法なども紹介されているが、これが一番手軽でほとんどの場合十分だと思う。 Register as a new user and use Qiita more conveniently You get articles that match
#Gif動画はとっても便利 GitHubやQiita等で自分の画面の挙動を誰かに伝えたい場合に、動画で表現できると伝わりやすいですよね。そんなとき、サクサクとGif動画が作れるととても便利です。 この記事では、下のような動画GIFを簡単に作れる方法をご紹介します。 ※Macユーザーを想定しています。 QuickTime Playerで画面を録画する まずはQuickTimePlayerを利用し、画面を録画します。 普段QuickTimePlayerを使わない方でも既に**アプリケーション>ユーティリティ**の中にあるケースが多いです。もし、持っていないければダウンロードしてください。 画面収録方法 ①QuickTimePlayerを開き、**ファイル>新規画面収録**をクリックします。 ②「画面収録」の赤い丸をクリックします。 ③下記のような画面が出たら、クリックし続けながらマウスを動かす
はじめに 最近PyPIデビューを果たしました。 そこで同じ用にPyPIデビューを考えている人の為に登録手順を書きます。 PyPIってなに? おいしいの? Python Package Indexの略らしいです。 Pythonパッケージを管理するためのサービスで、誰でもパッケージを登録できます。 ここに登録されたパッケージは pip installでインストール出来る様になります。 ちなみにパイピーアイって読むらしいです。 パッケージの準備 まずは登録するパッケージを準備します。 今回は例として「pypipkg」というパッケージを作成した事にします。 ファイル構成はこんな感じです。 pypipkgディレクトリ直下にsetup.py等、PyPIの登録に必要な情報を用意し、pypipkgのソースのディレクトリも置きます。 pypipkg $ tree ├── MANIFEST.in ├── RE
Linux で Python をビルドするとき、 --enable-shared という configure オプションがありるので、その解説とTipsを紹介します。 具体例として Python を挙げていますが、話の内容のほとんどは他の言語やライブラリでも共通だと思います。 --enable-shared とはなにか このオプションを指定しない場合、主要なバイナリファイルとして python という実行ファイルと libpython2.7.a (Python 2.7の場合) というライブラリファイルができます。 --enable-shared をつけた場合、 libpython2.7.so というダイナミックリンク用の shared object も生成され、 python はこの shared object をダイナミックリンクするようになります。 Debian などの Linux デ
追記 2017/01/29 突っ込み記事を書いていただきました。ありがとうございます。 Pythonの仮想環境構築 2017.01版 コメント欄で@shibukawaさんも述べられていますが、virtualenvとvenvはほぼ同じなので、実質はpyenv or virtualenv(venv)の2択だけど、virtualenvが既にデファクトスタンダードとして地位を確立しているとのこと。 記事内ではpyenv推しをしていますが、virtualenvを使うことにします。僕はライトPythonユーザなので周辺環境はできるだけデファクトに乗っかって楽をしたいので。 はじめに Pythonの環境構築について調べていると、タイトルに挙げたツール名を見かけることがあると思います。要は環境の隔離ツールなのですが、こういったツールは移り替わりが激しく、初級者にとっては何が何やらわかりません。僕自身そこま
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Chainerは、Preferred Networksが開発したニューラルネットワークを実装するためのライブラリです。その特徴としては、以下のような点があります(ホームページより)。 高速: CUDAをサポートし、GPUを利用した高速な計算が可能 柔軟: 柔軟な記法により、畳み込み、リカレントなど、様々なタイプのニューラルネットを実装可能 直観的: ネットワーク構成を直観的に記述できる 個人的には、さらに一つ「インストールが簡単」というのも挙げたいと思います。 ディープラーニング系のフレームワークはどれもインストールが面倒なものが多いの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く