エンジニアの頭の中

フリーランスエンジニアが書く技術系ブログです。

プログラミング

SQLAlchemyでMySQLのINSERT .. DUPLICATE ON KEY UPDATE (UPSERT)を使用する

SQLAlchemyでUPSERTしたい 最近、PythonでMySQLデータベースへ接続するコードを書いていたのですが、直接SQLを書くのが嫌になり、SQLAlchemyを使用することにしました。 既存のMySQLへの接続処理を、SQLAlchemyを使用するコードに置き換えていた際に、MySQL…

Python3で使用するMySQL用ライブラリのインストールしようとした時の問題

Python3からMySQLを使用するため、mysqlclientをインストールしようとしたのですが、OSError: mysql_config not foundだのIndexError: string index out of rangeだのと、エラーが発生して苦労したので、メモを残しておきます。 環境情報 macOS Sierra 10.12…

プログラマなら絶対読んだ方が良い本「UNIXという考え方―その設計思想と哲学」(要約・書評)

どんな本? 「UNIXという考え方―その設計思想と哲学」は、プログラム開発におけるUNIXの思想について述べた本です。 少し古い本ですが、その内容からは、共感できる点や学ぶ点が多いです。その考え方は、現代においても有効な点が多々あると思います。 こち…

SeleniumとPythonを使用してネットプリントへの書類登録を自動化

あらすじ 仕事の取引先とは、見積書や請求書などの書類を、郵送でやりとりしなくてはならないのですが、印刷するためのプリンタを持っていないため(たまにしか印刷しないので所有したくない)、紙の書類を印刷する必要がある時は、ネットプリントというウェ…

ChromeでXPathを簡単に取得する

スクレイピングするためのコードを書く場合など、XPathを取得したい場合があるかと思います。 Google Chromeを使用して、ウェブページのXPathを簡単に取得する方法について、記載します。 そもそもXPathとは XPath(XML Path Language)とは、XML文書の木構造…

Goでライフゲーム(Conway's Game of Life)を書いてみた

先日、プログラミング言語を学ぶ際に、よくライフゲームを書いてみるという記事を書きましたが、最近Goに興味を持ち出して、Goでライフゲームを書いてみたくなりました。 以下は、以前の記事です。この時は、JavaScriptとHTMLで作ったライフゲームを記事に載…

新しいプログラミング言語の学習でライフゲームを作る(Conway’s Game of Life)

ライフゲーム(Conway’s Game Of Life)とは ライフゲームをご存知でしょうか? ライフゲームは、ボード上にセル(細胞)を表示して、それぞれのセルがあるルールに従い、誕生、淘汰、生存を繰り返していく様子を眺めるシミュレーションゲームのことです。 …

MacBookにギークなステッカーを!unixstickersでのステッカー購入の流れ

ギークなステッカーを購入して、MacBookに貼りたくなったので、unixstickersでステッカーを購入してみました。 発注から、受け取りまでは、以下のような流れでした。 2月22日 発注 2月22日 発送 3月4日 ステッカー到着(購入から10日後) 発注 Web…