お久しぶりです
のびーにょです
ちょっとはまったのでTips的に
ZIPをダウンロードさせるプログラムを書いてました。
右クリックして保存。とかじゃなくてアクセスしたらダウンロードするような奴です。
で、サーバ側でZIP生成してそれをダウンロードさせようとしてたんですがファイルサイズはサーバに保存した内容と同じぐらいなのに解凍すると中身が少ない・・・
解凍ソフトはLhaplus使ってたんですがWINRARとか使って解凍すると中身が全部ある という現象が発生。
色々調べてたんですけど結局わからず・・・
みたいになってバイナリエディタで比較してみると・・・
先頭に何やらついてますね・・・
EF BB BF
ってのが3つぐらい
これBOMのエンディアンじゃないですか・・・
ソース調べてみるとBOM付きUTF-8で保存されてるファイルが3つ・・・
まさにこれじゃないですか・・・
BOM無しUTF-8で保存しなおして実行すると何事もなかったかのように解凍できる
PHPでBOM付きUTF-8は使わないに越したことはないというお話でした
http://bugs.php.net/bug.php?id=22108
まだバグなおってないみたいだしね・・・
のびーにょ PHP, Tips, その他
お疲れ様です
のびーにょです。
プログラムってちょっと書けるようになると結構いろいろ出来るような気になりますよね。
でも、既存のソースの修正であったり追加であったりなんかだと、追加の方がはるかに楽だったりしますよね。
修正の場合は何処がどのようになっているかをある程度把握しなければなりません。
追加でもそうですけど、データ追う量が全然違いますよね。
と、いうかですね。
修正する場合はその周りのソースを8割ぐらい理解した方がいいと思う訳ですよ。
そうすれば次の修正や追加の時に作業が軽減できますし、そのソース(システム)に精通した人になれます。
ま、何しててもそうだと思いますけど、いかに自分のポジションを良い状態に持っていけるかってのは会社、社会で働いて生活していく上では結構重要なことだと思います。
別に出世がどうとかじゃなくて、少しでも働きやすい、生活しやすい、”楽しい”状態に持って行くにはそういう重要な人(キーパーソン)になるのがお勧めです。
で、プログラマなら重要なシステムに精通している、管轄しているって言うだけでも結構そういう位置に行きやすいですよね。
たとえば、『あのシステムと●●社のシステム繋ぎこみして新たな事業展開をしたい』ってなったとするじゃないですか。
で、そのシステムに一番詳しい人に(別にリーダーじゃなくてもいいわけですよ)聞きに来たり、その人呼んで会議したりしますよね。
だから機能を限定して、この部分ならこの人が一番詳しい みたいな人になるのから始めてみるのがいいんじゃないかなぁと思います。
そのポジションで学べることもたくさんあります。
でも、さっさと全体を見た方がいいと思います。個人的にですけどね。
ポジションが人を育てる
って言うのは間違ってないと思っていますので。
のびーにょ その他, システム
こんばんわ。かーつんです。
今回はちょっとしたツール作った時のメモをば。
Excelファイル選択ダイアログを出して、選択されたファイル名(パス付)をセルに格納する場合
こんな感じに、GetOpenFilename()を使う。
Private Sub selectFile()
Dim FileName As String
'-- ファイル名取得 --
FileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls")
If FileName = "False" Then
Exit Sub
End If
ActiveWorkbook.Sheets(1).Cells(1,1).Value = FileName
End Sub
「キャンセル」されたときは【False】が返ってくるからSubを抜けるようにしてエラー回避する。
ファイル名のみ欲しいときはFileNameを分割すればOK
フォルダを選択させて、フォルダ名(パス付)をセルに格納する場合
こんな感じに、FileDialog()を使う
Private Sub selectFolder()
Dim Folder As String
'-- フォルダ名取得 --
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
Folder = .SelectedItems(1)
Else
Exit Sub
End If
End With
ActiveWorkbook.Sheets(1).Cells(1,1).Value = Folder
End Sub
キャンセルされてもこいつは【Falseを返さない】。
調べるの面倒なので、選択されたときには結果を取得して、
それ以外はエラーでSubを終わらせてみた。
もっとスマートな書き方とかありそうだけど、
今回はツールなので、時間勝負ということで。。。
以上、ちょこっとメモでした。
かーつん その他
そろそろプログラム歴1年のチョコボールです。
WEBブラウザは主にFirefoxを使っています。
(私以外の弊社システム開発部メンバーはみんな主に「Sleipnir」使ってます。。)
Firefoxデフォルトの設定でブラウザ右上部分にある「検索バー」について。
ググる時はだいたいここから検索する方、多いと思うんですが、辞書やYoutube動画、Wikipedia等、検索機能を追加していくことでかなり便利になります。
MozillaのFirefox用アドオンページ - 検索ページ
ここでは、メジャーな検索機能を追加していくことができます。
これがあると便利だな~的な検索エンジンがあまり用意されておらず、若干テンション下がりましたが、
ボランティアで運営されている「Mycroft プロジェクト」にて、マニアックな検索エンジンがたくさん紹介されています。
PHP関数を入力したらすぐにマニュアルの解説ページに飛べたらいいな~と思って探してみたら有りました!
「Mycroft プロジェクト」にて「php.net」と検索し、「PHP Function List - JP-ja」をクリックすることですぐに組み込めます。
便利ですね!
速度的には以前私が書いた記事、
PHP標準関数の手っ取り早い調べ方
http://labs.pakureserve.jp/archives/18
とあまり変わらないかもですが…。
eBay(海外オークション)で落札・出品をたまにするんですが、英文を作る時にすごく参考にしてるサイトがあります。
英語を学習されてる学生の方で利用している方は多いのではないでしょうか?
英辞郎 on the WEB
最近の言い回しも結構ヒットします。
「送料は」「DVDを焼く」「コーヒーが」という感じで作文的に検索しても目的に近い英文がヒットするので重宝してます。
これも有りました!
「alc.co.jp」と検索して「英辞郎 on the WEB」をクリックで。
ショートカットをうまく使うとさらに早くなるかもしれません。
「Ctrl + k」で検索バーの入力欄へ移動、入力して、「Ctrl + ↑」、「Ctrl + ↓」で検索エンジンを選択して「Enter」!
ちなみに新しいタブで検索結果を表示したい場合は、入力後、「Alt + Enter」です。
これからも便利な検索エンジン探してみようと思います。
MoriMoriMoriMori PHP, Tips, その他
こにゃにゃちわ。
かーつんです。
『winmail.dat』ってご存じですか?
outlookからThunderbirdやBeckyに添付有メールを送ると、
良く出現するんですよね。
で、コイツいったい何者よ。と、調べたんですが、
MS曰く「RTF(リッチテキストファイル)の情報が格納されています。」
だそうです。
んじゃ、設定を「テキスト」にしてメールを作成してやると解消する。
って、思って設定変えて(MSのサポートページにも書いてある)、
再送信。
変わりません。。。。
どうやら、outlookにファイルを付けると(付けなくても稀に)、
勝手にRTFの情報を抱え込むようです。
まぁ、今時outlookなんかを使っていた私が悪いんですが、
取引先とメールやりとりするのに不具合出まくりというのも、
取引先に失礼極まりない事だと言うことで、メーラ変えました。
winmail.datにRTF情報を抱え込まれると、
添付ファイルもまとめて抱え込まれて、
知らない人は、添付ファイルが開けない。再送してもらおう。
となります。
とまぁ、こんな失敗談が役に立つかどうかは分かりませんが、
もし今outlookを使われている方がいらっしゃったら、
すぐにメーラを変えてしまいましょう。
アドレス帳や、今までのメールなどは、基本的に移し替えることも可能です。
仕分けルールなど、細かい設定が移せないのが難点ではありますが、
「ファイルが開けないよ。」「再送します。」「また開けないよ。」「再送します。」・・・
なんて事が起こる前にサクッと変えて、
使い方になれてしまった方が得策だと思います。
ちなみに、わたしはMS信者というわけではなく、
使えてたから使っていた。というレベルでした。
個人的には、移行させるならBeckyが一番かなと。
使い方似てますし、それほど苦労なく移行できると思います。
難点はシェアソフトなんで、お金が掛かるくらい。
お金かけたくない!というかたはThunderbird辺りが無難かと思います。
その他メーラも多々点在していますので、
自分に合ったメーラを見つけて移行してしまいましょう。
以上、か^д^んがお送りしました。
かーつん その他