サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
会話術
cocu.hatenablog.com
flaskとuwsgiとnginxでwebアプリケーションを組んでみようとした時に、 謎のエラーが出てハマったのでめも nginxをバーチャルホストを使って次のような感じに #/etc/nginx/site-available/hoge.conf upstream hoge{ server unix:///run/uwsgi/app/hoge/socket; } server{ listen 80; server_name hogehoge.typowriter.org; location / { uwsgi_pass hoge; include uwsgi_params; } } /var/uwsgi/hoge/test.pyが本体スクリプトで、以下のような感じ from flask import Flask app=Flask(__name__) @app.route('/') def
だらだらやっていた就活が数ヶ月前に終わり,そのときの経験談と考えたことを来世の周回プレイのときに使えるように もしくは役に立つ人がいるかもしれないので 徒然とメモったものがこちらになります. 生存バイアスが多い気がするので念頭に置いてください. この記事はいわば自己満足なので,こういうの 嫌いな方はそっ閉じ でお願いします.:bow: 前提 大学入学当初 普通科高校の高校生だった. 大学入学時当初はプログラミングもできないし(HSPの既存コードは弄れるけど0からは書けない) SSHがスーパーサイエンスハイスクールのことだとおもってた. 高校時代は,エンジニアではなく研究者志望であった. (金にならないと聞いていたのでエンジニアも考えていた) 大学入学後 筑波大学 情報学群 情報科学類に入学(coins12) エンジニア界隈ではちょっと有名なところ ソフトウェアエンジニアとして成長するには,
TLで逆ポーランド記法の話題が流れてたので「ワンライナーでどう書こうかな」と思って書いてみました。 縛りは ワンライナーで書く セミコロン(;)は使わない なるべくゴルフ できたのがこちら globals().__setitem__('c',(lambda x,y:globals().__setitem__(x,y)))or c('p',lambda:globals()['s'].pop())or c('i',__import__('itertools'))or c('e',lambda x:x in'+-*/'and eval('%(a)d%(b)s%(c)d'%{'c':p(),'b':(x=='/'and'//'or x),'a':p()}))or i.dropwhile(lambda x:True,(c('l',[y for y in raw_input('> ').split('
Queueというとpythonには3つのQueueが存在します. multiprocessing.Queue 17.2. multiprocessing — プロセスベースの並列処理 — Python 3.5.2 ドキュメント queue.Queue 17.7. queue — 同期キュークラス — Python 3.5.2 ドキュメント asyncio.Queue 18.5.8. キュー — Python 3.5.2 ドキュメント asyncio.Queue は get()がコルーチンであることから明らかに違います.またthread-safe/process-safeではありません queue.Queue はthread safeであり,thread間のやり取りには使えますがprocess間では使えません. multiprocessing.Queue はthread safeかつproc
#ArchLinuxInstallBattleお疲れ様です。 MacBookProにArchLinuxをインストールするときにこのあたりを見ながら、 https://wiki.archlinux.org/index.php/MacBook https://wiki.archlinux.org/index.php/MacBookPro11,x https://wiki.archlinux.org/index.php/GRUB $ grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck --debug のようなコマンドを叩き grub-install: info: copying `/boot/grub/x86_64/core.efi' -> `/boot/efi/EFI
市販のルーターをちょっと触って怖いなと思ったことを書いてみました。 市販されているルーターは本来のルーターの機能とwifiアクセスポイントとしての機能を兼ねていることが多いので、この記事ではアクセスポイントの機能も含んでルーターと表記します。 初期設定のままにしてるのは怖い 無線APとかの初期設定のまま使っている人*1まわりを見てみるといますよね。これでWEPなのは当然危ないですし、「簡単に設定できる」を謳った商品は初期パスワードが固定だったりします。データベース作れば普通に入れてしまうと思ったりしました。 先日amazonでポチったwifi APの設定のパスワードが12345678だったりして普通の人は変更しないし怖いなと思ったことがありました。 Web管理画面の脆弱性が怖い 2013年3月にルーターがCSRFという脆弱性を含んでいるという例がありました。 「Aterm」のルーター設定画
タイトルほぼそのまま。最近はPythonもSVGも捨ててRustにハマってます。 動機 研究の実験コードをRustで書こうと血迷った結果、threadpoolを書く必要が出てきて、そのthreadpoolのqueueをFIFOやpriority queueに変える必要がでてきた。 具体的にはtraitをjavaでいうinterfaceのようにして、振る舞いを変更したい。 古来のOOPにおいては、strategy patternという名前がついているので、それをrustでやりたい。 調べる シングルスレッドは、偉大なる先人が既にやっていた。 github.com 結論 シングルスレッドにおいては、trait Behaviourに対して、Box<Behaviour+'a> をつかう。 雰囲気はこんなかんじ。 trait Behaviour { fn run(&self); } struct Y
おしごとでC++かこうと思ってごにょったときに、vim configsの設計が1.5年前ぐらいと古くてアレだったので neovimとdein.vimに移行した次第です。 おしごとはほっぽりだしてvimいぢりしてました。(vimあるある) 「configの設定こだわるよりコード書け」と私も思いますが息抜きだと思いたいです。 私はvim力がひくいので何かご指摘や助言がありましたらよろしくお願いします。 github.com おしながき (旧式)私流vim confと設計思想 dein.vimをそれとなく読んでbetterな設計を考える dein.vimを利用した私流vim conf構成紹介 (旧式)私流vim confと設計思想 よくやるようにgithubの.dotfilesレポジトリを~/.dotfilesにおいて、 ~/.vimと~/.vimrcにシンボリックリンクをはるようにしています。
このまえHな講義*1を受けてたあとに、@polamjag 氏とダベってたら 「音割れ音源復元できないか」 みたいな話がでて面白そうだったので趣味研究してみた成果だったりします。 信号解析初経験な上に片手間でやった研究なので、かなり穴だらけだと思うのでお気づきのことがありましたら、ご指摘お願いします。 背景 話によると、そこらへんで買った音源って音割れしてるらしい。 audacityで[view]->[show clipping]をオンにすると音割れ箇所を可視化してくれる。 ノーポイッを見てみた図。 (amazon mp3で購入、買ってない方ぜひ買いましょう。 http://www.amazon.co.jp/dp/B017BAK632 ) あかい。。。 ということで、サーベイするこくたんであった。 目的 音割れしている音源(5分ぐらいの)をいい感じに補完して 人間の耳にやさしく 補完する。
大学のHな授業の課題が自由課題だったので適当に深夜テンションでつくりました。 github.com demo はすけるでがんばったっ pic.twitter.com/vGv1sNS4HW— こくたん (@cocu_tan) February 9, 2016 haskellで周波数スペクトル描画したやつ、意外と綺麗に波形でてるのわかる(でもなんでか線対称にでてる pic.twitter.com/lFw88SpNOH— こくたん (@cocu_tan) February 11, 2016 用いたライブラリ pure-fft 離散フーリエ変換のため WAVE .wav を読み込むため hscurses 可視化のため pulse-simple wavを再生するためにpulse audioのbinding pipes fftと可視化が重いのでマルチスレッド化 やったこと だいたいこんなかんじ `.w
でっかい実験コードをCythonで書いて死んだ話です。 記憶を便りに書いているので間違っていたことを書いてたら指摘してください。 tl;dr Cythonはグルー言語であって、アルゴリズムの本気実装する言語ではない Cython layerは薄くして、アルゴリズムはC++で書くべき 適材適所 なぜCythonを使った 理由はだいたいこんなかんじです。 使いたいライブラリがC++だった アルゴリズムが O(4N) でPythonなんか使ってられなかった いままでjupyterで実験していた データセットが.npy(numpy)や.pickle(python)になってる 全グラフ描画をmatplotlibでやってある 使いたいライブラリがC++でデータセットを.npyと.pickleで整備してあったので、 c++からboost.python叩くか・CythonでWrapper書いて叩くか、の二
abstract ましろたんかわいいので、ましろダンスをatomの壁紙とxscreensaverのスクリーンセーバーにした。 序論 ましろたんかわいいのは周知の事実である。参考文献 特にましろたんのかわいさが極まっているのはましろダンスと呼ばれる踊り?である。参考文献 論文書くのつかれたので、ましろたんみながら作業したい。そのような背景があり研究する(私の中で)需要がある。 準備 まず、ねっとさーふぃんしてgifを準備する。 mp4なりから作る場合は以下の手順で行なう。とりあえずaviに変換してるので劣化するかもしれないけど気にしない。 Algorithm 1 input ダウンロードしたmp4 output mashiro.gif 1. ninja.mp4:=ダウンロードしたmp4 2. ffmpeg -i ninja.mp4 -f image2 -vcodec png -r 30 ra
python advent calendar*1の6日目担当の こく(@cocuh)です。 qiita.com 今回はpythonの 標準ライブラリのabc と abcを用いた duck typing を記述する話について話そうかとおもいます。 もし間違ったこと書いていたらコメントにてぜひ教えてください。 対象読者 オブジェクト指向におけるクラスという概念がなんとなくわかる abstract classがわかると特に 大規模開発・歴史古いプロジェクト・ドキュメントない事案に遭遇したことがある と最後まで楽しめるかもしれないです abcモジュールとは? pythonの標準ライブラリにはいっている abcモジュールで、abcは Abstract Base Classの略で 抽象基底クラスのことです。c++やjavaなどいうabstract classをpythonでサポートします*2。 abs
紳士淑女の友利奈緒なみなさま、ネット上の幼女のみなさん、こんにちは。 友利奈緒advent calendarの4日目担当の幼女、こくたん(@cocu_tan)です。 www.adventar.org 友利奈緒advent calendarでは、 これまでに 友利奈緒の方々 が友利奈緒への変態力愛を発揮されてますが、 私は変態でないのであまり過度な期待しないでください。 あと間違ったことを言っていたらぜひコメントにてご指摘お願いしますっ。 今回は、きかいがくちぅ を使って友利奈緒シーン集を作ろうと思います。 それと幼女な私は歩未ちゃん推し。なのです〜〜 ほしいもの 特定のキャラシーン集 解法その1: 顔画像認識 最初に思いつくのは 顔画像認識 して分類器に突っ込むやり方ですね。たぶんアニメ 機械学習でぐぐるとでてくるやりかたです。 んで、処理の流れはこんな感じで。 生動画 ↓ ↓ ffmpe
「コードを書いてたら精神が荒れてきますよね?」 「可愛いキャラがIDEにそっと彩ってくれたら嬉しくないですか?」 と、ちょっと前に思って 息抜きにintellij pluginを書いてみました。 BackgroundChibiCharaといい名前です。良ければ使ってみてください。 JetBrains Plugin Repository :: BackgroundChibiChara bugや要望などありましたらgithubにissueに投げてくださると妖精さんがおしごとしてくれるかもしれません。 日本語か英語かJavaで書いていただけると喜びます。 github.com 要件 可愛いキャラがそっとIDEを彩る ただし デコるとか 痛IDEみたいにコッテリしたものじゃなくて彩る程度 使い方 jetbrain製品のFile->Settings->PluginからBrowse repositor
OSS Hack Weekendというイベントに参加してきました。 どんなイベントなの OSSにcontributeしたいけど不安のある学生が実際に働いているエンジニアの方がメンターとして支援してcontributeを目指す感じのイベントです。 このイベント自体は、シリーズになっていてgithub勉強会やreadable code勉強会などの延長としてあったようです。私は今回が初で、前のイベントには参加してません。 きっかけは? もともとtwitter経由でイベントがあるらしいということは知っていて、興味はありました。でも、東京なので筑波から1往復2千円かかり2日間なので4千円と学生にはかなり重い出費なので気が向いたら…という感じでした。友人が参加するようだったというのが大きくあります。 参加してみると筑波大の人がかなりいたので(全体の1/5ぐらい?)ちょっとびっくりしました。 事前の準備
お久しぶりです。こくです。 私のサイトのことについての記事です。 1年前から変えてあるのですが、 だれも気づかないので そろそろ軽く書きます。 typowriter.org index.svgおじさん 私のサイトのスクショあるじゃろ。 ここに /i_love_svgへのリンクがあるじゃろ。 /index.svgに飛ぶのじゃ。 sidebarのアニメーションとかはないですが、ほとんど同じ見た目のページを返します。 これからちょくちょく index.svgのサイト増えていくんじゃないかなと思っていますが、まぁ流行らないでしょう。 (一度SVGで書くとhtml代わりにつかうツラさがわかります。。。座標全部手打ちなので。。。) http accept headerも 私にリアルで会っている方には話してたりしますが、 HTTPのacceptヘッダにimage/svg+xmlを入れて投げるとこっちも
pixiv 2015 SPRING BOOT CAMPに参加してきました。 (期間的には10営業日ですね。) abstractだけを述べると「めっちゃたのしかったです。」となっちゃいます。詳しくは下に書きます。 どうして参加したの 風のうわさ*1でピクシブのインターンが楽しいという話を聴いたのがキッカケです。 昨夏の講義資料がめちゃくちゃ楽しそうだったというのがあります。 なんとなく、github選考怖かったのでやめて一般選考を受けました。 「github選考でも受かったよ」と言っていただけたので、今後参加する方は参考にしてください。 自分のやってることについて語った駄文をエントリーフォームで投げて、軽く面接*2をして、メールが届くという感じでした。倍率が10うんちゃらとかそうじゃなかったとか。こわい。 pixivって某phpだし某phpだし某phpだしと身構えてましたがそんなことはなく、
arch linuxなどでデスクトップ環境を使わずにいるときの設定メモです。 多くのアプリケーションがデフォルトで使う設定はxdg-openを用いているようで、そこの設定をいじればよいです。 xdg-open - ArchWiki $ xdg-mime default firefox.desktop text/html $ xdg-mime default firefox.desktop x-scheme-handler/http $ xdg-mime default firefox.desktop x-scheme-handler/https
svgのみでウェブページを作りたいを考えて、canvasを入れたいと思いまして調べてみました。 http://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo_13.htm やり方はforeignObjectを使うです。 foreignObject内にhtml要素を記述します。 注意すべきこととしてはxmlnsを指定しないと、表示されなかったりします。 foreignObject自体のxmlnsはsvg上であるため、面倒でもそれぞれのhtml要素のxmlnsをxhtmlにしなければなりません。 親オブジェクトが子オブジェクトのxmlnsを一括指定できる方法があればある程度楽なのですが… xmlnsが指定できれば良いので、svgタグ属性でxmlns:xhtmlとかして<xhtml:canvas></xhtml:canvas>とかもしようと思えばできます。 <
ミクシィのCS開発という部署でインターンをしてきました・ω・ (営業日で言うと22日くらい) 「blogに書いてもいいですか」と伺ったら「ぜひ」とのことだったので、 堂々と書かせていただきます。 (HHKBのキーは頂きましたw) CS開発 is 何. CSはcustomer satisfactionの略で顧客満足度のことです。 簡単に言えば、ユーザーからの要望などを集めて開発者に伝えるようなことをしており「開発者とユーザーの架け橋」となる部署です。 具体的に言えば、オペレーターの方が応対するときに使うツールの開発(これが主でした)やログ解析・チート検出・不正アクセス抽出などいろいろやっていて、開発でもユーザーに近い部分を仕事にしています。 なんでそんな部署 選んだの わたしもインターン前は「CSってComputer Science?C#の拡張子????」とか思ってたのですが、 必要スキルの
自分がMacBookAir(13inch 2011)にArchLinuxをいれて使っているので、その理由を書いてみたネタ記事です。 ネタ記事です。大事なことなので(ry 1.メモリー使用量が少ない メモリー4GBのMacBookAirを購入してしまったために、MacでIDE起動してFirefoxとChromeで動作確認…などしていると常時90%ほど使ってました。 今は極力軽い構成でLinuxを入れたので、起動直後で7%ほど。 PyCharm(IDE)とSublimeText2とfirefox(32tabs)とChromium(5tabs)とmikutterとターミナルいくつか起動して70%ほどです。 デスクトップ環境も入れてないのでアニメーションなどは全くないですが、さくさく動いてくれているので非常に使い心地は良いです。 2.バッテリーの持ちが良い メモリー使用量が少ないことにも関係してま
いつも忘れてしまうのでメモ。 $ xset dpms 0 0 0;xset s off BlankTime, StandbyTime, SuspendTime, OffTimeの4つの設定があり、下線の3つはDPMSの機能。 これは画面の設定だけで、後ろではプロセスは動いている。 それぞれの状態は厳密には違うらしい(参考1,2)が、Macbook(Arch Linux)で確認した感じ違いは感じられなかった。 なので、単純にすべてOffにすると画面が消えないようになる。 BlankTimeをoffにするには $ xset s offDPMSの機能をそれぞれoffにするには、(StandbyTime, SuspendTime, OffTime) $ xset dpms 0 0 0とする。 設定ファイルで書く場合 xorgの設定ファイルのServerLayoutセクションに書く。 ServerF
左手用デバイスの一つRazer Nostromo(n52)をLinuxでも使いたいと思ったのでメモです。 今まで使っていたjnostormoがなぜか動かなくなったのでその代替方法でもあります。 pystromoを使う https://launchpad.net/pystromo https://github.com/byrongibson/Pystromo これを使うとわりと簡単に動きました。 githubに書いてある通りにするとできます。 Pynostromoはpythonで書かれているので読めます。楽しいです。 起動方法は、 $ ./pynostromo-remap.py -m ./config/test.map -vvのような感じです。 vvは詳細表示なので無くてもいけます。 mapについて ちょっと触るとわかりますが、-vvオプションをつけてNostromo側のキーを押すとKEY_
動的importで__import__とimportlibで挙動の違いで躓いたのでめもです。 packパッケージ内にplugin.pyをおいてあります。 # pack/plugin.py print("hoghoge!") def heyheyhey(): return # pack/__init__.py __import__では >>> i = __import__('pack.plugin') hogehoge! >>> i <module 'pack' from 'pack/__init__.pyc'> >>> i.__name__ 'pack' >>> i.heyheyhey AttributeError >>> i.plugin.heyheyhey <function heyheyhey at 0x~~~~~~~~> importlibのload_moduleでは >>> i
世界には1行でプログラムを書くワンライナーという技巧的プログラミングの世界があります。 ワンライナーと言われる言語の多くはPerlやRubyなのですが、委員長キャラのPythonでもワンライナーができます。 PEP8とZen of Pythonで綺麗になっているPythonicな世界に Pythonでも1行で書いたよ!楽しい!! ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ などと技巧プログラミングをする闇Pythonista(私)がテクニックなどもろもろをまとめたものがこの記事になってます。 まだPython力を鍛えている途中のわたしなのでなにか指摘などありましたらコメントをいただければです。 対象読者 Pythonをある程度かける人 Pythonの細かい挙動に興味のある人 白Pythonに飽きてしまった人 テクニック1:代入文を式にする Pythonでの代入は基本改行が必要です。
svgにjavascriptが埋め込んだ時の挙動がどう違うのか気になっていろいろ試したのでとりあえずまとめてみます。 特に言及していなければfirefoxで試しています。 scriptを混入させたsvgを書く 思いつくjavascriptをいれる方法をひと通り入れてみました。 明らかに動かなさそうなものやxssじゃないものもはいってますが挙動が気になったので入れてみました。 onclick="console.log()" 内部スクリプトでのelem.onclick = function(){console.log()} 外部スクリプトでのelem.onclick = function(){console.log()} style属性でのexpression: style="stroke-width:expression(console.log())" cssでのexpression: .x
1/2は『書き初め』をするものらしいので、 私も情報系よろしく『書き初め』もといハッカソンしました。 ちなみに今年初commitにもなりました。 お題はsvgを使いたいと思っていたので、 『svgで折り紙をする』 にしました。 そしてできたものがこちら 自分のサイトで公開しています。 http://2014.typowriter.org/3d.svg/index.svg chrome推奨です。 ソースコードはgithubにて公開しています。 https://github.com/cocu/2014_kakizome 見ていただけるとわかりますが、 htmlは使わずpure svgで動いています。 やりたいと思ったきっかけが、 「svgだけでウェブページ作れるのでは?」 と 「svgって2次元だけど3次元に拡張したらどうなるんだろう。」 の2つが、 お正月っぽい鶴要素に加わって最初の『svg
スクリプトのSVGがCSP(Content-Security-Policy)下でどのように動くのかを検証したのでまとめてみました。 『SVGでXSSしてみる。その1』のつづきです 前回はsvgをhtmlに取り入れるタグをそれぞれ試して挙動がどのように変わるかを見ました。 今回はそれをCSP下でためしてみます。環境はfirefox26です。 どちらかというと試したことをそのまま乗っけてる実験レポートに近いものなのでもう一回まとめないといけないかなと思ってます。 まず、CSP下で試すにおいて、2つの場合があります。 svgファイル自身がSameOrigin内にある場合と外にある場合です。 それぞれためしてみます。 CSPに関してはw3cとmdnにドキュメントがあるのでそちらを。(私もきちんと読んでるわけではないですが) https://dvcs.w3.org/hg/content-securi
次のページ
このページを最初にブックマークしてみませんか?
『cocu.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く