タグ

2017年6月27日のブックマーク (22件)

  • 「型」の定義に挑む | POSTD

    科学はその方法論上のイメージよりもはるかに”ぞんざい”かつ”非合理的”なものである。 Paul Feyerabend著『Against Method(方法への挑戦)』(1975年) プログラミング言語は魅力的な分野です。それは、計算機科学(と論理)を 社会学や人間とコンピュータの相互作用 、科学的に定量化できない直感や嗜好、そして(良くも悪くも)政治などを含む分野と結び付けてくれるからです。 プログラミング言語を話題にする場合、たいてい何らかの客観的な真実を追求する科学的議論になってしまいます。科学は完璧のオーラに包まれているため、科学的質の核心部だけに集中し、他の部分を無視するのが正しいプログラミング言語の考え方だと単純に思ってしまうのも無理ありません。 しかし、これではプログラミング言語を面白くしている多くのものが除外されてしまいます。この隙間を埋める1つの方法は、科学の哲学に目を向

    「型」の定義に挑む | POSTD
    mnru
    mnru 2017/06/27
  • Scalaの合併型と全称型

    Any は全ての型のスーパータイプ、Nothing は全ての型のサブタイプです。 A with B は A と B の交差型を作ります。 A <:< B は A が B のサブタイプであることを表します。 forSome は存在型を構成します。 否定型 この対応から論理における否定は次のようになります。

    mnru
    mnru 2017/06/27
  • 多相性とジェネリクス - Qiita

    自分の理解のまとめです。ベースはWikipediaです。(Wikipedia語ページの記述は2017/3に英語ページの記述をもとに拡充されています。)論文や書籍を参照・引用してるわけではないので、たぶん突っ込みどころがあるのではないかと思います。うのみにしないように。 ざっくり3つに分類されています。 アドホック多相 サブタイピング多相 パラメトリック多相 アドホック多相は、型システム上は関連性のない複数の型を引数や戻り値にとることができる関数(メソッドや演算子を含む)の性質です。普通は引数や戻り値の型に応じて異なる実装にディスパッチされます。Javaで言うとオーバーローディングです。Javaのオーバーローディングだと、多相性を保ったまま第一級オブジェクトとして扱うことはできません(オーバーロードされたメソッドの参照を関数インターフェース型の変数に代入しようとすると、その時点でオーバー

    多相性とジェネリクス - Qiita
    mnru
    mnru 2017/06/27
  • ジェネリックプログラミング - Wikipedia

    ジェネリック(総称あるいは汎用)プログラミング(英: generic programming)は、具体的なデータ型に直接依存しない、抽象的かつ汎用的なコード記述を可能にするコンピュータプログラミング手法である。 ジェネリックプログラミングはデータ型でコードをインスタンス化するのか、あるいはデータ型をパラメータとして渡すかということにかかわらず、同じソースコードを利用できる[1]。ジェネリックプログラミングは言語により異なる形で実装されている。ジェネリックプログラミングの機能は1970年代にCLUやAdaのような言語に搭載され、次にBETA、C++、D、Eiffel、Java、その後DECのTrellis/Owl言語などの数多くのオブジェクトベース (object-based) およびオブジェクト指向 (object-oriented) 言語に採用された。 1995年の書籍デザインパターン[

    ジェネリックプログラミング - Wikipedia
    mnru
    mnru 2017/06/27
  • 独習 Scalaz — 多相性って何?

    多相性って何? パラメータ多相 Nick さん曰く: この関数 head は A のリストを取って A を返します。A が何であるかはかまいません。Int でもいいし、String でもいいし、Orange でも Car でもいいです。どの A でも動作し、存在可能な全ての A に対してこの関数は定義されています。 scala> def head[A](xs: List[A]): A = xs(0) head: [A](xs: List[A])A scala> head(1 :: 2 :: Nil) res0: Int = 1 scala> case class Car(make: String) defined class Car scala> head(Car("Civic") :: Car("CR-V") :: Nil) res1: Car = Car(Civic) Haskell

    mnru
    mnru 2017/06/27
  • PostgreSQLのCOPY文での数値項目への空文字インポートについて

    mnru
    mnru 2017/06/27
  • python の Psycopg を用いて、COPYコマンドを実行する - Qiita

    目的 pythonでPostgreSQLにCOPYコマンドを実行します。 psycopgにcopy_from関数があり、非常に簡単に分かりやすく処理することが出来ます。 この記事の作成時の環境 python:2.7.10 postgresql 9.4 PC: MacBook Pro (Retina, 13-inch, Mid 2014) 必要なライブラリ Psycopg http://initd.org/psycopg/ インストールはPIPコマンドでも可能です。 詳しくは http://initd.org/psycopg/docs/install.html サンプルソースコード TSV形式のpythonが実行されているマシン上に配置されているファイルを、PostgreSQLに対して投入します。 import psycopg2 try: # PostgreSQLへ接続 conn = psy

    python の Psycopg を用いて、COPYコマンドを実行する - Qiita
  • Python3 – 正規表現 – エスケープとraw文字列 – TauStation

    エスケープの問題 正規表現ではいくつかの文字がパターンとしての特別の意味を持つが、その文字そのものをマッチングの対象としたいときにはバックスラッシュ(\)でエスケープする。

    mnru
    mnru 2017/06/27
  • python 変数のraw文字列化 - 日々の生活メモ帳

    これでいけます '%r'%hogehoge hogehogeがraw文字列化したい変数です 試しに使ってみる >>> hogehoge = "\n" >>> print (hogehoge) >>> print ('%r'%hogehoge) '\n'

    python 変数のraw文字列化 - 日々の生活メモ帳
    mnru
    mnru 2017/06/27
  • PostgreSQLをPythonからpsycopg2を使っていじる — そこはかとなく書くよん。 ドキュメント

    で簡単です。ただ、C関数を作るので、Python.hなどのdevライブラリやgccといっ たツールを事前にインストールしておく必要があります。 簡単な使い方¶ >>> import psycopg2 # コネクション作成 >>> conn = psycopg2.connect("dbname=test host=localhost user=postgres") # カーソル作成 >>> cur = conn.cursor() # SQLコマンド実行 (今回はテーブル作成) >>> cur.execute("CREATE TABLE test (id serial PRIMARY KEY, num integer, data varchar);") # SQLコマンド実行 (プレースホルダー使用。エスケープも勝手にされる) >>> cur.execute("INSERT INTO test

  • PythonからPostgreSQLにpsycopg2を使って接続する方法 | アシスト

    ここ数年、Pythonの人気が高まっています。2016年2月時点では、世界中のインターネット上のドキュメントに多く登場するプログラミング言語を集計したデータを公開しているTIOBE Programming Community の プログラミング言語人気ランキング でもかなり上位に位置しています。 そこで今回はPythonからPostgreSQLへ接続する方法をご紹介します。 PythonからPostgreSQLに接続する場合、"ドライバ"と呼ばれるモジュールを使用します。PostgreSQL用として現在公開されているメジャーなものでは、以下の3つが挙げられます。なお、備考内の"libpq"とはPostgreSQL自体が提供している、クライアントアプリケーション用のC言語のライブラリです。

    PythonからPostgreSQLにpsycopg2を使って接続する方法 | アシスト
  • Python コードから PostgreSQL に可変な SQL 文を投げてみた | DevelopersIO

    こんにちは、みかみです。 はじめに やりたいこと Python コードと SQL 文を分離したい テーブル名や指定条件などを動的にしてクエリを発行したい Python から可変な SQL を投げるにはどんな方法(ライブラリ)があるのか知りたい 確認環境 OS:Windows10(Mac VMware Fusion) Python:3.6.0 PostgreSQL:9.6.1(環境変数に PGPASSWORD 設定済み) 確認用データ準備 id と name カラムを持つ test テーブルを作成し、データを insert しました。 postgres=# create table test(id int, name varchar(20)); CREATE TABLE postgres=# \d test テーブル "public.test" 列 | 型 | 修飾語 ------+----

    Python コードから PostgreSQL に可変な SQL 文を投げてみた | DevelopersIO
  • PostgreSQLは標準でバックスラッシュをエスケープしない仕様になった

    PostgreSQL9.1の仕様変更にて、デフォルト時の設定として、standard_conforming_stringsがonとみなされるようになりました。この仕様変更により、デフォルト設定でのPostgreSQLは、バックスラッシュをエスケープする必要がなくなり、ISO規格のSQLと同様のエスケープルール(シングルクォートを重ねるのみ)となります。 PostgreSQLの文字列リテラルは、元々MySQL同様に、バックスラッシュをエスケープする仕様でした。その後、リリース8.1にて、設定パラメータ standard_conforming_strings が追加され、この値が on の場合、バックスラッシュをエスケープしない(ISO規格と同様の)仕様となりました。従来のリリースでは、standard_conforming_stringsを指定しない場合offとみなされていました。これは、後

  • PostgreSQLでのバックスラッシュ文字の扱い - Qiita

    PostgreSQLの文字列リテラルでは、バックスラッシュ文字の意味が standard_conforming_stringsという設定によって変わるようです。 standard_conforming_stringsが"off"のときは、バックスラッシュは特殊文字として 機能します。「\n」はAscii文字のLFで、「\t」はTABとして解釈されます。 一方、standard_conforming_stringsが"on"のときは標準SQL仕様準拠モードとなり、 バックスラッシュはただの「バックスラッシュという文字そのもの」として解釈されます。 「\n」は「\」と「n」の2文字となります。 このあたりことは以下のページの方が詳しいですのでそちらをどうぞ。 PostgreSQLは標準でバックスラッシュをエスケープしない仕様になった | 徳丸浩の日記 元々、標準のSQL仕様的には、バックスラッ

    PostgreSQLでのバックスラッシュ文字の扱い - Qiita
  • Basic module usage — Psycopg v2.4.3.dev0 documentation

    Basic module usage¶ The basic Psycopg usage is common to all the database adapters implementing the DB API 2.0 protocol. Here is an interactive session showing some of the basic commands: >>> import psycopg2 # Connect to an existing database >>> conn = psycopg2.connect("dbname=test user=postgres") # Open a cursor to perform database operations >>> cur = conn.cursor() # Execute a command: this crea

    mnru
    mnru 2017/06/27
  • PostgreSQL

    SQLiteとは違い、いわゆる格的なデータベースの一つであるPostgreSQLの例です。Pythonに対応したPostgreSQLドライバは数種類ありますが、サイトではpsycopg2を使用します。 ドライバのインストール 下記コマンドを入力しpsycopg2をインストールしてください。 ※これはpipがインストールされていることを前提としています。インストールしていない場合はpipの使い方とインストールを参照してください。 pip install psycopg2 insertサンプル データ登録は次のように行います。 import psycopg2 connector = psycopg2.connect( host='localhost', database='pdb', user='pgusr', password='pgpsw', ) cursor = connector.

    PostgreSQL
  • COPY

    概要COPY table_name [ ( column_name [, ...] ) ] FROM { 'filename' | PROGRAM 'command' | STDIN } [ [ WITH ] ( option [, ...] ) ] COPY { table_name [ ( column_name [, ...] ) ] | ( query ) } TO { 'filename' | PROGRAM 'command' | STDOUT } [ [ WITH ] ( option [, ...] ) ] ここでoptionは以下のいずれかです。 FORMAT format_name OIDS [ boolean ] FREEZE [ boolean ] DELIMITER 'delimiter_character' NULL 'null_string' HEADER [

  • How to install whl files in Anaconda - deparkes

    Anaconda whl Install The whl format is a special zip format for Python packages. These are Anaconda whl install instructions. Here’s how to install a whl package in the Anaconda Python distribution from Continuum Analytics. Download the ‘wheel’ Find and download your whl file. In this example I’m going to be installing the ‘Shapely’ geometry package, available from here: http://www.lfd.uci.edu/~go

    How to install whl files in Anaconda - deparkes
    mnru
    mnru 2017/06/27
  • pip と wheel を windows でも使いこなす - Qiita

    この投稿で作成する環境は https://bitbucket.org/toruuetani/venv_base で構築できる。 hg clone して cmd.bat を実行すると、 Fabric がインストールされた virtualenv 環境が構築される。 前提 windows PC で開発し、それを動作させるのは別の windows PC 。ただし、その PC はオフライン環境で動作する。 なぜ今頃 pip を使いだすのか pip はバイナリからインストールできないから。 pure python でないパッケージはソースからコンパイルしないといけないが、 linux と違って windows には C コンパイラがないことが多いため、 そういうパッケージをインストールできない。そのため windows 向けにバイナリパッケージが用意されている(XXX-1.2.1.win32-py2.

    pip と wheel を windows でも使いこなす - Qiita
    mnru
    mnru 2017/06/27
  • Pythonパッケージをオフライン環境にインストールするTIPS - sheeplogh :: memo

    オフライン環境にPythonパッケージを追加するときのTIPS。 "できなかった"は詳しく調べていないので勘違いかも 環境 Python 2.6.6 + pip 1.4.1 (CentOS 6.6 x86_64) Python 2.7.10 + pip 7.1.0 (Cygwin 2.2.0 i686) パッケージファイルのダウンロード pip install --download で指定したディレクトリにPyPIからファイルをダウンロードできる。 ディレクトリは事前に作成しておく必要あり。 依存するパッケージもダウンロードされる。 --no-binary :all: は全パッケージでソース形式のファイルをダウンロードする指定。 指定しないとwheel形式のファイルがダウンロードされる。 古いpipにはこのオプションがない。pip 1.4.1にはなかった。 ## awscli と依存するパ

    Pythonパッケージをオフライン環境にインストールするTIPS - sheeplogh :: memo
    mnru
    mnru 2017/06/27
  • psycopg2

    Classifiers Development Status 5 - Production/Stable Intended Audience Developers License OSI Approved :: GNU Library or Lesser General Public License (LGPL) Operating System Microsoft :: Windows Unix Programming Language C Python Python :: 3 Python :: 3 :: Only Python :: 3.7 Python :: 3.8 Python :: 3.9 Python :: 3.10 Python :: 3.11 Python :: 3.12 Python :: Implementation :: CPython SQL Topic Data

    psycopg2
    mnru
    mnru 2017/06/27
  • トポロジー・圏論・微分幾何 勉強会(41) (2017/07/03 23:00〜)

    Skypeを使って、数学を読む会です。 この分野への取っ掛かりをつかむことを目的としています。 初めての方でも大歓迎です。お気軽にご参加ください。 【注】 主催者は数学の専門家ではありません。あまり凄いことは期待しないでください。 テキスト 各自でご準備ください。 理工系のためのトポロジー・圏論・微分幾何【電子版】 紙媒体は絶版となっており、入手できるのは電子書籍のみです。 注文後の確認メールに返信して注文確定となるのでご注意ください。 紙媒体と内容は同一ですので、そちらをお持ちでも問題ありません。 参加方法 Skypeをインストールして、次のリンクを開いてください。 Skypeグループへのリンク → トポロジー・圏論・微分幾何 勉強会 リンクがうまく開けない時はトラブルシューティングを参照してください。 当日のトラブルを避けるため、事前に一度接続をテストしておいてください。 上記グル

    トポロジー・圏論・微分幾何 勉強会(41) (2017/07/03 23:00〜)
    mnru
    mnru 2017/06/27