yoppe9509のブックマーク (1,201)

  • Speeding up Docker on MacOS: Tips to Boost Your Development

    If you’ve moved your development environment to Docker, you might have noticed your web application stacks might be slower than another native environment you’ve been used to. There are things we can do to return your response times back down to how they were (or thereabouts). Overview 1. Volume optimisations Modify your volume bind-mount consistency. Consistency cache tuning in Docker follows a u

    Speeding up Docker on MacOS: Tips to Boost Your Development
    yoppe9509
    yoppe9509 2020/05/09
  • PlaySQLAlchemy: SQLAlchemy入門

    PlaySQLAlchemy: SQLAlchemy入門1. SQLAlchemy 入門 for Kobe Python Meetup #13 2017/09/15 Kobe Japan 2. Yasushi Masuda PhD ( @whosaysni ) Tech team, Core IT grp. IT Dept. MonotaRO Co., LTD. Pythonista since 2001 (2.0~) • elaphe (barcode library) • oikami.py (老神.py) • PyCon JP founder 翻訳もろもろ 3. アジェンダ よくある誤解 SQLAlchemyを3行で エンジンの基礎 (+hands-on) SQL式を使う (+hands-on) ORMの基礎 (+hands-on) 4. 参考文献 オンラインドキュメント: http

    PlaySQLAlchemy: SQLAlchemy入門
    yoppe9509
    yoppe9509 2020/04/24
  • SQLAlchemyのコネクション・プーリング - 達人ドヤリストへの道

    SQLAlchemy を使うにあたって、コネクション・プーリングについて調べてみた。 毎度毎度コネクションを張るのはコスト的には馬鹿らしいのは周知の事実なので、どうやってコネクション・プーリングを行うのか。 こういうものは、まずは公式のドキュメントを読むに限る。 Connection Pooling — SQLAlchemy 1.2 Documentation http://docs.sqlalchemy.org/en/latest/core/pooling.html#connection-pool-configuration Engine Configuration — SQLAlchemy 1.2 Documentation http://docs.sqlalchemy.org/en/latest/core/engines.html#engine-creation-api 直球ど真ん中

    yoppe9509
    yoppe9509 2020/04/19
  • GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ

    GitHubが2019年11月、新機能「GitHub Actions」を正式に公開した。GitHub上のリポジトリやイシューに対するさまざまな操作をトリガーとしてあらかじめ定義しておいた処理を実行できる機能で、今まで外部サービスとの連携が必要だった自動テストや自動ビルドなどがGitHubだけで実現できるようになる。今回はこのGitHub Actionsについて、機能の概要や基的な使い方などを紹介する。 GitHubだけでCI/CD的な機能を実現できる「GitHub Actions」 昨今では、ソフトウェア開発におけるさまざまな工程を自動化するような技術の開発や普及が進んでいる。その1つに、CI(Continuous Integration、継続的インテグレーション)やCD(Continuous Delivery、継続的デリバリー)と呼ばれるものがある。CIはソフトウェアのビルドやテストを

    GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ
    yoppe9509
    yoppe9509 2020/04/06
  • 副作用を最小限に抑えるために必要なこと - かとじゅんの技術日誌

    若干、難しい話ですが、設計力を上げたいプログラマ向けなエントリ。私も道半ばです。一緒に考えていただければ幸いです。 堅牢なアプリケーションを実現する上で「副作用を最小限に抑える」という設計思想は、非常に重要な示唆を含んでいます。 その「副作用」とは、そもそもどんな定義なのでしょうか。 DDDでは"side effect"と定義していて、以下のように解説されています。 Domain-Driven Design: Tackling Complexity in the Heart of Software: Evans, Eric: 8601300201665: Amazon.com: Books エリック・エヴァンスのドメイン駆動設計 作者:Eric Evans翔泳社Amazon P250より引用 In standard English, the term side effect implies

    副作用を最小限に抑えるために必要なこと - かとじゅんの技術日誌
    yoppe9509
    yoppe9509 2020/03/16
  • 『マーケターの筋トレワークシート』を大公開! #マーケティングトレース|黒澤 友貴

    マーケティングトレース-マーケターの筋トレ- に取り組む人を増やしたい 特に、新社会人の方や、マーケティングに関わることになった方々には、マーケティングトレースを最初に実践して頂きたいです。 マーケティングの仕事に関わっても、 どうしても… 広告運用やSEOなどテクニック的な要素に流されがちです。 マーケティングトレースを活用して、俯瞰的に考える、戦略→戦術→実行の順番で考えられる人を1人でも多く増やしていきたいと考えています。 ということで、誰でもマーケティングトレースを実践できるように、1枚に書き込むだけで完成する実践「マーケターの筋トレワークシート』を作成しましたので公開します! ダウンロードして活用して頂けるように全フォーマットで公開します! 活用方法①ダウンロード ②A3印刷orパワポやKeynoteで開く ③ワークシートに記載 こんな時に活用してもらいたい・はじめてマーケティン

    『マーケターの筋トレワークシート』を大公開! #マーケティングトレース|黒澤 友貴
    yoppe9509
    yoppe9509 2020/03/12
  • Pythonのast.literal_eval()で文字列をリストや辞書に変換 | note.nkmk.me

    Pythonで文字列(str)をリスト(list)や辞書(dict)に変換するにはastモジュールのliteral_eval()を使う。 ast.literal_eval() --- 抽象構文木 — Python 3.11.5 ドキュメント ここでは、文字列を区切り文字で分割してリスト化するsplit()メソッドについて、および、ast.literal_eval()とeval(), json.loads()との違いについても説明する。

    Pythonのast.literal_eval()で文字列をリストや辞書に変換 | note.nkmk.me
    yoppe9509
    yoppe9509 2020/03/11
    True, False, Noneはast.literal_eval()では変換できるが、json.loads()では変換できない。逆にtrue, false, nullはjson.loads()では変換できるが、ast.literal_eval()では変換できない。
  • Python の __new__ ってなに? | 民主主義に乾杯

    # 2. __new__ は、いつ使うの? 答え: immutable を初期化したい(稿で解説) singleton を実装したい(Python でシングルトンを書く) (opens new window) 引数をもとにクラスを切り替えたいとき(メタクラスで紹介) この記事では immutable なオブジェクトを初期化する際に __new__ の使い方について説明させていただきます。 immutable については以下の記事で説明させていただきました。 Python の immutable と mutable の違い 実際に immutable なクラスを定義したいときは namedtuple (opens new window) 関数を使います。 このページでは tuple を継承した immutable なクラスで __new__ の簡単な使い方をご紹介します。 namedtup

    yoppe9509
    yoppe9509 2020/03/09
  • システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ

    こんにちは。初投稿です。 2012年新卒入社の竹内です。入社当時を振り返るとOracle10g,11gを良く利用していおり、データモデリングなどテーブル設計が好きで、2018年4月ぐらいまでRDBとバッチに浸ってました。 さて、現在プロジェクトでRedisを使っているのですが、いままでRDB人間だっただけにKVSやRedisならではの特徴に四苦八苦してます。 苦しんだ分、色々な知見を得ることができているので、その内容をご紹介します! 対象者 Redisの業務システム導入を検討している方 RDBとRedisの違いを知りたい方 現場的なRedisの利用方法を知りたい方 書いてないこと データ型やコマンドなど、HelloWorld的に公式ドキュメントを見て得られる情報 インストールなど、Redisを利用できるまでの手順 フェイルオーバーやバックアップをはじめとする運用に関する内容 データ永続化に

    システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ
    yoppe9509
    yoppe9509 2020/03/05
  • Python 数値混じりの Tuple を join する

    --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-5-cd41c12ae701> in <module>() 1 elems = ('ham', 5, 1, 'bird') ----> 2 ",".join(elems) TypeError: sequence item 1: expected string, int found

    yoppe9509
    yoppe9509 2020/02/25
  • Dockerでpython3.7とgraphvizをインストールしたコンテナ(Alpine3.9ベース)を作成する

    pythonとgraphvizを使用して、フロー図などをのグラフを描画する事ができます。 〇graphvizの出力画像 〇graphvizがインストールされたイメージの作成方法 1.以下のDockerfileとコマンドでpython3.7とgraphvizがインストールされたコンテナを作成します。 docker build -t py37graphviz:1.0 . Dockerfile FROM python:3.7-alpine3.9 RUN mkdir -p /usr/share/fonts \ && cd /usr/share/fonts \ && wget https://ipafont.ipa.go.jp/old/ipafont/IPAfont00303.php -O IPAfont00303.zip \ && unzip IPAfont00303.zip \ && rm IP

    Dockerでpython3.7とgraphvizをインストールしたコンテナ(Alpine3.9ベース)を作成する
    yoppe9509
    yoppe9509 2020/02/16
  • Get osx screencapture terminal tool to capture both screens

    yoppe9509
    yoppe9509 2020/01/31
    マルチスクリーンのキャプチャ、これでいけるのか “screencapture screen1.png screen2.png”
  • Unlimited history in zsh

    In zsh, I want to have unlimited history. I set HISTSIZE=, which works in bash. Now I import an old history mv old_history .history which is pretty big wc -l .history 43562 .history If I now close and start zsh again, I see wc -l .history 32234 .history Can't I have unlimited history in zsh?

    Unlimited history in zsh
    yoppe9509
    yoppe9509 2020/01/28
    内部で勝手にだと oh-my-zsh...
  • select_related()の仕様を理解する - hogehoge diary

    はじめに 最近、QuerySet APIについてよく調べていました。今日はQuerySet APのメソッドのなかでもドキュメントの文量が多めなselect_related() をすこし詳しく学習します。なにかと利用する機会がありそう。(あと923がselect_related()は奥が深いぞ的なことを言っていたので) ざっくりした理解 select_related(*fields) クエリを実行したときに、指定された外部キーのオブジェクトも一緒にとってくる。というやつ。それによって、DBを叩く回数を節約できる。 # DBを叩く e = Entry.objects.get(id=5) # またDBを叩いてる b = e.blog こういうコードを以下の様に書ける。 # DBを叩く e = Entry.objects.select_related('blog').get(id=5) # 予め取

    select_related()の仕様を理解する - hogehoge diary
    yoppe9509
    yoppe9509 2020/01/27
  • マイクロサービスのTelepresenceを使ったローカル開発環境の話 | メルカリエンジニアリング

    理論編: Telepresenceってなに Telepresenceとはリモートクラスタに対してより早く、ローカルで開発することを支援するツールです。現時点(2019/05/28)での最新バージョンは0.99です。 「より早く、ローカルで開発するのを支援するツール」ができることは、大きくまとめると以下の2つです。 クラスタのDeploymentをローカルサーバーと置き換える クラスタにローカルからアクセスをする これらの恩恵として ローカルサーバーのリモートクラスタの他サービスへアクセス ローカルサーバーのKuberenetesクラスタのリソースであるsecretsやConfigMapのアクセス リモートクラスタのローカルサーバーへのアクセス が挙げられ、より簡単に開発をできるようになります。 0. 今回のサービス例 例えば以下のようなサービスがあるとします。このサービスがやることは以下の

    マイクロサービスのTelepresenceを使ったローカル開発環境の話 | メルカリエンジニアリング
    yoppe9509
    yoppe9509 2020/01/13
  • Python: functools.partial() で関数やメソッドを部分適用する - CUBE SUGAR CONTAINER

    これまで存在すら知らなかったんだけど、標準ライブラリの functools.partial() はなかなか面白く使えそう。 これを使うと関数やメソッドの引数の一部をある値に固定した形で新しい呼び出し可能オブジェクトを作ることができる。 最初の例として functools.partial() の動作確認に使う関数を定義しておこう。 この関数 add() は単にふたつの引数を足し算するもの。 >>> def add(x, y): ... return x + y ... それでは functools.partial() を使って、先ほど定義した add() 関数のひとつ目の引数 x に 1 を部分適用した新しい関数 add_1() を作ってみよう。 ちなみにキーワード引数も使えるので、もし y を部分適用したい場合には functools.partial(add, y=1) になる。 >>>

    Python: functools.partial() で関数やメソッドを部分適用する - CUBE SUGAR CONTAINER
    yoppe9509
    yoppe9509 2020/01/08
  • DockerfileのEXPOSEは実際に何かポートを開けているわけではない - コード日進月歩

    盲目的に書いていたけどそうなんだ、と思ったのでメモ 環境 $ docker -v Docker version 18.06.1-ce, build e68fc7a 出典 Docker Documentation のEXPOSEの項目に下記のような記載がある The EXPOSE instruction does not actually publish the port. It functions as a type of documentation between the person who builds the image and the person who runs the container, about which ports are intended to be published. To actually publish the port when running the

    DockerfileのEXPOSEは実際に何かポートを開けているわけではない - コード日進月歩
    yoppe9509
    yoppe9509 2020/01/07
  • watchmedo が便利だと思ったのでメモ - ようへいの日々精進XP

    ども、初老丸です。 tl;dr Python で watchdog というモジュールが個人的にホットでこのモジュールを使って、ファイル作成を検知したら任意のアクションを起こすツールをサクッと作ってみたりしたが、よくよく調べてみると watchdog に同梱されている watchmedo というツールが既に存在しているので触ってみた。 https://pypi.python.org/pypi/watchdog http://pythonhosted.org/watchdog/ 試す 試した環境 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" $ python -V Python 2.7.

    watchmedo が便利だと思ったのでメモ - ようへいの日々精進XP
    yoppe9509
    yoppe9509 2020/01/07
  • Apache Airflowでエンドユーザーのための機械学習パイプラインを構築する Part3

    Part2では、Airflowの基的な使い方を学びました。Part3では、実際にパイプラインの実装に入っていきたいと思います。とはいえ一度に全部は作れないため、パートに分けて作成をしていきます。今回は、データ収集を担当するパートの一部を実装しようと思います。 Part3にて実装の範囲: データの取得処理具体的には、以下の処理のうち1~2を実装してみます。 EDINETから、決算関連文書のリストを取得するリストに掲載された文書をダウンロードして、ストレージに格納するダウンロードされた文書からテキストを抽出し、DBに格納する抽出したテキストから特徴量を計算し、ストレージに格納するEDINETは、企業の決算文書などを公開している金融庁のシステムです。最近APIで文書にアクセスできるようになったため、こちらを題材に使ってみたいと思います。 基的には、ファイルダウンロード・テキスト抽出・特徴量抽

    Apache Airflowでエンドユーザーのための機械学習パイプラインを構築する Part3
    yoppe9509
    yoppe9509 2019/12/27
  • 容量指定のダミーファイルを作成したい

    トラフィックの測定やファイルサーバのテストなど、希望する容量のダミーファイルが必要な場合がある。ここではddコマンドを利用したダミーファイル作成方法を紹介しよう。 # dd if=/dev/zero of=tempfile bs=1M count=10 読み込んだブロック数は 10+0 書き込んだブロック数は 10+0 # ls -l tempfile -rw-r--r--  1 root  root  10485760 12月 11 18:59 tempfile 上記は、ファイル名「tempfile」で10MBのファイルを作成する指定例だ。ポイントは、「/dev/zero」として「\0」文字(null)を読み込み、ブロックサイズ(bs=)に小さすぎない適度なサイズを指定し、「count=」で作成するファイル容量を指定するという点だ。 ddコマンドは、ファイルを変換してコピーするものであり

    容量指定のダミーファイルを作成したい
    yoppe9509
    yoppe9509 2019/12/26
    “容量指定のダミーファイルを作成したい”