サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
blog.fujimisakari.com
この記事はEmacsのAdventCalandar2016の12日目の記事です。 今回はプログラミングに役立つelisp10選ということですが、 メジャーなelispでなく若干マイナーであろうと思うelispをセレクトしました。 10選したelispはこんな感じです。 highlight-symbol expand-region クォートやブラッケットを一括で括る sort-line smooth-scroll rainbow-delimiters swap-window-positions bm-goto anzu ace-jump highlight-symbol三拍子揃ってるelispと思っており、とても重宝してます。 機能としては、カーソル中のシンボルにハイライト(背景色)を設定してくれ、同じシンボル名であればジャンプ移動が可能です。 所感 これを使いだしたらプログラミング効率がか
Webアプリケーションを開発する上での設計パターンついて ある程度自分の中で知見がまとまったのでつらつら書いてみる。 ここで指してる設計パターンが何なのかというと、 機能を開発するための業務ロジック設計ではなく システム全体の構造の大枠を定義するための設計パターンになります。 なぜ設計が必要なのか設計方針を決めないまま開発していると、個々それぞれの実装経験やドメイン知識などが異なるので スキルに応じたフリーライティングとなり実装パターンがバラつきコードの可読性や保守性が下ってきてます。 これを防ぐために、システム構造の大枠の設計を定義します。 設計を導入することにより、どの機能はどこの書けばよいのかが明確になるので 誰が実装してもある程度同様の実装方針となります。 また、局所的な視点から見て不恰好なコードがあっても、 全体的な視点から見ればコードのレイアウトがきれいに整った構造になるので
もともと並行プログラミングはGoなども含め勉強したことがありましたが、ゴルーチンやチャネルなどの理解度が低いまま扱っており、今読んでるコード、書いているコードがどうゆう並行ロジックパターンに元づいて実装してるのかロジック像が掴みきれず時間を取ってしまう状況でした。そのため、この並行ロジック辺りのパターンをある程度まとめてみることにしました。 実装パターンは次のように整理してみました。 基本的な並行パターン バッファなしチャネルパターン バッファありチャネルパターン 並列forループパターン タスク生成と処理を分けるパターン(Producer-Consumerパターン) パイプラインパターン(fan-outパターン) selectを利用したチャネル多重化パターン selectとワーカープールを組み合せた多重化パターン Feture/Promiseパターン 基本的な並行パターンGoでまず一番最
今さら感がありますが、最近よくGoを使っててあらためてEmacs環境を整備したのでざっくりまとめてみます。 メジャーモードの導入(go-mode)まずGo言語のためのメジャーモードのgo-modeで入れます。 シンタックスハイライトやインデント、goコマンドをelispインタフェース通して利用できるようになります。
ユーザー認証関連で認証フローパターンやToken種類などいろいろあるけど その時ググッて調べてもすぐ忘れてしまうので以下についてまとめみる。 ユーザー認証パターン Access Tokenの種類 ハッシュについて ユーザー認証パターンよく見るサーバサイド認証フローを以下からの利用パターンで見てみる App(Naitive Application) Web(Web Application) SPA(Single Page Application) ID/PW ID/PWはもっとも一般的なユーザー認証で認証時にAccess Token発行 or Session開始して通信を行います。 Appの場合では、発行されたAccess TokenをAuthorization Headerで利用してステートレスなAPI通信を行う。 Webの場合では、Sessionで認証を維持しCookie(Session
全体的な構成として大きく以下の2つがバランスよく書かれてるようでした。 言語をつくる工程の技術や設計の考えるポイントをコードを含めて紹介 プログラミグ言語の歴史や言語オタクMatzとしての意見をエッセイでまとめてる 前者は、技術のレクチャーが多少あるものの基本はgithubからソースをcloneしてTagから章に合った コードを読んで理解していく感じになります。僕はC言語の基礎やライブラリなどの理解が低いため、 printデバッグ → コンパイルを繰り返しながらコードを動き見ていきました。 コードの動きだけ見ても、まだキッチリ理解できなかったことも多くC言語についてもっと精通した上で 再度読み直したいと感じました。 後者では、プログラミングが動作する基盤や仕組みの紹介とかは言語共通なのですごく勉強になりました。 言語によって採用してるモデルやデザインが全然異なる話とかは、Matzならではの
この記事はDjangoのAdventCalandar2016の21日目の記事です。 Djangoのサードパーティのdjango-actionlogについて紹介します。 django-actionlogについてdjango-actionlogはRequest毎に任意の出力形式でDjangoのシステム関連ログを残すことができます。 対応出力形式は以下の3つがあります 標準出力 File出力 fluentd ユースケース大きなユースケースとしては以下で利用してます パフォーマンスログを残す User毎のアクセスログとして 任意のログを残す 開発時のrequest毎パフォーマンス確認 パフォーマンスログを残すdjango-actionlogを利用すると、リクエスト毎に以下のパフォーマンスログが残せます。 正常時 time url view_name request_id status_code m
この記事はDockerのAdventCalandar2016の20日目の記事です。 すでにさんざんありますがDockerでのFuelPHP開発環境の構築方法は紹介します。 今回のPHP開発環境は以下で実装します。 Webサーバ: Nginx APP: FuelPHP, PHP-FPM DB: MySQL KVS: memcached, Redis 構築環境はMacのDocker-machine上にDocker-composeで上記の区切りでコンテナを別に立てます あとDBとKVSについてはデータを永続化させるよう対応します。 コンテナ構成 NginxのコンテナにAppコンテナをマウントし、静的コンテンツへのアクセスはNginxで返します。 また、APPコンテナで生成されたPHP-FPMのUnixSocketもマウントしており動的コンテンツは UnixSocketを通してPHP-FPMにリク
この記事はPythonのAdventCalandar2016の15日目の記事です。 Goでネットワークプログラミングの投稿に引き続き、Pythonでネットワークプログラミングの いくつかのパターンを実装してみましたのでサンプルコードと簡単な解説をしたいと思ってます。 以前、このLinuxネットワークプログラミングバイブルを読んで 第5章のIOの多重化の部分が非常に興味深くハンズオンしてきちんと理解したいと思ってたので C言語で書かれていたロジックをPython3.5.2で書き直してみました。 まず、投稿タイトルのネットワークプログラミングについては、 TCPプロトコルを利用したサーバ側のSocket通信の実装を指してます。 Socket通信にて、シンプルな通信からI/O多重化、非同期I/O、ノンブロッキングI/Oを利用したパターンを紹介し、 これらの実装を実現するための技術として、sele
この記事はAdventCalandar2016のGo(その2)の6日目の記事です。 Goとネットワークプログラミングの勉強でかねてSocket通信のいくつかのパターンを実装してみました。 あまり解説は無くほとんどコードですw 実装パターンは以下になります。 シングルクライアントでの通信 マルチクライアントでの通信 マルチクライアントでselectとchanelを組み合せた通信 シングルクライアントでの通信1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 import ( "fmt" "net" "os" ) func newListener() *net.TCPLis
この記事はAdventCalandar2016のReactの4日目の記事です。 今年の夏にReactを勉強したのでその時の感じたことやハマッたことなどの知見を共有できたらと思います。 まず、自分のJSレベルとしてはWebアプケーション開発でjQueryもしくは素のJSで UIの何らかのイベントに対してDOMやサーバー(ajax)に対して、アクションを設定するレベルです。 あと、個人でAngularJSを利用してSPAのWebアプリを開発したことがありました。 Reactを学ぶにあたっては、チュートリアル以上のことはできるようになりたかったので 勉強がてらSPAのWebアプリを開発してみようと思いました。 環境の選定最初にReactを開発する上でいろんな組み合わせがネット上で紹介されてますが 以下のtomoyaさんの記事を参考に環境選定しました(ほぼそのまま利用) http://d.hate
Emacsでmarkdownをプレビュー確認したいなーと思い 探してみたら以下が見つかった。 http://qiita.com/garaemon/items/2a551f6da3380950b21c ただ、もう使ってなw3mだったのでewwでも見れるようにした。 ( defun markdown-preview-by-eww () ( interactive ) ( message ( buffer-file-name )) ( call-process "grip" nil nil nil ( buffer-file-name ) "--export" "/tmp/grip.html" ) ( let (( buf ( current-buffer ))) ( eww-open-file "/tmp/grip.html" ) ( switch-to-buffer buf) ( pop-t
このページを最初にブックマークしてみませんか?
『blog.fujimisakari.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く