Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
Goには三項演算子?:は存在しない。Cの派生言語(C++とかJava)だと三項演算子はわりと頻繁に使われるものだと思う。三項演算子を使いたいところでGoではどう書けばいいのか戸惑うことがあると思うので、三項演算子の代わりの書き方を紹介したい。 上記のコードはx := condition ? 1 : 0と同じだ。デフォルトの値がリテラルの数値や文字列などの計算にコストがかからないものであれば、上のパターンを使うのが普通だと思う。 もしデフォルトの値が関数呼び出しの結果などで、その値を得るコストが高い場合、デフォルト値を得てから再度上書きするのは無駄が多い。そういう場合には下のように書くしかない。
HTTPとは HTTPの概要 HTTPとは、WebサーバとWebクライアントの間でデータの送受信を行うために用いられるプロトコル (引用元)http://e-words.jp/w/HTTP.html プロトコルとは、難しく言うと通信規約、簡単に言えば約束事や取り決めのこと つまり、Webサーバとクライアントは、HTTPというプロトコル(決まった方法)でやりとりしましょうねということ HTTP通信の中身 HTTPでサーバとクライアントがやりとりするメッセージ(HTTPメッセージ)は基本的に以下のような形になっている GET /index.html HTTP/1.1 Host: localhost:8080 Connection: keep-alive User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit
今使っているクラウドのルートディスクが15GBしかないのでDocker Composeで複数のコンテナを起動して開発しているとすぐに容量不足になります。開発中はよくゴミが出るので定期的に/var/lib/dockerは再作成していますが、もう少し大きなディスクを追加して移動しようと思います。最初は/etc/fstabの記述を間違えてリカバリーモードで起動することになりました。しかもrootのパスワードを忘れてしまいシングルモードで起動する必要があったりと、作業には十分注意が必要です。 以下のサイトを参考にしました。最初に読んでいたサイトはmountのbindオプションの使い方が間違っていて混乱してしまいました。 Moving docker images location to different partition Moving Docker "stuff" to a Different
目的 本稿の目的は, Python を用いて Arduino とシリアル通信を行い, 更に同通信により得た値を数値として処理できるようにすることである. 目標 PC側から Arduino にデータを送信, その内容に応じて Arduino の動作を変化させる PCが, Arduino から受信したデータを数値的に処理できるようにする 具体的目標 PCから文字データを送信し, ArduinoのLEDの明滅を操作するプログラムを組む 超音波距離センサ HC-SR04 から得たデータから数値を取り出すプログラムを組む 上記プログラム言語には Python 3.x を利用する 準備 Arduino Uno Rev.3 USBケーブル LED ジャンパワイヤ 4本 HC-SR04 Python 3.x , Arduino IDE Python モジュール : PySerial 環境 Windowsだ
dockerでvolumeをマウントするときの問題点 docker runするときに-vオプションをつけることによってホストのディレクトリをコンテナ内にマウントすることができる。 ホスト側のファイルをコンテナ内で使いたい場合や、逆にコンテナで作ったファイルにホストからアクセスしたい場合に有用なのだが、ファイルのアクセス権限についてちゃんと考えておかないと問題が起きることがある。 例えば、ホスト内でのユーザーのuidが500だったとしよう。 $ id uid=500(ec2-user) gid=500(ec2-user) groups=500(ec2-user),10(wheel),497(docker) $ mkdir -p temp && touch temp/foo # 実験用に適当なディレクトリを作ってみる $ docker run -it -v $(pwd)/temp:/temp
Dockerイメージのサイズを1バイトでも削りたい皆さんに朗報です。 もうすぐリリースされるDocker 17.05でmulti stage buildという機能が導入される予定です。 こいつはこれまでのDockerfileの常識を覆す革新的な機能なのです。 Docker 17.05は本稿執筆時点では2017/05/03リリース予定となっており、現在はRC版が出てるので、気になる新機能を一足早くで試してみた。(2017/05/07追記:最終的に2017/05/04に正式リリースされました) とりあえずこの新しいシンタックスのDockerfileを見てほしい。 FROM golang:alpine AS build-env ADD . /work WORKDIR /work RUN go build -o hello main.go FROM busybox COPY --from=buil
上の2つがCLIで、下の2つがブラウザです。歴史的な経緯を見てみましょう。 〜1.1: go docはバンドルされているツールで、ソースもgo本体に同梱 1.2: go docは別のリポジトリにわけられてgodocになり、go本体から外れた 1.3: godocで-analysisオプションが追加 1.5: 新しい"go doc"コマンドがgo本体に同梱 1.11: godocがウェブだけになるため、go docを使えというアナウンスが出るように 1.12: godocが-httpだけをサポートしてCLIの機能は削除予定 1.13: godocのwebサーバーが同梱されなくなって手動でのインストールが必要に 1.13~: 既存のgodoc.orgから、go modのプロキシサーバーの情報をもとにドキュメントをホスティングするpkg.go.devが運用開始 わかりましたか?よくわかりませんよ
なにやらR言語界隈が盛り上がってるそうで。 こちらのIEEE SPECTRUMが発表している2015年の人気言語ランキングではついに6位にまで登ってきています。 この流れにのってR言語を始める人も多いと思いますので、ポイントをまとめておくメモです。 統計とか機械学習とかの内容ではなくプログラム言語としての部分ですのでご注意を。また、1からしっかりではなく、他の言語と違っているところ中心です。 追記: やっと続編も書けました。 プログラマーのためのR言語入門 その2 ~分析・表示編~ ざっくりとどんな言語? 統計の機能が盛りだくさんのスクリプト言語です。 似ている言語は?と聞かれるとPythonと答えています。 環境 以下をインストールします。 R言語 RStudio RStudioはR用のIDEです。R言語単体のインストールでも簡易なエディタはついてきますが、何かと便利なRStudioがお
または、いかに私は心配するのをやめてそこらへんで提供されているAPIを使うことを考え始めたか。 警告: 本記事は機械学習について解説するものではありません。失敗した人間の残したポエムです。 「やりたいこと」を決めずに始める 一般に(と、私が思っているだけかもしれませんが)、とりあえず「こういうのがやりたいなー」というのを決めて学習を始めるのは良いこととされています。 しかし、機械学習においては(これから機械学習をガチで研究すると心に決めているのでもなければ)、これは「良いこと」ではありません。ただの必須事項です。 「機械学習」というのは非常に範囲の広い言葉です。 というか、特に数年前から流行って多方面で利用されている Deep Learning に限ってなお滅多クソに広いです。 しかも界隈は略語まみれで、ある略語を調べようとすると略語が出てきて、それを調べようとするとまた、という無限ループ
前提条件 ローカルにPHP実行環境があること UTF8でのファイル操作ができること どうする Excelで作った表をMarkdownに変換しちゃいましょう。 まず、以下のスクリプトを適当にサクッと書いて保存しておきます。 <?php if(count($argv) !== 2){ echoUsage(); } $tsv_file = $argv[1]; $row = 1; if (($handle = fopen($tsv_file, "r")) === FALSE) { echoUsage($tsv_file." is not a readable file."); } while (($data = fgetcsv($handle, 1000, "\t","\"")) !== FALSE) { echo str_replace(array("\r","\n"), "", nl2br("
function percol-cdr () { local selected_dir=$(cdr -l | awk '{ print $2 }' | percol --query "$LBUFFER") if [ -n "$selected_dir" ]; then BUFFER="cd ${selected_dir}" zle accept-line fi zle clear-screen } zle -N percol-cdr これを読み込んで、おもむろに percol-cdr という 関数を 呼び出し、やった! これでぼくもナウいpercolユーザだ! ってやろうとすると $ percol-cdr percol-cdr:zle:4: widgets can only be called when ZLE is active percol-cdr:zle:6: widgets can
シェルスクリプト内でaliasを設定する要因 作成したシェルスクリプトを様々な環境で使用する場合に、aliasをシェルスクリプト内で設定したかった。 bash_profileなどに入れると他の環境で叩いた時に解決出来ないため。 以下、サンプルスクリプト。 #!/bin/bash shopt -s expand_aliases # GNUとBSDのsedでは-iのサフィックス仕様が異なる if sed --version 2>/dev/null | grep -q GNU; then alias sedi='sed -i ' else alias sedi='sed -i "" ' fi sedi -e “s/aaa/bbb/g” test.txt
PY3 not specified; inferring Python version from vim script: cannot set signal handler: Function not implemented script: cannot set signal handler: Function not implemented ./install.sh: line 26: [: : integer expression expected ./install.sh: line 29: [: : integer expression expected ERROR: No Python support detected PY3が特定できなかったのでvim scriptから推測? 期待されていない整数? Pythonのサポートが検知されない? 「知らんけどPY3って文字見たことある
Denite Denite.nvim is a dark powered Neovim unite all interfaces. It resolves unite.vim problems. It is 10 times faster than unite.vim. 暗黒の力を手に入れた云々。早い パッと動かしたい人は操作方法の項まで見れば動かせる文章構成にしています。 こんな感じ インストール python3を持ってないといけません。 pyenvとpyenv-virtualenvを使っている場合 # pyenv install 3.5.2 # 2016/9/22 update 後述するcpsmを利用する場合動的リンクを含む以下の方法でインストールしてください。 env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く