タグ

ブックマーク / qiita.com (106)

  • trapを使ったシェルスクリプトの終了処理のテンプレ(POSIX準拠) - Qiita

    # 終了処理($1: シグナル名) cleanup() { # 終了処理中に無視するシグナル(他に必要な場合は追加する) trap '' HUP INT QUIT PIPE TERM # ここに終了処理を書く : TODO # 自分自身にシグナルを再送信することでシェルスクリプトを終了する trap - EXIT "$1" [ "$1" = EXIT ] || kill -s "$1" $$ || exit 1 } # トラップするシグナル(他に必要な場合は追加する) for i in EXIT HUP INT QUIT PIPE TERM; do trap 'cleanup '"$i" "$i" done # ここより下に実際のシェルスクリプトの内容を書く : : 自分自身にシグナルを再送信しているところが特徴的だと思いますが、その理由についての解説がこの記事の内容で、POSIX 準拠で

    trapを使ったシェルスクリプトの終了処理のテンプレ(POSIX準拠) - Qiita
    cive
    cive 2024/12/26
  • 世界1位取った後3年間オセロAIを作り続けたらナニモワカラナクなってチョットダケデキルようになった話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2021年、ふとしたきっかけでオセロAIを作り始め、オセロAIコンテストに作ったAIを提出し、なんやかんやあって半年かけてそのコンテストで世界1位になりました。 それで満足…?と思いきや、全然満足せず、コンテスト関係なしにオセロAIを作って早3年。この記事ではオセロAIが色々なところに私を連れて行ってくれた話と、オセロAIが深いという話をします。 この記事は2年ほど前に書いていっぱい読んでいただけた以下の記事「カンゼンニリカイシタ話」の続編、みたいな立ち位置です。単体で読んでも、以下の記事と合わせて読んでも楽しめます。 世界1位からさ

    世界1位取った後3年間オセロAIを作り続けたらナニモワカラナクなってチョットダケデキルようになった話 - Qiita
    cive
    cive 2024/06/29
  • 機械学習による株価予想の十八手 - Qiita

    1. 株価はサプライズによって動く 株式相場には常にプロの投資家がうごめいており、各銘柄の各種業績数値を常に予想して投資活動をしている。そんな状況下において、仮に「売上が前年比2倍」という決算が発表されても、株価が2倍になるわけではない。むしろ3倍が予想されていたのに、2倍だったら失望売りとなる。つまり事前予想と比較してこそ意味があり、staticな値や過去実績との比較を特徴量にすることはあまり意味がない。事前予想と決算の乖離、または前回予想と今回予想の乖離こそが意味のある特徴量であると言える。 2. 業績数値の単純な変化率では株価インパクトは測れない 営業利益の事前予想100億円に対し、決算が200億円の場合、 変化率 = ( 実績 - 予想 ) / 予想 の計算式を使うと、変化率は100%となる。 この変化率を特徴量にするのは一見もっともらしいが、株においてはこれは使いづらい。 営業利

    機械学習による株価予想の十八手 - Qiita
    cive
    cive 2024/03/23
  • 新幹線でもQUICで快適にSSHする - Qiita

    はじめに 今日は、劣悪な通信環境でも快適にSSHができるquicssh-rsをご紹介します。そして、実際に改善されるかを試してみます。 長くなったので最初に結論 quicssh-rsを使うと、 パケットロスに対して明らかに強くなった こちらのIPアドレスが変わっても通信が継続できた 遅延(pingのRTTが大きいこと)は改善されない模様 30%パケットロス環境での比較 IPアドレスを変更しても切れない SSHは新幹線(劣悪通信環境)に弱い 鉄道での移動時間が長いと、パソコンを開いて各種開発の続きをしたくなります。 …なりませんか? 時には、別のサーバーにSSHでログインして何かコマンドを打ったり。 在来線1であれば概ね問題ありませんが、新幹線になると通信品質が大きく悪くなるため、SSHでの操作は大きなストレスが溜まりがちです。なんとかならないかとずっと思っていました。 新幹線の通信環境 通

    新幹線でもQUICで快適にSSHする - Qiita
    cive
    cive 2023/12/16
  • GPT-4Vを使ってゲーム実況させる - Qiita

    はじめに GPT-4Vを使ってゲーム実況をさせてみます。 この記事はLLM Advent Calendar 2023の12月14日のアドベントカレンダー記事となります。 解説 以下のようなゲーム実況スクリプトを自動で作成できる状態が、この記事のゴールです。 「お気に入りのゲーム実況をする、超興奮した日人人気VTuberのスタイルで、短いナレーションスクリプトを作成してください」でゲームプレイ動画をGPT-4Vに入れてみました。GPT-4Vやっぱり性能いいなぁ (TTSはvoicevox使用) pic.twitter.com/GR1kcMYENN — inada (@dev_inada) November 7, 2023 コード と言っても、コード自体は数10行で、以下の通り簡単に実装できます。 from IPython.display import display, Image impo

    GPT-4Vを使ってゲーム実況させる - Qiita
    cive
    cive 2023/12/15
  • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
    cive
    cive 2023/09/02
  • Rust FFIにおけるZero-length Array / Flexible Array Memberについて - Qiita

    はじめに この記事では、Cの構造体におけるいわゆるZero-length Array / Flexible Array Member(このイディオム自体知らなかったわけですが)をRustのFFIから扱う際にstd::mem::transmuteを使って強引にキャストしていました。その後いろいろ試したところ、特にtransmuteが必須というわけでもなかった、ということが分かりましたので、現時点で妥当と思うやり方を書いておきます。 (もっといいやり方がありましたらお教えください) Zero-length Array / Flexible Array Member この記事で扱うのは、以下のようなCの構造体をRustのFFIでどう扱うか、です。

    Rust FFIにおけるZero-length Array / Flexible Array Memberについて - Qiita
    cive
    cive 2023/08/14
  • 悪名高きスワイプ広告を解析する - Qiita

    この記事の概要 ユーザーから嫌われている広告の1つに「スワイプ広告」というものがある。 誤タップをしやすいことが理由だが、あまりにもこの広告だけ誤タップするため調べたところ 実は誤タップしたように見せかけて意図的に広告先に遷移させる広告であるということがわかった。 スワイプ広告とは、左右にスワイプすると画像がついてくるタイプの広告である。 スワイプ広告とは スワイプ広告とは、主にアフィリエイトサイトで見られる広告形式の一つである。 ユーザーは指で画面上の広告を左右にスワイプすることで、広告画像を切り替えることができる。 スワイプによるインタラクティブ性を活かし、複数のメッセージやメディアを使い、魅力的な広告体験を提供することが特徴である。 なぜ悪名高いのか しかし、スワイプ広告はユーザーから嫌われている。その理由は、誤タップを誘発しやすいからである。 誤って広告をタップして画面が遷移してし

    悪名高きスワイプ広告を解析する - Qiita
  • strlen() の深淵 - Qiita

    あらまし strlen() という関数がある。御存知の通り、文字列の長さを算出する標準 C ライブラリの関数だ。 やってることは単純で、例えば以下のように実装できる。 size_t strlen_simple(const char* str) { const char* p = str; while (*p) ++p; return size_t(p - str); } '\0' が見つかるまでポインタを進め、初期位置との差分を返すだけだ。これで機能的には std::strlen() と同等である。 では、速度的にはどうだろう?適当にベンチマークを書いて MSVC 2022 でコンパイル&実行するとこうなった。

    strlen() の深淵 - Qiita
  • セキュリティーチェックシートという闇への防衛術 - Qiita

    といった感じです。(この例、下で問題例として取り上げるため、実はおかしなチェック内容にしています。) "No.~基準"までがシートに記載されていてます。回答する発注先企業は"Yes,No,N/A"を3択で✅をつけ、備考欄にNoやN/Aの理由のほか、注記を記載できます。こういう項目が20~500項目あるExcelのシートに、発注先企業の回答担当は自社の状況、対応を確認しながら、ひたすら記載してゆくわけです。 知ってる人は知っているが、知らない人はぜんぜん知らない 最近参加したエンジニアがぞろぞろいらしたカンファレンスで、私が 「……あの セキュリティーチェックシート ってあるじゃないですが、あの 面倒なアレ です。アレにこの規格を採用するよう書いてあったら、各企業に規格の採用が広がるかもですね。あはは。」 と話したことがありました。その瞬間、 嫌なことを思い出したのか顔を曇らせたり苦笑いをす

    セキュリティーチェックシートという闇への防衛術 - Qiita
    cive
    cive 2022/12/04
    お気持ちセキュリティ
  • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

    はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
    cive
    cive 2022/11/07
  • [いわゆる退職エントリ] Microsoft を辞めることにしました(あるいはサポートエンジニア → Product Marketing Manager になるまでなど) - Qiita

    [いわゆる退職エントリ] Microsoft を辞めることにしました(あるいはサポートエンジニア → Product Marketing Manager になるまでなど)退職エントリ 皆さんごきげんよう。ういこうと申します。 これまで日マイクロソフト株式会社で Azure のフロントエンド領域を中心としたサービスの Product Marketing Manager をしておりましたが、6/30 日をもって退職することとなりました。 きっと Microsoft 界隈以外では、あなたどなた?という感じだと思いますので、少し自己紹介と、退職エントリ(のようなもの)を書くことにした理由を紹介させてください。ちょっと、いや...かな~り長いので、おやつでもべながら読むものがないなーというときや、今エンジニアなんだけど、マーケティングなど、テクニカル ロール外の職種に転換しようと思ってる、あるい

    [いわゆる退職エントリ] Microsoft を辞めることにしました(あるいはサポートエンジニア → Product Marketing Manager になるまでなど) - Qiita
    cive
    cive 2022/06/27
  • 【2022】Rustを使うことになるような業務が降ってくることは99%無いんじゃないか!?【Windows,業務システム】 - Qiita

    2022Rustを使うことになるような業務が降ってくることは99%無いんじゃないか!?【Windows,業務システム】 皆さん! Windowsのシェアが7割行ってることはご存じですよね! その上で、 客「顧客管理システムを作れ」 など、とにかく 客「xを作れ」 と言われたら皆さん何を使うでしょうか。 WPF? WindowsFormASP.NETPythonDjango? あるいは Rust? ──気か? 【何故Windows環境下での仕事Rustは選択肢にならないのか】 A. GUIライブラリがeguiくらいしか無い。 Piston?2022年現在、メンテナンスが無いじゃねえか。顧客にどう説明するのだ。 「ほぼ放置されてるライブラリですけどPiston使います!」 無理。顧客は納得しない。 そしてegui。これなんですけど、癖がある。 癖とは? 1.60FPSモード 2

    【2022】Rustを使うことになるような業務が降ってくることは99%無いんじゃないか!?【Windows,業務システム】 - Qiita
    cive
    cive 2022/05/22
    Electron と一緒に使えばええやん
  • テストコードをただ書くだけで満足している人々をこの記事でビンタしたい - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? まえがき 世間ではテストをしないこと/テストを書かないことを悪とするみたいな文化が定着してきたのか、テストを書かない開発というのが減ってきてると思います。 では「正しくテストを書けているか」「テストを書く文化を生かしているか」というとどうでしょう? これらの問いに答えられずテストを書くことをゴールにして満足していると、それは宝の持ち腐れならぬテストコードの持ち腐れとなります。 執筆のモチベーション この記事を印刷して札束のごとくビンタするのが目的です。 以下に該当すること”だけ”を考えているような場合はビンタされるかもしれません。(絶対

    テストコードをただ書くだけで満足している人々をこの記事でビンタしたい - Qiita
    cive
    cive 2022/04/04
    ケアレスミスを防げるのも利点だと思ってる
  • なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita

    1.はじめに エンジニアの私がデザインを気で勉強した結果、デザイナーとエンジニアはそもそも思考が大きく違っているということがわかりました。 今回は「それ」をデザインに苦手意識のあるエンジニア方にも理解してもらえたらと思い、わかりやすくまとめてみました。 2.アプリの画面デザインを考えてみよう まず、こんなアプリを考えてみてください。 フィットネストレーナーが使うアプリ トレーニングルームでお客様とお話しながら使う 端末はタブレット そして 会員の個人情報確認 前回までのトレーニング状況の確認 次回の予約受付 といったことをします。 使える情報としては、こんな感じです。 あなたならどう画面デザインをするか、もしお時間があったら考えてみてください。 記事では、 SEのAさん デザイナーのBさん の二人が画面デザインをする過程を比べながら、その思考の違いを整理してみます。 3.SEのAさんの

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita
  • 「Qiitaのユーザー名に3桁数字を使うときの注意」とその後 - Qiita

    (追記)Qiita側での修正リリース完了 こんにちは。元 @500 です。 Qiitaのご担当者様から、当該ユーザー名を取得出来ないようにする修正リリースを11月19日に行ったと連絡を頂きました。 同時に、ユーザー名の変更依頼を受けましたので、 別のユーザー名に変更し今に至ります。 この記事をご覧になった方からいろいろな意見が来ていましたので、11月12日時点の記事内容に加筆をして以下に残します。 その出会いは偶然に…… なぜか空いていた「短いユーザー名」 これまで備忘録はiCloudのメモに書いて同期していたのですが、今さらQiitaに記事を書こうと先ほどアカウントを作成しました。 私は特に共通のハンドルネームみたいなのもなく、各種サービス登録時には超適当にユーザーIDやユーザー名を決めるタイプです。 Qiitaでは3文字以上とあったので、適当にユーザー名500と打ってみたら、意外にも一

    「Qiitaのユーザー名に3桁数字を使うときの注意」とその後 - Qiita
    cive
    cive 2021/11/14
    バグだった
  • Wikidataの知識をNeo4jで可視化してみる - Qiita

    最近は言語処理界隈でもグラフ構造への注目が高まっているようで、例えば、自然言語処理のトップ国際会議であるACLでは、GCN (Graph Convolutional Netowrk) 関連論文の投稿件数が、昨年は3件だったのが今年は11件と大きく増加しています。 このグラフDBを使って、ある事実とある事実の間の関係を可視化してみます。 Wikidataからの情報抽出 可視化するためには可視化するデータが必要ですが、イチから人手でデータを作成するのは大変です。 そこで今回は、あらかじめ構造化されている知識ベースであるWikidata3のダンプを利用して、グラフDBにインポートするデータを作成します。「構造化」というのは、「計算機で扱いやすくなっている」くらいの意味です。 Wikidataは共同編集型の知識ベースで、Wikipediaと同じウィキメディア・プロジェクトのひとつです。 Wikid

    Wikidataの知識をNeo4jで可視化してみる - Qiita
    cive
    cive 2021/07/26
  • エンジニア・プログラマにしか使えないSNSを作ってみた話 - Qiita

    はじめに 通常のSNSで胡散臭い人が多いと感じてしまいました プログラミングスクールが流行り、エンジニアになって億稼いでます!みたいな・・・ そこで、当のエンジニア・プログラマしか使えないSNSを作ってみました! つまり、WebApi提供のみのSNSです 一般ピープルが使うようなフロントエンドなんてありません!! Postmanなり、なんなりを使って叩いてください エンジニア・プログラマしかWebApiが叩けないであろうという考えなので、 エンジニア・プログラマにしか使えないSNS!ということです この記事を見ている、プログラマ・エンジニアの方であれば使えますよね?😁 実際、WebApiが叩くことが出来れば誰でも使えてしまうわけですが・・・。 2021/07/20 更新 このWebApiを作ったシステムについて書きました ソースコード公開しました CRUDのWebApi開発は不要!Js

    エンジニア・プログラマにしか使えないSNSを作ってみた話 - Qiita
    cive
    cive 2021/07/21
    脆弱性を攻撃するまでがセット
  • Firefoxは危険なJavaScriptに対応しない - Qiita

    Firefox / Safari MozillaはMozilla Specification Positionsというリストを公開しています。 IETFやW3C、TC39などが提唱しているWeb技術に対して、Mozillaはどのように評価しているかという立ち位置を表明したものです。 あくまで現時点での評価であり、もちろん今後の仕様変更などに伴い評価は変わる可能性があります。 Mozilla's Positions Mozillaはどのように評価しているかの分類。 under consideration 評価の検討中。 important 優れた概念であり、Mozillaにとっても重要である。 worth prototyping 優れた概念であるが、プロトタイプを作成し、フィードバックを得て磨きをかける必要がある。 non-harmful 有害ではないが、良いアプローチではなく、取り組む価値

    Firefoxは危険なJavaScriptに対応しない - Qiita
  • SplunkでJPCERTログ分析トレーニング(ハンズオン その1) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    SplunkでJPCERTログ分析トレーニング(ハンズオン その1) - Qiita