Make組ブログ

Python、Webサービスや製品開発、ライブラリー開発についてhirokikyが書きます

楽するための、日常動作のバッチ処理化

どうも、こんにちは id:hirokiky です。 今日は日常生活する中で僕がやってみていることを話します。 完全に僕理論なので、「最近そんなことやってるんだ」くらいに楽に聞いてください。 習慣になると色々と楽 id:haruo860 さんと話していたときに、「習慣に…

Ubuntu17.10にしたら日本語が打てなくなった問題を何とか解決した話

雑メモです。 Ubuntu16.04からUbuntu17.10にアップグレードしたら日本語が打てなくなっちゃいました (まぁよくある話です)。 平たくいうと fcitx とIMの環境変数周りの設定がうまくいってなかったということで、色々場当たり的に直してたら動いて良かった…

逆に今、消費的な趣味を大切にしてみる

「趣味」という言葉に対してのハードルが日に日に強くなっていると感じませんか。 「このレベルでは趣味じゃないから」、「終わったら内容をまとめておかないと」、「まだここがコンプできてないな」など、 単に「趣味」と言ったときに付随する感情やレベル…

Pythonで何が作れるの?その疑問に答える本がPythonエンジニアファーストブック

Pythonで何か作ったこと、ありますか?他のプログラミング言語は知っているのにPythonは知らない。Pythonは知っているけど分野が限られてしまっている、そんなことありますよね。PythonエンジニアファーストブックならPythonの基本からオススメの開発環境、…

PyConJP2017で発表したり、PyQのブース出展したり、本のサイン会をしました

9月8日から10日にPyConJPに参加して、発表したり、PyQのブース出店したり、チュートリアル講師したり、本を売ったりと色々やりました。 pycon.jp 発表 PyConJPで発表するのはこれで6回目で、2012年から毎年Djangoについての発表をさせてもらっています。 今…

DjangoでDB非依存に権限管理できるライブラリーdjango-keeperを作りました

Djangoで権限管理ってどうやっていますか? Django自体が持つGroupやPermissionはイマイチ業務では使えないというのが実際のところなのではと思います。 そんな悩みを解決するために django-keeper というライブラリーを作りました。 こんな悩みに: DBで権限…

1分で伝えるコツ

大人になるほど、短い間に口頭で伝える重要さが増してきている気がします。 仕事の中でも大いにありますが、いろいろなイベントなどでも短い時間で人と話す、伝えるという機会はでてきます。 どうしてもうまく短く伝えられないなぁ、という悩みはあるかと思…

「0から1の発想術」は0から1を発想するコツを教えてくれる本

何か作りたい、生み出したいという気持ちはあるのにアイディアや発想が湧いてこないことがあると思います。 もっと発想が湧いてきたらいいのに、がむしゃらな思いつきじゃなくて効果的な発想ができたらいいのにと、私もよく悩んでいます。 もちろん本や手法…

ヒヨッコの僕たちはこうして新規プロダクトPyQを企画・開発・販売しました

ヒヨッコの僕たちはこうして新規プロダクトPyQを企画・開発・販売しました 今日、4月12日は何の日でしょうか? 久々に晴れて気持ちが良かった日?それももちろんそうですが違います。 今日は PyQ の正式リリースの日です! こんにちは。@hirokikyです。 これ…

Build, Minify, Merge TypeScript by webassets

Build, Minify, Merge TypeScript by webassets Today, I introduce webassets to build TypeScript, minify each generated JavaScript, and merge it. webassets is a media manager written in Python to merge JS, compress JS/CSS, uglifying, and so o…

Python mini Hack-a-thon 雪山合宿 2014 に行ってきた

Python mini Hack-a-thon 雪山合宿 2014 に行ってきた Python mini Hack-a-thon 雪山合宿 2014 今回3回目の参加になる、Python mini hack-a-thonの合宿版です。 スキーはせずに引きこもって開発してました。 開発したもの: genaa 0.4 リリース invoke にプルリ…

New year's python meme 2013

New year’s python meme 2013 Today is the final day of 2013, time to write New year’s python meme. This is the last year’s one: http://blog.hirokiky.org/2012/12/31/new_years_python_meme_2012.html 1. What’s the coolest Python application, fr…

Pythonでバウンドインナークラスを使う (Python Advent Calendar 2013 最終日)

Pythonでバウンドインナークラスを使う (Python Advent Calendar 2013 最終日) Python Advent Calendar 2013 25日目のブログ記事です。 Python Advent Calendarでは例年最終日にはゲストをお迎えして記事を書いてもらっています。今年は Python 3.4 のリリース…

Think about expression of blocks as 1 byte

Think about expression of blocks as 1 byte This blog post for my unimportant memo. I am creating genaa, a ASCII Art generator. Now, It can rendering text box like this: ┌────────────────────┐ │Shut the f**k up and│ │write some code! │ └───…

Using .raw method of Django's QuerySet

Using .raw method of Django’s QuerySet Today, I show you to use .raw method of Django’s QuerySet. The method is powerful and it can manipurate data in DB even if a column is not appear in Model’s field. Of cause you can choice to use execu…

Python3.4のSingle-dispatchで遊んでみた - Python Advent Calendar 2013

Python3.4のSingle-dispatchで遊んでみた - Python Advent Calendar 2013 Python Advent Calendar 2013 の 1 日目を担当します、 @hirokiky です。 昨年 に引き続きPythonAdventCalendarを主催しています。 ちなみに今年は現時点であと 4 人参加者が足りません…

何かを作り続けるのはどうすればいいのだろう

何かを作り続けるのはどうすればいいのだろう ものを作るって、ただ一発何かを作るだけじゃないと最近よく思う。 何か作ったらそれをより良くするため作りつづけたり、多くの人に 使ってもらうために広めたりする必要があると思う。 私が今、頭で考えて言っている…

Getting the definition order of class attributes in python

Getting the definition order of class attributes in python Same question was in StackOverFllow, but the answer was not so soft on me. http://stackoverflow.com/questions/4220747/how-do-i-get-the-definition-order-of-class-attributes-in-pytho…

アウトプットとはなんだったのか

アウトプットとはなんだったのか よくある言葉に「インプットすればアウトプットしろ」という啓蒙がある。 感じるのは、言われているアウトプットとはブログ記事として出力されたものを 意味する場合が多いということ。 加えてカンファレンスや勉強会での発表で…

PasteScript空騒ぎ

PasteScript空騒ぎ PasteScript の話。 PasteScriptって? アプリケーションに必要なコマンドを作る地盤を提供してくれるものです。 PasteScript 自身が提供するものでは、テンプレートからアプリケーションを作成する コマンドがあります: paster create テンプ…

Pythonにおける「許されざる悪事」を避けるために

Pythonにおける「許されざる悪事」を避けるために 許されざる悪事というものが存在する 許されざる悪事 モジュールを import するだけでグローバルな値が設定されるというもの。 「import の順番に依存した処理ほど不愉快なものはない。こういった依存性を持…

WSGI向け認証フレームワーク、repoze.whoを使ってみた

WSGI向け認証フレームワーク、repoze.whoを使ってみた repozewwho というWSGI用の認証フレームワークがあります。 Webアプリケーションを書くうえでユーザー認証はほぼほぼ必須となりますが、 それを提供してくれる素晴らしいものです。 なかなかよくできたやつ…

matcha0.1リリースのお知らせとその背景

matcha0.1リリースのお知らせとその背景 matcha という WSGI dispatcher をリリースしました。 WSGIのライブラリ/ミドルウェアで、PATH_INFOを考慮した WSGIアプリケーションの呼び出しを主目的にしています。 matcha (PyPI) この記事では matcha の紹介を軽く…

Introducing django-websettings

Introducing django-websettings I released new package named django-websettings. This is django’s third party application to provide a web interface to set a yet another django’s settings. If you are similar to read English, please read the…

Tips: for Initial arg of Django's Form fields

Tips: for Initial arg of Django’s Form fields Django’s Form fields take a initial argument to specify the initial value for that Field. For more detail about initial, check out the doc Form fields #initial Basically… As written there, if y…

Search view with long long parameters

Search view with long long parameters At most of web application have the so-called search view. The view get some request parameters and display some search results by using these parameters. A search view does not cause any side effects,…

Don't format strings before logging in python

Don’t format strings before logging in python You should not provide formatted string to loggers in Python, like this: logger.info('Logged in: %s' % username) You should write like this: logger.info('Logged in: %s', username) logging Why? …

Django's TestCase.multi\_db attribute is mistake

Django’s TestCase.multi_db attribute is mistake Django’s test framework (django.test.TestCase) has a atribute multi_db . It should be set True when testing on multiple databases (False, by default). If you forget this setting, and your tes…

Sentry with django-newauth

Sentry with django-newauth djangonnewauth is a library to add customizable user model (It developed before Django 1.5). And sentry is a platform to collect logs and aggregate these. Sentry can collect errors raised by some django applicati…

Djangoでアップロードしたファイルを非同期に削除する

Djangoでアップロードしたファイルを非同期に削除する Django の FileField を通してアップロードしたファイルを非同期に削除したい。 本質的にはモデルが削除されると同時にファイルも削除したいというものなんだけど、 そこを同期処理しているとやってられ…