タグ

ブックマーク / nippondanji.blogspot.com (23)

  • AGPLのライセンス互換性の問題について - 解決策はRoR

    Webの世界にもGPLと同様の自由や相互運用性をもたらす小粋なAGPLであるが、運用に際しては注意点がある。それは、ライセンスの互換性である。結論から言うと、AGPLはGPLv2と互換性がない。GPLv2を利用したソフトウェアを改変またはリンクして、AGPLとしてリリースすることは出来ない。それが最大の問題である。GPLv3では一部互換で、GPLv3のソフトウェアを改変してAGPLとしてリリースすることは出来ないが、GPLv3のコードをリンクしたソフトウェアをAGPLv3としてリリースすることが可能である。 なーんだ、じゃあGPLv3のソフトウェアを使えばいいのね?と思うかも知れないが、そうは問屋が卸さない。そもそもの問題点として、GPLv2とGPLv3の互換性がないという問題がある。GPLv3には、ソフトウェア特許に対する保護の強化(つまり、GPLv3ソフトウェア開発元の人が、その利用者

    AGPLのライセンス互換性の問題について - 解決策はRoR
    tohokuaiki
    tohokuaiki 2017/10/17
    AGPLは利用者もコード開示要求できるってのがな。「利用者」って閲覧者も入るのか?
  • フォントは自由に変えられる。だから絵文字で何かを伝えるのはナンセンス。そんなことも分からなかったのか、Googleよ。

    Unicodeに絵文字が多数追加されたことは、以前から批判していたのだが、やはりというか何と言うか、しょっぱい問題が起こりつつある。 macOS SierraやiOS 10でピストル絵文字🔫が水鉄砲に変わることで起こる問題。 | AAPL Ch. 絵文字フォント次第で形が変わる。故にフォントが変わればニュアンスも変わる。自分と相手、あるいは今使っている機種と将来使う機種が同じフォントを使っているとは限らない。だからフォントを変更することで様々な問題が起きるわけである。 根的な問題=性質が異なるものを混ぜてしまった文字と絵は質的に性質が違う。 文字はその見た目ではなく、文字を組み合わせた単語、単語を並べた文章によって意味を持つ。フォントが違っても、見た目の違いはあれど、文章そのものの意味は変わらない。どのようなフォントで読んでも意味は通じるのである。 ところが、絵文字はそうは行かない

    フォントは自由に変えられる。だから絵文字で何かを伝えるのはナンセンス。そんなことも分からなかったのか、Googleよ。
    tohokuaiki
    tohokuaiki 2016/10/27
    これはまさしくその通りで、絵文字というのは文字と比べて抽象化の段階が低い。人間だから正しくないものが広がってしまうというのは避けられないけど、それを止めようと努力をしなければならないのもまた人間。
  • データベースについてのそもそも論

    先月のはじめのほうで、「リレーショナルデータベースとの上手な付き合い方」というタイトルで、2回発表をした。ひとつは「まべ☆てっく Vol.1」であり、もうひとつは「Hacker Tackle(ハカタクル?)」である。 「リレーショナルデータベースの開発・運用に纏わるもろもろの話をして欲しい」というような内容の話をしてくれないかという同じような依頼を、ちょうど2日違いのイベントで頂いた。9/8のまべ☆てっくと、9/10のHacker Tackleである。そうなると必然的に話す内容も、同じようなものになってくる。同じ人物(=私)が話すのだから、テーマも同じで時期も同じであれば、内容が同じようなものになるのが自然である。もし違うものになってしまっているのであれば、片方はウソをついているということになるはずだ。今日は発表に使用したスライドを紹介しつつ、なぜデータベースを使うべきなのか(あるいは使う

    データベースについてのそもそも論
    tohokuaiki
    tohokuaiki 2016/10/06
    何を今更と思ったほどにおそらくRDBMSって理解される前に軽視されてんの?
  • 開発スピードアクセル全開ぶっちぎり!日本よ、これがMySQL 5.6だッ!!

    米国で行われているMySQL Connectというイベントで、ついにMySQL 5.6 RC(リリース候補版)が発表された。リリース候補版ということは、これが次の正式版になるということだ。MySQL 5.5は5.1から凄まじい進化を遂げたバージョンであった。だが、MySQL 5.6はさらにそれを上回る進化を遂げている!正直ここまでの進化を誰が予想しただろうか、いや誰も出来なかったであろう。これまで、α版が出たときから何度か新機能について紹介してきたが、今回改めてMySQL 5.6の新機能を振り返ってみようと思う。すべてまとめるともの凄い内容だ。興奮して夜も眠れなくなること請け合いだ。MySQLの進化が止まるのでは?などという心配は吹き飛び、もはやもうちょっと小出しにしなくて良かったのか?と心配してしまうレベルである。 それではMySQL 5.6の新機能について紹介していこう。 InnoDB

    開発スピードアクセル全開ぶっちぎり!日本よ、これがMySQL 5.6だッ!!
    tohokuaiki
    tohokuaiki 2012/10/01
    いつもながら素晴らしいエバンジェスト振りだと思う。
  • Linuxデスクトップ戦争勃発

    今、Linuxデスクトップ界には大きな変化が起きている。デスクトップ向けに利用される二大ディストリビューションであるUbuntuとFedoraにおいて、いずれもデフォルトのデスクトップ環境が従来型のGNOMEではなくなってしまったのだ。4月にリリースされたUbuntu 11.04にはUnityが、5月にリリースされたFedora 15にはGNOME3がそれぞれ搭載されている。(GNOMEそのものが激変してしまったのである!) Linuxデスクトップのシェアはとても小さい。このブログの読者を含め、ほとんどの人にとってはLinuxデスクトップにどのような変化が起きたとしても、そんなのはどうでもいいことだろう。だが、二大ディストリビューションで同時に変化が、しかもエポックメイキングな変化が訪れたのはただごとではない。筆者には、この変化が新たな時代の幕開けに思えて仕方がないのである。今日は、それぞ

    Linuxデスクトップ戦争勃発
    tohokuaiki
    tohokuaiki 2011/07/13
    狭いパイを奪い合ってるというよりは楽しんでやってる風な・・・。
  • ジョジョのギークな冒険

    ※このエントリは「ジョジョの奇妙な冒険」もしくはTwitterを知らない人は分からないと思いますので読まないでださい。 ある日、ジョークを思いついた。漫画、ジョジョの奇妙な冒険のディオ(悪役)のセリフのパロディだ。それは自分にとってはかなり出来の良いものだったので、誰かに言いたくて言いたくて仕方がなかった。そこで、Twitterで呟いた。それが全ての始まりだった。 はじまり自分でネタを解説することほど小っ恥ずかしいものはないが、ジョジョをあまり知らない人のために少しだけ解説しよう。ディオは吸血鬼で、人の血を糧とする。そして血を吸われた人はゾンビになってしまうという設定だ。主人公のジョジョ(ジョナサン)は一旦ディオを倒したかに見えたが、実はディオは重症を負ったが生き延びていた。その後ジョジョが師匠ツェペリと共にディオと対峙したとき、ツェペリが放ったセリフがこれだ。 「きさまーーーいったい何人

    ジョジョのギークな冒険
    tohokuaiki
    tohokuaiki 2010/10/28
    なんてことだ。4部途中で終わってたJoJo歴を伸ばしたく、ちょっと漫画喫茶に、燃え尽きるほどヒート!!
  • Moongiftよ、俺の背中を押してくれ!

    恐らくこのブログの読者の皆さんであれば、Moongiftを愛読されている方が多いのではないだろうか。Moongiftはオープンソースソフトウェアや無料のソフトウェアを紹介するブログで、更新頻度も高いため俺も日々チェックしている。そのMoongiftが最近プレミアムユーザー向けの有料サービスを始めたのだが、なかなか申込むまでには至らないのだ。情報発信で対価を得るというビジネスモデルは個人的には応援したいと思っているのだが、それでも申し込もうという気が起こらないのだ。今日はその理由について色々と書いてみようと思う。 待てば記事が読める?Moongiftのプレミアムサービスでは、一部のコンテンツだけをプレミアムユーザーだけに配信したり、記事の先行配信を行うといった試みがなされている。だが、そのサービスにはどうしても心が動かされないのである。特に先行配信には魅力を感じない。待てば読めるのだから。

    Moongiftよ、俺の背中を押してくれ!
    tohokuaiki
    tohokuaiki 2010/10/19
    前振り4つは最後の主張を@moongiftに読ませる為の釣り餌か。
  • 恵比寿にあるLinux会社の熱いギークたちに会ってきた話。

    先日、友人の紹介でRed Hat社に勤めるエンジニアの方たちと事をした。Red Hat社のエンジニアの方々とはあんまり交流が無かったのだが、やはりLinuxに、そしてフリーソフトウェアに魂を燃やす漢たちの発想は一味違う!!興味深い話を聴き、とても良い刺激を受けることができたので皆さんにも紹介したいと思う。 再会参加者の面子を事前に聞いていなかったので驚いたのだが、なんとそこには古い知り合いの顔があった。KVM徹底入門の共著者である森若和雄氏である。彼とは大学院時代、同じ研究室の先輩後輩の間柄(自分の方が一年先輩)なのだが、当時自分は落ちこぼれであり、森若氏は自分より遥かに高いスキルを持ち合わせていたのをよく覚えている。卒業後お互い別々の道を歩いた末に、同じフリーソフトウェア支持者として再会出来たのは大変喜ばしい。 学生時代の森若氏の口ぐせは「Perl最高!Perlがあれば何でもできる!ヒ

    恵比寿にあるLinux会社の熱いギークたちに会ってきた話。
    tohokuaiki
    tohokuaiki 2010/10/01
    「何時でもどこでもソースコードが読めるということが幸せか」「世界を変えるのは言葉ではなくソースコードだ!」「Perl最高!Perlがあれば何でもできる!ヒャッハーッ!」暑いなー。
  • 受託開発とGPL

    GPLに対する代表的な誤解・・・というかむしろ謎のひとつに、受託開発(SI)におけるライセンスの扱いがある。この点が明確になっていないため、受託開発において無意味にGPLを回避しようとしたり、GPLに対するFUDを流布することに対する原因になっていたりするように思う。フリーソフトウェアおよびオープンソースソフトウェアを愛する者として、そのような状況は断じて見過ごすことができない!!というわけで、今日はGPLを受託開発(SI)において用いる場合の注意事項を説明しよう。 GPLの使いどころ受託開発においてGPL(とその仲間たち=LGPL、AGPL)が登場するのは、第三者、つまり発注側でも受託側でもない者が作成したGPLのソフトウェアを利用する場合である。例えばGPLが適用されたライブラリなどだ。周知の通り、GPLのソフトウェアをリンクしたソフトウェアを再配布する場合は、そのソフトウェア全体に対

    受託開発とGPL
  • IBMはオープンソースを支持し続けるのか?

    IBMがオープンソースソフトウェアを開発している企業に対して、特許をもって威嚇したという旨のニュースが掲載された。 マイコミジャーナル「米IBMの書簡にオープンソース支持者が非難」 メインフレームエミュレータの「Hercules」を提供する仏TurboHerculesが3月、欧州委員会(EC)に対して申し立てた競争法違反の調査に関連して、著名なオープンソース支持者が米IBMがTurboHerculesに対して送った書簡を公開し、「これまでのオープンソース支持は偽善」とIBMを激しく非難している。 フリー(自由な)ソフトウェア支持者としては、特許で威嚇と聞くと反応せざるを得ないのだが、IBMの一体何がいけないのだろうか?今日はこのニュースについて「著名なオープンソース支持者」であるFlorian Mueller氏による主張の意義を検証してみたい。 Hercules(ヘラクレス) emulat

    IBMはオープンソースを支持し続けるのか?
    tohokuaiki
    tohokuaiki 2010/04/14
    面白いなぁ。興味深いというべきか。社会企業家みたいな感じもする。
  • Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン

    Webサービスでは、世界中からのトラフィックを捌く必要があるため、いくらチューニングしようとも一台のRDBMSでは捌ききることが出来ないのが常だ。MySQLは最初からマスター・スレーブ型のレプリケーション機能が搭載されており、スレーブをたくさんぶら下げることによって参照の負荷をスレーブに割り振るというスケールアウトによってその問題に対処してきた。スレーブによるスケールアウトは、参照(=PV)が多いWebサイトと非常に相性が良く、幾多のWebサイトにおいて実績を作ってきているし、まだまだ利用されている。 しかしながら、サイトのトラフィックが劇的に増加してくるようになると、レプリケーションによる負荷分散では追いつかなくなってきた。そこで人々がとった選択肢は、memcachedを利用することである。memcachedはインメモリ型の高速なKVSであり、参照・更新性能はMySQLより格段に高い。M

    Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン
  • たった3秒でInnoDBのデータローディングが快適になるライフハック

    MySQLに限った話ではないが、データベース管理システムに大量のデータを投入するのは時間が掛かり大変苦痛を伴う作業である。劇的に効能があるわけではないが、MySQLを利用しているとき、特にInnoDBを使っている場合にはデータの投入を高速化するためにいくつかテクニックがあるので紹介しよう。皆さんの作業時間が短縮され、少しでも早く帰路に着いたりサービスインさせたりという形でお役に立てれば幸いである。ちなみに、タイトルはネタであるのだが、もし当に3秒で以下の全ての設定を行えた人が居たら教えて頂きたい! ログファイルサイズの調整データ投入時に限った話ではないが、ログファイルサイズを調整するのは更新性能にとって非常に重要なファクターである。バッファプールのサイズが重要なことに代わりはないが、同じぐらいログファイルのサイズも重要である。InnoDBはログファイルを使い切ってしまうと、バッファプール

    たった3秒でInnoDBのデータローディングが快適になるライフハック
  • InnoDB Pluginことはじめ。快適ストレージエンジン生活はじまる!

    MySQL 5.1.38からMySQL体にInnoDB Pluginバンドルされている。一部の先駆的なユーザー以外に、「InnoDB使ってますよ!」もしくは「検証してるよ!」という話をあまり聞かない。そもそもであるが、InnoDB Pluginってなんぞ?!という人が多いんではないかと思うのだが、実際はどうなのだろう?現在はRC版(リリース候補版)という位置づけのInnoDB Pluginであるが、一部影響度の高いバグが残っていたりしてGA版ほどの安定性は求められないものの、ほとんど実用に耐えうる品質になっているといえる。そんなわけで、今日は改めてInnoDB Pluginの使い方・使いどころについて説明するので、ぜひ皆さんの手でInnoDB Pluginを評価してみて頂きたい。 なお、以下の解説は現在の最新バージョンである、InnoDB Plugin 1.0.6を前提にしているので、将

    InnoDB Pluginことはじめ。快適ストレージエンジン生活はじまる!
  • 漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。

    InnoDBを使うとき、MyISAMと比較して度々やり玉に挙げられるポイントとして「COUNT()が遅い」というものがある。確かにInnoDBにおいて行数を弾き出すのにはテーブルスキャンが必要なのだが、そもそもMyISAMのCOUNT()が速い(テーブルの行数を保持してる)のが特殊なのであって、InnoDBが遅いわけではないのである。とはいえ、高速なCOUNT()については需要が多く、この問題には多くの人取り組んでおられるようだ。しかしながら、COUNT()のチューニングについては未だ語られていない点があるように見受けられるので、今日はCOUNT()のチューニングについて解説しようと思う。 COUNT(*)、COUNT(col)、COUNT(1)の違い基的なことではあるが、COUNT(*)とCOUNT(col)では意味が異なるため、異なる結果が返される場合がある。COUNT(*)はフェッ

    漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。
  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
    tohokuaiki
    tohokuaiki 2010/03/02
    すごーい。これは面白い。・・・理解できてないけど。
  • そろそろMySQL Workbench 5.2についてひとこと言っておくか。

    MySQLといえば、コマンドラインで操作するしかできないようなイメージが世間では定着してしまっている気がするのだが、実はちゃんとGUIも存在する。 MySQLはかねてより(MySQL AB時代から)オフィシャルなGUIツールとして、管理ツールとしてMySQL Administrator、SQL文を編集&実行するためのQuery Browser、そして他のRDBMSからの移行ツールであるMigration Toolkitという3つのツールを提供していたのだが、先日それらのツールに対して開発終了のお知らせが出てしまった。 オフィシャルなGUIツールはもう無くなるのか?!!と思ってしまわれるかも知れないが、どうか焦らないで頂きたい。 現在、MySQLが提供するGUIツールとして活発に開発が続けられているものとして、MySQL Workbenchというものがある。このツールは、ビジュアル的に(実体

    そろそろMySQL Workbench 5.2についてひとこと言っておくか。
  • MySQLに纏わる10の都市伝説

    誰の口から飛び出したのかは定かではないが、巷ではMySQLにまつわる様々な「都市伝説」がまことしやかに囁かれているようだ。恐らくMySQLに対する理解が低い人や、MySQLがあまり好きではない面々によってFUDっぽく言われているのだと思うが、世の中にはそのような「都市伝説」を真に受けてしまう人が居るのもまた事実であである。MySQLにおける昨今の開発スピードには目覚ましいものがあり、MySQLは性能・安定性・使い易さ共に進化し続けている。(特に先日リリースされたMySQL 5.5は性能・安定性・使い易さを両立している優れたバージョンだ!!)しかし「都市伝説」で語られることは総じて「MySQLはダメな子ちゃん」であるという烙印を押すものばかりであり、MySQLerとしてはそのような言われ無き汚名を全身全霊をもって晴らさなければならない使命を背負っている。そこで、今日はMySQLについて語られ

    MySQLに纏わる10の都市伝説
    tohokuaiki
    tohokuaiki 2009/12/18
    何故か最後がテレンス・リー風味
  • 一家に一冊。あのオプションなんだっけ?と思った時のために備えて。- #書評_ - MySQL全機能バイブル

    著者鈴木啓修様より献御礼。(←一度言ってみたかったw) 書は鈴木氏の前著である「MySQL全機能リファレンス」からのアップデートであるが、この度は最新バージョンであるMySQL 5.1対応になっての登場である。 今の時代、一家に一台テレビがあるように、はたまたパソコンがあるように、いやいや冷蔵庫があるように、一家に一冊書があってもいいのではなかろうか。MySQLがオフィシャルに提供しているリファレンスマニュアルを除いて、MySQLをここまで網羅的に解説している書籍を私は知らない。その網羅性は目次だけで13ページも費やしていることからも、容易に想像出来ることだろう。 もくじを見ただけでもその網羅性がよく分かるだろう。このもくじを書いただけで既に腕がつりそうである。 Chapter 01 イントロダクション ■■ 概要 1-01 MySQL™とは 1-02 MySQLの概要 1-03 デ

    一家に一冊。あのオプションなんだっけ?と思った時のために備えて。- #書評_ - MySQL全機能バイブル
    tohokuaiki
    tohokuaiki 2009/10/28
    最近、MySQLがあついなー。
  • パーソナルスーパーコンピューター

    オトコはいつの世もロマンを求めている。もし幸運にも大金を手にすることが出来たら・・・ フェラーリやポルシェなどの高級車を買う。 クルーザーを買う。 豪邸を建てる。 別荘を買う。 競走馬を買う。 毎日ゴルフ三昧。 などなど、大金があれば大抵のロマンは手に入ってしまうわけである。このような一般的なロマンもいいが、ギークたるものそのような軟派なことを考えてはいけない。もし俺が大金を手にしたならばこれを買うだろう。 なんとデスクサイド型のスーパーコンピューターである。つまり、個人がデスクサイドにコイツを置いて利用するのである。これはまさにパソコンとスパコンを融合した、パーソナルスーパーコンピューターと言っていいシロモノだ。 CX1はブレード8枚を搭載できるというアーキテクチャで、各ブレードにはXeonが最大2個、メモリが32GBまで搭載できる。なのでシステム全体では16CPU/256GBメモリとい

    パーソナルスーパーコンピューター
    tohokuaiki
    tohokuaiki 2009/10/21
    hentai daaaaaaaaaaaaaaaaaaaa
  • ALTER TABLEを上手に使いこなそう。

    テーブル定義を変更したい。インデックスが壊れてしまったので再作成したい。そんな場合はALTER TABLEを使う。ALTER TABLEはテーブル定義を変更するお馴染みのコマンドであるが、その挙動は意外と知られていない。(エキスパートとおぼしき方々からも度々質問を受ける。)そんなわけで、今日はALTER TABLEについて解説しようと思う。 まず結論から言うと、なんとMySQLのALTER TABLEはテーブルのデータを全てコピーし直すのである。なんて無駄なことを!?と思うかも知れないが、テーブル定義(スキーマ)の変更を動的に行うには、ストレージエンジンによるサポートが必要であり、動的なスキーマ変更をサポートしているストレージエンジンはまだ少ないのである。(動的スキーマ変更をサポートしているのはMySQL Clusterぐらいだ。しかも追加だけ。)デフォルトで利用出来るMyISAMはInn

    ALTER TABLEを上手に使いこなそう。
    tohokuaiki
    tohokuaiki 2009/10/21
    まず結論から言うと、なんとMySQLのALTER TABLEはテーブルのデータを全てコピーし直すのである。<