タグ

futtafuttaのブックマーク (961)

  • そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita

    Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、pythonruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos

    そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita
  • Golang用GUIキットgxuiをCentOSで使う - Qiita

  • MQTTでPub/Subしてみる - Qiita

    MQTTって何? MQ Telemetry Transport。メッセージキュープロトコルの1つ。 標準化されたメッセージキュープロトコルには、 AMQP(Advanced Message Queuing Protocol)、MQTT、STOMP(Streaming Text Oriented Messaging Protocol)などがありますが、MQTTの特徴を挙げると 軽い:プロトコル電文仕様が軽量で且つシンプル Pub/Sub型:データ配信モデルに特化、Queueモデルはサポートしない。そのためJob Queueモデルを利用した負荷分散には向かない QoS(Quality of Service)の指定ができる:クライアントとBroker間の通信品質を3つのQoSとしてパラメータ指定可能 QoS0:最高1回。最も軽い。メッセージが確実に届く保証はない、メッセージ配布に失敗しても再送を

    MQTTでPub/Subしてみる - Qiita
  • golang.org/x/net/websocketの使い方とkuiperbelt - Qiita

    import ( "io" "golang.org/x/net/websocket" ) func EchoHandler(ws *websocket.Conn) { io.Copy(ws, ws) } *websocket.Connはio.ReadWriteCloserが実装されており、クライアントから来たWebSocketのメッセージは*websocket.Conn.Readで読むことができ、また*websocket.Conn.Writeで送ることができます。なので、io.Copyで逐次読みだして同じ内容をまた書き込むことで簡単にecho serverを書くことができます。 これをサーバに組み込むのも簡単です。 import ( "net/http" ) func main() { http.Handle("/echo", websocket.Handler(EchoHandler))

    golang.org/x/net/websocketの使い方とkuiperbelt - Qiita
    futtafutta
    futtafutta 2015/12/03
    https://t.co/VLeIVkFYiyの使い方とkuiperbelt - Qiita
  • GoのChannelを使いこなせるようになるための手引 - Qiita

    Go使いたくなる理由の一つに、マルチスレッドプログラミング的なものを高速な言語で安全に実装したいというのがある。Goにおいてそれを支えるのが、自前で実装した軽量スレッドといえるgoルーチンと、mutexなどのロックの代わりに使えるChannelという概念だ。 実際に実装するときに、Goルーチンは難しくないが、Channelを使うのは割と知識と経験が必要なのでここでは、Channelについてすこし詳しく書いてみる。 Message Passing まずは理論から。 Goのチャネルなどのロックを使わない方法の並行処理はMessage Passingと呼ばれている。 以下の英語Wikipediaにあるように数学的な理論にもなっているしっかりした枠組み。 ErlangのActor Modelなどもこの仲間。GoのチャネルとActor Modelは、実は、同等の概念で表現方法が違うだけらしい。 (

    GoのChannelを使いこなせるようになるための手引 - Qiita
  • dbr – Go 言語 O/R Mapper の紹介

    Go その2 Advent Calendar 2015 – Qiita 1日目のエントリ第一弾です。(第二弾: Echo – Go 言語 Web Framework の紹介) 当社では現在プロダクトの開発に Go言語 を利用しています。開発の中で得られた知見を徐々に公開していきます。 Go 言語で利用されるデータベース関連パッケージでは、O/R Mapper に位置づけられる gorm や gorp、 QueryBuilder の squirrel が広く知られています。 今回のエントリでは、おすすめの O/R Mapper dbr を紹介します。 gocraft/dbr – Github dbr は、現在 Star の数では gorm や gorp に比べ少ないですが、2015年9月に更新された V2.0 で機能が大幅に強化され、これから人気が高まるのではないかと予想しています。 dbr

    dbr – Go 言語 O/R Mapper の紹介
  • Go言語で REST API + マイクロサービス - Qiita

    Go その2 Advent Calendar 2015 2日目です。 今日書くこと APIを提供するためのコード APIを利用するためのコード マイクロサービス (・∀・)ィィイイ!! かもしれない やれなかった / この記事には書いていないこと 以下サンプルで利用するコードは こちら。 お手元で起動する1 ための手順は READMEをご覧ください。 APIを提供するためのコード Go言語には APIのためのよさげなフレームワークはありますが、 今回はそれらを使わずともかんたんに APIサーバが作れることをお伝えしたく。 ベースとなっている元ネタは A RESTful Micro-Framework in Go これなのですが ここから、やりたいことができるように変えていった結果をサンプルに、 どうすれば APIサーバが書けるのかを記します。 まず、APIのエンドポイントが実装すべきインタ

    Go言語で REST API + マイクロサービス - Qiita
  • GoのGUIライブラリshinyを試す #golang - Qiita

    はじめに この記事は、2015年のGo Advent Calendarの1日目の記事です。 GoのAdvent Calendarは他にも2つあり、他の日担当の方は以下のとおりです。 Go その2:iktakahiroさんのdbr – Go 言語 O/R Mapper の紹介 Go その3:awakiaさんのGoのChannelを使いこなせるようになるための手引 この記事は2015年12月1日時点の情報を基に書いています。また、情報が少ない中、shinyのプロポーザルとソースコードを基に筆者なりに解釈した結果を書いていますので、間違いや勘違いを含んでいるかもしれません。間違いや勘違いを見つけた方は、ぜひコメントか編集リクエストを頂ければと思います。 なお、使用しているリビジョンは48f611b013d6f6fbecb58f8212b1152abb23b928です。 shinyはまだ始まった

    GoのGUIライブラリshinyを試す #golang - Qiita
  • Google Maps JavaScript API のコントロール スタイルが新しくなりました

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

    Google Maps JavaScript API のコントロール スタイルが新しくなりました
  • 時代はシェルスクリプト - Qiita

    らしい。 さあ、始まりました Shell Script Advent Calendar 2015 1 日目。思ったよりも AC 全体として盛り上がりなさを感じているのは自分だけでしょうか。 タイトルからして恐れ多いですが、1 日目だしいいでしょ感で書いています。 なんで今更 「今更そんな枯れツール使わんしょw」勢が一定数いることも知っていてのこのタイトルです。 意外にもシェルスクリプトってのは根強く使われ続けていて、以下に面白いグラフがあります。 via The RedMonk Programming Language Rankings: June 2015 これは RedMonk 社が、2015年1月版のプログラミング言語ランキングを発表したもので、GitHub での各言語の使用率と、Stack Overflow での発言量を元に作られた相関グラフです。 Shell が意外にも人気ですね

    時代はシェルスクリプト - Qiita
  • Go 1.5 & 1.6の新機能のおさらい

    Goは実運用の事例が最近多く出ています。 なんで最近実用的に使っている開発者が増えているのでしょうか。 実は互換性を待ちながら、便利な機能が たくさん出てくるのがその理由の一つです。 9月にリリースされたGo 1.5と開発中のGo 1.6の新しい機能を紹介します。

    Go 1.5 & 1.6の新機能のおさらい
  • オブジェクト指向言語としてGolangをやろうとするとハマること - Qiita

    埋め込み(embedded)に要注意というお話です。あるいは、GolangC++のようなゼロオーバーヘッドを目指していると考えれば腑に落ちるよね、的な。 Goはオブジェクト指向言語っぽく使うことができます。次のような機能を提供しています。 interfaceを使ったコーディング 埋め込み(embedded)を使った実装継承 インタフェースは次のような感じです。 // ポニーは歩ける type Pony interface { Walk() } // アースポニーも歩けるので、Ponyインタフェースに渡せる type EarthPony struct { } func (ep *EarthPony) Walk() { fmt.Println("歩くよ") } インタフェースはメソッド宣言しかかけません。実装は書けません。でも、定義されたメソッドを持てば、それはすべて「これの仲間だ」という感

    オブジェクト指向言語としてGolangをやろうとするとハマること - Qiita
  • クライアントサイド JavaScript を使用時に OAuth で OpenStreetMap の API を使用する手順 - Qiita

    クライアントサイド JavaScript を使用時に OAuth で OpenStreetMapAPI を使用する手順JavaScriptOAuthOpenStreetMap OpenStreetMapAPI を利用した開発を行う際、特定の API では追加の手順が必要となる事が有ります。追加の手順は現在2通り有ります。 1つは BASIC 認証 を利用した方法、もう1つは OAuth を利用した方法です。 前者に関しては、 HTTP 接続の場合アカウント情報が漏れてしまうため、利用する場合は後者の OAuth になると思います。今回はクライアントサイドの JavaScript を利用している時に、 OAuth で OpenStreetMapAPI へ接続する方法の手順を紹介します。 API テスト用 OpenStreetMap への登録 開発途中はテスト用 OpenSt

    クライアントサイド JavaScript を使用時に OAuth で OpenStreetMap の API を使用する手順 - Qiita
  • HTTPのPOSTメソッドで送信された画像をOpenCVで操作するApacheモジュール - Qiita

    前回、AWS SDK for C++を使ってS3にある画像をOpenCVで操作してみました。今度はHTTPのPOSTメソッドで送信された画像をOpenCVで操作するApacheモジュールを作ってみたくなったので試してみます。 これを作ります アップロードされた画像の顔を検出して四角で囲んで表示します。 ApacheのモジュールをC++で書きたい C++でApacheモジュールを書きたいんです。OpenCVの3.0でC言語関数形式のインターフェイスはメンテナンスが終了しているためC++を使うことが推奨されてますし。openCV will drop C API support soon 「ApacheのモジュールってCで書かれてるんじゃない?」って私も思っていましたが、どうやらC++で書けるみたいなんですね。こちらが非常に参考になりました。 試しに一丁モジュールを作って動かし、C++を使ってA

    HTTPのPOSTメソッドで送信された画像をOpenCVで操作するApacheモジュール - Qiita
  • Linux で計算機クラスタを作る (1. ネットワーク構築) - Qiita

    必要に迫られて計算機クラスタを作ったのでその手順を解説します。 何を作ったのか うちの研究室では高性能なCPU/GPU を搭載したマシンを数台所有しており、使いたい人に配って個別管理してもらっていたのですが、このたび使いたい人が増加し、話し合って融通するのも面倒なので、ジョブ管理システムを備えたクラスタを構築することにしました。あくまで稼働率向上のためのクラスタ化なので、ノード間並列機能は備えておりません。 記事は「ユーザーとしての Linux の操作にはひと通り慣れたけど、ネットワークの詳しい知識は持ってない」という人を対象に書いています。つまり僕くらいの人です。詳しい人から見ればところどころ勘違いがあると思いますがご了承願います。 環境 OS: Ubuntu Server 14.04 Network: Gigabit Ethernet ジョブ管理: Torque サーバー用途としては

    Linux で計算機クラスタを作る (1. ネットワーク構築) - Qiita
  • コーディング不要!直感的にホームページ作成できるWebサービスWix

    コーディング不要!直感的にホームページ作成できるWebサービスWix Wixはコーディング不要で、ドラッグ&ドロップの簡単操作だけでホームページを作ることができるWebサービスです。 投稿日2015年11月30日 更新日2015年11月30日 500種類のテンプレートから選択できる Wixには無料で使えるテンプレートがあらかじめ用意されています。 ビジネスやブログ、ポートフォリオなどカテゴラズされているので、目的にあったテンプレートをすぐに探すことができます。 海外サービスではテンプレートが日語で使いにくいというのはよくありますが、Wixでは日向けのテンプレートもあるので安心ですね。 さまざまなコンテンツをドラッグで追加、見たまま直接編集 ページ編集にコーディングの知識は一切不要です。 デザインカンプを作るようにドラック&ドロップで直感的に編集し、そのまま公開することができます。 左メ

    コーディング不要!直感的にホームページ作成できるWebサービスWix
  • vimの新機能 ( 7.3.610~7.4.1685 ) - Qiita

    概要 http://vim-jp.org/magazines.html の新機能をまとめてみました まとめ 7.3.610: "gn"、"gN" コマンドが追加されました。 7.3.629 : 'shiftwidth' オプションに 0 を設定することで 'tabstop' の値を使 うように設定できるようになりました。 7.3.631 : :edit ~user でユーザー名の補完ができるようになりました。 :command に -complete=user が追加されました。 7.3.632 : SGR形式の拡張マウストラッキングのサポートが追加されました。 対応端末で 222 以上の座標を扱えるようになります。 7.3.688 : Python 3.3がサポートされました。 7.3.693 : 'softtabstop' を -1 に設定することで、'shiftwidth' と同じ幅

    vimの新機能 ( 7.3.610~7.4.1685 ) - Qiita
  • Melon - Go製のWebフレームワーク

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました ここ最近Goで様々なソフトウェアが作られるようになっています。最も有名なところとしてはDockerがあるかと思いますが、CLIだけでなくGoはWeb上でも利用ができます。 今回はそんなGoを使ったWebフレームワーク、Melonを紹介します。特にRESTful APIの開発に向いたフレームワークです。 Melonの使い方 Melonの一例です。例えばHello Worldを返すコードは次のようになります。 package main import ( "net/http" "os" "github.com/goburrow/melon" "github.com/goburrow/melon/core" ) // resource is the HTTP handler of the

    Melon - Go製のWebフレームワーク
  • Tableauの基礎の基礎(地理情報を使ったビジュアライズ) - Qiita

    最近、AWSとセットで導入されるBIツール「Tableau」について、基的な使い方をまとめてみました。「Tableau」は非常に簡単なツールなので、エクセルを使える人なら簡単にデータを可視化することができます。 2019年8月3日追加 情報を一部アップデートし、再編集したものを自身のブログに公開しました。こちらをご覧ください。 https://tadaken3.hatenablog.jp/entry/tableau-mapTableau」については以下のサイトもご覧ください。 Tableau公式サイト Tableau Desktopで出来る事のまとめ Tableau Publicのご紹介 ~Web上で使える可視化に優れたBIツール~|分析環境を考える 今回は無料で使えるtableau Publicを使用しています。製品版のtableau Desktopと機能的にはほとんど、変わりませ

    Tableauの基礎の基礎(地理情報を使ったビジュアライズ) - Qiita
  • プログラマーがSSH周りで知っておくと良いこと - Qiita

    はじめに 今となってはこの辺で困る事は無いのですが、初めてLinuxを触った時に基的な事がわからなくて困ったので同じように困る人向けに書いておきます。 誰かの役に立てれば嬉しいです! 高度な事を書いているのではなく、SSH周りで基的に使われる事を書いてます。 ※なお、クライアントはMacを想定してます。 SSHって・・・? Secure Shellの略称であり、コマンドです。 通称はSSHやSSHコマンドなどと呼ばれます。 SSHはWindowsでいうリモートディスクトップです。 自分のPCから他のPC(主にサーバー)へ接続して、他のPCを操作するための接続手段です。 Windowsのリモートディスクトップで接続する場合はGUI(Graphical User Interface)という画像などを使って視覚的に操作しやすい方法で操作します。 一方で、SSHで接続する場合はCUI(comm

    プログラマーがSSH周りで知っておくと良いこと - Qiita