山椒は小粒でぴりりと辛い
DESCRIPTION
長野ソフトウェア技術者グループ(NSEG) 第 2 回勉強会の LT で使用したスライドです。TRANSCRIPT
![Page 1: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/1.jpg)
すの (春原 宏保)
山椒は小粒でぴりりと辛い
~小さなプログラム万歳!~
2010.4.24(Sat)@Monzen Plaza (Nagano C.)
![Page 2: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/2.jpg)
● 春原 宏保 (すのはら ひろやす)
● http://d.hatena.ne.jp/suno88/
● http://twitter.com/suno88
● スーパープログラマー
マーケットによく出没する
● アップルランド安茂里店● 西友伊勢宮店● JC(生鮮市場)長野中央店での目撃情報多数
![Page 3: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/3.jpg)
● 最近のアプリケーションは肥大化の一途
● 自分専用に、小粒でもぴりりと効くアプリを書こう
![Page 4: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/4.jpg)
事例 1:
週報自動配信システム
![Page 5: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/5.jpg)
● 週報を毎週金曜日にメールで提出する義務がある
● 面倒くさい、忘れがち
● 祝日や有給休暇を挟む週は曜日の感覚が狂う
![Page 6: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/6.jpg)
● 日付と本文を登録しておけば勝手に配信してくれるシステムを作ろう!
![Page 7: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/7.jpg)
![Page 8: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/8.jpg)
$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, "\r\n"); mb_language('ja'); mb_send_mail('[email protected]', mb_convert_encoding($subject, 'JIS', 'UTF-8'), mb_convert_encoding($content, 'JIS', 'UTF-8'), 'From: ' . mb_encode_mimeheader(mb_convert_encoding( '春原 宏保', 'JIS', 'UTF-8')) . ' <[email protected]>');}$pdo = null;
![Page 9: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/9.jpg)
事例 2:
ソリティア起動 EXE
![Page 10: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/10.jpg)
※プライバシー保護のため、 画像を一部加工しています
![Page 11: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/11.jpg)
Windows XP 以前
C:\WINDOWS\System32\sol.exe を起動すればよかった
![Page 12: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/12.jpg)
Windows Vista 以降
C:\Program Files\Microsoft Games\Solitaire\Solitaire.exe に変わっている
![Page 13: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/13.jpg)
![Page 14: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/14.jpg)
※プライバシー保護のため、 画像を一部加工しています
![Page 15: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/15.jpg)
program Sol;
uses
ShellAPI, Windows, SysUtils;
var
s: string;
begin
s := GetEnvironmentVariable('ProgramFiles');
ShellExecute(0, PCHAR('open'),
PCHAR(s + '\Microsoft Games\Solitaire\Solitaire.exe'),
nil, nil, SW_SHOW);
end.
![Page 16: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/16.jpg)
※プライバシー保護を 考慮していません
「ショートカットをパスの通ったディレクトリに置けば?」とかいうツッコミは却下。
![Page 17: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/17.jpg)
プログラミングは面白いよ!
![Page 18: 山椒は小粒でぴりりと辛い](https://reader034.vdocuments.net/reader034/viewer/2022052621/558b0c3ed8b42aef758b4753/html5/thumbnails/18.jpg)
終
すの (春原 宏保)http://d.hatena.ne.jp/suno88
http://twitter.com/suno88