はてなキーワード: Scriptとは
今さらな気しかしないけど、実際どうなんだってことで試してみることにした。
一連の騒動でbotって禁止されたり、課金しないとダメになったのかと思ったけど、どうやらそういことはないらしい。
プログラミングは未経験だけどGoogle Apps Scriptでコードを入れてアカウントを作って、botでポストするまでは仕上がった。
サーバを用意しなきゃいけないものだと思ってたけど、そういうのが必要なく形になったから面白い。
内容はざっくりと言うと、天気予報を自動で取得して、ポストするbotだ。
最初に思いついた計画はアフィリンクを垂れ流すアカを作りたかったけど、とりあえず第一弾ってことで。
これでインプを稼いで、収益化や!と意気込んでいたけど、そうはいかない。
稼働して形にはなってるから、これからは調整と追加を行っていくフェーズに進んだとは思う。
ただ、先行きは怪しいな。
あとは、アイデア勝負で他のネタのbotを考え続けて、当たるまで続けるとか。
PixivのAIタグなしもだけど誰でも作れる分、反AI側が自演してもわからないって状態だからこういうのRPするやつは頭弱そう
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>オモロい即落ち2コマだ…
AI絵師()
「フランスの出版社のイメージキャラクターを製作させていただきました‼︎」
フランスの出版社
「AIイラストは読者を失望させるので取り下げます」
「今度からはAIイラストは絶対に使わないよ」 pic.twitter.com/wGBRkWf28x— 雷池 (@thunder_battery) September 7, 2024
これとか
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>地震があったあと、理系民が「筑波大は地下核実験を〜」みたいなミームがあるんだが、それを反ワクチンとかの陰謀論の人達がギャグをギャグと理解できずに引用してて、「やっぱり」って言ってるのを最近ちょくちょく見るので、ギャグや冗談は教養の上になりたつものなんだなって改めて思う。教養の上で…— くられ (@reraku) September 5, 2024
多分これ身内ネタを知らないと「教養がない」にされるコースなので勘弁してくれという感じ。
こんなの筑波大関係者じゃなきゃ言わないし、筑波大関係者じゃないのに言ってたらただの失礼な奴だろ。
娘がコンクリート事件の概要を読んでしまい、以来不安と恐怖で通勤に支障が出るようになってしまった。 世の中の不条理や凄惨な事件を知ることが自分の身を守ることにつながったり、同じ過ちを防ぐ改善策をもたらす可能性は否定しないけど、万人におすすめしないことも強調したい<script src="https://b.st-hatena.com/js/comment-widget.js" charset="utf-8" async></script>能力の話になってしまうが、不安強い人って比較力や洞察力が弱くて、目の前の物事や状況の違いとの区別がつかない事が多いかも。傾向と対策や回避方法が立案できないとただのホラーコンテンツだよね。2024/09/04 15:33
根拠ねーーー!
フィクションの乗り越えられてない切なさ<script src="https://b.st-hatena.com/js/comment-widget.js" charset="utf-8" async></script>ジジは原作ではまた話せるようになるよ。2024/07/03 10:40
こマ?
フツーにAIによる業務効率で○○時間短縮できたと報告すればいいのではないでしょうか?
[断食9日目](https://anond.hatelabo.jp/20240524084725)の続き
1. 男, 体重84.4kg, 身長175.5cm, 今年最高重量95.5kg, 90kg overの期間8ヶ月
2. ヘム鉄サプリを数日前から接種開始、1錠/dayから開始して現在3錠/day
3. アマニ油(日清オイリオグループ)も数日前から摂取開始
4. 爪、ヒゲが伸びるのが驚き。ただし、伸びの速度が遅い
5. 足の指を丸めると、指が攣る事が多かったが、解消した。末梢神経の電解質バランスが正常化している
6. 血圧149/102mHg
7. backupfile rotate script(bash)を書く程度の仕事は出来る
昨日は台風1号の接近にともない一日中雨。散歩に行けず超ストレスだった。今朝は外気温16℃の中、5時50分に散歩に出発した。Tシャツ一枚だがとても気持ちいい。半径3km以内にはまだ、行ったことがない道がまだまだある事に気がついた。
この日記の内容は、会社の後輩から「最近エクセルマクロを勉強し始めて(キラキラ)」という話を聞いて、先輩ムーブをかますために話した内容になります。
とにかくこれから説明する「計算用シート」が憎くて憎くてたまらず、ちょっと引かれるほど熱弁してしまいました。
ただ、他の方がどうされているのかや、逆に「計算用シート」を愛用する方の意見も聞きたくなり、増田に書いてみました。
エクセルマクロのお作法とか書きましたが、要するにエクセルマクロで「計算用シート」って色々な意味でよくないよね、という話をしたいです。
3行でまとめます。
〇 エクセルシートはユーザーインターフェース(インプット)か出力結果(アウトプット)のためのものとすべき
〇 データ加工をする場合には、原則配列や辞書型配列(連想配列)に格納して加工を行い、最後の結果だけシートに出力するべき
〇 何事にも例外はある。
エクセルマクロにも色々あると思いますが、今回は下記を想定します。
日付や人物名などを入力し、データベースや別のエクセルファイル、別のシートから取得したデータを入力された値を基に加工し、加工後のデータをシートに出力する
この場合、入力欄があり編集可能なシートがユーザーインターフェース、最終的に加工されたデータが出力されるシートが出力結果です。
(もちろん、ユーザーインターフェースの別の欄(セル)に出力する場合もあるし、その場合はユーザーインターフェースと出力結果が一体のものとみなします。)
また、データ用シートは同じエクセルファイル内に基となるデータが含まれる場合を想定します。
(これ自体が非推奨で、SQLデータベースかせめてAccessを使え、という意見はありますがそれは別にして…)
ではここで定義する計算用シートとはなにかというと、文字通り計算を行うためのシートです。
1.元となるcsvファイルをエクセルに読み出してシートに格納
2.そのデータは日付が数値型になっているので、日付(数値型)の入った列を文字列に変換した日付(文字列型)列を新たに作成
これは極端な例ですが、とにかく変数や配列を定義せず(あるいはエクセルのセルオブジェクトを変数のように扱い)、エクセルに値を入力し、それを直接加工することで目的となるデータ加工をしたり、様々な処理をします。
なんかこんな感じの処理をしているエクセルマクロ、どこの会社でも腐るほどあるんじゃないでしょうか。
ある程度マクロに慣れた気の利く人なら、このシートはロックや非表示にして、ユーザーから触れないようにするでしょう。
・・・これ、やめたほうが良くないですか?。
ある程度詳しい人なら同意してくれると思いますが、このやり方でダメな理由はいっぱいあります。
後で説明する配列や辞書型配列(連想配列)と比べると格段に処理が遅いです。
ちょっと詳しい人が知っている「画面更新の非表示」を駆使しても、配列を使った処理からみれば止まったハエです。
いったんエクセルシートにデータを格納して加工しているので、コードとエクセルシートを両方見る必要があり、とても読みにくいです。
変数として命名されていないのも致命的で、処理の意図が余計に分からなくなります。
計算用シートを事前に用意して、別のセルに関数を格納しておき、マクロと関数を使ってデータ加工をするものも見たことがあります。
あまり知られていませんが、セルの最大文字数は32,767 文字です。
セルの最大文字数を超えると自動的に隣のセルに値が入り、シートが滅茶苦茶になります。
他にもエクセルの数値を丸める自動変換の仕様とか文字列→日付の自動変換とか、いくつものバグに苦しめられます。
できる人だと、いちいち最大文字数が多い場合の処理を書いたり自動変換機能を殺したりしてくれますが、そんなことに手間をかけているから日本のGDPは上がらないんだと思います。
他にも、データが大きくなると処理が重くなり不安定になる、計算用シートを人が触ってしまうリスクがある、などいくらでも理由は上げられます。
(逆に利点は、目の前でガチャガチャ動いてスーパーハッカーになった気分になれるくらいしか思いつかない・・・)
配列を使いましょう。
配列とは何ぞや、という人はググってください。
配列にデータを入れて、データ加工は配列や変数に対して行い、一番最後の出力だけセルに値を格納する。
個人的にオススメしたいのは辞書型配列(連想配列)で、うまく使うとデータの管理が簡単になり、処理も爆速になります。
(参考)【VBA】大量データから高速で値を検索【Dictionaryを使う】
csvファイルもなまじエクセルで開けるだけに別のブックやシートで開きがちですが、これは悪魔のささやきです。
直接ファイルを読み出してLine InputやSplitで配列に格納しましょう。
エクセルとして開くやり方はコード書くのは簡単でも、実行時間に天と地ほどの差が出ます。エクセル開くと処理もめちゃ不安定です。
(参考)Excel VBAでCSVオープンするときのパフォーマンス比較
いや、冒頭のマクロを書く人の気持ちも分かるつもりです。自分もコードを書き始めたころは全部シート上で操作していました。
冒頭のマクロのほうが直感的なんですよね。自分が手で書くことをマクロにやらせる、というマクロ本来の趣旨にはあっていますし。
途中の計算過程もすべて目の前で展開されるから分かりやすいです。
ただ、それではダメなんです。。。処理は遅いし挙動は不安定だし後で改修・保守する人が死にます。
あと、エクセルシートやセルは当然エクセルにしかないので、エクセルマクロ(VBA)から他の言語に移れなくなります。
自分もエクセルマクロの里の出なので、計算用シート脱却には苦労しましたが、苦労して会得した配列や辞書型配列(連想配列)のスキルはそのまま他の言語に活かすことができました。
配列の中身を見る方法は別にある(ローカルウィンドウやDebug.printを使うなど)ので、リハビリに取り組んでほしいです。
(参考)VBA デバッグの仕方
計算用シートを許容できる、使うべきケースもあると思います。。
個人的には、
(最後のは、なんでも自分で確認しないと気が済まない上司の発注で、意味不明と思いましたしたがしぶしぶやりました。)
この場合、インプットのエクセルシートに直接加工するのは論外なので、計算用(加工用)のシートを用意してそこで操作を行うことは必要だと思います。
他にも、こういうときは「計算用シート」があったほうが良い、という状況があれば教えてもらえると嬉しいです。
そもそもツッコミとして、「データ加工するならエクセルマクロを使わずにpythonとかRとかもっとまともな言語使えよ」という言葉が来そうな気がします。
ただ、個人的にはエクセルマクロ(VBA)は大好きですし、初心者にもおすすめしたいです。
自分のような非エンジニアだと、セキュリティの関係などでPythonの開発環境とかすごく用意しにくいんですよね。
(あと、コマンドプロンプトの真っ黒な画面が怖かった)
その点エクセルマクロは、開発環境の用意はプロパティでチェック項目を一つオンにするだけだし、入門書がたくさんあるし、セルの挙動を追えば視覚的にプログラムを理解できるし、初心者に優しいです。
(そのやさしさが上述したとおり悪魔の罠なわけですが。)
最初は計算用シートに頼ってでもエクセルマクロからプログラミングを始めて、本格的なデータ加工をし始めたあたりで計算用シートという諸悪の根源から脱却する。
さらに本格的なデータ処理を行うために、PythonやRなど別の言語を習得したり、エクセルからSQLデータベースやACCESSなどに切り替えていく、というプロセスがいいのではと個人的に思います。
追記。
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>【コオロギ研究所閉店のお知らせとお詫び】
いつもコオロギ研究所をご利用いただき誠にありがとうございます。
2024年1月25日をもちましてコオロギ研究所公式オンラインショップを閉店することになりました。
開店以来、長い間皆様の応援のおかげでコオロギ研究所を続けることがでしました。… pic.twitter.com/V4bkP2J36i— コオロギ研究所🦗 (@korogi_lab) January 17, 2024
これ思い出したhttps://note.com/ao8l22/n/n382fcb80113b インターネットの悪いところ..<script src="https://b.st-hatena.com/js/comment-widget.js" charset="utf-8" async></script>red_kawa5373 id:kou-qana 『「自分の子供に生まれてきてしまう人間」の気持ちを考ない人達のこと』という言い方は、「相手のことを考えない」プラス「自分の子供からすかれないような人」という意味を含んでおり、かなり攻撃的だよ。2024/01/05 00:10
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>これは、狙われるほど魅力がなかったからという事を言いたいのか?笑
まあ、こういうパーティーといいつつ、そういうパーティーではなかったって事でしょう https://t.co/MgjBvzhZ5z— K (@K12355177K) December 30, 2023