タグ

ブックマーク / qiita.com (42)

  • Pythonで暗号化と復号化 - Qiita

    import base64 from Crypto import Random from Crypto.Cipher import AES class AESCipher(object): def __init__(self, key, block_size=32): self.bs = block_size if len(key) >= len(str(block_size)): self.key = key[:block_size] else: self.key = self._pad(key) def encrypt(self, raw): raw = self._pad(raw) iv = Random.new().read(AES.block_size) cipher = AES.new(self.key, AES.MODE_CBC, iv) return base64.b64e

    Pythonで暗号化と復号化 - Qiita
  • https://qiita.com/nyarla/items/ba3f05c7c2c7bd6490e8

  • core.asyncでメインループを手に入れる - Qiita

    core.asyncなるライブラリが約1ヶ月前にリリースされましたが、皆さん使ってみましたか? 僕は昨日、今日とClojureScriptで使ってみました。各所の記事を見ていてもなにが嬉しいのかいまいちわからなかったんですが、さきほどやっとピンときたのでシェアさせてください。 とても簡単なゲームを、イベント駆動、FRP、core.asyncのgoブロックをそれぞれ使って書いてみます。 ゲームの仕様 コード量をなるべく減らすためにギリギリまで要素を切り詰めます。昔のBASICポケコンのゲームにも見劣りする程です。(参考: ポケコン哀歌) 1次元空間をプレイヤーが歩き回ることができるローグライクゲームです。1次元空間なので、プレイヤーはx座標だけを持ちます。ローグライクなのでプレイヤーの移動はvimキー、つまりh j k lを使いますが、上下方向はないので左への移動にh(キーコード72)、右へ

    core.asyncでメインループを手に入れる - Qiita
  • Mac始めて6年目にして、使い続けている開発ツール73選 - Qiita

    先日Macを再インストールするに当って、いい機会なので使ってないツールを省き使っているツールを厳選してインストールすることにした。あまり増やす気はなかったが、使うものだけ入れても73個になった。 コマンドライン ツール管理 brew-cask: HomebrewでMacアプリをインストールできる。 brew-gem: Homebrewでgemツールをインストールできる。 brew-pip: Homebrewでpipツールをインストールできる。 npm: Node.jsのパッケージ管理ツール。 DevOps ansible: Python製の構成管理ツール。Chefから乗り換え。 boot2docker: MacDockerを使える。 packer: 仮想マシンのイメージを作るのに便利。 Git git: バージョン管理ツール。 hub: GitHubのコマンドラインクライアント。プルリク

    Mac始めて6年目にして、使い続けている開発ツール73選 - Qiita
  • Ansible コトハジメ - Qiita

    Ansible を15分程度で「もう使えそう」と感じてもらうために書きました。 Ansible はプロビジョニング用アプリケーションです。 同じ目的のものでは Chef、Puppet などがあります。 Ansible の特徴だと感じたのは、とても簡単ですぐ実用できることです。 Chef で挫折してしまった私(不勉強ですみません)も、一日で仕事で必要なことができました。 簡単というと Fabric (やCapistrano) がありますが、環境構築やデプロイには Ansible が強いと感じます。 Python で書かれたものですがユーザーは YAML でタスクを書きます。 以下の作業で Python は出てきますが、Ansible をインストールする以外では質的に不要なのでご安心(?)ください。 次を前提とします。 Vagrant に Ubuntu 13.10 が用意されていること Ma

    Ansible コトハジメ - Qiita
  • Go の Test に対する考え方 - Qiita

    この記事は Go Advent Calendar 2013 の 9 日目の投稿です。 今回は、 Go の testing というパッケージの使い方を解説しようと思ったのですが、 それだとつまらなすぎるので、合わせて Go が test というか assert についてどういうスタンスをとっているかを書いてみます。 Go でテスト さて、「テストのないコードはレガシーコード」などと言われて久しく、様々な言語が test (主に Unittest) について言語レベルでサポートしたり、デファクトなライブラリが確立したりといった状況が、今日では至って普通のこととなっています。 そんな言語や環境で、息をするようにテストを書いてきたみなさんが、はじめて Go でコードを書く時に見るべきは testing パッケージです。 http://golang.org/pkg/testing/ 命名規則 では、

    Go の Test に対する考え方 - Qiita
  • 「Goの宣言構文について」を翻訳してみた - Qiita

    Go's Declaration Syntax(Goの宣言構文について) 2010/7/10 はじめに Goを新たに学びに来た人にはGoの宣言構文は、Cの伝統的な構文となんだってこんなに違うんだと思っているでしょう。 Goの宣言がなぜ今の形になってしまったかについて二通りのアプローチから比較し、説明させていただきます。 Newcomers to Go wonder why the declaration syntax is different from the tradition established in the C family. In this post we'll compare the two approaches and explain why Go's declarations look as they do. Cの構文について まず最初に、Cの構文について話させてください

    「Goの宣言構文について」を翻訳してみた - Qiita
  • 動的言語だけやってた僕が、38日間Go言語を書いて学んだこと - Qiita

    Go言語を始めて38日たったので、これからGo言語を始めるプログラマにちょっとでもヒントになるように、どのようにGo言語を始めて、どのような手順で学んできたかまとめておきます。 筆者のバックグランド PHP歴、JavaScript歴10年~ Python 3ヶ月くらい Ruby 1日 静的言語経験ほぼ皆無(Java 3日くらい、Scala 3日くらい、Objective-C 1週間くらい、Cそもそも挫折、C# 1日) 静的言語というと、「コンパイルの一手間が面倒」だとか「環境を作るのが面倒」だとか先入観があり、ほぼわず嫌い状態でした。 Go言語とは? Go言語は2009年にGoogleによって作られたオープンソースの静的言語で、LinuxMacWindowsAndroidで動作します。最近ではGoogle App Engineで使うこともできます。 golang.jpの解説によると

    動的言語だけやってた僕が、38日間Go言語を書いて学んだこと - Qiita
  • 【翻訳】プロダクション環境でのベストプラクティス - Qiita

    Qiitaは2ヶ月ぶりです。 GopherCon2014でSoundCloudの方がプロダクションでGoをどう使うかというところで発表されていたようです。その内容がブログで公開されていたので、僕の勉強も兼ねて翻訳することにしました。 英語は得意でないのですが、ザクッと訳してみました。きっと間違い有るので、どうかご指摘ください。 元ネタ:http://peter.bourgon.org/go-in-production/ スライド:https://github.com/gophercon/2014-talks/blob/master/best-practices-for-production-environments.pdf SoundCloudでは、たくさんのクライアントに対してAPIの形でプロダクトを提供するようにしています。ですから、ウェブサイトやモバイルクライアント、モバイルアプリの

    【翻訳】プロダクション環境でのベストプラクティス - Qiita
  • 知ってるようで知らないPythonの特殊コーデック - Qiita

    Pythonの文字列オブジェクトには、文字列を特定のコーデックでエンコード/デコード操作が可能ですが、その中で今まであまり知らなかったコーデックを紹介します。 base64 これはご存知の方が多いかと思いますが、文字列を Base64 文字列にエンコード/デコードします。

    知ってるようで知らないPythonの特殊コーデック - Qiita
  • 【入門】Vimで高速で移動~プラグインなしでの移動まとめ~ - Qiita

    最近聞かれたので、 自分がよく使うVimの移動コマンドをまとめてみました。 プラグインいらずの素のVimですが、 プラグインなしで十分高速に移動できます。 特に一行一文字検索のfコマンドとか、 変更してきた箇所をもどれるg;コマンドとかが使えてくると当に便利です。 あっ、この記事は主にファイル内の移動に限っています。 基移動 初心者はまず、矢印キーを脱却して、h, j, k, lへ。 10jのように数字を先に打つと、一気に数字分移動できる コマンド 移動内容

    【入門】Vimで高速で移動~プラグインなしでの移動まとめ~ - Qiita
  • 機械学習や統計に関する情報収集 - Qiita

    機械学習界隈の情報収集方法 http://d.hatena.ne.jp/kisa12012/20131215/1387082769 いきなりですが上記の記事に機械学習に関する有力な情報源がまとまっています。まずはここを参考にするのが良いかと思います。ただ情報が多すぎですので、筆者は Wikicfp と arXiv.org あたりの論文、それにはてなブックマークをチェックしています。 また論文については機械学習の論文を探すにも良い情報がまとまっています。こちらも参考になります。 機械学習は日進月歩の世界ですので、最新の査読済み論文を追って概略だけでも理解する能力を身に付けると良いかと思います。 書籍としては次の 2 冊が聖書とも言える必読書で、気で機械学習をやりたければ必ず参考になるかと思います。 パターン認識と機械学習 (上・下) http://www.amazon.co.jp/dp/4

    機械学習や統計に関する情報収集 - Qiita
  • Clojure CookbookのCreative Commons公開版をKindleで読む - Qiita

    Clojure Cookbook出版! Clojure Cookbookが米国で出版されました[1][2]. この書籍は,クリエイティブ・コモンズ(非営利・改変禁止)ライセンスでgithubにおいて公開されています[3]. というわけで,貧乏な人間としては,mobiフォーマットに変換してKindleで読めるようにしたいですね! 注:貧乏で無い人はお金を出して買いましょう. さて,githubのREADME.mdを見ればわかるように,このasciidocというツールを用いて書かれています。以下の手順を踏むことで、これをmobiフォーマットに変換することが可能です。環境はMacOS Xを想定しています。インストール以外は他プラットフォームでも同じはずです。 準備 macportsを使って必要なツールをインストールします。

    Clojure CookbookのCreative Commons公開版をKindleで読む - Qiita
  • Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming) - Qiita

    Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming)agilelean はじめに Kent Beck氏がスタートアップのイベントに登壇し、素晴らしい講演をしたビデオを友人のタイムラインから見つけました。Startup Lessons Learnd: Kent Beck talks beyond agile programming アジャイルマニュフェストは10年が経過して、誰かの為にソフトウェアを作っていた時代から、スタートアップの時代に移行し、内容が一部古くなっていました。ところがこの講演でKentBeck氏は、それに対する素晴らしい回答をしてくれています。この内容が2010に行われているとは驚きです。 今回、このビデオを未熟なりにディクテーションして、適当ですが、日語訳を作ってみました。人に承認を取るつも

    Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming) - Qiita
  • Git for Windows で日本語を使いたい - Qiita

    追記(2.x): Git for Windows は2015年8月にリリースされた 2.5.0 以降日語まわりの問題もいくつか改善されているので追記しました。 2.x 系では開発ベースも変わり、もはや msysgit ではなくなったので、稿のタイトルも変更させていただきます。 "Git for Windows"(いわゆる Git Bash)は Windows 上で git 利用を可能とする bash シェル環境だ。 Gitが使えるだけでなく、オールインワンで基的なコマンドを備え、 ssh, perl, curl などのツールも入っていて、cygwin なんかに比べお手軽かつお得な環境だ。 筆者の周りでは "Git Bash" で通用している。 かつては日語を扱うのが面倒であったが、1.8.3 から Bash 上で日本語入力できるようになるなど、最近の状況はだいぶよくなっている。 $

    Git for Windows で日本語を使いたい - Qiita
  • Light Tableの使い方 (序章) - Qiita

    ちょっと前にkickstarterで20万ドルを集めて話題となったLight TableというIDEですが、順調に開発が進んでいてClojureアプリの開発に十分使えるレベルになっています。 完成したあかつきには、どういうライセンス体系になるのか不明ですが、現状は「Try the alpha」という位置づけで、自由に試してみることができます。 上記サイトから、Mac OSX、Windiws、Linux それぞれパッケージがあるのでダウンロードしてインストールします。 起動するとオシャレ感ただようウィンドウが開きますが、Clojureのコードを動かすために、バックエンドでJarファイルを取りに行ったりするので、プロキシ環境下で使う場合には、環境変数http_proxyとhttps_proxyを設定しておくとよいかと思います。 Clojureを試してみたい場合には、メニューのView -> C

    Light Tableの使い方 (序章) - Qiita
  • 1.3, 1.4, 1.5: Clojureの過去、現在、(とても近い)未来 - Qiita

    はじめに 『プログラミングClojure』が発売されてから、もうすぐ3年が経ちます。原著である"Programming Clojure"の第一版はClojure 1.0の時代に書かれたもので、日語版も当時開発中だった1.1における変更点を訳注で補足していますが、基的に1.0ベースです。 Clojureのコードが登場する日語の書籍は他にも『7つの言語 7つの世界』や『実践プログラミングDSL ドメイン特化言語の設計と実装のノウハウ』などがあります。しかし、タイトルから分かるようにClojureはこれらのでは数あるトピックの一つであり、読めばClojureの要素に一通り慣れ親しむことができるというわけではありません。Clojureも「比較的古びていない書籍は皆英語で書かれている」というよくあるパターンにハマっています。 Pythonが「Pythonらしさ」を保ちながらも、より「Pyth

    1.3, 1.4, 1.5: Clojureの過去、現在、(とても近い)未来 - Qiita
  • Clojure - 実用的なプログラムの話をする - Qiita [キータ]

    Clojure で実用的なプログラムを書く こんにちわ、wozozoです。 最近、netty 4ベースのフレームワークを書いてるのですが、速度問題でほぼJavaで書いてしまい、書くことがなくなったので過去に作った実用的なプログラムの話をします。 algo.monads の話でも良かったのですが、他に書かれる方がいるでしょう。 たぶんこんなんを書かれると思います。 (ns cljinja.lexer (:use [clojure.algo.monads]) (:require [clojure.string :as str]) (:import [java.util.regex Pattern])) (def ^:dynamic *block-begin* "{%") (def ^:dynamic *block-end* "%}") (def ^:dynamic *variable-begi

    Clojure - 実用的なプログラムの話をする - Qiita [キータ]
  • Go言語でWebAppの開発に必要なN個のこと - Qiita

    元ネタ あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずGo言語について知っていることを書いた。 パッケージマネージャ 標準でついてるgoツールを使おう。必要なライブラリはリポジトリから、go getで取ってこよう。 http://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies アプリケーションサーバ 標準パッケージのnet/httpパッケージを使えばhttpサーバを動かすことができる。apacheやnginxで動かしたかったら、標準パッケージのnet/http/cgiパッケージやnet/http/fcgiパッケージを使えばいい。 http://golang.or

    Go言語でWebAppの開発に必要なN個のこと - Qiita
  • Python+FlaskなwebアプリをJenkinsでウイーン - Qiita

    (-_-).oO(タイトルは気にしない事、考えるの面倒なんだよ) はじめに Python+FlaskなwebアプリをJenkinsでビルドしまくるようにしたのでそのメモ。 ディレクトリ構成はこんな感じ(見せたくないディレクトリは消してます)。 % tree -d . ├── env (virtual env) ├── project │   ├── app │   ├── conf │   ├── logs │   ├── models │   │   └── mongo │   ├── services │   ├── static │   ├── templates │   ├── tests │   │   ├── app │   │   ├── cover │   │   ├── data │   │   ├── models │   │   │   └── mongo │   │

    Python+FlaskなwebアプリをJenkinsでウイーン - Qiita