タグ

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

  • Pythonでリストを多用しがちな新人に贈りたい、array/tuple/set/queueの魅力と使い分けフローチャート - Qiita

    Pythonでリストを多用しがちな新人に贈りたい、array/tuple/set/queueの魅力と使い分けフローチャートPythonarray初心者tupleset はじめに みずほリサーチ&テクノロジーズの @fujine です。 Pythonのリストってとても便利ですよね。可変長で任意のオブジェクトを保存できるため、シーケンシャルなデータなら何でもリストで実装したくなる気持ち、分かります。 でもちょっと待ってください!リスト以外にも便利なコレクション型があること、ご存知でしょうか?コレクション型を適切に使い分けることで、 プログラムの意図を(ドキュメントに頼らなくても)読み手に的確に伝えられる パフォーマンスが向上する などの効果が期待できます。 そこで記事では、Pythonの組み込み型や標準ライブラリを対象に、リストと似たコレクション型をどのように使い分けるか?の案をフローチャー

    Pythonでリストを多用しがちな新人に贈りたい、array/tuple/set/queueの魅力と使い分けフローチャート - Qiita
    kirakking
    kirakking 2024/02/16
    何でもかんでもListではなく、適切なデータ構造を選ぼうという話。
  • 自作した時間割アプリが大学の公式アプリに採用された話 - Qiita

    記事の概要 私(芝浦工業大学学部4年生)が大学2年時に1人で制作した、大学のポータルアプリ(ポータルサイトからスクレイピングして時間割などを表示する)が、大学に正式採用され、公式アプリ"ScombApp"としてリリースされるに至った経緯を時系列順に説明します。 ホーム画面 時間割画面 制作の動機 大学のポータルサイト使いにくいがち。 ポータルサイトのスマホアプリ版があれば便利そう。 他にやってる人いなさそうだし、最初に作ったらみんな使ってくれそう。 ポータルサイトの問題点 大学ポータルサイトで使いにくかった点を挙げていく。 とりあえずこれを克服することを目標にした。 ログインの時に自動補完が使えない 制作当時はBASIC認証で、スマホからだとログインの自動補完ができなかった。 毎回手打ちでパスワードを入力している人がほとんど ←!? 次の授業や教室を確認するだけでも、毎回手打ちログインが必

    自作した時間割アプリが大学の公式アプリに採用された話 - Qiita
    kirakking
    kirakking 2024/01/16
    ちゃんと公式アプリにまで持っていけたのは偉いなー。野良のままだと大学側の情シス的にもほっとけないだろうし。
  • 祖母が就寝するとDBインサートができなくなる - Qiita

    世の中には、一見関係なさそうな物理現象がITシステムに不可思議な影響を及ぼすことがあります 例えば,500マイル以上離れた場所にメールが送れないという話だったり 中国人のAさんがお茶を入れると会社のネットが繋がらなくなる という話があります。 私の場合は、祖母が就寝するとDBインサートが失敗する、という状況でした 実家の見守りシステム 問題が起きているのは、離れた実家にいる一人暮らしの祖母の状態を見守るために作成した自作のシステムです。 気温や湿度、CO2濃度、明るさ、部屋のドアの開閉、冷蔵庫の開閉の状況をモニタリングできるようにしています。 Raspberry Piに各種センサが接続され、定期的にInfluxDBに送信し、Grafanaという可視化ツールでいつでも見られるようにしています。 これらの情報を見ることで、祖母の家の部屋の温度が適切か、活動しているか、部屋にいるかなどが分かりま

    祖母が就寝するとDBインサートができなくなる - Qiita
  • Reddit で振り返る今年の英語圏 Haskell 界隈の話題 - Qiita

    Haskel advent calendar 2023 の1日めの記事です. お仕事も情報系でなく,多忙を言い訳に数年ほとんどコード自体をかけていなかったのですが,最近 e-Gov 法令検索 で公開されている法令XMLを読みたい需要があって久しぶりに Haskell で書いてみたらやはり書きやすく,とても楽しくて改めて感動しました.書きながら自然に思考が整理される感じがよい. Hoogle は変わらぬ使いやすさでモリモリサポートしてくれるし,環境構築も GHCup などが噛み合って随分スムーズで,Haskell Language Server も成熟してきているようです.環境構築については,昨年の Advent Calendar の1日め @mod_poppo さんの記事 などが参考になります. 最近入った言語拡張にも,ちょっとだけコード書く位でも(大規模なあるいは高度なコードじゃなくても

    Reddit で振り返る今年の英語圏 Haskell 界隈の話題 - Qiita
    kirakking
    kirakking 2023/12/02
    「7. Haskell.org に "Get Started" のページができた!」 全然知らなかった。ちょっと見てみよ。
  • findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita

    はじめに find コマンドの使い方は、ざっくり調べただけではよくわからんとなりますが、見逃しがちなルールを知れば簡単に理解できます。find コマンドに限りませんが使い方を調べるのが面倒だからと曖昧な理解で使うと逆にもっと分からなくなって時間がかかります。急がば回れ、理解して正しく使ったほうがシンプルで楽で簡単です。この記事では find コマンドの使い方を理解するために必要なルールと使い方の実践的な知識をまとめました。 Q&A(?): -type や -perm の説明はしないの? ⇒ それらはドキュメントを読むか検索すればすぐにわかることで難しいポイントではありません。重要なのは基のルールを理解することです。 関連記事 POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! 移植性の話はこちら ⇒ findコマンドのオ

    findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita
    kirakking
    kirakking 2023/10/23
    -exec {} \; と-exec {} + に仕様上の違いがあったの知らなかった。
  • awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! - Qiita

    はじめに 2023年、長い時を経て awk がとうとう Unicode (UTF-8) と CSV に対応しました 🎉🎉🎉 awk で日語がうまく扱えない(場合がある)、Excel が出力する CSV ファイルが扱えない(場合がある)、といった問題が解決に向けて一歩に進みます。 去年、家 awk (One True Awk, nawk) に Unicode サポートが Brian Kernighan の手によって追加されたと話題になった(参照)ことを覚えているでしょうか? Brian Kernighan が誰だか知らない方がいるかもしれないので説明すると、オリジナルの awk の開発者の一人で awk の頭文字、Alfred Aho、Peter Weinberger、Brian Kernighan の一人です。通称「K&R」の「プログラミング言語C」や「プログラミング言語AWK」

    awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! - Qiita
  • シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita

    この中で私が特に気に入ったコマンドは dateround です。次点は dategrep です。この二つは特に強力で、awk やその他のコマンドを使って日時をこねくり回すような「無駄に難解なコード」を書かずに Dateutils のコマンド群だけで大抵のことはなんでもできてしまいます。専用のことをするには専用のコマンドを作ることが重要であることを思い出させてくれるでしょう。 Dateutils の重要な特徴と使用例 大抵のコマンドは機能の説明から想像できると思いますし、公式サイトにも例があるので詳細を一つ一つ説明することはしません。その代わりに「Dateutils の使いこなしに必要な考え方」が分かるような例をいくつか紹介します。 重要な注意点ですが Dateutils はロケールをサポートしていますが、原則としてシステムのロケール情報やユーザーの環境変数には依存していません。内部にロケー

    シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita
  • Rustにはシャローコピーがわからない - Qiita

    小説です ※ 読むとRustや所有権・参照とちょっとだけ仲良くなれるかもしれません ※ まとめやメッセージの類は最後のあとがきに書いてあります(読んで) プロローグ 放課後のチャイムを合図に親友のCSSちゃんが現れた。 CSS「TSちゃん放課後ヒマでしょ?駅前にできたECサイトのデザイン見ていかない?」 TypeScript「気になる!...けどごめんね、今日は美化委員会の仕事があるんだ。」 CSS「えー?今日委員会だったっけ?あの偉そうな堅物とすることなんてある?」 TS「偉そうなって...(苦笑)、うーん、まぁ、ちょっとね。埋め合わせに今度新しいライブラリ紹介するから!」 CSS「しょうがないなぁ」 魅力的な誘いを断ってしまった私は、足早に隣のクラスの彼女の元へと向かった。 TS「ふふふ...今日はとっておきのネタがあるからね...」 美化委員会の仕事があるというのは、半分当で半

    Rustにはシャローコピーがわからない - Qiita
    kirakking
    kirakking 2023/04/25
    後書きが欲望に忠実で良かった。
  • GPT-4はどのようにして「不適切な回答」を回避するように学習されているのか - Qiita

    先日OpenAIより発表されたGPT-4が話題ですが、同タイミングで公表されたTechnical Reportを読んでみたところ、全99ページのうち後半60ページを占めるドキュメント「GPT-4 System Card」において解説されていた、言語AIが抱える危険性と、いかにしてGPT-4が危険な回答を回避するように学習されているかについての内容が非常に興味深かったため、簡単にまとめてみました。 https://arxiv.org/pdf/2303.08774.pdf サマリ GPT-4のリリースに向けて、OpenAIでは安全性を評価するために50人超の専門家らを含む"レッドチーム"を結成。2022年8月から8ヶ月に渡ってリスクの評価とその軽減に向けたチューニングを実施してきた リスク評価における実験の中には「自身をコピーするプログラムを実行できるGPT-4が自己増殖をしないか確認する」と

    GPT-4はどのようにして「不適切な回答」を回避するように学習されているのか - Qiita
  • 君はkiloを知っているか - Qiita

    Advent calendar初参加でした(// //) 期日少し遅れてごめんなさい💦 kiloとは kiloとは1000行前後のC言語ファイル1つで構築されるテキストエディターである。 それを作成してみるハンズオン(「Build Your Own Text Editor」)が公開されており、今回それをしてみたので、報告する。 きっかけ Vimがどのように文字列を表示しているのかが不思議であったので、いつか調べたいと思いつつ、C言語をしっかりと使ったことはないし、ソースを読んでもなんとなく以上のことはわからなかった。 (特に、どこで画面上の文字(の位置)が制御されているのか全然分からなかった!) そんな中、C言語でエディタを作るというチュートリアルが公開されていたことに気付いたので、練習として取り組んでみることにした。 チュートリアルの章立て Setup(セットアップ) Entering

    君はkiloを知っているか - Qiita
    kirakking
    kirakking 2022/12/15
    へー知らなかった。
  • ChatGPTによるプログラム生成の可能性と限界(後編) - Qiita

    はじめに この記事では最近話題のChatGPTによってプログラムを生成する際のコツについて解説します。 前編はこちら https://qiita.com/autotaker1984/items/5b5ac8c01d11fbbbc4a7 コードを生成するのではなく、コードを生成する過程を生成する ChatGPTは言語モデルベースのAIです。言語モデルとは、お題(プロンプト)に沿った文章を生成するモデルです。それ以上でもそれ以下でもありません。 従ってなんらかの機能を実装してもらう際もいきなり「機能」から「コード」の生成だとあまり満足いく結果は得られません。 もちろんChatGPTはかなり博識なのでそれっぽいコードは出してきます。ただ、そのような生成の仕方だとChatGPTが学習したコードにかなり依存したものが出力されるため、実際のユースケースとはズレたものが生成されますし、生成物の著作権リス

    ChatGPTによるプログラム生成の可能性と限界(後編) - Qiita
    kirakking
    kirakking 2022/12/05
    本当に検索の次の世界という感じだ。
  • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

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

    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
  • ポケモンの最強タイプを考える【グラフ理論】 - Qiita

    導入 先日、ポケモンの最新作『Pokémon LEGENDS アルセウス』が発売されました。ポケモン愛好家の中で密かに話題を集めたのが、新たに登場したポケモン「ゾロア(ヒスイのすがた)」と「ゾロアーク(ヒスイの姿)」のタイプです。なんと驚くべきことに、両者のタイプは未だ登場したことのなかった「ノーマル・ゴースト」だったのです。 ポケモンを知る人には説明不要ですが、これはノーマルタイプの唯一の弱点であるかくとう技をゴーストタイプで無効化しながら、ゴーストタイプの弱点であるゴースト技をノーマルタイプで無効化するという、非常にバランスのとれた、まさに夢のような複合タイプです。一部では、この「ノーマル・ゴースト」こそ最強の組み合わせなのではないかと噂されました。 しかし、果たして当にそうなのでしょうか? ポケモンのタイプは全部で18種類あり、一匹のポケモンは二つまでタイプを持つことができます。考

    ポケモンの最強タイプを考える【グラフ理論】 - Qiita
    kirakking
    kirakking 2022/02/08
    面白い。本家の開発陣はどのような方法で定量的分析をしているのだろうか。
  • 新言語『TypoScript』を作った - Qiita

    この記事は、クソアプリAdvent Calendar2021の20日目(ホノルル時間)の記事であると同時に、GMOペパボエンジニア Advent Calendar 2021の21日目(日時間)の記事でもあります。 みなさん、TypeScript使ってますか?TypeScriptJavaScriptの世界に秩序をもたらす素晴らしい言語ですね。 しかし世界には光の秩序だけでなく闇の混沌も必要です。 という訳で、JavaScriptに闇の混沌をもたらす新言語を作ってみました。 その名も『TypoScript』です。 TypoScript is 何 TypoScriptとは何か。まずはこちらのコードをご覧ください。 function fizz_buzz(count) { for (var i = 1; i <= caunt; i++) { if (i % 3 === 0 && i % 5 ==

    新言語『TypoScript』を作った - Qiita
    kirakking
    kirakking 2021/12/20
    そうそう発生しないけど、同じレーベルシュタイン距離の変数を複数用いたとき、どれが参照されるのか一見して分からないところが非常にクールだと思った(実装的には直近の名前っぽい)。
  • なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】UXUIDesignUIデザイン画面設計 1.はじめに エンジニアの私がデザインを気で勉強した結果、デザイナーとエンジニアはそもそも思考が大きく違っているということがわかりました。 今回は「それ」をデザインに苦手意識のあるエンジニア方にも理解してもらえたらと思い、わかりやすくまとめてみました。 2.アプリの画面デザインを考えてみよう まず、こんなアプリを考えてみてください。 フィットネストレーナーが使うアプリ トレーニングルームでお客様とお話しながら使う 端末はタブレット そして 会員の個人情報確認 前回までのトレーニング状況の確認 次回の予約受付 といったことをします。 使える情報としては、こんな感じです。 あなたならどう画面デザインをするか、もしお時間があったら考えてみてください。

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita
    kirakking
    kirakking 2021/12/10
    データの加工と情報の強弱を考慮しない失敗をやらかしがちなので有難い。
  • フレッツ光回線でscpが遅かった話 - Qiita

    この記事は、Supershipグループ Advent Calendar 2021の7日目の記事になります。 先日、sshを使用したファイル転送が回線速度と比べて異常に遅いという現象に遭遇したので、その際に行った調査を再現しつつ原因や対策について書いてみたいと思います。 要約 OpenSSHはデフォルトでinteractiveなセッションに af21 、non-interactiveなセッションに cs1 をDSCP値としてIPヘッダに設定する フレッツ網はIPヘッダのDSCP値を帯域優先サービスで使用しており、契約に応じて指定された優先度以外が設定されたパケットの転送は保証されない そのため、OpenSSHをデフォルト設定のままフレッツ網で使うと通信ができなかったり、速度低下などの悪影響を受ける可能性がある OpenSSHがDSCP値を設定しないようにするためには、IPQoS noneを設

    フレッツ光回線でscpが遅かった話 - Qiita
    kirakking
    kirakking 2021/12/08
    .ssh/config に IPQoS を設定することできるんだ。
  • RustでJSONパーサーをフルスクラッチで実装する - Qiita

    この記事はRust Advent Calendar 2021 カレンダー2の1日目の記事です。 はじめに エンジニアは一度はJSONパーサーをフルスクラッチで実装したほうが良いという天啓を受け、RFC 8259を読みつつRustでJSONパーサーを実装してみました。パーサーの実装は面白く勉強になり満足しましたが折角なのでhands-on形式の記事にしようと思いこの記事を書きました。 Rustの基的な文法が分かる方向けに記事を書きましたが、これからRustを勉強してみたい方にもぜひ挑戦してほしいです。 複雑な機能は使っていないので、分からない文法や標準ライブラリは公式ドキュメントを読めば十分補完できると思います。 The Rust Programming Language 日語版 Rust by Example 日語版 monkey-json 記事ではRustでJSONパーサー(mo

    RustでJSONパーサーをフルスクラッチで実装する - Qiita
  • 初学者に教えたい、MicrosoftがGitHubで公開している教材が最高だった! - Qiita

    はじめに エンジニアやデータサイエンティストの人材育成のためのオープンソースな教材を探していたらMicrosoftGitHubでかなり質の高い教材をweb開発、データサイエンティスト、機械学習、IoTの四項目を対象に提供してるのを発見したため共有したいと思う。 正直、マイクロソフトと聞くとGoogleやらFacebookに比べていけてないイメージを持っていたけど、実際にMicrosoftGitHubレポジトリを見て、彼らはここ数年で大きく変わったように思える。特に人材育成や学習教材に関しては世界一かもしれないなんて思っています。記事では筆者が自信を持っておすすめするMicrosoftのオープン教材を紹介するのでぜひ自身の勉強や人材育成に生かしてもらえれば記事を執筆した甲斐があります。(もちろん僕がお勧めしているだけでなくてGitHubのスター数も多く世界的に認められています!) こ

    初学者に教えたい、MicrosoftがGitHubで公開している教材が最高だった! - Qiita
  • 本当のメタバースについて知ってほしい。 - Qiita

    メタバース有識者」の話があまりにもくだらない。 偉そうに話しているが、あれもこれも全部実現している。 良くてもVRChat止まりで、それ以外の実情を分かっていない。 当のメタバースについて、書き殴ってみようと思う お前は誰? ただの一般人だ。ただし現実よりVRに生きているかもしれない。 プレイ時間はVRChat:500時間、NeosVR:1900時間である。 他にclusterでもイベントを主催したりワールドアップしている。 VRの中で飲み、踊り、寝る ゴーグルを被ったまま酒を飲んで、DJをして、音に合わせて楽しく踊る。 疲れたらそのまま寝る、もちろんゴーグルを被ったまま。 メイド喫茶やホストクラブ、ラジオ体操にゲーム。 悩み相談をしたり、恋愛をしたり、旅行にも行ける。 これはVRSNSの日常風景だ。 ここまではおそらく、多くの方が想像しているメタバースだろう。 知ってほしいのはここか

    本当のメタバースについて知ってほしい。 - Qiita
    kirakking
    kirakking 2021/11/20
    NeosVRすごいな。スクショがみんなが夢見てた未来のSF風景そのもので、ビジョンがあればいつかは実現できるものだな。/操作系の進化を期待。
  • シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の当の理由を知ると優れた文法が見えてくるShellScriptBashUNIXshellPOSIX はじめに シェルスクリプトの変数代入で = の前後にスペースを置くことができない理由は、検索すれば「プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話」のような記事がすぐに見つかります。記事に書いてあるとおり変数代入とコマンド呼び出しと区別がつかないからです。それは間違いではないんですが、私はもう少し説明が足りないと感じています。そこで今回は = の前後にスペースを置けない当の理由を解説したいと思います。 の前に皆さんにはこの話を読みながら、自分がシェルスクリプトの言語設計者だったとしたら、どういう言語仕様にするかを考えて欲しいです。なぜかと言うとシェルスクリプトの文

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita
    kirakking
    kirakking 2021/11/10
    納得。シェルスクリプトの実行ファイルも単にコマンドを列挙したものだから、このセマンティクスに自然と従うまあ。