SlideShare a Scribd company logo
1 of 18
Download to read offline
2010.4.24(Sat)@Monzen Plaza (Nagano C.)




山椒は小粒で
ぴりりと辛い
~小さなプログラム万歳!~

                     すの (春原 宏保)
●
    春原 宏保 (すのはら ひろやす)
    ●   http://d.hatena.ne.jp/suno88/
    ●   http://twitter.com/suno88
●   スーパープログラマー
    マーケットによく出没する

              ●
                アップルランド安茂里店
              ● 西友伊勢宮店

              ● JC(生鮮市場)長野中央店


              での目撃情報多数
●
    最近のアプリ
    ケーションは
    肥大化の一途
●   自分専用に、小粒でもぴりりと効
    くアプリを書こう
事例 1:
週報自動配信システム
●
    週報を毎週金曜日にメールで
    提出する義務がある
●
    面倒くさい、忘れがち
●   祝日や有給休暇を挟む週は
    曜日の感覚が狂う
●
    日付と本文を登録しておけば
    勝手に配信してくれるシステム
    を作ろう!
$pdo = new PDO(PDO_PGSQL);
$sql = 'SELECT content FROM Weekly_Reports' .
       ' WHERE rep_date = :rep_date';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(":rep_date", date('Y-m-d'), PDO::PARAM_STR);
$stmt->execute();
if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  $content = $row['content'];
  $subject = mb_substr($content, 0, mb_strpos($content, "n"));
  echo mb_strpos($content, "rn");
  mb_language('ja');
  mb_send_mail('xxx@example.co.jp',
               mb_convert_encoding($subject, 'JIS', 'UTF-8'),
               mb_convert_encoding($content, 'JIS', 'UTF-8'),
               'From: ' .
               mb_encode_mimeheader(mb_convert_encoding(
                  '春原 宏保', 'JIS', 'UTF-8')) .
               ' <suno88@example.co.jp>');
}
$pdo = null;
事例 2:
ソリティア起動 EXE
※プライバシー保護のため、
 画像を一部加工しています
Windows XP 以前
C:WINDOWSSystem32sol.exe を
起動すればよかった
Windows Vista 以降
C:Program FilesMicrosoft Games
SolitaireSolitaire.exe に変わっている
※プライバシー保護のため、
 画像を一部加工しています
program Sol;


uses
  ShellAPI, Windows, SysUtils;

var
  s: string;
begin
  s := GetEnvironmentVariable('ProgramFiles');
  ShellExecute(0, PCHAR('open'),
    PCHAR(s + 'Microsoft GamesSolitaireSolitaire.exe'),
    nil, nil, SW_SHOW);
end.
※プライバシー保護を
              考慮していません




「ショートカットをパスの通ったディレクトリ
に置けば?」とかいうツッコミは却下。
プログラミングは面白いよ!
終
            すの (春原 宏保)
    http://d.hatena.ne.jp/suno88
       http://twitter.com/suno88

More Related Content

More from suno88

AWS で社内オンライン勉強会
AWS で社内オンライン勉強会AWS で社内オンライン勉強会
AWS で社内オンライン勉強会suno88
 
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月suno88
 
HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話suno88
 
Javascript で暗号化
Javascript で暗号化Javascript で暗号化
Javascript で暗号化suno88
 
初心者向け SQLite の始め方
初心者向け SQLite の始め方初心者向け SQLite の始め方
初心者向け SQLite の始め方suno88
 
ねえ、お父さんのお仕事ってなぁに?
ねえ、お父さんのお仕事ってなぁに?ねえ、お父さんのお仕事ってなぁに?
ねえ、お父さんのお仕事ってなぁに?suno88
 
「交通勉強会 ~Trafficonf ~」発足に寄せて
「交通勉強会 ~Trafficonf ~」発足に寄せて「交通勉強会 ~Trafficonf ~」発足に寄せて
「交通勉強会 ~Trafficonf ~」発足に寄せてsuno88
 
ソフトウェアエンジニアに必要な法律・契約のお話
ソフトウェアエンジニアに必要な法律・契約のお話ソフトウェアエンジニアに必要な法律・契約のお話
ソフトウェアエンジニアに必要な法律・契約のお話suno88
 
8bit 時代のプログラミング事情を訪ねて
8bit 時代のプログラミング事情を訪ねて8bit 時代のプログラミング事情を訪ねて
8bit 時代のプログラミング事情を訪ねてsuno88
 
ITでみんなを幸せに、ITで自分も幸せに
ITでみんなを幸せに、ITで自分も幸せにITでみんなを幸せに、ITで自分も幸せに
ITでみんなを幸せに、ITで自分も幸せにsuno88
 

More from suno88 (10)

AWS で社内オンライン勉強会
AWS で社内オンライン勉強会AWS で社内オンライン勉強会
AWS で社内オンライン勉強会
 
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
 
HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話
 
Javascript で暗号化
Javascript で暗号化Javascript で暗号化
Javascript で暗号化
 
初心者向け SQLite の始め方
初心者向け SQLite の始め方初心者向け SQLite の始め方
初心者向け SQLite の始め方
 
ねえ、お父さんのお仕事ってなぁに?
ねえ、お父さんのお仕事ってなぁに?ねえ、お父さんのお仕事ってなぁに?
ねえ、お父さんのお仕事ってなぁに?
 
「交通勉強会 ~Trafficonf ~」発足に寄せて
「交通勉強会 ~Trafficonf ~」発足に寄せて「交通勉強会 ~Trafficonf ~」発足に寄せて
「交通勉強会 ~Trafficonf ~」発足に寄せて
 
ソフトウェアエンジニアに必要な法律・契約のお話
ソフトウェアエンジニアに必要な法律・契約のお話ソフトウェアエンジニアに必要な法律・契約のお話
ソフトウェアエンジニアに必要な法律・契約のお話
 
8bit 時代のプログラミング事情を訪ねて
8bit 時代のプログラミング事情を訪ねて8bit 時代のプログラミング事情を訪ねて
8bit 時代のプログラミング事情を訪ねて
 
ITでみんなを幸せに、ITで自分も幸せに
ITでみんなを幸せに、ITで自分も幸せにITでみんなを幸せに、ITで自分も幸せに
ITでみんなを幸せに、ITで自分も幸せに
 

Recently uploaded

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (9)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

山椒は小粒でぴりりと辛い

  • 1. 2010.4.24(Sat)@Monzen Plaza (Nagano C.) 山椒は小粒で ぴりりと辛い ~小さなプログラム万歳!~ すの (春原 宏保)
  • 2. 春原 宏保 (すのはら ひろやす) ● http://d.hatena.ne.jp/suno88/ ● http://twitter.com/suno88 ● スーパープログラマー マーケットによく出没する ● アップルランド安茂里店 ● 西友伊勢宮店 ● JC(生鮮市場)長野中央店 での目撃情報多数
  • 3. 最近のアプリ ケーションは 肥大化の一途 ● 自分専用に、小粒でもぴりりと効 くアプリを書こう
  • 5. 週報を毎週金曜日にメールで 提出する義務がある ● 面倒くさい、忘れがち ● 祝日や有給休暇を挟む週は 曜日の感覚が狂う
  • 6. 日付と本文を登録しておけば 勝手に配信してくれるシステム を作ろう!
  • 7.
  • 8. $pdo = new PDO(PDO_PGSQL); $sql = 'SELECT content FROM Weekly_Reports' . ' WHERE rep_date = :rep_date'; $stmt = $pdo->prepare($sql); $stmt->bindValue(":rep_date", date('Y-m-d'), PDO::PARAM_STR); $stmt->execute(); if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $content = $row['content']; $subject = mb_substr($content, 0, mb_strpos($content, "n")); echo mb_strpos($content, "rn"); mb_language('ja'); mb_send_mail('xxx@example.co.jp', mb_convert_encoding($subject, 'JIS', 'UTF-8'), mb_convert_encoding($content, 'JIS', 'UTF-8'), 'From: ' . mb_encode_mimeheader(mb_convert_encoding( '春原 宏保', 'JIS', 'UTF-8')) . ' <suno88@example.co.jp>'); } $pdo = null;
  • 11. Windows XP 以前 C:WINDOWSSystem32sol.exe を 起動すればよかった
  • 12. Windows Vista 以降 C:Program FilesMicrosoft Games SolitaireSolitaire.exe に変わっている
  • 13.
  • 15. program Sol; uses ShellAPI, Windows, SysUtils; var s: string; begin s := GetEnvironmentVariable('ProgramFiles'); ShellExecute(0, PCHAR('open'), PCHAR(s + 'Microsoft GamesSolitaireSolitaire.exe'), nil, nil, SW_SHOW); end.
  • 16. ※プライバシー保護を  考慮していません 「ショートカットをパスの通ったディレクトリ に置けば?」とかいうツッコミは却下。
  • 18. すの (春原 宏保) http://d.hatena.ne.jp/suno88 http://twitter.com/suno88