tomcha0079のブックマーク (1,759)

  • net module - golang.org/x/net - Go Packages

    Tips for writing clear, performant, and idiomatic Go code

  • GolangでWebSocketを使ったHTTPサーバを実装する - 技術メモ

    はじめに GolangでWebSocketを使ったHTTPサーバを構築します。 WebSocketの仕様は RFC6455 で定められています。Webアプリケーションにおいて、双方向通信を実現するための技術規格です。Ajaxではブラウザからサーバにデータの送信要求を出す手段でした。WebSocketではサーバからのデータをプッシュすることが可能になります。 GolangでWebSocketを扱うには golang.org/x/net/WebSocket パッケージを用いることができます。他にも存在します。 シンプルに実装することができて、type Handler func(*Conn) の func(*Conn) を実装すればよいです。 実装 package main import ( "fmt" "log" "math/rand" "net/http" "strconv" "time"

    GolangでWebSocketを使ったHTTPサーバを実装する - 技術メモ
  • WebSocketのキホン

    WebRTC活用事例 WebRTCを使ってこんなものつくりました VCMap - Video Chat on The MapYou_Kinjoh

    WebSocketのキホン
  • Japan.pm 2021を開催します!オンラインカンファレンスならではの独自企画など、見どころをご紹介 - YAPC::Japan 運営ブログ

    Japan Perl Association代表理事の id:karupanerura です。Japan.pm 2021の主催を行っています。 すでにTwitterとFacebookで告知していますとおり、2/18(木) 2/19(金) にオンラインカンファレンス、Japan.pmを開催します! yapcjapan.connpass.com Japan.pmとは? Japan.pmはYAPC::Japanに代わるPerlコミュニティのオンラインに特化したカンファレンスです。 今回が初めての開催となります。 私達Japan Perl Associationは、コロナ禍でのカンファレンス開催の可能性を、その必要性を含めて議論してきました。 その結果としてYAPC::Japanではなく、Japan.pmという全く新しいオンラインカンファレンスを開催する結論にたどり着きました。 これまでやってきた

    Japan.pm 2021を開催します!オンラインカンファレンスならではの独自企画など、見どころをご紹介 - YAPC::Japan 運営ブログ
    tomcha0079
    tomcha0079 2021/01/29
    続報キターー!!
  • ginを最速でマスターしよう - Qiita

    初めに ginとは何でしょうか ginはGoGolang)で書かれたWebフレームワークです。 httprouterのおかげで、最大40倍高速なパフォーマンスを備えたmartiniのようなAPIを備えています。パフォーマンスと優れた生産性が必要な場合は、Ginを好きになるでしょう。--公式ドキュメント パフォーマンスが良いのが売りらしいですが、他のGo言語のwebフレームワークと比較してみます。 人気ランキング githubのスターの多い順 Name Stars Forks Issues Open Issues Closed Birth Year Latest Update Author

    ginを最速でマスターしよう - Qiita
  • GoでTwitter認証をまとめてみた - Qiita

    こんにちわ ゴリラです。 最近Twitter認可機能を実装する必要があって、 全く知見がないのでこの際、仕組みを理解するために記事をまとめてみました。 内容の理解に間違いがありましたら、コメントで教えてくださいm(_ _)m 目的 今回はより気軽にサービスを利用してもらえるように、 普段使っているSNSアカウントでサービスにログインできるすることが目的です。 Twitterだと、診断系サービスを利用する時に、 認可を行ったりすることが多いですね。 認証と認可について 認証と認可の仕組みについては、こららの記事を参考にしました。 一番分かりやすい OAuth の説明 OAuth 2.0 + OpenID Connect のフルスクラッチ実装者が知見を語 TwitterはOAuthという認可の仕組みを使用しています。 ここで一つポイントですが、「OAuthは認証の仕組み」ではないということです

    GoでTwitter認証をまとめてみた - Qiita
  • Go/Gin/Gorm/Vue.js/MySQLで超簡単なSPAを開発 - Qiita

    はじめに Go言語で開発したWebアプリをローカルサーバーでデバッグする(VSCode)ことができましたので、 Go/Gin/Vue.js/MySQLでSPA(単一のWebページでアプリケーションを構成)を開発してみます。 ・フロントエンドはイマドキのWebアプリ風にSPAで開発したいためVue.jsを使用します。 JSフレームワークはAngularReactVue.jsなどがありますが、各々を比較検討し、 コンポーネント内記述がHTMLとJSとで独立しているのでソースをより綺麗に書けて、 双方向データバインディング(データと描画を同期する仕組み)と、 スモールスタートが可能なVue.jsを選定しました。 ・バックエンドはイケてる企業で流行りのGo/Ginを使用します。 Go言語のWAFは潤沢にありますが、各々を比較検討し、 比較的パフォーマンスと生産性が高く、日語ドキュメントもある

    Go/Gin/Gorm/Vue.js/MySQLで超簡単なSPAを開発 - Qiita
  • 知りたいことが有れば、勉強会を開いてみるといい…いや知らないから開いてみるといい - Magnolia Tech

    noteからの転載 吉祥寺.pmという勉強会をここ7年ほど運営している。 kichijojipm.connpass.com 「地域名」+「pm」という形式の勉強会は、昔はたくさん開催されていて、主にPerlの話題を扱う勉強会、という意味になる。つまり、吉祥寺.pmは、吉祥寺で開催されるPerlの勉強会、という意味になる、来は。 トーク15分、LT5分で、だいたい10件ほどの登壇枠を用意しているけど、最近はPerlの話題は1件〜2件になっていて(まだ有るのか!という話はさておいて…)、Java, Go, PHPなど、色々な言語や、プロダクトマネージャー、採用などなど…話題の幅は広がり続けている。 正直、運営も事前にどんな内容が話されるのか把握していないし、当日聞きながら「へー」と驚くことばかり。 とはいえ、最初はPerlのことをもっと知る機会が欲しい、必ずしも開催される勉強会に行くだけでは

    知りたいことが有れば、勉強会を開いてみるといい…いや知らないから開いてみるといい - Magnolia Tech
  • GolangでMVCなAPIサーバを作るときのディレクトリ構成とプロジェクト生成コマンド - Qiita

    Goの軽量Webアプリケーションフレームワーク(Echo, Gin)のディレクトリ構成 Golangの軽量Webアプリケーションフレームワークである、EchoやGinを使うとRuby on Railsのようにディレクトリ構成が特に決まっていないため、どのようにすれば効率的に開発できるのか悩みます。 しかし、最近いくつかGinやEchoを使ってAPIサーバを作成し、なんとなくディレクトリ構成が決まってきたので、共有します。 以下のリポジトリは後述する自動リポジトリ生成コマンドで生成されるプロジェクトの雛形です。 これについて説明をしていきます。 まずディレクトリを木構造で表示すると以下のようになります。 ├── README.md ├── config │   ├── config.go │   └── environments │   ├── development.yml │   └──

    GolangでMVCなAPIサーバを作るときのディレクトリ構成とプロジェクト生成コマンド - Qiita
  • 流行りに乗ってGo言語を使ってみた(インストールからHelloWorld表示まで) | TKブログ

    Go言語とは2009年、GoogleでRobert Griesemer、ロブ・パイク、ケン・トンプソンによって設計された。Goは、静的型付け、C言語の伝統に則ったコンパイル言語、メモリ安全性、ガベージコレクション、構造的型付け(英語版)、CSPスタイルの並行性などの特徴を持つ。Goのコンパイラ、ツール、およびソースコードは、すべてフリーかつオープンソースである。 また、軽量スレッディングのための機能、Pythonのような動的型付け言語のようなプログラミングの容易性、などの特徴もある。Go処理系としてはコンパイラのみが開発されている。マスコット・キャラクターはGopher(ホリネズミ)。 発表当初はLinuxMac OS Xのみしかサポートしていなかったが、2012年3月にリリースされたバージョン1.0からはWindowsもサポートされている。2014年12月にリリースされたバージョン1.

    流行りに乗ってGo言語を使ってみた(インストールからHelloWorld表示まで) | TKブログ
  • Ginを使ってみる(インストールからHelloWorld表示まで)【Go言語】 | TKブログ

    GinとはGinは、Go言語を使ったWebフレームワークです。 Go言語のフレームワークは、下記のようなものがWebフレームワークとして知られてますが Gin(ジン)Echo(エコー)iris(アイリス)Revel(レヴェル)Beego(ビーゴ)その中でも軽量で広く知られているフレームワークです。 GinのインストールGinフレームワークをインストールする場合は、下記のコマンドでインストールできます。 $ go get -u github.com/gin-gonic/gin 簡単なWebアプリを作る・helloworld.go package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { router := gin.Default() router.LoadHTMLGlob("content/html

    Ginを使ってみる(インストールからHelloWorld表示まで)【Go言語】 | TKブログ
  • はじめてのGolang+WebSocket - Qiita

    はじめに 今回はGolangとWebSocketを用いて、簡単な送受信サービスを作ってみようと思い立ち、 どうせならとメモ兼情報共有として初記事にしてみたいと思います。 あまり深い話はないので、まだGolanger歴浅いけど、とりあえずGolangでWebSocketサーバーを書きたくて書きたくて毎日寝不足でうなされている方が対象になると思います。 サンプルコード メッセージを送信すると、サーバーから何らかのメッセージが返ってくるだけのサービスです。 https://github.com/nekozuki-dev/go-websocket-sample 通信データ形式 まずはクライアント/サーバー間のやり取り形式を決めておきます。 今回は扱いやすくコードもシンプルでいけるJSONを採用してみます。 idにはメッセージの識別IDを、bodyにはデータ体を入れ、受信時にどの処理を呼ぶべきかわ

    はじめてのGolang+WebSocket - Qiita
  • 「コロナよ、お前はすごくない」 ”コロナ、お前すげーわ” の医師が示す新型コロナ4つの弱点(國松淳和) - エキスパート - Yahoo!ニュース

    私は東京都の都心の外れ・八王子市というところにある小さな総合病院に勤務する内科医、國松淳和です。 さて、コロナ。「ウィズコロナ」なんて言葉があるようです。私の周りでこの言葉を使う医療従事者を見たことがないので「ウィズコロナ」のことは正直よくわかりません。識者に聞いてください。 前回の記事で、「敵ながらあっぱれ・コロナお前なかなかやるな」という趣旨のことを確かに私は書きましたが、「ウィズコロナ、一緒にいたい」なんて1ミリも思っちゃいません。一緒になんて絶対いたくないです。敵のことはリスペクトしますが、この戦いには絶対勝ちたいです。何としても封じ込めを目指したいです。 前回は「コロナ、お前すげーわ」という点について述べましたが、今回は「コロナよ、お前はすごくない」という点についてまとめましたのでどうぞお読みください。 確かに狡猾なウイルスだなと思わされる一方で、コロナにも弱点があると思います。

    「コロナよ、お前はすごくない」 ”コロナ、お前すげーわ” の医師が示す新型コロナ4つの弱点(國松淳和) - エキスパート - Yahoo!ニュース
  • どうやってコーディングを学ぶか - Magnolia Tech

    CPANに上がってるモジュール、一つ一つの粒度が小さいから読みやすいし、ドキュメントもテストもしっかり揃ってて挙動を把握しやすくて、自分にとっては最高の教科書だったな 今でも他の言語で分からない時に同じ目的のPerlモジュールを見る事があるし— magnoliak🍧 (@magnolia_k_) 2021年1月7日 自分が学んだ頃の、時代的なものもあるけど、今でもPerlのモジュールは粒度が小さく、ドキュメント、テストがしっかり用意されているので、参考にするにはちょうど良いと思っている。 ScalaScalatraっていうWAFのメンテナンスに参加しているんだけど、HTTPプロトコルだったり、Webのお作法的なところが分からないことが有ったら、たいていPlackか、Rackのソースを見て理解するところから始める、みたいなことしてる— magnoliak🍧 (@magnolia_k_)

    どうやってコーディングを学ぶか - Magnolia Tech
    tomcha0079
    tomcha0079 2021/01/08
    このテスト駆動開発の本がオススメなのか。
  • Perl5 で Exercise に挑戦してみる(追記あり) - sironekotoroの日記

    ってことで、巷で話題の Exercise に挑戦してみました。もちろん Perl5 で。 anatofuz.hatenablog.com うちは手元にある Macでやってみます。まだ Big Sur にあげておらず、Catalina です。 Exercism への登録は GitHub の ID と連携しました。 ecercism コマンドはいつも通り、homebrew でインストールします。 $ brew install exercism 手元の環境では久々に brew するので色々と警告が出たりしましたが、題と関係薄いので飛ばします。 exercism コマンドが無事入りました。 この辺りは登録直後のページ右側にあります。モダンな感じのページですね。 早速、最初の課題に取り組みます・・・が、API を設定しなよ!って出てくるので書いてある通りに設定します。親切。 $ exercism

    Perl5 で Exercise に挑戦してみる(追記あり) - sironekotoroの日記
  • プログラマーのための YAML 入門 (初級編)

    はじめに YAML について 基的な書き方 配列 ハッシュ 配列とハッシュのネスト ブロックスタイルとフロースタイル コメント スカラーとデータ型 複数行の文字列 アンカーとエイリアス タブ文字について その他 XML との比較 表記法について 概念について インライン要素について データ型について 改行や半角スペースの扱いについて データバインディングについて ツールについて その他 終わりに 参考文献 著者について プログラマーのための YAML 入門 連載一覧 書いた人:kwatch はじめに YAML とは、構造化されたデータを表現するためのフォーマットです。 目的は XML と似ていますが、XML と比べて「読みやすい」「書きやすい」「わかりやすい」という利点があります。 また YAML はあくまで「仕様」であり、それを処理するライブラリの「実装」が必要です。 Ruby 1.8

  • 勉強は得意だけどスポーツや人付き合いが苦手なタイプの人は「意識ですべてを制御しようとしすぎ」てるのかも

    shinshinohara @ShinShinohara 学校の勉強はまあまあ得意(あるいはものすごく得意)だが、スポーツが苦手、人付き合いも苦手、というタイプの人が結構いる。マジメで不器用なタイプ。こうした人はなぜ不器用なのだろう?ずっと観察してきた結果、「意識ですべてを制御しようとし過ぎ」ではないかということに気がついた。 2021-01-02 08:09:18 shinshinohara @ShinShinohara こうした不器用タイプの人たちを見事に指導する人がいる。「新インナーゲーム」の著者。テニスの壁打ちがとても下手な生徒がいた。ボールを打つと、強すぎて打ち返せなかったり、今度は弱すぎて跳ね返ってこなくなり。 著者は次のように声をかけた。 「ポン、ポン、ボーン」 2021-01-02 08:13:33 shinshinohara @ShinShinohara 壁に当たって「ポ

    勉強は得意だけどスポーツや人付き合いが苦手なタイプの人は「意識ですべてを制御しようとしすぎ」てるのかも
  • Go Codereview Comments

    原文 目次 go fmt Comment Sentences Contexts Copying Crypt Rand Declaring Empty Slices Doc Comments Don’t Panic Error Strings Examples Goroutine Lifetimes Handle Errors Imports Import Blank Import Dot In-Band Errors Indent Error Flow Initialisms Interfaces Line Length Mixed Caps Named Result Parameters Naked Returns Package Comments Package Names Pass Values Receiver Names Receiver Type Synchronous Fun

  • 子どもの誤えん・誤飲やケガの対処法をまとめたシールが参考になる ローソンのマルチコピー機で配布中

    記事はアフィリエイトプログラムによる収益を得ています 長野県の佐久医師会と佐久市によるプロジェクトチーム「教えて!ドクター」が、年末年始に注意が必要な子どもの誤えん・誤飲や、ケガの対処方法、救急車の呼び方など、情報をまとめたシールを配布しています。ローソンの新型コピー機で出力できるので、それぞれ目立つ場所に貼っておくと、いざという時に役立ちそうです。 例として「誤えん窒息に繋がりやすいべ物」のシールでは、つるつる・もちもちなどの種類別にべ物の例を挙げ、どういう風にべた方が良いといった注意事項を分かりやすく説明。他にも子どもの症状等によって救急車を呼ぶべきかが分かる「誤飲対処早見表」や「やけど受診目安」「頭をぶつけた受診目安」など、起こり得る事故に対応した情報がまとめられています。 「誤えん窒息に繋がりやすいべ物」シール(出典:保育施設などにおける事故予防ガイドライン) 「誤えん

    子どもの誤えん・誤飲やケガの対処法をまとめたシールが参考になる ローソンのマルチコピー機で配布中
  • vimの環境をlsp用に一新した - よっしーのblog

    vimの環境構築 自分の環境 mac book pro late 2017 Darwin Kernel Version 19.4.0 iterm2 Build 3.3.9 vim 8.2 やりたかったこと lspの導入 snippetも deopleteも使いたい 非同期でファイルの実行をしたい 導入したプラグイン dein 言わずと知れたプラグインマネージャー これがないと始まらない vimproc 非同期でいろんなことができるライブラリー vim-lsp vim のlspクライアント(複数あるけど後述のvim-lsp-settingがあるしこっちにした) vim-lsp-setting lspのめんどくさい設定をまるっとやってくれる(便利すぎて不便なくらい) async.vim vim-lspに必要なので入れた(normalize async job control api for v

    vimの環境をlsp用に一新した - よっしーのblog