タグ

ブックマーク / qiita.com (1,374)

  • Go言語開発を便利にするMakefileの書き方 - Qiita

    Go言語開発での makeコマンド と Makefile Go言語の開発ではmakeコマンドをタスク自動化ツールとしてよく使います。 よく使うコマンド、自動化したいタスクをMakefileに記述しておくと、開発に使う複雑なコマンドをすぐに実行したり、チームで共有出来ます。 Makefileに対して、難しいイメージを持っているかもしれませんが、超基のMakefileの書き方はとてもシンプルなものです。 この記事の目的 Makefileの超基がわかる Go言語開発のタスク自動化ツールとしてのMakefileの書き方がわかる 前提知識 シェルスクリプト についての知識 書き始める前の準備 EditorConfigを設定して、タブ / スペース によるインデントのトラブルに会わないようにしましょう。 公式サイトにあなたのエディタが、EditorConfigをサポートしているか、プラグインの追加

    Go言語開発を便利にするMakefileの書き方 - Qiita
    ismage
    ismage 2018/10/18
  • Jupyter notebook を管理しやすくする Jupytext を使ってみた

    皆さん、Jupyter notebook は使ってますか? 今回は Jupytext という Jupyter notebook を管理しやすくなるツールを見つけたので使ってみました。 控えめに言ってめっちゃ便利なのでは!という感じだったので、しばらく使ってみようと思いつつ、簡単に紹介記事を書きました。 まだ使い始めなので、間違ってるよ!とかこうするともっと便利!などなど、ご指摘歓迎です Jupytext とは Jupyter notebook をより便利にするツールです。 Jupyter notebook は既に広く使われているツールですが、状態を保持したままトライアンドエラーがしやすく便利な反面、下記のように課題もあります。 Jupyter notebook 自体は便利だけど、コードを書くときはIDEなど別の使い慣れたエディタを使いたい .ipynb のファイルの中身は json で差分

    Jupyter notebook を管理しやすくする Jupytext を使ってみた
    ismage
    ismage 2018/10/12
  • GoでgRPCのserviceのinterfaceを実装したことにする - Qiita

    GogRPCを使って開発するときの課題 protoから生成されたコードを一緒のリポジトリで管理するか別のリポジトリで管理して取り込んで使うかという話がありますが、別のリポジトリのものを取り込む場合によくあるのがいつのまにかgRPCのserviceに新しいmethodが追加されていて自分の手元でビルドできない!という問題です。 例えば以下ような proto があった場合、

    GoでgRPCのserviceのinterfaceを実装したことにする - Qiita
    ismage
    ismage 2018/09/27
  • Tinderをpythonで自動化したら遅かったからgolangでgoroutine使って書いたらクソ速くなった話 - Qiita

    はじめに Daiさんがかなり前にTinderの自動化をpythonでやっていたので、それを参考に僕もpythonTinderの自動化を実装してみました。 Pynder PythonTinderAPIをいじる|Review of My Life あと、以下の記事も参考にしました。 世界中で大流行のマッチングアプリ、「t○nder」のAPIを用いて遠隔サイバーナ○パをしてみた pythonだとpynderというライブラリーがあるので簡単に実装できます。→GitHub が、1日分のいいねを使おうとするとたしか100人分(間違ってるかも)をいいねすることになるので、なんと26〜27秒もかかってしまいます。 別にそれぐらい良いじゃないかと思うかもしれないのですが、僕は早○漏なのでその30秒弱がどうしても待てませんでした。 そこで、速い言語を使ってさらに並列処理でいいねしてやろうと思いました。(

    Tinderをpythonで自動化したら遅かったからgolangでgoroutine使って書いたらクソ速くなった話 - Qiita
    ismage
    ismage 2018/09/25
  • Golangでリトライ可能なAPIクライアントを実装する - Qiita

    GolangにてAPIをリクエストした際、エラーとなって返却された際に間隔を空けてリトライ処理を行うようなAPIクライアントを実装しました。 はじめにAPIクライアントのコード全体を公開し、各処理毎の解説を後述します。 また、今回のAPIクライアントはGo 1.10.3で実装しております。 package main import ( "errors" "io/ioutil" "net/http" "net/url" "os" "strconv" "strings" "time" ) var ( ApiErrHttpClientError = errors.New("Http Client Error") ApiErrBadRequest = errors.New("400:Bad Request") ApiErrUnauthorized = errors.New("401:Unauthor

    Golangでリトライ可能なAPIクライアントを実装する - Qiita
    ismage
    ismage 2018/09/25
  • Go言語でgRPC使う 体系だった理解のためのメモ - Qiita

    Help us understand the problem. What are the problem?

    Go言語でgRPC使う 体系だった理解のためのメモ - Qiita
    ismage
    ismage 2018/09/25
  • すべてのPythonistaに知ってほしいimport順序をプロジェクト内で統一させる方法 - Qiita

    この記事 is 何? (TL;DR) Pythonのimport文の順序が人によってバラバラ問題を解決する isortを使ってimportをソートする pre-commitを使ってimport順序を守ってないコードはcommitできないようにする Pythonのimport順序が規約で定まっていない問題 Pythonのimport順序については、PEP8に以下のように記載されてます。 - Imports are always put at the top of the file, just after any module comments and docstrings, and before module globals and constants. Imports should be grouped in the following order: 1. Standard library

    すべてのPythonistaに知ってほしいimport順序をプロジェクト内で統一させる方法 - Qiita
    ismage
    ismage 2018/09/23
  • 本当にSSRする必要があるのか考えてみた話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Next.jsで開発中のブログサービス(Minimal Blog) まえがき 今回タイトルにしたSSRというのは、Server Side Renderingのイニシャルで、広義にはテンプレートエンジンを用いてサーバーサイドでHTMLを生成する手法も含まれるとは思いますが、以下説明しているSSRはクライアントで組み立てていたVirtualDOMをサーバーサイドで組み立てるアプローチのことを指すという認識でお願いします。 まずSSRは一体何を解決するためにあるのか、そこから考えていこうと思います。 SSRまでの経緯 だいぶ省略しますがページ

    本当にSSRする必要があるのか考えてみた話 - Qiita
    ismage
    ismage 2018/09/22
  • 自習:Learn Functional Python in 10 Minutesの和訳 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 元記事 この文書の意図 関数型プログラミングとPythonの自習として、上記サイトのエントリを翻訳してみる。したがって、私のこのエントリによって発生するいかなるトラブルについても責任を負うものではない。参考にすることを希望する読者は自己責任のもとで行うこと。 恐らく、執筆者はやわらかな雰囲気で書かれておられるので、和文はですます調とする。原文は少々砕けた調子である。今後、砕けた日語に変更することも視野に入れておこう。 翻訳間違いの指摘などのアドバイスはどんなものであれ嬉しく思います。お返事を保証できません が、全てのアドバイスに対して

    自習:Learn Functional Python in 10 Minutesの和訳 - Qiita
    ismage
    ismage 2018/09/19
  • Go Web Examplesの和訳 (Templates) - Qiita

    Go Web Examples - Templatesの和訳です。リンク等が整理された状態で和訳があると便利だと思い作りました。前回(Routing (using gorilla/mux))。 はじめに Gohtml/templateパッケージは、HTMLテンプレート用の豊富なテンプレート言語を提供します。主にWebアプリケーションで使用され、クライアントのブラウザで構造化された方法でデータを表示します。Goのテンプレート言語の大きな利点の1つは、データの自動エスケープです。 GoHTMLテンプレートを解析し、すべての入力をエスケープしてからブラウザに表示するので、XSS攻撃については心配する必要はありません。 はじめのテンプレート Goにテンプレートを書くのはとても簡単です。 この例では、HTMLの順序付けられていないリスト(ul)として記述されたTODOリストを示しています。 レン

    Go Web Examplesの和訳 (Templates) - Qiita
    ismage
    ismage 2018/09/19
  • k近傍法の原理とpythonでの実装 - Qiita

    内容 ・k近傍法とは ・pythonでの実装 目標 ・正しさより、イメージしやすさ重視での理論の説明 ・可視化するために二次元データで実装 k近傍法とは ざっくりいうと・・・ データの集まりのうち、異常度を調べたいデータをpとする。 pを中心とする円を考える。円を少しずつ大きくしていき、円に含まれる点の数がk個になったらその時の半径をεとする。 これがk近傍法の基的な考え方。 pが正常なデータの集まりから離れているとき、kは小さくなり、pの周りに正常なデータが多く存在するとき、kは大きくなる。 kを決めてデータを含むpを中心とする円の半径の最小値εの大きさで異常度を判定してもよい←今回はこれ 局所外れ値や、多クラスなどの機械学習に使われるk近傍法の応用的な理論はもう少し複雑ですが、とりあえず簡単な理論で実装しましょう。

    k近傍法の原理とpythonでの実装 - Qiita
    ismage
    ismage 2018/09/19
  • Goland で Ginkgo のテストファイルを実行する - Qiita

    はじめに Goland はデフォルトで Go の標準的な開発をする環境が整っているが、Ginkgo などの標準から外れたライブラリを利用する際には一手間必要になる。 標準の testing を使って書かれたテストファイルであれば、右クリックから Run や Debug を行うことができるが、Ginkgo のテストファイルはテストファイルとして認識されないのかそのままでは Run できないので Run Configuration を作成する必要がある。 バージョン Goland 2018.2.2 手順 メニューの Run > Edit Configuration で設定ウィンドウを開く + > Go Test で新しい設定を追加 Test framework を gotest Test Kind を File Files にテストファイル名を入力 Working directory にテスト

    Goland で Ginkgo のテストファイルを実行する - Qiita
    ismage
    ismage 2018/09/18
  • Go言語でJSONを扱う - Qiita

    Go言語でJSONを扱う Go言語でJSONを扱うことがあったので知見をまとめていきます. JSON形式のレスポンスを取得する ツイッターなどのAPIにリクエストを送って情報を取得する時,JSON形式で返却されることが多いと思います. Go言語では受け取るJSONの形式と同じ構造の構造体を定義して,その構造体にはめ込む形でJSONを取得します. シンプルなJSON形式を取得 まずは,オーソドックスなJSONを取得します.例えば,以下のような形式のJSONが返ってきたとします

    Go言語でJSONを扱う - Qiita
    ismage
    ismage 2018/09/15
  • ラズパイでスマートロックを作る話(Siriで操作できるまで) - Qiita

    ismage
    ismage 2018/09/15
  • TensorFlow内部構造解析 (2.1) Python層におけるグラフ構築 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    TensorFlow内部構造解析 (2.1) Python層におけるグラフ構築 - Qiita
    ismage
    ismage 2018/09/15
  • golang gorilla/mux vs chi - Qiita

    gocloc . --include-lang=Go --by-file --not-match-d=_examples -------------------------------------------------------------------------------------- File files blank comment code -------------------------------------------------------------------------------------- mux.go 63 248 148 middleware/throttle_test.go 52 9 143 middleware/compress.go 29 45 138 middleware/strip_test.go 26 6 115 middleware/lo

    golang gorilla/mux vs chi - Qiita
    ismage
    ismage 2018/09/15
  • Pythonで競プロに挑む日誌 vol.10 ~文字列調査~ - Qiita

    ABC の A, B 問題をコツコツ解く日々. 油断すると A 問題に足元をすくわれる. 現在の目標 今年の10月内に茶色を取得する ABS の問題を全部解く (完了) ABC の A, B 問題を全部解く←イマココ 年内に緑色を取得する ABC の C, D 問題を全部解く APG4b で C++ にも手を出す 今日の問題 ABC003B - AtCoderトランプ https://beta.atcoder.jp/contests/abc003/tasks/abc003_2 結果 #coding: utf-8 import sys S = input() T = input() lis_str = ["a", "t", "c", "o", "d", "e", "r"] for i in range(len(S)): if S[i] == T[i]: continue elif (S[i]

    Pythonで競プロに挑む日誌 vol.10 ~文字列調査~ - Qiita
    ismage
    ismage 2018/09/15
  • 【Go】net/httpパッケージを読んでhttp.HandleFuncが実行される仕組み - Qiita

    読者対象 Goの基的な文法を知っている リクエストがあると、関数が実行される仕組みを知りたい GoのWebApplicationFrameworkを使いこなしたい なぜやるのか? 普段、Webアプリケーションを作っているとリクエストがあると対応するパスに応じて関数を実行させる必要がありますが、 WAFを使っていると内部でどのような処理がされてそうなっているのか知らずに動かせてしまいます。 しかし、正しくWebアプリケーションフレームワークを使うこなすには、内部の実装についての理解が必要なので、この機会にnet/httpパッケージのDocumentを見ながら、リクエストがあると関数が実行されるまでの仕組みを調べました。特に、http.Handleとかhttp.HandleFuncとか似たような名前があって一見こんがらがりますが、Documentに簡潔に説明があったのでそこまで苦労することな

    【Go】net/httpパッケージを読んでhttp.HandleFuncが実行される仕組み - Qiita
    ismage
    ismage 2018/09/15
  • text/templateを用いた際の文字列の色付け - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    text/templateを用いた際の文字列の色付け - Qiita
    ismage
    ismage 2018/09/09
  • Proto3 Language Guide(和訳) - Qiita

    これはなに Protocol Buffers バージョン3の Language Guide の訳がありそうで見つからなかったので訳した. 原文:https://developers.google.com/protocol-buffers/docs/proto3 Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License and Apache 2.0 License for code samples. Language Guide (proto3) このガイドは,プロトコルバッファーデータを組み立てるために,どのように

    Proto3 Language Guide(和訳) - Qiita
    ismage
    ismage 2018/09/07