タグ

qiitaとprogrammingに関するyuki_2021のブックマーク (64)

  • typosでtypoチェックをしよう - Qiita

    typosはタイポチェックツールです。 恥ずかしい間違いをする前に入れておきましょう! 実行サンプル インストール

    typosでtypoチェックをしよう - Qiita
  • 理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita

    はじめに 「理解容易性」は「保守性」の観点の1つとして重視され、多くの原則や技法が紹介されているが、断片的かつ多様であり、全体像を理解することは難しい。 抽象度は高いが、体系的に観点を整理する事で、その理解の助けとなれば幸いである。 定義 「理解容易性」を簡単に言えば、「理解のしやすさ」であるが、その意味から掘り下げると、「思考する量」と言い換えることができる。 記事では理解容易性を「思考量の少なさ」と定義し、7つの観点に整理した。 先に要約およびチェックリストを記載し、概略を記載した。 後に詳細で理解のため、各観点毎の説明と個別の原則や技法へのリンクを記載した。 要約 7つの観点の要約を先に示す。 (変数や関数の)名称は分かりやすくする (変数や関数の)役割は1つにする (変数や関数の)参照は狭くする (変数や関数の)状態は変えられなくする (関数やクラスの)面積は小さくする (関数や

    理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita
  • テストコードを書く上で個人的に気をつけている5つのこと - Qiita

    はじめに エンジニアの皆様、テストコードはちゃんと書けておりますでしょうか?(挨拶) どんな開発言語や開発手法を導入していたとしても、アプリケーションの機能実装とテストは表裏一体であると言えます。場合によっては機能の作り込みよりも時間をかけるべきケースが多いくらい重要である(・・・と信じたい)反面、デッドラインが近づくにつれて真っ先に工数が削られやすく軽視されがちな工程でもあります。 時間に追われてテストコードを書いた結果、テストの体をなしていないコードになっていたり後で見返したときに記述が煩雑すぎてメンテ不能になっていたり・・・といった苦い経験は誰しもがあるかと思います。かくいう自分もそんなことは多々ありました。 そんな今までの経験則を基に「自分がテストコードを書くにあたってどんなことを意識しているのか?」をいくつかピックアップして備忘録も兼ねて紹介したいと思います。 一応注意なのですが

    テストコードを書く上で個人的に気をつけている5つのこと - Qiita
  • 【完全解説】なぜ人はアウトプットができないのか? - Qiita

    はじめに この記事ではQiitaで550以上記事を書いてきて、アウトプットに関する理論を発信し続けている私(@Sicut_study)がこれまでに発信してきた内容を1つの記事にまとめたものです。 私はプログラミングコーチングJISOUというアウトプット中心の最速でエンジニアとして成長できる教育事業を実施しております。 その中で多くの方と面談をしてきました。これからエンジニアになる人や、一定数経験している人など100人以上の方とお話をさせていただきましたが、エンジニアとしてのキャリアに悩む多くの人が共通した悩みを抱えていました。 勉強しているのだけど身についた感じがしない 自分のサービスを1つもリリースしたことがない(作りきった経験がない) インプットばかりになってしまう(インプットばかりに気づいていない) アウトプットが大事なのはわかるがやり方がわからない つまりエンジニアとして成長でき

    【完全解説】なぜ人はアウトプットができないのか? - Qiita
  • 人類は気づいていた。この勉強の仕方が1番早いということを。 - Qiita

    はじめに 多くの勉強方法を試してきて、最後にたどり着いたのが問題駆動プログラミング法という学習方法でした 世の中では独学大全というがベストセラーになるなど、学習内容ではなく、「勉強方法」を学びたいという人はとても増えています。 せっかく勉強するなら効率よくやりたいと考えるのは当たり前のことです。 成果を出したいならその分野の努力の仕方を学ぶのが1番効率的で賢い それは誰もが理解していることだと思います。 「では、プログラミングの勉強の仕方を学んだことはありますか?」 おそらく多くの人が自分なりに勉強をしていると思います。 なぜかというと勉強方法などの経験的な記事を書こうとすると「考え」を書くことになるため記事を書くのがとても大変でなかなか世の中には「これをやれば確実」という勉強方法を紹介している記事は少ないです。 これはエンジニアが基的に「技術」を発信することが多くなるので仕方がないと

    人類は気づいていた。この勉強の仕方が1番早いということを。 - Qiita
  • レベルアップしたい人必見 Qiita記事43選 - Qiita

    はじめに 記事ではレベルアップしたいエンジニアが読んでおくべきQiita記事を紹介します。厳選に厳選を重ねた43記事です。全ての記事を読んでおく必要はありませんが、ちょっとでも「分からないな」「興味あるな」など思ったタイトルがあれば読んでみてください。 次の4種類に分類して紹介しています。参考にしてください。 フロントエンド バックエンド インフラ・Linux周りの知識 その他 それでは、早速紹介していきます! 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 フロントエンド まず最初はフロントエンドエンジニアに読んでおくべきとおすすめできるQiita記事を11個選びました!フロントエンドエンジニアとしての基礎が身に付く

    レベルアップしたい人必見 Qiita記事43選 - Qiita
  • 1行で発狂するコード - Qiita

    人は1行の記述で死ぬこともある 公開からコンスタントに閲覧をいただいている以下の記事。需要がありそうなので、もう1つ記事を書いてみようと思う。 題材は前回同様のJavaScriptのクソコードではあるが、前回は冗長を極めたクソコードであるのに対し、今回はたった1行である。 1行なのに、なんと示唆深いに富む(決してほめていない)コードだろうか。 不可思議なコード では、実際に見てみよう。 return a = a >= 10 ? 10 : a >= 5 ? 5 : a >= 3 ? 3 : a >= 2 ? 2 : 1, z * a; これを見て、何が return で返されるかわかります? 代入演算子 最初見たとき、代入文 a = ××× の評価値って何になるのかな? a が return されるのかなと思いました。 割り当て操作は、割り当てられた値として評価されます。 JavaScrip

    1行で発狂するコード - Qiita
  • Pythonでコードに意図を込める方法 - Qiita

    はじめに 可読性の高いコードを書くためには、開発者の意図をコード上で表現することが重要です。この記事ではコードに意図を込めるいくつかの方法について説明します。いずれも基礎的なものであり、かつ粒度に若干ばらつきがありますがご容赦ください。 方法 適切な命名をする 適切な命名はコードの意図を伝える単純かつ最も強力な方法。変数や関数の役割や機能を十分表現するような具体的な命名を心がける。例えばリーダブルコードによると、適切な命名のために以下のような指針が示されている。 指針 例

    Pythonでコードに意図を込める方法 - Qiita
  • なぜファイルの末尾に改行を入れたほうが良いのか - Qiita

    はじめに ファイルの末尾には改行を入れたほうが良いのでしょうか。 「ファイル 末尾 改行 POSIX」等で調べると、規格の観点から改行を入れた方がいいという話が出てくるのですが、今回はgitの仕組みの観点からも改行を入れたほうが良いという話をします。 GitHub上での末尾改行の警告 例えば末尾に改行のないこんなファイルが有るとし、commitしてGitHubにpushすると以下のような表示になります export function hello(name: string) { return `Hello, ${name}!`; }

    なぜファイルの末尾に改行を入れたほうが良いのか - Qiita
  • 私が独学をして、マジ神だと思うサイトおよび他 - Qiita

    初めに 私は独学でプログラミングその他について勉強をしていますが、基的に知識を得るために金はかけません。調べれば何とかなるので。 私がプログラミングを始めるにあたって自分に投資したものは安いノートパソコンとマウスのみで合計金額は14600円(ノートパソコン14000円、マウス600円)ですね。 もちろんいいものはお金をかけなければ手に入りません。しかし、いいものというのはある程度のレベルにならなくては持っていても意味がほとんどないと思います。 実際にプログラミングの勉強を独学で始めると、なかなか教材を見つけることができず、え?こんないいサイトあったの!?もうちょっと早く見つけときゃあよかった!というものがめっちゃありましたので、これから独学でプログラミングの勉強をしたいという方に向けて、少しでもお役に立てたらと、紹介をしたいと思います。 というわけで、今回は私が感謝する神サイトおよびその

    私が独学をして、マジ神だと思うサイトおよび他 - Qiita
  • ドアホンが鳴ったらGoogleHome,Slack,Discordに通知する (ESP32) - Qiita

    ドアホンが鳴ったらGoogleHome,Slack,Discordに通知する リモートワークなどで玄関から遠い部屋で作業をしていると、ドアホンのチャイムがちょっと聞こえにくいことがありませんか? これを解決するために、Google HomeやSlack,Discordなどへ通知する方法です。 特徴 グループ登録すれば複数のGoogle Homeに対してブロードキャストすることができます。家の各所にGoogle Homeを設置すれば死角なしです。 Discord,Slackへの通知すれば、ヘッドホンをしながらPCを使っていても安心。 外出先からもチャイムの確認ができます。 チャイムが何日何時何分に鳴ったか、長期間のログになります。 使用可能なドアホン 作例ではドアホンはPanasonicのVL-MV38を使っています。この機種は「A接点出力」という機能がついており、チャイムが鳴った時に、2接

    ドアホンが鳴ったらGoogleHome,Slack,Discordに通知する (ESP32) - Qiita
  • GPT連携アプリ開発時の必須知識、RAGをゼロから解説する。概要&Pythonコード例 - Qiita

    こんにちは。わいけいです。 今回の記事では、生成AI界隈ではかなり浸透している RAG について改めて解説していきます。 「低予算で言語モデルを使ったアプリを開発したい」というときに真っ先に選択肢に上がるRAGですが、私自身もRAGを使ったアプリケーションの実装を業務の中で何度も行ってきました。 今回はその知見をシェア出来れば幸いです。 RAG(Retrieval-Augmented Generation)とは まず、 そもそもRAGとは何ぞや? というところから見ていきましょう。 RAG(Retrieval-Augmented Generation) は自然言語処理(NLP)と特に言語モデルの開発において使用される技術です。 この技術は、大規模な言語モデルが生成するテキストの品質と関連性を向上させるために、外部の情報源からの情報を取得(retrieval)して利用します。 要は、Chat

    GPT連携アプリ開発時の必須知識、RAGをゼロから解説する。概要&Pythonコード例 - Qiita
  • 【クラウドエンジニア向け】無償公開されている講義資料・研修資料リンク集 - Qiita

    Cybozu 2019年エンジニア新人研修 内容 HTTP/DNS Linux ソフトウェアライセンス Git/GitHub Webアプリケーション基礎 ソフトウェアテスト&テスト自動化 Chrome Developer Toolsの使い方 データベース Docker Webアプリケーションセキュリティ Linux サーバの CPU やメモリリソースの管理について 実践 Go 言語 Kubernetes を使った開発入門 CI/CD スキーマファースト開発ハンズオン GraphQL編 Cybozu 2020年エンジニア新人研修 内容 Webアプリケーション基礎 HTTP/DNS ソフトウェアライセンス スクラムトレーニング 品質保証活動に関するテスト全般からテスト自動化まで HTTPサーバー開発 デザインの役割と関わりかた セキュリティ アクセシビリティ Chrome Developer

    【クラウドエンジニア向け】無償公開されている講義資料・研修資料リンク集 - Qiita
  • 【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 目次 1.はじめに 2.VSCode拡張機能紹介 3.コーディングのポイント 4.よく使われる英単語一覧 5.エラーとの向き合い方 6.テストで動作確認 7.検索の極意 8.公式ドキュメントに慣れる 9.リファクタリングでさらに読みやすく 10.資料作成で気をつけること 11.Gitで管理 12.よく使うLinuxコマンド一覧 13.仕事の進め方 14.プログラム以外で意識するところ 15.初心者こそ読んで欲しい 16.まとめ 1. はじめに プログラミングは現代のデジタル社会において重要なスキルです。 AIがコードを書いてくれる時代ですが、それでも人の手によるプログラ

    【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita
  • async/awaitにおけるエラー処理を実行の順番から整理する - Qiita

    はじめに promiseを使うとき、いつもpromiseメソッドチェーンで記載していますか? async/awaitを利用していますか? もちろん状況によって両方書くのが殆どだとは思うのですが、私はasync/awaitの方が同期的な書き方ゆえに読みやすいため、なるべくそちらで記載しています。しかしながら、エラーハンドリングが理解できていなかったため、エラーの所在を突き止めるのに苦労してしまいました。 そのため、これを機にasync/awaitにおけるエラーハンドリングについて備忘録的にまとめておきます。 この記事のまとめ; catchされるエラーはrejectのみか、throwされたエラーも含まれるか →両方catchできる async関数における処理の順序、awaitがある場合とない場合 →awaitがない場合には同期的に処理が実行され、catchできなくなる エラー処理を外側に伝播し

    async/awaitにおけるエラー処理を実行の順番から整理する - Qiita
  • 知識0の状態からたった2時間でVSCodeの拡張機能を作った話 - Qiita

    はじめに こんにちはkenです。エディターはVS Codeを使ってます。 突然ですがみなさん、普段開発をしていて 「VS Code にこんな拡張機能、あったらいいのにな〜」 と思うことありませんか? 私はあります。しょっちゅうあります。 そこで先日、予定がない休日を利用して拡張機能の開発に挑戦してみることにしました。 最初は拡張機能の開発をどのように進めていけばよいのか全くわからず、そもそも拡張機能でどこまでのことを実現できるのかすらわかりませんでした。ましてや実装についての知識なんて皆無です。 「これは完成まで1日くらい、いや下手すると3日くらいかかるかな」と考えていたのですが、いざやってみるとたった2時間で作れてしまったので今回はその経験についてお話ししたいと思います。 この記事を読んで、 「こんなにお手軽なら自分にも作れそうだ!」 と感じてくれたら幸いです。 題 作りたかったものと

    知識0の状態からたった2時間でVSCodeの拡張機能を作った話 - Qiita
  • ChatGPTに会話の長期記憶を持たせてみる - Qiita

    はじめに (今後ステートフルなAPIが出てきたり、入力トークンの制限が大幅に解除されると状況は変わるかもしれません。2023/6現在での試行錯誤となりますことご理解下さい。) (※6/15追記 16kバージョン出てきましたね。日語だと1万語くらいでしょうか。500トークン(300文字くらい?) x 20 往復くらいまでなら対応できるようになりましたが、これでも足りないケースとか、もしくは(3)の方式の要約情報を他でも使う、とかならまだまだ有効な内容かなと思います。) ChatGPTでアプリを作ると、会話履歴が大量に入らないことに困るタイミングがあると思います。よくある方法は過去10往復の会話のみ保持するとかになると思うんですが、それだと困るシーンも結構ありますよね。 そもそもなんで無限に会話が入らないかというとChatGPT(gpt-35-turboを対象)では、4096トークンという上

    ChatGPTに会話の長期記憶を持たせてみる - Qiita
  • ChatGPTで独自データを学習させて回答してもらう方法 - Qiita

    ChatGPT,使っていますか? ChatGPTは文章を要約したり、プログラム作ってくれたり、一緒にブレストしてくれたりして当に便利なのですが、社内情報などの独自データに関する情報については回答してくれません。 プロンプトに情報を記述して、そこに書かれている情報から回答してもらう方法もありますが、最大トークン4000の壁がありますので、限界があるかと思います。 この課題についてなんとかならないかと考えて色々と調べて見たところ、解決する方法が見つかり、いろいろと検証をして見ましたのでその結果をシェアしたいと思います。 サンプルコード(GoogleColab) 百聞は一見にしかずということで、実際に試したサンプルは以下にありますので、まずは動かしてみることをお勧めします。 このコードを上から順番に動かすと、実際にインターネット上から取得したPDFファイルに関する内容をChatGPTが回答して

    ChatGPTで独自データを学習させて回答してもらう方法 - Qiita
  • プログラミングスクールを卒業してもエンジニアになれない問題2023 - Qiita

    誰に向けたどういう記事なのか 対象 駆け出しエンジニア(未経験から転職を狙う組) 内容 プログラミングスクールの理想と現実 勉強をサボってSESに行ってしまう話 今、私が未経験から転職を目指すならどうするか はじめに キャリアに悩んでいる日人はとても多いです。景気が悪く、インフレがひどく、税金はひたすら上がっていきます。インボイス制度によって、フリーランスの益税も厳しくなります。日では過去数十年ずっと賃金が上がっていません。ですがIT業界は違います。激しいダウントレンドの中、天を穿つ昇龍拳を打てる数少ないジョブ、それがWeb系エンジニアです。そういう情勢が過去7年前くらいから続き、未だなお、Web系エンジニアは大人気の職種になっています。ですが、多くの未経験の人はプログラミング・エンジニアに対する見積もりが甘いです。 特にプログラミングスクールを卒業すればエンジニアになれる、簡単に独立

    プログラミングスクールを卒業してもエンジニアになれない問題2023 - Qiita
  • プロンプトインジェクション対策|ChatGPT APIのLINEボットを一ヶ月運用して戦った記録 - Qiita

    ChatGPTのチャットボットを安全に運用する方法 プロンプトインジェクションは、不適切な文字列や悪意のあるコードを含むプロンプトがChatGPTに送信されることで発生するセキュリティ上の懸念です。 2023/04/11現在、LINEボットとして公開されている多くのサービスでプロンプトインジェクション対策がなされていないようです。この記事では、プロンプトインジェクション対策の背景や具体的なプロンプトの例を紹介し、ChatGPT APIを安全に利用する方法を説明します。 背景 ChatGPT APIは、OpenAIが開発した大規模な言語モデルで、自然言語処理のタスクを実行するために利用されます。しかし、APIを利用する際にはセキュリティ上の問題が生じることがあります。プロンプトインジェクションはその一例で、攻撃者が意図的に悪意のあるプロンプトを送信することで、システムやユーザーに悪影響を与え

    プロンプトインジェクション対策|ChatGPT APIのLINEボットを一ヶ月運用して戦った記録 - Qiita