トモロログ

仕事や趣味でのメモや記録など

プログラム

ABC [asarenメモ] 小ネタ集

1. dictionaryの存在チェックと値追加 pythonのディクショナリにて存在しないキーにアクセスするとエラーになるので、通常は 代入する前にキーの存在をチェックする必要がある。 しかし、キーの存在チェックをせずにデフォルト値を決めてアクセスする方法。 …

ABC169 問題D [asarenメモ] #幅優先(BFS)基本

Atcoder Begginer Contest 169 でのキューを使った幅優先探索のメモ atcoder.jp import os, sys, re, math from collections import deque N,M = map(int, input().split(' ')) tag = [-1] * N path_r = {} for _ in range(M): A,B = map(lambda x: int(x) -…

ABC165 問題C [asarenメモ] #深さ優先

atcoder.jp 問題文にある階段状に増加する数列の全パターンの生成数は N+M-1 Combination N 通り で最大見積もりは 19 C 10 = 92738 通り なので全生成してからスコア計算で対応可能。 全生成の方法は深さ優先探索(DFS)で生成可能。以下pythonでの回答例。 N…

Selenium + python で xpathで要素を見つけるときの存在チェック

Selenium + pythonについての話題。 xpathを用いて要素を見つけるときに find_element_by_xpath をやった場合、その対象の要素がないとき にexceptionが発生してしまう。 driver.find_element_by_xpath('hogehoge') 事前に存在チェックがないので以下のよう…

Laravel の twitter Oauthの設定

現在G's Academy というプログラミング学校に週末通っており、そこでPHPのフレームワークLaravelを利用しています。 Laravelは認証系の仕組みがコマンド打つだけであっという間にできてしまい楽勝だったので、色気を出してtwitterのOauth認証に手を出してハ…

python入門第1回終了

知財の人のためのpython入門の第1回を開催しました。 7名の方に参加いただき盛況でした。 写真載せたかったですがその後の飲み会のものしかなかったので次回取ってアップロードしたいと思います。 内容はデータ型、for, if, whle などの制御文が中心で基本的…

知財の人のためのPython サイト

先日募集していた「知財の人のためのPython入門」にあわせてサイトを立ち上げました。 講座の内容やそれに関する情報を残していこうと思います。 知財の人のためのPythonサイト

「一発リンクトモロヲ君」の思い出

「退屈なことはpythonにやらせよう」のまえがきに筆者の友人の経験談についての話があった。 その友人は大学時代、家電量販店で他店と自店舗の価格比較を紙ベースで突き合わせて比較し、競合店の方が安い商品をピックアップするという作業をしていた。そして…

python勉強会

なんとか勉強会は希望者が6名集まり開催にこぎつけることができました。 ただ、ほとんどはプログラム自体が初めてという人なのでどう進めるか悩み中。 特になにか書籍を使ったほうがよいかと思うのでどれにしようかと悩む。 結局何かやりたいことがあってプ…

python入門

一年以上ぶりの更新でございます。 最近知財関係者の方に向けてpython勉強会をしたいと思うようになりました。 プログラミングは最初のとっつきがハードルが高いのでそこをクリアする お手伝いができればと思います。上達したら一緒に新しいことを一緒に勉強…

mysql@ubunt のリモート接続

my sql をubuntu(16.04)に入れてデータサーバーとして他の端末から接続する ときにはまってしまいました。。 リモート側で接続しようとすると ERROR 2002 (HY000) : Can't connect to MySQL server ~~ と出てしまう。 調べてみると /etc/mysql/my.cnf 内の b…

企業の名寄せについての一考

特許データの分析時や集計時には企業の名寄せについてはなかなか悩まされることと思う。名寄せが必要な理由は大きくは以下の理由がある。 ①企業の変遷によるものー名称変更、合併、吸収 etc. ②表記揺れ 整理標準化データのなかでも表記の揺れは大きい。特に…

python から excel の操作

ライブラリ openpyxl を使用すればできた https://openpyxl.readthedocs.io/en/default/index.html# インストールはMac環境では pip install openpyxl 使用例 # coding: utf-8import openpyxl wb = openpyxl.load_workbook(filename = 'sample.xlsx') sheet …

キーワード検索 ≠ 全文検索

特許の商用データベースを利用していてこんなこと感じたことがあると思う。 例えば全文を対象としてキーワード「静電容量センサ」で検索 検索キーワードをハイライトして公報をチェック しかしそこにはキーワード「静電容量センサ」がない。 これは我々ユー…

insert ignore 〜の問題

insert ignore 〜 の構文でインサートしたときには重複行がある場合にはインサートを実行しないのだがちょっと問題点が。。 プライマリキー(たとえば id) をauto_increment で設定していて かつ それ以外のカラムにUNIQUE KEYを設定している場合に問題があ…

整理標準化データの追加

整理標準化データはデータの更新があったときに該当する公報のマスタデータが 配布される形式になっている。 たとえばある出願 2000-123XXX にIPCの更新があったときにはそれについてのすべての整理標準化データの出願マスタ1レコード分が配信される。つま…

mysql 日本語全文検索 入門

Oracle 山崎氏作成のこの資料を見ればとりあえず始められた。 とってもありがたいです。何度も見ようっと。下記に引用させていただきます。 MySQL 5.7 InnoDB 日本語全文検索 from yoyamasaki www.slideshare.net MySQL 5.7 InnoDB 日本語全文検索(その2)…

full text search の構文

mysql の全文検索の構文 select * from テーブル名 where match(カラム名) against('キーワード' in boolean mode) 'in boolean mode' は論理演算ができるモードらしい。あとこれを入れてないとなんか 曖昧な検索結果になってしまう。 boolean mode は上記の…

全文検索DB

先日 mroongaのセミナ Groonga - 「MySQLとPostgreSQLと日本語全文検索3」開催のお知らせ に参加。ここで知ったのがmysql5.7からmysqlでもインデックスを使った全文検索 が可能ということ。そして google cloud sql の2nd のバージョンが5.7になっていた。 …

整理標準化データの文字コード

特許庁からもらった xml ファイルの文字コードはeuc-jp、 こちらの環境はmac , python(2.7) でうまく処理できない。 原因はxml処理ライブラリがeuc-jpを処理しないことにあった。 以下の方法で解決。効率よいのかはわからんけど。 import xml.etree.ElementT…