タグ

programmingに関するtomkosakaのブックマーク (64)

  • OpenAI Whisper に追加学習をさせる試み | IIJ Engineers Blog

    地方拠点の一つ、九州支社に所属しています。サーバ・ストレージを中心としたSI業務に携わってましたが、現在は技術探索・深堀業務を中心に対応しています。 2018年に難病を患ったことにより、定期的に入退院を繰り返しつつ、2023年には男性更年期障害の発症をきっかけに、トランスジェンダーとしての道を歩み始めてます。 【IIJ 2022 TECHアドベントカレンダー 12/8(木)の記事です】 Whisperの追加学習に挑む2022年の冬 2022年アドベントカレンダー企画だそうです。 いかがお過ごしでしょうか。 私はもう興味を引くものに没頭するしか楽しみがないもんで、PCに向かってぼんやり面白いネタはないかなーと探す日々です。 最近はすっかりディープラーニングにズブズブで、とうとう数式かくのが面倒なあまり手書き入力のためのペンタブレットを買いました。てへ。 今回は9月から10月にかけてStabl

    OpenAI Whisper に追加学習をさせる試み | IIJ Engineers Blog
  • ゲーム感覚でプログラミング学べるサービス集 - Qiita

    はじめに 今回はゲーム感覚でプログラミングを学べるサービスを紹介します。 ゲームを通して学んだ知識をアウトプットできるサービス集を厳選したので、ぜひ学んだ知識を「使える技術」として自分のものにしていただければと思います。 この記事の主な対象者 プログラミング初心者~中級者 基礎文法は学んだけどアウトプットができていない人 フロントエンジニアを目指してる人 楽しみながらプログラミングを学びたい人 ぷよぷよプログラミング まずはじめに紹介するのは、SNSでも話題になった、ぷよぷよを開発しながらプログラミングを学ぶことができる「ぷよぷよプログラミング」です。 ぷよぷよプログラミングでは、人気ゲームぷよぷよを開発しながらHTMLCSSJavaScriptといったプログラミングをしていく中で基礎となる技術を学ぶことができます。 実際にアプリ開発をしながら学べるので、インプットとアウトプットが同時

    ゲーム感覚でプログラミング学べるサービス集 - Qiita
  • 個人開発で即戦力になるツール・サイトまとめ - Qiita

    はじめに 個人開発エンジニア自体の歴も浅いSEです。 就業先がJavaをメインで使う企業なのですが、個人的にフロントエンドまわりが好きです。 元々、興味位でデザインのだったりUXに関するとかを読んでいたりするのですが、 その結論の際にたどり着いたのが、 「理論とか決まってるなら、それをよしなにやってくれるor参考にできるツールとかサイト探せばよくね」 という結論になりました。なんと怠惰な思考でしょうか。 そんなわけで、こちらではデザインに限らず、色々開発に便利なツールを紹介させていただきます。 (有名なのが多いかもしれませんが、ご容赦ください、結局有名なものに行き着くのです) レイアウト関係 1. Awwwards おしゃれなwebサイトが集まっているサイトです。 ここまで個人開発でお洒落にできたらいいなと思いますが、自分はアニメーションを考えるときや、 作りたいフロント側のデザイ

    個人開発で即戦力になるツール・サイトまとめ - Qiita
  • imgタグのwidthとheightを省略したらダメ! 画像によるレイアウトシフトを回避する最近登場した2つの優れた解決方法

    レイアウトシフトとは、Webページがロードされる時に画像のスペースが確保されず、画像が表示された時にその分レイアウトがずれてしまうことです。 このレイアウトシフトを回避するために10年以上もの間、アスペクト比を手動で適用する必要がありました。しかし、現在ではそんな馬鹿げたハックは必要ありません。最近登場した2つの優れた解決方法を紹介します。 Avoiding <img> layout shifts by Jake Archibald (@jaffathecake) 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 レイアウトシフトとは aspect-ratioプロパティによるレイアウトシフトの回避方法 widthとheightによるレイアウトシフトの回避方法 どちらの方法を使用すべきか レイアウトシフトとは デフォルトでは、<im

    imgタグのwidthとheightを省略したらダメ! 画像によるレイアウトシフトを回避する最近登場した2つの優れた解決方法
  • 2分間コーディングのすすめ、コードを書く習慣のハードルを下げる

    最近私は「2分間コーディング」と呼んでいる取り組みを行っています。文字通り2分間で完了する程度の、非常に簡単なコーディング作業を繰り返すことで、 技術書の最初のページの数行のコードだけ写経して走らせる ネットで見つけたサンプルコードをコピペして走らせる など、多くはコピペするだけで終了するくらいの作業量です。しかし、その頻度を今までの何倍にも増やすのがポイントです。実際にはやっているうちに気分が乗って、そのまま5分、15分以上とコーディングが続くことも多いのですが「まずは2分で終わることだけを始める!」と強く意識することで、コーディングの頻度が大きく増えました。 この記事では、私にとって2分間コーディングがどういう効果があったか、なぜ取り組みを始めたかを紹介します。 効果: 新しい技術を覚えやすくなった 2分間コーディングを始めてから、今まで公式ドキュメントやを読んだだけで終わってしまい

  • Emacs で Haskell IDE Engine を使う

  • プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog

    κeenです。最近JEITAのソフトウェアエンジニアリング技術ワークショップ2020に参加したんですが、そこで五十嵐先生、柴田さん、Matzとパネルティスカッションをしました。その議論が面白かったので個人的に話を広げようと思います。 年末年始休暇に書き始めたんですが体調を崩したりと色々あって執筆に時間がかかってしまいました。 時間を置いて文章を書き足していったので継ぎ接ぎ感のある文体になってるかもしれませんがご容赦下さい。 というのを踏まえて以下をお読み下さい。 いくつか議題があったのですが、ここで拾うのは一番最後の「プログラミング言語の未来はどうなるか」という話題です。 アーカイブが1月末まで残るようです。もうあと数日しかありませんが間に合うかたはご覧下さい。 そのとき各人の回答を要約すると以下でした。 五十嵐先生:DSLを簡単に作れる言語というのが重要。それとプログラム検証、プログラム

    プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog
  • アセンブリに触れてみよう - Qiita

    .LC0: .string "%d\n" main: push rbp mov rbp, rsp sub rsp, 16 mov DWORD PTR [rbp-4], 1 mov DWORD PTR [rbp-8], 2 mov edx, DWORD PTR [rbp-4] mov eax, DWORD PTR [rbp-8] add eax, edx mov esi, eax mov edi, OFFSET FLAT:.LC0 mov eax, 0 call printf mov eax, 0 leave ret …何が書かれているか分かりませんね。 というわけで、今回は最終的に、このアセンブリがなんとなく読めるようになることを目標にします。 それでは前提知識を説明していきます。はじめに、アセンブリなどの用語の説明をしていきます。 2. 前提知識 用語説明 まず、それぞれの言葉を説明しま

    アセンブリに触れてみよう - Qiita
  • Vue + Vue Router + Vuex + Laravelで写真共有アプリを作ろう (1) イントロダクション | Hypertext Candy

    はじめに 対象者 JavaScript / Vue.js / PHP / Laravel の入門レベルの方、入門書を読んだあとに「何か作ってみたい」という方が、それぞれの知識を組み合わせて格的なアプリケーションを開発できるようになることを目指しています。 上記のいずれかの知識がまったくない状態だとこのチュートリアルの内容は少し難しいかもしれません。チャレンジするのもいいですが、参考文献に挙げた市販の入門書か、関連記事のチュートリアルを先に読んでおくと理解しやすいと思います。 学べること Vue.js と Laravel を組み合わせて SPA を構築する方法 SPA におけるクッキー認証と CSRF 対策 Vue Router を使用した画面遷移 Vuex を使用した状態管理 Vue でのタブやローディング UI の表現 SPA におけるエラー処理 扱わないこと デザインと CSS コー

    Vue + Vue Router + Vuex + Laravelで写真共有アプリを作ろう (1) イントロダクション | Hypertext Candy
  • 現代の JavaScript チュートリアル

    私たちはこのオープンソースプロジェクトを世界中の人々に提供したいと考えています。このチュートリアルの内容をあなたが知っている言語に翻訳するのを手伝ってください。

    現代の JavaScript チュートリアル
  • Swiftのエラーハンドリングはなぜ最先端なのか - Qiita

    Swiftのエラーハンドリングは他のメジャーなプログラミング言語のどれとも異なる新しい仕様を持っています。特に、検査例外を持っているのですが、これはJavaで採用された以降はほとんどの言語で採用されていないため、現代では否定されている過去の間違いだったと広く認識されていると思います。そのため、Swiftユーザーで無い人は、検査例外という言葉をみた瞬間に興味を失ってしまうため、その詳細がなかなか世の中に伝わっていないと感じています。一方、私はこんなSwiftのエラーハンドリングをとても気に入っていて、様々な言語の進化の歴史を踏まえた産まれた最も優れた最先端の仕様だと思っています。この記事ではその考えを説明します。 Javaのエラーハンドリング Javaは検査例外を持っています。これにより、あるメソッドがエラーを送出するかどうかを関数のシグネチャとして静的に表明できます。 // 検査例外の例

    Swiftのエラーハンドリングはなぜ最先端なのか - Qiita
  • FizzBuzz Zero ―― 人類の知識なしでFizzBuzzをマスターする

    for i in range(1, 101): if i % 15 == 0: print("FizzBuzz") elif i % 3 == 0: print("Fizz") elif i % 5 == 0: print("Buzz") else: print(i) プログラム問題としてあまりにも有名になってしまったので、今ではあらゆる言語のFizzBuzzがそろっています。面白いですね。 深層学習 で FizzBuzz この記事の読まれている大半の方は、FizzBuzzを書くのにあまり苦労しないでしょう。 しかし、あなたが何かの拍子でプログラムの書き方を忘れてしまったらどうでしょう? 心配する必要はありません。そういうときこそAIの出番です。 最近は空前の人工知能ブームで、も杓子もDeep Learningです。 実際、Deep LearningによるFizzBuzzは、いくつも先例

    FizzBuzz Zero ―― 人類の知識なしでFizzBuzzをマスターする
  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
  • タイムゾーン呪いの書 - Qiita

    コメント欄で「Software Design 誌 (2018/12) に寄稿した内容や修正などをこちらの記事にも適用したい」と言ったあと、やるやる詐欺でずっと放置していましたが、三年近く経ってようやく 2021年 7月に大幅に改訂し、同時に Zenn に引っ越すことにしました。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) なにやら長くなりすぎたので三部構成になっています。 この Qiita 版は、しばらく (最低一年は) 改訂前のまま残しておきます。 タイムゾーンの存在はほぼ全ての人が知っていると思います。ソフトウェア・エンジニアなら多くの方が、自分の得意な言語で、タイムゾーンが関わるなにかしらのコードを書いたことがあるでしょう。ですが、日に住んで日仕事をしていると国内時差もなく1 夏時間もない2 日標準時 (Japa

    タイムゾーン呪いの書 - Qiita
  • 例え話をしないC言語のポインタの説明 | 右や左の旦那様

    まえおき 巷では「プログラマーになりたい人に初学者にとって、ポインタという考え方がわけわかめ」という話がよくあります。 そこでいろいろな人が「ポインタは住所だ」とか「変数がハコで」とか手を変え品を変え分かりやすいように説明してくれています。 それでもなお「ポインタがわかりづらい」という人が後を絶ちません。 もういっそのこと、例え話をやめてド直球で攻めたらいいんじゃないでしょうか。 Hello, Worldより簡単に サンプルコード 以下のコードを考えます。 void main() { int a; int b; int c; a = 1; b = 2; c = a + b; } 「#include <stdio.h>」なんていう謎のオマジナイはこの際ナシです。あんなもの無くたってC言語は成り立ちます。 まぁ見ての通り、どこにも何も出力されませんが。 このプログラムは、「c = a + b」

    例え話をしないC言語のポインタの説明 | 右や左の旦那様
  • Forthの覚醒 : road to jedi ; - snowlt23の雑記

    1/30 Forthの動作について追記 1/31 Forthの辞書についての文言を修正・追記 1/31 1+1を4+5に修正(当に頭がついていない) 思いつくままに書いていったら結構長くなってしまいました。Forthでよく言われる考え方について書いてみました。ちなみに考え方の部分は他とは区別するために意図的に「だである」調で書いてます。それではどうぞ。 プログラミング言語Forth Forthというプログラミング言語がある。マイナー言語探訪を趣味にしていない限り、聞いたことがない人が大半だろう。 初めてForthの名を聞く人は最初にこう思うだろう。「どんな言語なの?」「どんな機能があるの?」と。 これに対する答えは非常に難しいが、あえて答えるなら私はこう答えるだろう。「Problem Oriented Programming Language(問題志向言語)」「あなたが望むであろう機能は

  • Windowsバッチまとめ - Qiita

    はじめに Python? PHP? いやいや、そんなオサレなものではなく、ここで取り上げるのは今そこにあるWindowsバッチです。 たまたま最近Windows Server周りの管理やWindowsを使ったバッチ運用の仕組み作りに携わることがあり、今更ながらWindowsバッチと格闘することになったので、備忘録としてまとめます。 Unix系のシェル・スクリプトに慣れているとWindowsバッチは結構クセがあって使いづらいと思います。VBScriptも今更な感じだし命はPowerShellなのかなと思いますが、PowerShellはパッと見とっつきにくそうで拒絶反応が出ました。 手軽にグーグル先生に頼れない現場環境であったということもあり、手っ取り早くWindowsバッチを使ってみたという感じです(Windows10だとbashが使えるらしいので早くそういう環境が広がってほしいんですが.

    Windowsバッチまとめ - Qiita
  • .bat初心者・未経験者に贈るコマンド集 - Qiita

    はじめに この投稿は、バッチファイルに触れてみたいと思った・触れてから日が浅い方向けのものです。 熟練のバッチファイラー(?)の方が見てもあまり意味はないと思います。 バッチファイルとは何ぞや?という説明はしませんので、バッチファイルの作り方だけは最低限マスターしてきてください。申し訳ありません。 あと、割と冗長で長いです。許してね。 概略 1.hello,world! に学ぶ、文字の出力 @echo offとは? echo pause >nul 2.クイズゲームに学ぶ、文字の入力と条件分岐 cls choice if exit 3.変数の設定方法 set Extra.問題 1.hello,world! に学ぶ、文字の出力 まずは、これを見てください。

    .bat初心者・未経験者に贈るコマンド集 - Qiita
  • 【bat】Windowsのバッチファイル(*.bat)の書き方自分用まとめ - Qiita

    これを実行すると次のような残念な表示になる C:>C:\exsample.bat C:>IF 1 == 1 (echo あいうえお ) あいうえお ようはスクリプトの中身が表示されてる。これを避けるためにバッチファイルの頭には必ず@echo offを入れるのが定石。

    【bat】Windowsのバッチファイル(*.bat)の書き方自分用まとめ - Qiita
  • セカンドシステム症候群にまつわる3つの話―Perl 6, Python 3, PHP 6 | POSTD

    この10年間で、3つのメジャーなプログラミング言語が、それぞれPerl 6、Python 3、PHP 6へと大幅なバージョンアップに乗り出しました。ところが、Unicodeのサポート問題などの表面的な類似点があるにも関わらず、根的に異なった展開を見せています。 今年Perl 6.0.0が公式にリリースされるのに伴い、いま一度振り返って、リリース後の展開について考えてみるのに、今はちょうどいいタイミングでしょう。 これを書いていることが自分でも信じられないのですが、PHPから学ぶべきことがあるかどうか見ていきましょう。Zend TechnologiesのCEOであるAndi Gutmans氏は2008年2月の インタビュー でこう答えています。 我々はPHP 6に対し長いサイクルでのロールアウトを予想している。Perlプロジェクトに対しては、プロジェクトのコントリビューターがいまだPerl

    セカンドシステム症候群にまつわる3つの話―Perl 6, Python 3, PHP 6 | POSTD