タグ

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

  • 【ネタ】コメントだけしか書いていないのに「Hello, world!」と表示されるJavaプログラム - Qiita

    これはJavaでポインタで使えるというネタから着想を得たプログラミングネタです。 厳密には 「コメントだけ書いてあるようにしか見えない」 です。 コメントだけしか書いていないのに「Hello, world!」と表示されるJavaプログラム % java --version openjdk 16.0.2 2021-07-20 OpenJDK Runtime Environment Microsoft-25298 (build 16.0.2+7) OpenJDK 64-Bit Server VM Microsoft-25298 (build 16.0.2+7, mixed mode) import java.util.*; public class Main { public static void main(String[] args) throws Exception { //\u000a

    【ネタ】コメントだけしか書いていないのに「Hello, world!」と表示されるJavaプログラム - Qiita
    mohno
    mohno 2023/06/04
    ↓これをエディタのバグと言われるのはキツいというか、やるなら読み込むときに「Unicodeエスケープシーケンスをテキストへ変換」するしかない。それともエスケープシーケンスのままシンタックスハイライトさせるの?
  • 君はVS Codeのデバッグの知られざる機能について知っているか - Qiita

    はじめに こんにちは、kenです。 GWに「暇だな~~、こんな日はVS Codeの公式ドキュメントを読むか!w」と思って何気なく読んでたらデバッグに関して知らない機能がいくつかあったので、今回はそれをご紹介したいと思います。 おそらく今から紹介する機能はあまり知られてないと思います。もし全部知ってたらVS Code完全理解者なので誇ってください。(!?) 以下に記載する内容はVS Codeの公式ドキュメントのDebuggingという章を参考にしています。 注意 これから紹介する機能は言語によって使えたり、使えなかったりします。 今から紹介する機能のデモはすべてPythonで行おうかと思ったのですが、上記の理由からPythonではサポートされていない機能についてはJavaScriptC++で代用しました。 デバッグで使える便利な機能 ログポイント機能 行を指定しログポイントを追加すると、そ

    君はVS Codeのデバッグの知られざる機能について知っているか - Qiita
    mohno
    mohno 2023/05/09
    知っていたら「知られざる」じゃないだろうと思ったら、割と普通の機能だったんだが、↓そうか、そんなに知られていないのか。
  • プロンプトインジェクション対策|ChatGPT APIのLINEボットを一ヶ月運用して戦った記録 - Qiita

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

    プロンプトインジェクション対策|ChatGPT APIのLINEボットを一ヶ月運用して戦った記録 - Qiita
    mohno
    mohno 2023/04/16
    ハッキングはされるもの、とは思うけど、「if(text.includes('行動指針'))」←えぇぇ、こんな1個1個判別するの?
  • GPT-4時代のエンジニアの生存戦略 - Qiita

    GPT-4時代のエンジニアの生存戦略 ※ この記事の内容の一部はこちらのイベントでお話したことと重複します。 はじめに 2023年3月1日にOpenAI社よりChatGPTAPIが公開されました。 さらに14日にはGPT-4が登場し、その翌々日にはMicrosoft 365 CopilotでGPT-4をOffice製品に搭載することが発表されるなど、AI領域で大きな変化が起きています。 変化の速度の速さと変化量の大きさにより、私自身も追いつくのが精一杯な状態です。 個人的には、iPhoneの登場時以上の衝撃を受けています。 人類の歴史上、過去3回AIブームがありました。Generative AIが4回目のブームになります。 そして、特に日においては顕著なのですが、AIへの過度な期待とそれへの失望の繰り返しがここ数十年にわたって繰り返されてきました。 直近だと数年前のDeep Learn

    GPT-4時代のエンジニアの生存戦略 - Qiita
    mohno
    mohno 2023/03/30
    作りたいプログラムが検索で出てきたとして、そっくりコピーして使わないよね(使わないよね?)/フレームワークの中がブラックボックスなのはアリだと思うけど、コピペして間違っていたら責任を負うのは自分だよ。
  • GPT-4は青色コーダーの夢を見るか - Qiita

    はじめに 2023/3/14にOpenAIがGPT-4という新しいAIモデルを公開しました。 このモデルはさまざまなタスクにおいてChatGPT(GPT-3.5)を大幅に上回る結果を示しています。 この記事ではGPT-4を用いて競技プログラミングがどのくらい解けるのかについて調べてみました。 下馬評 OpenAIが公開した論文によると、GPT-4のCodeforcesレーティングは392だそうです。 これはパーセンタイルでいうと下から5%らしいので、 そこまで競技プログラミングが得意なわけではないようです。 ただし、おそらくこれはGPT-4が完全自動でチャレンジした場合のことだと思われます。 GPT-4が書いたコードを人間がレビューすることでバグを修正し、より難しい問題が解ける可能性があると 筆者は考えました。 TL; DR ChatGPTを用いてAtCoder Beginners Con

    GPT-4は青色コーダーの夢を見るか - Qiita
    mohno
    mohno 2023/03/20
    技術は進歩したなあ、と思うけど、外形的には「検索したら答えをアップしてる人を見つけた」と変わらない気がする。こういうのって、問題を作る方が大変なんだよね。
  • GPT-4のすごさとその影響範囲について - Qiita

    こんにちは!逆瀬川 ( https://twitter.com/gyakuse ) です! 今日発表されたGPT-4について見ていきたいと思います。 なにがすごいのか 専門的な問題を解けるようになった たとえば米国司法試験で上位10%、GPT-3.5は下位10%だった 非常に長い文章を入出力できるようになった 最大で32k tokens (日語で約2.5万文字、文庫で50pくらい) 画像をもとに会話できるようになった (これは実験段階でまだ提供されません) 特に嬉しいのは32k tokensまで文章を扱えるようになったことでしょう。 たとえば小説を書くみたいなときも、プロット、設定等に3000文字使っても、残り2.2万文字くらい使えます。 画像をもとにした会話の例 USER: この画像はどこがおかしいですか?パネルごとに説明してください GPT-4: この画像は、3つのパネルで構成される

    GPT-4のすごさとその影響範囲について - Qiita
    mohno
    mohno 2023/03/16
    翻訳がそうだけど、そこそこのレベルまでは人にやらせるよりは安上がりになり、面倒な仕事だけが残る予感。/だからって自動運転のレベル5が実現するかというとAIは“責任を取る”ことができないからねぇ。
  • 何故Javaは敬遠されるのか? - Qiita

    何故かJavaは敬遠される!? 筆者はIT業界に努めて17年ほどです。 SESとして働きに出ることが多かったのですが、近年はWebエンジニアとして PHP(Laravel)を使った開発が多くなってきています。 そんな開発現場ですが、プログラミング言語の話題に上がると 「Javaはわからない」 「Javaって難しいんでしょ?」 「環境構築がなぁ・・・」 なんて話をよく聞きます。 私はJavaの方が経験した期間が長かったので、特にそういった苦手意識は無いのですが Laravelの現場でもそういった話を聞くので、 「フレームワークの特性や、コードの書き方は結構似ているところが多いのに、何でみんな苦手なんだろう?」 と思ってしまうのです。 今回はそのギモンについて、私が思っていることを書いていきます。 (注:Java嫌いな人を論破したいわけではありませんw) 原因その1:インフラ構造上、難しいと思

    何故Javaは敬遠されるのか? - Qiita
    mohno
    mohno 2023/02/22
    Visual Studio(≠Code)が使えないから。/逃げ切れる人生かと思っていたけど、そうでもなくなってきてるのがなんとも。
  • Google Mapよりすごい!と噂の位置情報サービスを使ってみた - Qiita

    こんにちは。ミーティングテクノロジーという会社で会議ツールを開発している伊勢川です。 仕事で位置情報サービスを軽く調べる機会があって、せっかくなので調べた内容を記事にしたいと思います。 位置情報(地図)サービスといえば、Google Mapを思い浮かべる人も多いのではないでしょうか。私もGoogle Mapのヘビーユーザー&ファンで、カーナビの代わりとして使ったり、街で見つけた史跡の写真等を2000件以上投稿したりしています。 B2Cのサービスの中ではGoogle Mapが圧倒的な存在感を放っていますが、B2B向けのサービスとなると様相が異なるようです。今回は、ある調査でB2B向けサービスの中ではGoogle Mapより高い評価がついていた「HERE」というサービスについて書きます。 Google Mapよりすごいと言われる所以はなにか Omdiaのレポートによると、B2B市場の位置情報サ

    Google Mapよりすごい!と噂の位置情報サービスを使ってみた - Qiita
    mohno
    mohno 2022/12/24
    とりあえず、Google Mapsはゼンリンをやめてからクオリティが落ちたよね。使い物にならないとは言わないけれど。
  • それ、非再帰で書けます - Qiita

    この記事は再帰自体を全否定する趣旨ではありません。 両方の良さを理解した上で非再帰で書きたいと思ったときの参考にしていただければと思います。 まだ再帰関数書いてるの? 再帰関数はプログラミング言語の有用な機能で、深さ優先探索をベースとする様々なアルゴリズムの実装として有用です。 その一方で、関数呼び出しはオーバーヘッドが大きく、定数倍が弱くなります。また、JavaPythonなどのスタック領域の制限が厳し目の言語では深すぎる再帰のせいでRuntime Errorが発生する場合があります。 C++などのコンパイル言語ではインライン展開によって関数呼び出しのオーバーヘッド解消されることもありますが、再帰関数は中でもインライン展開の難易度が高く、深い再帰ではそのまま実行せざるを得ない状況になります。 ところが、再帰関数は生のスタックを自分で用意するなどして非再帰に書き直すことができます。(「停

    それ、非再帰で書けます - Qiita
    mohno
    mohno 2022/12/20
    再帰は知識として知るべきだし、分かりやすくなる場合はあるけど、業務では影響が明確でない限り使わないなあ。「富豪プログラミング」的には気にすべきじゃないかもしれないが。「再帰ではセグフォってしまいます」
  • 【2022年最新版】3,000人に聞いたWebエンジニアの業務委託単価相場について - Qiita

    こんにちはISSUEを運営している寒河江です。 今回は情報の少ないWebエンジニアの業務委託単価相場について調べてみました。 現在の単価が適正単価なのか、次の単価レンジに行くにはどうすればいいか。ISSUEの実績をふんだんに使い記事を書いてみたのでご一読いただけると幸いです。 オリジナルの記事はこちら ISSUE DB 3,000人の実績データから相場を作成 現在(2022年11月)ではISSUE上に1,800人以上のユーザーデータと2,000以上の単価診断結果があります。またISSUEではクラウドソーシング形式で企業とマッチングすることにより、報酬を獲得することができます。その際の契約時給単価を参考に今回の相場作成の参考にしています。ISSUE上でもリアルタイムの単価相場を確認できますのでご参考ください。 Webエンジニアの業務委託単価相場 わかりやすいように各業務委託単価とその技術能力

    【2022年最新版】3,000人に聞いたWebエンジニアの業務委託単価相場について - Qiita
    mohno
    mohno 2022/11/18
    スキルに比べて“時給”がリニアでビックリする。そんな値段でテックリードとか大規模マネジメントとかAIエンジニアやるくらいなら、ミドルクラス以下の仕事を“受託”してサクッと終わらせたい。
  • デジタル庁公開のデザインをhtml/cssに落とし込んでみた。 - Qiita

    はじめに デジタル庁が公開したデザインシステムがよさそうなデザインでしたので、適当に遊ぼうかと思いました。 html/cssで公開してくれればすぐに使いやすいと思ったんですが、どうやらFigmaでしか配っていない。。 ということでhtml/cssに落とし込んでみました。 注意事項 趣味程度に作ったものを、使いたい人がいればどうぞというものです。 細かい部分は間違っていることもあるかと思います。(ラジオボタン難しかったので、何とか再現した感じです。) 自分用に目的もなくつくっていましたので、命名等のポリシーもめちゃくちゃです。許してください。 大変つかれましたので、厳しいコメントは受け付けません。 気が向いたら、もう少しきれいにするかもしれません。 ソースコード 以下、に載せています。 完成概要 ページとしてはこんな感じ

    デジタル庁公開のデザインをhtml/cssに落とし込んでみた。 - Qiita
    mohno
    mohno 2022/11/15
    えっ、br? table? 「大変つかれましたので、厳しいコメントは受け付けません」
  • いわゆる受託開発における「プログラミングは簡単な部類」は本当なのか - Qiita

    上記ツイートについて、いわゆる「受託開発企業」で働く私の印象としては、当にその通りだな〜と思います。 そして、これまであまり意識しておりませんでしたが「受託開発における納品(完了)までの各フェーズ出し」をしてみようかと思います。 受託開発における納品までの各フェーズ出し 1. 問い合わせへの返答 「お問合せいただきありがとうございます。それでは早速Webミーティングにて詳細を」 2. 第1回Web打ち合わせ「お互い紹介」編 会社スライドにて自社紹介。依頼内容の確認・質問。 できればここで「依頼内容に対してのざっくりの予算感」をさりげなく聞きましょう。奇想天外な予算を想定しているパターンもあります。 3. 見積もりの作成 できるだけ素早く見積もりを作成し提出すると吉。(早いと喜ばれやすい) 保守費用についても記載してくださいね。(後で聞かれるパターン多い) 見積もり項目は細かい方が信頼度は

    いわゆる受託開発における「プログラミングは簡単な部類」は本当なのか - Qiita
    mohno
    mohno 2022/11/06
    これはよい受託開発。/プログラミングのことまで(考えられる人が)考えて要件定義や設計がなされているべきだよね。/現実は、そんな事例ばかりではないから問題が起きるんだけど。仕様のないシステムの移行とか。
  • Rustのlet-else文気持ち良すぎだろ - Qiita

    // let 論駁可能パターン = 値 else { never型を返す処理 }; let Ok(val) = reqwest::get(url).await else { return }; このコードの意味としてはreqwest::get(url).awaitがOk(結果)を返してきたらvalに束縛し、ダメだったら関数を抜ける、になります。 if-let式 let-else文の詳細を説明する前に、まずはRustのif-let式について説明いたします。 Rustは式指向言語のためifも標準で式になっています。よく他言語では三項演算子使用で宗教戦争が起きていますが「if"式"があれば争いなんて起きないのに...(トオイメ」といつも思っています。

    Rustのlet-else文気持ち良すぎだろ - Qiita
    mohno
    mohno 2022/11/06
    完全に余談→「if"式"があれば争いなんて起きないのに...(トオイメ」←Visual Basicには「If式」あるけど「教えなくていい」派はいる。
  • Deno のめっちゃ難しいバグを修正した - Qiita

    2022年4月、Deno に以下のバグが報告されました。 fetch API を使って 300KB ぐらいあるファイルをアップロードすると、一定確率でアップロードされたファイルが壊れるというバグの報告です。 報告者によれば、1.20.6 まではバグは発生しておらず、1.21.0 から発生するようになったという事です。1.20.6 の次のリリースが 1.21.0 なので、パッチバージョン1個分まで、バグの発生時期が特定されている状態です。 fetch 周りは自分はほぼ実装していないので「担当範囲ではない」感覚だったので、普通にスルーしていました。 自分に限らず、Deno Land コアチームの誰もこの issue にピンと来る人が居なかったようで、stale ボット (数ヶ月進捗の無い issue を自動的にクローズしようとするボット) に2回もクローズされかけていました。Deno の st

    Deno のめっちゃ難しいバグを修正した - Qiita
    mohno
    mohno 2022/10/04
    「この issue はきちんと再現コード付きで報告されている issue でした」←まあ、でも、これは大きいよねぇ。
  • 【サボりたいエンジニア向け】コーディングに役立つチートシートまとめ - Qiita

    はじめに こんな人が役に立つ記事 コーディング業務の効率を上げたい。 コーディングに関するチートシートを知りたい。 打つのもめんどいからコピペでなんとかしたい(笑) 今回は、コーディングに役立つチートシートをまとめました。 VSCODEチートシート エンジニアなら必ず使うであろうVsCodeのショートカットチートシート。これはよく使ってます! HTML系のチートシート集 HTMLに関するチートシートをまとめてみました。 HTML5 タグチートシート HTML5 のタグチートシート。サイトには 5 から廃止になった避けるべきタグなどもまとめてられており、 PDFでダウンロードできます。 HTML5 入れ子チートシート HTML の入れ子の可否を視覚的に分かりやすく、色づけしてくれます。対象要素の親、子を選ぶだけで、簡単に調べることが出来ますので便利なチートシート 特殊文字一覧:HTMLで使え

    【サボりたいエンジニア向け】コーディングに役立つチートシートまとめ - Qiita
  • 【CSS】きみは "擬似クラス" 何個言えるかな?? - Qiita

    はじめに あなたは "擬似クラス" 何個言えますか? 擬似クラスには、:hover や :active、:focusといったよく使うものから、 :is()や:where()、:has()といったこれからサポートされていくものまで たくさん種類があるのは、ご存知ではないでしょうか? でも、"擬似クラス" 何個言えますか?と聞かれると数個くらいしか思い出せないと言う方は多いのではないでしょうか? もしかしたら、15個以上言えたら、CSS玄人と言えるかも知れません。 この記事では、たくさん種類があるのは知っているけど、詳しくはわからない "擬似クラス" が、 何種類あるか、どんな擬似クラスがあるかをまとめました。 知らなかった "擬似クラス" の数を数えながら、読んでいただけると嬉しいです。 擬似クラス 擬似クラスとは? 擬似クラスとは、セレクタのあとにつけることで、 指定した要素の状態に応じて

    【CSS】きみは "擬似クラス" 何個言えるかな?? - Qiita
    mohno
    mohno 2022/08/21
    ポケモンのわざとか特性を覚えるのと、どっちが大変だろうな(←比べんな、比べんな)
  • JavaScriptにセミコロンは入れるのか?入れないのか? - Qiita

    結論 どちらでもいい セミコロン付けても付けなくても落とし穴はある ESLintを利用することで落とし穴を検知できる 私はセミコロンつけない派 自動セミコロン挿入とは 自動セミコロン挿入(automatic semicolon insertion) この仕組みのおかげでセミコロンを使わなくてもコードを書くことができ、コンパイラが行末を察してセミコロンを挿入してくれる 自動セミコロン挿入のしくみはECMAScriptで規定されており、自動セミコロン挿入はJavaScriptエンジン間で可搬性がある 自動セミコロン挿入には落とし穴があり、ルールを理解しておく必要がある 第1のルール:セミコロンが挿入されるのは、"}"トークンの前か、改行の後か、プログラムの末尾だけ

    JavaScriptにセミコロンは入れるのか?入れないのか? - Qiita
    mohno
    mohno 2022/08/14
    「自動セミコロン挿入」っていうくらいなんだから、セミコロンが“なくてもいい”だけのことだよね。入れておく方がいいよ。「実はそうでもない」←どこが?
  • React、過剰に複雑な代物。 - Qiita

    はいさい!ちゅらデータぬオースティンやいびーん! 今回の記事は筆者に珍しく、技術紹介ではなく、僕の個人的な意見を書きます。あくまでも、自説です。 React自体は画期的で、プログラミング界に貢献したプロジェクトだと思っていますし、完全に否定したいわけではありません。 Reactに対する違和感=芽生えては大きく育った種 筆者はReactがとても好きでした。JavaScriptが好きになったきっかけもReactでした。何から何までもReactで書き直して、Custom Hooksを作って、refを子部品に渡したり、バリバリ満喫していました。 Vue仕事の関係で習得せざるを得なくなったのですが、Vueは最高に大嫌いでした。これならReactで書き直してやるぅ!と思ったりも。 Reactについて社内でも導入を推進したり、React入門の勉強会を開いたりもしています。 しかし、そんな筆者は、最近に

    React、過剰に複雑な代物。 - Qiita
  • VSCodeおすすめ設定大公開!!おすすめ拡張機能も - Qiita

    はじめに 皆さんVisual Studio Code(以下VSCode)使ってますか? 私はメインで使っているのですが、自分なりにしっくりくる設定や拡張機能がある程度揃ってきたので公開しちゃいます。 おすすめ設定だけではなく、おすすめの機能もできる限り紹介したいと思いますので、最後までぜひお付き合いください。 ※プログラミング言語固有の設定の解説は軽めですのでご了承ください。 GIF画像が小さい場合は、クリックして頂けると拡大して表示が可能です デフォルト機能編 Local History機能 Gitは非常に便利なので、皆さん使われていると思います。 Gitはコミット単位で履歴が管理できますが、保存単位で履歴が見れると嬉しいな、保存単位で復元できると嬉しいな、と思うことはないでしょうか。 私はVSCodeは自動保存をオフにして、手動で保存するので、保存単位で履歴が見れると嬉しいなと思うこと

    VSCodeおすすめ設定大公開!!おすすめ拡張機能も - Qiita
    mohno
    mohno 2022/05/02
    VSCode も、すっかり主流になってきたね。/拡張機能は仕事先で使いにくいからあんまり使わないけど。
  • 世界最高の翻訳サービスを個人で開発した話【meta翻訳】 - Qiita

    はじめに この度は個人でmeta翻訳という翻訳サービスを開発しました。 現在Google翻訳を筆頭に、機械翻訳サービスは乱立していて、業界としてレッドオーシャンだと思いますが、meta翻訳は複数ある翻訳サービスの中でも日語⇄英語の翻訳では最高精度だと自負しております。 なので、個人でも頑張ればレッドオーシャンに突っ込めるくらいの機械学習サービスを開発できるというお話しをしたいと思います。 ※個人開発とは思えないくらい高精度なので是非一度使ってみてください。 meta翻訳の精度 まず初めにmeta翻訳の精度を簡潔に紹介したいと思います。 専門的な文章を翻訳する場合 「storm surge」など、専門的な単語にきちんと対応できています。 また、「power」が「電力」と訳されているように、専門的な文脈も識別して翻訳します。 口語的な文章を翻訳する場合 実は専門的な文章よりも口語的な文章の方

    世界最高の翻訳サービスを個人で開発した話【meta翻訳】 - Qiita
    mohno
    mohno 2022/04/11
    何をもって「世界最高」なのか。/試した。"I'm having an old friend for dinner."→(meta翻訳)「旧友と夕食だ」/(google)「私は夕食に古くからの友人がいます」/(DeepL)「古い友人を夕食に招待している」