IT・プログラミング

IT・プログラミング IT・プログラミング
IT・プログラミング

上半期に買った本まとめ:IT・技術・思考法の3つの柱

今年の上半期は自分にしては珍しく、本をたくさん買いました。「せっかくなのでまとめてみよう」と思ったのと、もし気になる本があればぜひチェックしてもらえたら嬉しいです。仕事や学習に役立つ専門書から、思考法やコミュニケーションを深める本まで、バラ...
IT・プログラミング

ABC425 C – Rotate and Sum Query

長さNの整数列Aが与えられる。Q個のクエリを順に処理していく問題。以降はA = を考えていくクエリ1ではAの先頭を末尾に移動する操作した結果、先頭がどこかを保持する。これをxとしておく。操作回数はc。初期値は0とし、c=1の場合、xは1にな...
IT・プログラミング

【Rust学習】ジェネリクスを勉強する

Rustを勉強していてジェネリクスの書き方が覚えられなかったので、備忘として記事に残しておこうと思います。ジェネリクスとは?ジェネリクスを一言でいうと、同じコードを、いろんな型に対応できるようにする仕組みまた、ジェネリクスは慣習的にTやUが...
IT・プログラミング

ABC424 C – New Skill Acquired

はじめに(A, B)=(0, 0)の習得済みのスキルを持っておきました。また該当のスキルを習得している場合に習得できるスキルをdictで持ちます。その後習得済みのスキルがあるだけループして、先ほどdictで持っておいたものの中から習得できる...
IT・プログラミング

逆ポーランド記法の由来とは? 数学から電卓まで広まった理由

逆ポーランド記法(RPN)の由来を解説。ポーランドの論理学者ヤン・ウカシェヴィチが考案した前置記法から生まれ、コンピュータや電卓で活用された背景を紹介します。
IT・プログラミング

ABC423 B – Locked Rooms

問題文は↑はじめに部屋の先頭と末尾にダミー(1)を入れ、それ以外の部屋に0を入れた配列を用意します[1, 0, 0, 0, 0, 1]その後、先頭と末尾からそれぞれロックされたドア(1)に当たるまで各配列の中身を+1しながらループします0の...
IT・プログラミング

ABC422 C – AtCoder AAC Contest

A、B、Cの文字をそれぞれ持っており、AとCは一つづつ使った上でその他の1文字を使い、AAC or ABC or ACCのどれかを最大いくつ作れるかといった問題。AとCは必ず使う必要があり、もう一つはAでもBでもCでも良いですが、Bの足りな...
IT・プログラミング

Geminiを使ってRustでクイックソートを勉強してみた

「クイックソート、実装できますか?」わたし自身は資格の勉強で名前を聞いたことがあるだけで実装したことがありませんでした。この記事では、テスト駆動開発(TDD)の手法を用いて、Rustでクイックソートをゼロから実装し、さらにパフォーマンスを計...
IT・プログラミング

何気なく使っていたJavaScriptのtoString()メソッドを整理する

JavaScriptでプログラムを書いていたときに、toStringメソッドを調べていたところ、いろいろなオブジェクトでtoStringメソッドが存在し、オブジェクトごとに使い方が異なるため整理してみました。toString()とは?Jav...
IT・プログラミング

Rustでイテレータを得る方法

Rustを書いていて配列や文字列をmap()やfilter()など一つづつ処理したいときにイテレータを使いますが、元の型によって使うメソッドが違うので備忘を兼ねて残しておきます
IT・プログラミング

Googleが超小型AI『Gemma 3 270M』を発表:スマホ・IoTで何ができる?

Googleの超小型AI「Gemma 3 270M」が登場。スマホやIoTガジェットでどんな便利な未来体験が可能になるのか、ワクワクする活用アイデアをわかりやすく紹介します。
IT・プログラミング

Gemini CLIを使ってWebアプリを開発してみた話

最近はAIの発展がすごいですね。以前からvscode拡張のGitHub Copilotをアプリ開発で活用したりしていたのですが、今回はGemini CLIを使って開発してみたので、使っての感想などを書いていけたらと思います。作ってみたサービ...
IT・プログラミング

ABC418 C – Flush

今回は累積和を使う問題でした入力例1ではAはソートすると以下のようになりますi0123A1448この時AiがBjより小さい場合はAiを、AiがBjより大きい場合はb-1を合計したものに+1すると答えがもとまります例えばBj=2の時は、A0は...
IT・プログラミング

集積回路(IC)とはなんなのか 構成する部品や関連用語をまとめてみた | 応用情報技術者試験対策

「ICってなんとなく聞いたことあるけど、具体的に何なの?」そんな疑問を持っている方も多いのではないでしょうか。この記事では、応用情報技術者試験でも頻出の「集積回路(IC)」について、まとめた内容を紹介します。
IT・プログラミング

【応用情報】Unicode・UCS・UTFの違いをスッキリ理解!文字コードの基本を図解で整理してみた

「UTF-8」「Unicode」「文字化け」「エンコード」などのよくわからない文字コードの世界。本記事では、「Unicode・UCS・UTFって何が違うの?」という疑問に、図と具体例を使って整理していきます
IT・プログラミング

RustでAtCoder Beginners Selectionを解き切ったので学んだことを書いていく

Rustの勉強に良いかなとAtcoder Beginners Selectionを少しづつ進めていましたが、ようやく全て解いたので学びをまとめていこうかと思いますRustでAtcoderを始めるときのテンプレート私はRustでAtcoder...
IT・プログラミング

ABC417 C – Distance Indicators

2重ループするとTLEになってしまうということで工夫が必要な問題でした元の式j−i=Ai​+Aj​を変形するとj−Aj​=i+Aiになりますi+Aiの数を記録・カウントしておくと、記録していた数の中からj−Ajに当てはまる数を数えることでj...
IT・プログラミング

ABC416 C – Concat (X-th) 

今回のC問題はitertoolsのproductを利用し、全列挙した後にソートすることでで解けましたfrom itertools import productdef i_map(): return map(int, input().spli...
IT・プログラミング

attempt to subtract with overflow – Rustの型について復習する

thread 'main' panicked at 'attempt to subtract with overflow'Rustでプログラムを書いていたときに上記のエラーが発生しました初歩的なミスでしたが、この記事で備忘として残しておきま...
IT・プログラミング

マルチプロセッサの並列処理に関する分類について

応用情報に向けてCPU周りの勉強をしていたところ用語が多すぎて混乱してきたので、この記事ではマルチプロセッサの並列処理に関連する分類・用語について整理します