タグ

2017年6月16日のブックマーク (16件)

  • かけ足で学ぶ Golang その4 〜データベース操作〜 - A Memorandum

    前回は H2 データベースの準備を行いました。 blog1.mammb.com 今回はデータベース操作を行っていきます。 ドライバのインポート データベース接続 テーブル作成とレコードの挿入 Query h2パッケージの作成 ドライバのインポート postgres のドライバはいろいろありますが、ここでは github.com/lib/pq を使います。 go get しましょう。 $ cd $GOPATH $ go get github.com/lib/pq ドライバが取得できたら、ドライバ github.com/lib/pq と、組込の database/sql をインポート指定します。 import ( "database/sql" _ "github.com/lib/pq" ) github.com/lib/pq はプレースホルダとして _ を指定してインポートします(変数名を指定

    かけ足で学ぶ Golang その4 〜データベース操作〜 - A Memorandum
  • CompletableFutureの使い方の基本形とFutureTaskとの連携例 - seraphyの日記

    Java8から利用可能になったCompluteableFutureとは、他言語におけるDeferredとかPromiseパターンといわれるものと同等のものであり、これにより並列処理を直列的に記述できるようになる。(つまり超便利。) 基的な使い方 もっとも簡単な使い方としては、CompletableFutureが用意している静的コンビニエンスメソッドであるrunAsyncか、supplyAsyncを使う。 たとえば、以下のようなものになる。 1つのタスクの完了後に処理を継続する例 ExecutorService es = Executors.newCachedThreadPool(); ... CompletableFuture<String> cf = CompletableFuture.supplyAsync(() -> heavyWork("job1"), es); cf.whenC

    CompletableFutureの使い方の基本形とFutureTaskとの連携例 - seraphyの日記
    hikazoh
    hikazoh 2017/06/16
  • ラムダのオブジェクトはどう作られるか - きしだのHatena

    ラムダは匿名クラスのシンタックスシュガーだとか言われますけど、オブジェクトの作られ方が違いますね。 というのを検証してみます。 (jdk1.8.0_112で動かしています) ループの中でhogeにラムダを渡して、hogeでオブジェクトを表示します。 まず匿名クラスを使ったコード。 public class LambdaObj { public static void main(String[] args) { for (int i = 0; i < 2; ++i) { hoge(new Runnable() { @Override public void run() { } }); } } static void hoge(Runnable r) { System.out.println(r); } } 実行するとこう。 myproject.LambdaObj$1@15db9742 myp

    ラムダのオブジェクトはどう作られるか - きしだのHatena
    hikazoh
    hikazoh 2017/06/16
  • Bashにおけるリダイレクト - メモの日々(2017-05-24)

    ■ [shell][unix] Bashにおけるリダイレクト おれはリダイレクトを雰囲気で使っている。たまに混乱するので気になる所を調べてメモしておく。使用するシェルはBashとする。 ファイルディスクリプタ リダイレクトを理解するにはファイルディスクリプタを理解する必要があるだろう。ファイルディスクリプタをどう表現するのが正しいかよくわからないが、 入出力先を持つ非負の整数 でどうだろうか。入出力先はファイルや画面、キーボードなどになる。 プロセスは生成されたときに0,1,2という3つのファイルディスクリプタを持っている。これらが入出力先として何を持っているのかは親プロセスが決めることであり、プロセス自身は関知しない。 リダイレクトとは シェルがリダイレクトで行うのは、 新しいファイルディスクリプタを作成しその入出力先を設定する。 既存のファイルディスクリプタの入出力先を変更する。 ファ

    Bashにおけるリダイレクト - メモの日々(2017-05-24)
    hikazoh
    hikazoh 2017/06/16
  • Bashのexecコマンド - メモの日々(2017-05-25)

    ■ [shell][unix] Bashのexecコマンド Bashにはexecという組み込みコマンドがある。このコマンドには command が指定されていない場合、任意のリダイレクトはカレントシェルで効果を持ち、 終了ステータスは 0 となります。 という機能がある。これはシェルが持つファイルディスクリプタを操作する目的に使える。例えば、 $ exec >/tmp/oreore を実行すると、ファイルディスクリプタ1(標準出力)の出力先が /tmp/oreore に変更され、以降このシェル上での標準出力への出力は画面ではなく /tmp/oreore に対して行われるようになる。 (ファイルディスクリプタやリダイレクトについては昨日のメモを参照せよ)

    Bashのexecコマンド - メモの日々(2017-05-25)
    hikazoh
    hikazoh 2017/06/16
  • flockコマンドを使用して二重起動を防ぐ - メモの日々(2017-05-29)

    ■ [shell][unix] flockコマンドを使用して二重起動を防ぐ Linux上でコマンドの二重起動を防ぐにはどうするか。flockコマンドを使うのがよさそう。 flockコマンドは指定ファイルをロックしてコマンドを実行するコマンド。-n オプションによりロック中の場合は直ちに処理を終了できる。 $ flock -n lock echo hello flockにはファイルではなくファイルディスクリプタを指定することもできて、この場合はそのファイルディスクリプタを閉じるまでロックが維持される。シェルスクリプトの中で排他制御を行うときはこのモードを使とよい。シェルスクリプト自身を入力用にオープンしてロックするのがお手軽。 #!/bin/bash set -e ( flock -n ${my_fd} || exit 1 sleep 5 echo hello ) {my_fd}< "$0"

    flockコマンドを使用して二重起動を防ぐ - メモの日々(2017-05-29)
  • Bashで乱数 - メモの日々(2017-05-31)

    ■ [shell] Bashで配列 Bashでは a=(a b c d e) のように()を使うと配列を生成することができる。 要素の参照 echo ${a[0]} #=> a echo ${a[1]} #=> b echo ${a[-1]} #=> e echo ${a[@]} #=> a b c d e echo ${a[@]:2} #=> c d e echo ${a[@]:2:2} #=> c d 要素数とインデックスの参照 echo ${#a[@]} #=> 5 echo ${!a[@]} #=> 0 1 2 3 4 要素の追加と削除 a+=(hello) && echo ${a[@]} #=> a b c d e hello a[100]=world && echo ${a[@]} #=> a b c d e hello world unset a[2] && echo ${a

    Bashで乱数 - メモの日々(2017-05-31)
    hikazoh
    hikazoh 2017/06/16
  • Bashで計算 - メモの日々(2017-05-31)

    ■ [shell] Bashで配列 Bashでは a=(a b c d e) のように()を使うと配列を生成することができる。 要素の参照 echo ${a[0]} #=> a echo ${a[1]} #=> b echo ${a[-1]} #=> e echo ${a[@]} #=> a b c d e echo ${a[@]:2} #=> c d e echo ${a[@]:2:2} #=> c d 要素数とインデックスの参照 echo ${#a[@]} #=> 5 echo ${!a[@]} #=> 0 1 2 3 4 要素の追加と削除 a+=(hello) && echo ${a[@]} #=> a b c d e hello a[100]=world && echo ${a[@]} #=> a b c d e hello world unset a[2] && echo ${a

    Bashで計算 - メモの日々(2017-05-31)
    hikazoh
    hikazoh 2017/06/16
  • Bashで配列 - メモの日々(2017-05-31)

    ■ [shell] Bashで配列 Bashでは a=(a b c d e) のように()を使うと配列を生成することができる。 要素の参照 echo ${a[0]} #=> a echo ${a[1]} #=> b echo ${a[-1]} #=> e echo ${a[@]} #=> a b c d e echo ${a[@]:2} #=> c d e echo ${a[@]:2:2} #=> c d 要素数とインデックスの参照 echo ${#a[@]} #=> 5 echo ${!a[@]} #=> 0 1 2 3 4 要素の追加と削除 a+=(hello) && echo ${a[@]} #=> a b c d e hello a[100]=world && echo ${a[@]} #=> a b c d e hello world unset a[2] && echo ${a

    Bashで配列 - メモの日々(2017-05-31)
    hikazoh
    hikazoh 2017/06/16
  • WPFでICommandとINotifyPropertyChangedを使う - メモの日々(2017-06-12)

    ■ [c#] WPFでICommandとINotifyPropertyChangedを使う WPFではボタンやメニューをクリックしたときにICommandを実装したクラス(コマンド)のメソッドを呼び出す仕組みがある。また、INotifyPropertyChangedを実装することでViewModelの状態変化をViewへ通知することができる。これらの機能を使った次のプログラムを作ってみた。 追加ボタンをクリックするとテキストボックスの内容を画面下部に追加する。このときテキストボックスの内容はクリアする。 テキストボックスが空だとボタンはクリックできない。 MainWindow.xaml <Window x:Class="Hello.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xm

    WPFでICommandとINotifyPropertyChangedを使う - メモの日々(2017-06-12)
    hikazoh
    hikazoh 2017/06/16
  • Webサイト開発にCSS in JavaScriptを使うのはやめよう | POSTD

    9つのおとぎ話 CSSは迷走しています。JavaScriptでドキュメントをスタイリングしているプロジェクトでは、多くの場合誤った理由からその方式を選択しています。稿では、よくある誤解(神話)を列挙し、そうした問題に対するCSSソリューションを紹介します。 稿は、特定のプロジェクトや人物への攻撃を意図するものではありません。ここでは、“CSS in JavaScript”(CSS in JS)を styled-components を使用することと定義します。これは、Reactのコンポーネントをスタイリングする最近のトレンドとなっています。 styled-components の作者である Max Stoiber と Glen Maddern 、また彼らに協力した人々は皆、卓越したアイデアと善意にあふれる優秀な人々です。 完全な透明性のために断っておくと、私は react-css-mo

    Webサイト開発にCSS in JavaScriptを使うのはやめよう | POSTD
  • Big Sky :: Re: Go言語感想文

    幾らか言いたい事があったので。 Go言語感想文 - なるせにっき 序 最近、敵情視察を兼ねた仕事ととしてGoでアプリケーションを書いていた。このアプリケーションがどんなものかはそのうち id:tagomoris さんがどこかで話すと思うけれど、この コンポーネント ... http://naruse.hateblo.jp/entry/2017/06/02/203441 GoroutineとChannel Goroutineはようするにスレッドなんですが、文法と実装の支援でより気軽に使えるのが他の言語との違いでしょうか。なので、Goroutineをどれだけほいほい使うべきかというコスト感覚を身につけることがとても大事な気がします。Rubyなどとは気持ちを切り替えていく必要があるでしょう。ぼくはまだ切り替えきれていません。 Goroutine はスレッドではありません。Goroutine はコ

    Big Sky :: Re: Go言語感想文
  • Big Sky :: ネットワーク構成を変更した直後に Cygwin や msys2 が激遅になる問題の解決方法

    今日、LAN ケーブルを抜いた直後に msys2 の cat コマンドを実行したらハングする事に気付いた。 これはまずい。なんかに感染してる。cat コマンドと言いながらどこかインターネットにアクセスしてるんや! と思って色々調べた。が実は cat コマンド君悪くなかった。すいませんすいません。 一部の記事では /cygdrive/ のアクセスがあるから hosts に cygdrive を足せば良いといった物もあったが、デマっぽかった。以下、調査した最終結果を書いていく。Cygwin や msys2 のコマンドは所有者や権限情報を取得する為に LDAP 経由でアクティブディレクトリに問い合わせを行う。例えば cat foo.txt と実行した場合であってもファイルの権限を UNIX エミュレーションする為に必要となる。で、このアクティブディレクトリへの問い合わせが LAN が抜けてるとタ

    Big Sky :: ネットワーク構成を変更した直後に Cygwin や msys2 が激遅になる問題の解決方法
  • Developers Who Use Spaces Make More Money Than Those Who Use Tabs - Stack Overflow

    Capture, share, & collaborate on knowledge internally. Do you use tabs or spaces for code indentation? This is a bit of a "holy war" among software developers; one that's been the subject of many debates and in-jokes. I use spaces, but I never thought it was particularly important. But today we're releasing the raw data behind the Stack Overflow 2017 Developer Survey, and some analysis suggests th

    Developers Who Use Spaces Make More Money Than Those Who Use Tabs - Stack Overflow
  • Dockerでよく使うコマンドまとめ

    🐯 docker run/start/stop/rm/commitの概念図docker run/start/stop/rm/commitの役割の概念図です。 参考元:Dockerにおけるコンテナのライフサイクル 😀 docker psdocker psはDockerコンテナの状態を確認するコマンドです。

    Dockerでよく使うコマンドまとめ
  • 「Windows 7」の「Windows Update」の確認が終わらない場合の対策方法について

    皆様、こんばんは。 今回の投稿は、「Windows 7」の「Windows Update」の確認が終わらない場合の対策方法に関する投稿となります。 それでは今回の投稿にまいりましょう。 【スポンサーリンク】 はじめに さて改めまして今回の投稿は、「Windows 7」の「Windows Update」の確認が終わらない場合の対策方法に関する投稿になります。 「Windows 7」がインストールされているパソコン環境については、2015年の年末頃から以下のように「Windows 7」の「Windows Update」の更新プログラムの確認が終わらないという問題が発生するようになりました。 <「Windows Update」の更新プログラムの確認> 特に「Windows 7」がインストールされているパソコン環境を初期化したり、長期間にわたって「Windows Update」の更新プログラムを適

    「Windows 7」の「Windows Update」の確認が終わらない場合の対策方法について