はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • お金
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
    • Advent Calendar
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
  • おすすめ

    マンガ大賞候補作は

『www.denzow.me』

  • 人気
  • 新着
  • すべて
  • Dockerで特定のサブディレクトリだけホストと共有しない( Data Volume) - [Dd]enzow(ill)? with DB and Python

    8 users

    www.denzow.me

    現在の仕事では各個人の開発環境をDockerで用意しています。基本的にコードがあるディレクトリをコンテナ側と共有していますが、一部分だけ共有したくないというケースが発生しました。以下のようなケースです。 drwxr-xr-x 571 denzow staff 19414 3 18 09:43 node_modules -rw-r--r-- 1 denzow staff 286 3 18 09:43 package.json drwxr-xr-x 3 denzow staff 102 3 18 09:47 src -rw-r--r-- 1 denzow staff 584 3 18 09:47 webpack.config.js -rw-r--r-- 1 denzow staff 134 3 18 09:51 Dockerfile_webpack -rw-r--r-- 1 denzow st

    • テクノロジー
    • 2019/04/08 19:12
    • Docker
    • Django 2.0 + Channels 2.xを使ってWebSocketを扱う(その1) - [Dd]enzow(ill)? with DB and Python

      8 users

      www.denzow.me

      現在仕事でWEBサービスを作るときはDjango一択な環境にいます。今度Websocketが必要になったのですがDjangoでWebsocketどうするんだってことで調べたところChannelsというライブラリを使うらしいです。Djangoのグループが作っているので安心感があります。Channelsは日本語でもいくつか記事がありましたが1.x時代のものでそのままでは動かなかったりしたのでチュートリアルを中心に試してみました。 ということで何回かにわけて(たぶん3回?)Django Channelsのチュートリアルをベースにちょっとだけ手を加えた内容をまとめていきます。また最終的には本番環境で動かせるようにnginx経由でwebsocketができるところまで持っていきます。 環境 以下の構成でやっていきます。 Python 3.6 Django 2.0.3 Django Channels 2

      • テクノロジー
      • 2018/09/19 20:29
      • nginx
      • python
      • あとで読む
      • Pythonでシングルトン(Singleton)を実装してみる - [Dd]enzow(ill)? with DB and Python

        5 users

        www.denzow.me

        最近はHead First デザインパターンを読みながら、デザインパターンの勉強をしています。この本は読みやすくてとても参考になるのですが、サンプルの実装はJavaになっておりそのままPythonに移植することはできません。 第5章がシングルトンパターンですが、そもそもPythonでどのようにシングルトンを実装すべきかがわからなかったので確認した結果を残しておきます。 Javaでの実装 書籍に載っているJavaの実装は2重チェックロッキングを用いた以下のようなものです。 public class Singleton { // 唯一のインスタンスを保持する変数 private volatile static Singleton uniqueInstance; // コンストラクタがPrivateなので外部からは呼び出せない private Singleton(){} // 外部からインスタン

        • テクノロジー
        • 2018/09/07 13:41
        • Python
        • @
        • Djangoのモデルであとからユニーク + NOT NULLな列を追加する - [Dd]enzow(ill)? with DB and Python

          5 users

          www.denzow.me

          Djangoはモデルの内容が変更されても、makemigrationsしてmigrateすればDBにモデルの変更を反映できるので楽でいいですね。しかし、ちょっとユニーク制約をもったカラムを追加しようとしたら簡単にはいかないケースに遭遇したのでメモを残しておきます。 遭遇したケース こんなモデルが最初にあったとします。 from django.db import models class Product(models.Model): name = models.CharField(verbose_name='商品名', max_length=100) price = models.IntegerField(verbose_name='価格') def __str__(self): return '{}: {}'.format(self.id, self.name) また、すでにエントリが2件

          • テクノロジー
          • 2018/07/06 14:16
          • Django
          • python
          • あとで読む
          • PythonでRedisを効率的に使う(redis-pyのパフォーマンスをあげるには) - [Dd]enzow(ill)? with DB and Python

            5 users

            www.denzow.me

            前回書いたようにISHOCONというプライベートなISUCONに出てきました。MySQLの思いクエリをRedisに変えることでスコアは伸びたのですが、Redis自体もプロセスローカルのメモリに比べると遅いのでできるだけ効率的な使い方を模索しました。いつになく記事が長くなってしまいました。 hiredis Pythonでredisを使うにはredis-pyを使います。これをいれるだけで使うことはできるのですが、パーサ部分をCで実装したHiredisを入れるとredis-py自体が高速化するので一緒に入れておくのがマストでしょう。(10倍くらい違うらしい) $ pip install hiredis hiredisをredis-pyの代わりに使うわけではなく、いれるとredis-pyが早くなるということだそうです。確かにhiredisが入ってるかどうかで動きが変わる部分がredis-pyにあり

            • テクノロジー
            • 2018/06/29 16:01
            • python
            • Pythonのunittestのmock.patchでハマった話(結局何をpatchすればいいのか) - [Dd]enzow(ill)? with DB and Python

              6 users

              www.denzow.me

              最近のクローラ周りのunittestを書いていたのですが、テスト速度の改善や安定化のためにmockのpatchを使おうとして色々とハマったのでまとめておきます。 mock?patch? Pythonのunittestにはテスト時に一部の関数を置き換えることを目的としたMockを生成するクラスが用意されています。 26.5. unittest.mock — モックオブジェクトライブラリ 以下のように作成したMockオブジェクトは何も定義していなくてもどんな呼び出し方にも対応し、またその呼び出され方を記憶しています。 In [1]: from unittest.mock import Mock In [2]: mock_obj = Mock() In [3]: mock_obj() # 引数なしでの呼び出し Out[3]: <Mock name='mock()' id='4584656792'

              • テクノロジー
              • 2018/06/26 12:38
              • python
              • DynamodbのLimitが思った動きでなくて嵌った話(Dynamodbの基本的なクエリ等) - [Dd]enzow(ill)? with DB and Python

                5 users

                www.denzow.me

                Dynamodbを使うようになったのですが、RDBMSに比べるとDynamodbは雰囲気でやっているところが多く、表題のLimitオプションの挙動で嵌ったのでboto3での例とあわせてまとめておきます。 対象テーブル order_table = { 'TableName': 'order_table', 'KeySchema': [ { 'AttributeName': 'user_id', 'KeyType': 'HASH' }, { 'AttributeName': 'ordered_at', 'KeyType': 'RANGE' } ], 'AttributeDefinitions': [ { 'AttributeName': 'user_id', 'AttributeType': 'N' }, { 'AttributeName': 'ordered_at', 'AttributeT

                • テクノロジー
                • 2018/06/01 17:56
                • dynamodb
                • query
                • Lambda
                • Python
                • Pythonでシンプルな文章の類似度判定をやってみた - [Dd]enzow(ill)? with DB and Python

                  25 users

                  www.denzow.me

                  会社の後輩に、社内のFAQの利用率を高めたいからなんとかしたいといわれ、自然言語の入力を受け付けて近いFAQのリンクを戻すコードを書いてみました。 後輩に説明しながらという点と元データも70件程度と少なかったことや、そもそも自分がちゃんと理解してない点もあったので、gensimやsklearn等は用いずになんちゃってBoWで実装しました。 コンセプト こんな感じでやることにしました。計算効率とかはあまり考えずわかりやすさを優先して実装します。 元々あるFAQを単語分割 単語の出現数をそれぞれカウント ユーザが入力した内容も単語に分割し出現数をカウント 出現している単語が近いものをスコア順に提案 対象データについて こんなイメージのデータでした。中身はイメージです。URLも適当です。 Question Answer link AWSとOracleCloudの違いはなんですか? 名前が違います

                  • テクノロジー
                  • 2018/05/20 21:25
                  • NLP
                  • あとで読む
                  • 機械学習
                  • python
                  • Pythonのunittestで標準出力のテストを作る - [Dd]enzow(ill)? with DB and Python

                    3 users

                    www.denzow.me

                    最近やたらunittestを書いているのですが、標準出力部分のテストをしなければいけなくなり、やり方を確認したのでメモとして残します。 どういうことか こういう標準出力に内容を書き出す関数についてunittestを作成したかったという話です。 def hoge(): print("HELLO") ポイント print等で書き出される標準出力はsys.stdoutだということ、そしてsys.stdoutは再代入可能という点がポイントです。各テストケース前にsys.stdoutをio.StringIO()等のファイルライクなオブジェクトで置き換えてしまえばテストができるようになります。ただ、そのまま上書きしてしまうと支障が出るのでオリジナルのstdoutも退避しておきます。 def setUp(self): """ :return: """ # sys.stdoutを退避し、StringIO(

                    • テクノロジー
                    • 2018/05/16 09:19
                    • Python
                    • Django Channels + Vue.js でWebSocketをつかってTrelloみたいなカンバンを作ってみた - [Dd]enzow(ill)? with DB and Python

                      4 users

                      www.denzow.me

                      ChannelsとVue.jsの練習がてらカンバンを実装してみました。割りとカンバンのUIの実装記事はあるのですが、サーバ側までセットになったものが少なかったのでがんばりました。 github.com リポジトリのコードが全てではありますが、一応メモ程度に内容を残しておきます。 とりあえず試す場合 リポジトリをクローンしたら、docker-compose upするだけで動きます。あとはブラウザからhttp://localhost:8000/kanban/1にアクセスすればカンバンが試せます。なお末尾のIDを変えれば新規カンバンが作成できます。 利用バージョンについて 主要なコンポーネントのバージョンは以下です。 Python 3.6.4 Django 2.0.3 DjangoChannels 2.0.2 Vue.js 2.5.16 vuedraggable 2.16.0 vuex 3.0.

                      • テクノロジー
                      • 2018/05/01 16:09
                      • django
                      • PythonでRedisを扱う(redis-pyの基本) - [Dd]enzow(ill)? with DB and Python

                        6 users

                        www.denzow.me

                        先日、ISUCONの練習としてISHOCONに参加してきました。ISUCONもそうですが初期実装のRDBMS部分をどれだけRedis等に移せるかでスコアの伸び方が違う気がします。少なくとも今回の問題はRedisを上手に使えるかが鍵です(少なくともPythonでは しかし、イマイチRedisを触ったことがなかったのでまとめておきます。 Redis Wikipediaより Redisは、データ構造サーバーを実装するオープンソースソフトウェアプロジェクトである。 いわゆるNoSQLデータベースの一つであり、Redis Labsがスポンサーとなって開発されている。 ネットワーク接続されたインメモリデータベースでかつキー・バリュー型データベースであり、オプションとして永続性を持つ。 売りとしてはマスタスレーブだったりってのもありますが、1ノードなのでただのおっきなDictとして使い潰します。memc

                        • テクノロジー
                        • 2018/04/05 22:30
                        • python
                        • nginxでの静的ファイル配信時のキャッシュ(ETagやLast-Modifed) - [Dd]enzow(ill)? with DB and Python

                          5 users

                          www.denzow.me

                          ISUCON7の予選は、画像へのアクセスをいかに304で処理して帯域を節約できるかが肝でした。そこでnginxのETagやLast-Modified等の設定周りを見直してみます。 環境 以下の環境で試しました。 OS: Ubuntu 16.04 nginx: 1.10.3 Client: python-requests 2.8.1 初期設定 サーバ上の/public/sample.pngにサンプルの画像を配置し、http://host/sample.pngでアクセスできるようにnginx.confを設定します。以下で拡張子が*.cssや*.js、*.pngの場合は/public配下より配信されます。 server { listen 80; location ~* \.(css|js|png)$ { root /public; } } 今回はアクセスのテスト用にPythonのrequests

                          • テクノロジー
                          • 2018/02/23 18:39
                          • nginx
                          • http
                          • SEO
                          • Raspberry Pi でトイレの使用状況をSlackに通知してみた(IOTT:Internet Of The Toilet) - [Dd]enzow(ill)? with DB and Python

                            5 users

                            www.denzow.me

                            Raspberry Pi と照度センサを使って、トイレの使用状況をSlackからわかるようにしてみました。 ※全部会社で買ってもらった(*´ω`*) 動機 職場は2フロアあり、下のフロアがオープンスペースになっていおりトイレもここにあります。私は上のフロアで仕事をしていますので、トイレにいくには下のフロアに降りるのですが、トイレが1個しかないので、降りてみたら使用中で仕方なく上に戻るという非生産的な行動が多発していました。 そのため、上のフロアにいてもひと目でトイレの使用状況がわかるようにしたかったのです。 動機 実現方法 照度センサーについて Skackへの通知 Slack Tokenの取得 Botによる会話 Botの在籍状況(ステータス)の設定 自動起動の設定 まとめ 実現方法 会社のトイレは家庭用のトイレ個室のような感じですので、こちたの記事のように扉の開閉センサーでの判定は難しい(

                            • テクノロジー
                            • 2017/12/16 23:15
                            • slack
                            • Raspberry Pi
                            • python
                            • PythonからOracleに繋いでみる!その1 (cx_Oracleの簡単な使い方) - [Dd]enzow(ill)? with DB and Python

                              3 users

                              www.denzow.me

                              この記事はJPOUG Advent Calendar 2017の3日目です。 さらに同日にもう1記事あげていますのでよろしければご覧ください。 次の仕事ではOracleとかかわらなくなりますが、思い入れがありますのでエントリ書いておきます。 PythonからOracle DatabaseにSQLを発行するまでの流れを簡単にまとめていきます。 PythonからOracle Databaseを利用するには PythonからOracle DatabaseにSQLを発行したりするには、cx_Oracleを利用します。 cx_OracleはPythonのDB API2.0を実装するモジュールで、他のRDBMSに対するPython用モジュールとほぼ同じメソッドで利用できます。また、それらに加えてLOBやPL/SQLのカーソル等、Oracle独自の機能への対応も行われています。 今回は、cx_Oracl

                              • テクノロジー
                              • 2017/12/03 10:38

                              このページはまだ
                              ブックマークされていません

                              このページを最初にブックマークしてみませんか?

                              『www.denzow.me』の新着エントリーを見る

                              キーボードショートカット一覧

                              j次のブックマーク

                              k前のブックマーク

                              lあとで読む

                              eコメント一覧を開く

                              oページを開く

                              はてなブックマーク

                              • 総合
                              • 一般
                              • 世の中
                              • 政治と経済
                              • 暮らし
                              • 学び
                              • テクノロジー
                              • エンタメ
                              • アニメとゲーム
                              • おもしろ
                              • アプリ・拡張機能
                              • 開発ブログ
                              • ヘルプ
                              • お問い合わせ

                              公式Twitter

                              • 公式アカウント
                              • ホットエントリー

                              はてなのサービス

                              • はてなブログ
                              • はてなブログPro
                              • 人力検索はてな
                              • はてなブログ タグ
                              • はてなニュース
                              • App Storeからダウンロード
                              • Google Playで手に入れよう
                              Copyright © 2005-2023 Hatena. All Rights Reserved.
                              設定を変更しましたx