はてなキーワード: csvとは
これはLAN内で使っているだけの、しょっぱいエントリクラスのサーバ1台障害の話だ、価値のある話ではない。
とある国内最大級の某グループウェア Office(パッケージ版)を使っている。
この某グループウェアは、従業員の「その日のタイムカードの一覧」を見ることができない。
CSVでエクスポートすれば可能だが、営業マンは勤怠をガラケーのメールで報告する運用であるため、
スマホ支給しろ 一覧+タイムカード修正画面へのURLリンク付きで
総務課の人にスクレイピングしてあげていた。
↓大雑把にこんな感じ
#!/usr/bin/env perl use MY::Cybozu; my $cb = MY::Cybozu->new; $result = $cb->get_timecard( sprintf("%d.%.d%", $year, $month, $day) ); &send_mail( $result );
数年来やってきていたのだが、突然このスクレイピングでデータが取れなくなった。
僅かにPerlを書けるだけで、他の言語は将棋を指すようにしか書けない低能である、
ちょうど20日の月替りのタイミングだったので、スクリプトのミスでズレたのか?
或いは、タイムカードのHTMLはtable構造で「trの何番目が何日目」という原始的な処理の方でズレたか?
ほぼほぼデータを取れないのだが、たまに正常に取れたりもする。なんだこりゃ。
$mech->statusの結果はいつも200である。
print $mech->contentの結果は、HTMLが途中で途切れていた。
スクレイプ対象の前で途切れたので、値を取得できなくなっていたのだ。
同じ場所で途切れる事が多いが、若干の増減はあった。
手元のWindowsマシンに移植したところ、まったく問題ない。
どうやらスクリプトを動かしているLinux側の問題と思われる。
どういう現象なのか?
3WAYハンドシェイクはよく知られた話だが、正常な通信では、サーバから送られてきたパケットに対して
こちらは「ここまでのパケット受け取った」とACKを返し、最終的にサーバからのFINでこちらがRST返すのが見て取れた。
この異常をきたしたスクリプトでは、ある程度を過ぎると、こちらがACKを返す前にサーバからどんどんパケットが送られ、
なるほど、ステータスは200だけど、コンテンツは途切れているのだな。
でもスクリプトじゃなくて、ネットワーク制御しているOSが悪いっぽい?
となると深刻である。自動車に乗れても内燃機関の構造など把握していないのだ。
唯一、tcp_abort_on_overflowでそれっぽい挙動をしそうだと分かったが、この機能は使われていない。
詰まった。
お手上げだ。
でも分かった。
端末からNASのディレクトリへ、TAB補完しようとすると突如フリーズしたのだ。
某グループウェアへのスクレイピングとNASへのTAB補完だけが動かない。
故障だ。
1.3万円で買って7年目の某ProLiantサーバだから、寿命なのだろう。
オチはないけど、最初から故障を強く疑っても良かったではないのか、と自省する。
そのマシンでのみ失敗し、しかも失敗したりしなかったり(比にして7:3程度)、結果も毎回変わっていたのだから。
うーん無能。
Excelを持っているならはてブのJSONデータをそのまま取り込めるそうだからそのデータを使ってブクマが付いた時間のグラフが描けそう。
例えばこんな感じでJSONデータが取れる。 http://b.hatena.ne.jp/entry/jsonlite/https://anond.hatelabo.jp/20180315232737
Excel持ってないならスクリプトでCSVにしてしまえばいい。
rubyスクリプトだとこんな感じ。(Mechanize無し版に差し替え。なぜMechanizeを使っていたかと言うとはてブがUser-Agentが空だと値を返してくれないから。ちょっと長くなるが自前でUAを渡すようにした。)
#!/usr/bin/ruby
site = ARGV[0]
json_uri = URI.parse("http://b.hatena.ne.jp/entry/jsonlite/%s" % [site])
response = Net::HTTP.start(json_uri.host, json_uri.port) do |http|
http.get(json_uri.path, "User-Agent" => "Mozilla/5.0")
end
json_data = JSON.parse(response.body)
json_data['bookmarks'].each do |bookmark|
puts [bookmark['user'], bookmark['timestamp'], bookmark['comment'], bookmark['tags'].to_s].to_csv
end
引数に取得したいページのURLを入れる。hatebuapi-csv.rbという名前で保存したとしたらこんな感じで実行。
% hatebuapi-csv.rb https://anond.hatelabo.jp/20180315######## > 結果.csv
お昼休憩中にホッテントリ見てたら、40代で新卒採用の話などがあって、触発されたので書いてみる。
ちゃんと正社員になって半年くらいお勤めしてから書こうと思ったけど、生理痛で眠れない夜でもあるので書いて眠気を誘ってみようという意図もある。
よろしければお付き合いください。
当方30代前半の女で、大学を卒業してからずっと非正規雇用で働いてきたが、来月から正社員として働くことになった。
派遣社員の無期雇用制度が実質的にこの4月から始まり、それを阻止しようとしての派遣切りなどが取り沙汰されている現状で本当に有り難いことだと思う。
そもそもにして、大学にはとある資格を取りたくて行ったのだが、勉強すればするほど自分に向いてないと思い、資格だけ取って卒業。
事務職を希望して就活したが、「どうしてその資格生かさないの?」と言われ続けて惨敗、新卒カードを失った。
中途半端に資格だけあってもむしろ邪魔だと悟ったが、後にこの資格が間接的にだけど生きることになる。
派遣や他の非正規雇用として食い繋ぎ、無職になるたび正社員を目指してハロワ通いをしたけれど、
25才以下で5年以上の事務職経験者が応募可能などと無理ゲー条件ばかりで、やはり就活は負け続けであった。
市役所で受付したり、総務事務の手伝いをしたり、はたまた電子書籍を作ったりなど、履歴書の職歴欄ばかり無駄に増やしてから今の職場に派遣された。
職務内容としては、専門職をサポートする事務全般といったところ。
専門職として長年活躍されてきた方は、もちろん職種にもよるのだが、全般的にパソコン操作に疎い方が多い。
私はパソコンがそれなりに得意だった。はてなーの方々のようにプログラミング言語がもの凄くできるという訳ではないし、
MOSなどの資格がある訳ではないが、ExcelやAccessがある程度は出来たし、変な動画の作成をしたりだとか、趣味のサイトを持っていた時期があった。
なのでOffice系に限らず動画や画像の編集なども含めてパソコンの仕事を引き受けたり、あるいはいわゆる「パソコンの大先生」をしていたら、専門職の方々には気に入られた。
また、時期は前後するけど、職場でシステムの入れ替えがあったのね。
これは自分でもうまく説明できないのだけど、社内で使用するシステムの把握が、自分は他の人よりも早く出来るようだった。
システムがどう動くかとか、どのマスタをいじればあそこが動くとか、ここを動かせばあそこが上手く回るとか、そういうことを把握するのがなぜか得意だった。
(総務事務の仕事をしていた時にもシステム入れ替えがあり同様のことがあったので、システムの構造の把握?のようなことができるんだと思う。
ここら辺は自分でも何で得意かは分からない。感覚的に動かしてみれば大体解決する感じ)
加えて、入れ替え後のシステムは以前のシステムの機能を全て再現できる訳ではなく、しかしその機能はないともの凄く不便だったので、
AccessやVBAなどでその機能を補完できる仕組みを作ったりとかした。出力したCSVをぶち込めば自動処理、みたいなヤツ。
あとはどうしてもシステムが苦手な人のために、マニュアルを作ってたりもした。開発会社から渡されたマニュアルは純粋に機能の紹介だけだったので、
実際の業務に即したマニュアルを隙間時間を使ってちょこちょこ作った。
そういう感じで「パソコンの大先生」をやりつつ、「システムが一番できる人」もやって云年間。
社員になりたい気持ちはあったけど声は掛からないし、派遣会社に無期雇用の話をしたら嫌な顔されたし、他にもきな臭い話が出ていた。あと実家の母の調子が悪くなった。
派遣社員にしてはそこそこいい条件で働かせてもらっていたのだが(地域の最低時給+200円、交通費半額支給、社会保険加入)、
通勤に1時間以上かかるし、実家からも遠い場所にあったので、それじゃあ多少条件は下がっても、実家に近いところでまた探そうかなと思って退職を申し出た。
そしたら、ちょっと待ってと言われて待っていたけど、どうせ探すんなら年度の切り替わりの時期がいいので、派遣契約はこの3月で終了、更新の意志はない旨ははっきり伝えていた。
そうして退職の準備をしていた先日、上司と人事の人に呼ばれて、今度の4月から正社員にするからという有り難い話をいただいたので、二つ返事で了承。
上司はいつの間にか推薦書を書いてくれて、上に掛け合ってくれていたらしい。ほんといつの間にそんなことしていたの、ありがとうございます。
実家の母はめっちゃ喜んでくれて、どうにかなるから初めての正社員生活頑張れって言ってくれた。社員採用の話を聞いたらちょっと元気になったんだって。これまた有り難い話である。
何のかんの書いたけど、私は事務職として優秀という訳ではなく、今日もとんでもないミスをして上司に助けていただいた。
恩を仇で返すというのはこのことである。今日からまた気持ちを入れ替えて挽回します。
あと、今の職場にいる専門職の方には、私が持っている例の資格を生業とされる方もいらっしゃるので、本当に間接的だけど役立っている。
これも全然書いてなかったけど、システム動かすのも楽しければ他の業務も(得手不得手は別として)とても楽しい。
天職だと思っていたから、正社員になれたのは本当に本当に嬉しいし、これからもっともっと頑張ろうって気力が湧いてきている。
派遣社員を取り巻く情勢は厳しくなるばかりだし、私のこの経験が派遣社員として働く方の希望になるとも全く思わない。
なりたくてもなれずに涙を呑んだ人もたくさん知っている。
でも私にはこういうことがあったというだけ、頭の隅っこで覚えていてもらえると、ちょっと嬉しい。
派遣の客先常駐なんだけど、派遣先の業務システムがとにかくクソ遅かった
回線がクソなのかシステムの設計がクソなのか知らんが、とにかくレスポンスが遅い
とある業務システム、過去案件の検索はボタン押してから表示されるまで10分くらいかかる
しかも検索結果が1件だろうが1,000件だろうがかかる時間はほぼ同じ
(新規登録なら比較的短時間で2、3分、登録済みデータの変更だと5分以上かかるが、こっちは1週間に1、2回程度の頻度なので我慢は出来る)
クソ時間がかかるので、一度に何件も同時に検索が必要な場合は、「すみません、○○検索するんでPC空いてる人いますか?」と周囲に声を掛けなきゃならない
周囲の人達もこのシステムのクソさを嫌というほど知ってるので俺に対して協力的なのが唯一の救いだ
このシステムのクライアントはAccessなんだが、あるとき、データベースの認証情報がハードコーディングされている事に気付いた
そこで俺は一計を案じた
検索対象のテーブルを丸ごと俺のPCにCSV形式で吐き出させるスクリプトを毎日深夜に自動実行するよう設定しておいた
検索する際はこのCSVファイルを使うようにすることで、検索の所要時間は1/10以下になった
原因は俺ではなく、情シスの新人が操作ミスでテーブルを飛ばしてしまったようだった
社内は大混乱に陥った
バックアップは俺が派遣される前にファイルサーバーが故障してそれっきり放置されていたため、存在しないも同然だった
仕方がないので情シスの中の人に「俺こんなファイル持ってるんだけど」と申し出て、それを丸ごと流し込む事でその日のうちにテーブルは99.9%復旧し、社員らはいつもより少し長く残業する程度で済んだ
「お前何勝手に毎日のように本番DBから社外秘データ全部抜いとんねん!万が一お前のPC盗まれたら新聞沙汰どころちゃうぞ!社長のクビ飛んどるぞ!」と、まあそりゃそうだ
俺はヘラヘラ笑いながら「いや~すんませんっした~」と言うしかなかったが、株価ストップ安レベルの重大事故を水際で新人の始末書一枚に抑え込んだ事も考慮され口頭注意で手打ちとなった
こんなちょっとした店でも出させてくれるなんて出店希望者不足かよ、とも思うけど、そんな事どうでもいい。
言いたいのは、
楽天のシステム(RMS)ってのはほんとにバカだ。ってことだ。
ネット通販黎明期からずっとやってるから、今さら大規模改修しにくいのかもしれないけど、それにしてもだ。
他のモールにも出してるからこの楽天のシステムのアホさがよっっっっっく分かる。
たとえば、これはバカってより阿漕にカテゴライズされるかもしれないけど、
こんなもんオプションとして使わせてるモールなんてEC業界のどこにも無い。
ほんとバカ。
なんだ、これがオプションってことはだ、基本的には手動でコピペコピペで商品登録しろってのか。
だが、手動でやろうにも、新規登録の画面や商品変更の画面を、複数タブで開くとエラーになりやがる。
同じ属性を持つ商品を複数登録すんのがやりにくくって仕方ない。
コピー→修正→登録→タブ閉じて→またコピーして・・・・って眠くなるわ!!
あと、色だのサイズだのを登録するための画面は、商品登録の画面とは別なの。
これも商品の一番下にしか編集画面へのリンクがなく、ポチポチポチポチくそダルい。
既に登録してる選択肢は一旦ぜんぶ消してからじゃないと、追加できない。
サイズのLLを追加しようと思ったら、今あるSMLをまず全消しするCSV作ってアップしてから、またS/M/L/LLで登録しなおす。
馬鹿か。
で、選択肢ごとに価格を変更する機能が無いから、サイズ違いでおんなじような商品登録しまくってバッカみてえ。
ユーザーとしても選びにくいだけなのに何やってんだ。
あと、スマホ。
スマホサイトなんてもうPCサイトの売上を軽く超えてるんだけど、このスマホのシステムも死んでる。
TOPページなんて、なんか変なちっちゃいバナーを4つとか6つとか登録するだけ。
まったく自由が効かない。
みたいなメルマガ送ってくんの。
その前にスマホ商品ページに画像(メニューのアイコンとかも含めな)10個までしか登録できないクッソみたいなシステムどうにかしろよ!!!
メニューとかキレイに改変してるショップは、オプションのストレージ契約して、かなりムチャなCSSぶっこんでるから。
もう平成も終わろうとしてんのにCSS使うのが標準で実装されてないとか正気か!!
サイト全体のデザインもヘッダー・フッター・レフトメニューとか。
メール送信すんのにPC用とモバイル用のテンプレ分かれてるのなんだよ?
いちいち2通のテンプレを用意して、ユーザーのメルアドごとにポチポチ送信すんだぞ。
バッカみたい。
画像の件にしてもそうだけど、貧弱な回線でパケット気にして使ってるユーザーを想定してんだよ。
受注管理システムなり外部のAPI使って取り込んでる店はいいんだろうけど、
それにしてもこないだ、受注自動送信メールからユーザーのメルアド削除する改変してたよな。
あれどうやってユーザーと受注情報結びつけたんだ、APIの中の人?
同じようにイヤイヤ楽天の店舗運営してる人と苦労を分かち合いたい。
まだまだある、言い足りない。
正直、タダで使わせてるYahooの方が、システム的には全然マシ。
CSS使えるストレージはオプションだけど月3000円だし余裕でYahooの勝ち。
クセのあるシステムだけど、文字数制限だのimgタグの個数制限だの言わねーもん。
受注管理システムも遥かにいい(でもクセは凄い。楽天と比べるとマシレベル。)。
あれから半年、分からないながら自分なりに頑張って、Excel VBAとVB.NETとバッチを勉強した。いくつかアプリを作って、業務を自動化し、会社の割と偉い人に認知され、評価もしてもらえた。今月からはN予備校のプログラミング講座を受講している。
で、半年前に書いた自分の日記を読んで思ったのだが、これExcel使うの辞めればよくね?
検査表は、検査項目の文章や合否判定や値の入力欄なんかはWebで構築して、検査結果だけをXMLかcsvで延々吐き出す。作業時間表だってそうだ。
現場のすべてのPCにExcel入ってる必要は無いんだ。どうせグラフにしたり傾向をつかんだり、そんなことをするのは一部の管理者に限られる。いざって時にだけ閲覧できればいいんだ。なんなら閲覧画面もWebでこしらえてしまおう。
Office購入費用も抑えられるし、PC環境に依存しないし、なんだ、いいことづくめじゃないか。セキュリティだけは不安だから気を付けないといけないけど。
https://anond.hatelabo.jp/20170706235735
勝手に具体的に考えてみる。
マウスで目的の部分をさっと選択できて、さっと切り貼りできる。EmacsやViは1ストローク余計にかかって使いづらい。他のエディタなら大抵OK。
WriteMonkyなど
csvを操作するのはもちろん、マウス(カーソル)を操作することだってできる。
APIというものを使えば、TwitterやLINEのbotを作ったり天気を取ってきたり道路情報を取ってくることだってできる。
10分毎に天気予報を取ってきて雨になりそうかどうかを判断して、ラズベリーパイで監視したカメラでベランダに洗濯物があったらLINEのbotで知らせてくれるなんてことだってできるかもしれない。
エクセルの関数を使ってオートフィルを使ったり、ショートカットキーを覚えるのと、
今日、読んでる本に、上手い表現があったけど、大半の人に取ってパソコンは、家電の一種で、道具として使えていない。
今まで、
ループ、for文とかって、1個だけだと、ふーんて感じだし、そっか、素数を求めることが出来るんだー、
ぐらいだけど、
昨日、初めてプログラミングらしいプログラミングを書いたんだけど、なんか、スゴいよな。
その一方で、えええ、あっけないというか。
どんだけ、非生産的な仕事をあっという間に片づけることが出来るのだろうと、不思議な感覚を覚えた。
ループ&ループで初めて、コイツ(パソコンって)はランプの魔神みたいだな、と思った。
あるいは、警察犬?しつけさえされれば、僕以上に上手に仕事をするっていうのか。
独学でプログラミングを学んでいたら、あっという間に年を取りそう。
なんか、上手く構成して書けないが。
こんな感じで、学んで行って時間が足りるのかな。
44才だ。