タグ

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

  • StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita

    Original article:https://dev.to/dotnetsafer/rip-copy-and-paste-from-stackoverflow-trojan-source-solution-4p8f その昔コピペできない文章というものがありました。 実際は単にフォントを変えているだけというものですが、人間の目に見える文字と実際の文字が異なることを利用した攻撃の一種と見ることもできます。 さて、最近になって似たような攻撃に関する論文が公開されました。 人間には見えない文字を織り交ぜることによって、一見問題ないコードが実は脆弱になってしまうというものです。 ただ論文は堅苦しいうえに長くて読むのがつらいので、具体的に何がどうなのかよくわかりません。 平易に解説している記事があったので紹介してみます。 以下はDotnetsafer( Twitter / GitHub / Web

    StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita
    kiyo_hiko
    kiyo_hiko 2021/12/28
    コワー
  • [意見交換] 皆さんが考える「糞コード」とは?ご意見募集中です! - Qiita

    改訂履歴 2020/08/04 質問内で使用していた「定義」という言葉を削除しました。 個人的に知りたいことは「こんなコードは嫌われる可能性がある」ということなので、「糞コードを定義づけする」という意味に誤解されそうな文脈を修正しました。 質問の意図 @kotauchisunsun 氏が投稿された「糞コードは直すな。」という記事がトレンド入りしていて、私もコメントさせていただきました。その中に @_akiyama_ 氏の「皆の頭に描かれてる糞コードの具体例が一致してなさそう」とうコメントがあり、はっとさせられました。 確かに、関わっているプロジェクトや使用しているプログラミング言語によっても「糞コード」と見なされてしまうコードは大きく異なるのでは?と思い、言語ごとに「どんなコードが糞コードと呼ばれて嫌われるのか」をまとめてみることにしました。 これから新人としてエンジニアの世界に飛び込んで

    kiyo_hiko
    kiyo_hiko 2021/12/23
    仕様書がないコード…。
  • SIerで幸せな技術キャリアを築くために - Qiita

    この記事はNTTコムウェア Advent Calendar 2021 20日目の記事です。 NTTコムウェアの古西です。AI・データサイエンス推進室で技術マネージャをしています。 システムインテグレーター、略してSIerは、顧客のためにITシステムやサービス・ソリューション・プロダクトを開発・運用する会社です。一部自社サービスがあるものの、特定の顧客企業に対してシステムを提供することが多いです。 ネット上では「SIerはオワコン」1と言われることもありますが、私自身は入社のときに「人と技術を仲介する仕事がしたい」と言って仕事をしはじめてから約25年間、SIerで顧客や自社の人と技術を仲介する仕事をしてきました。私がこれまでの経験から「SIerで幸せな技術キャリア」を築くために意識したほうがいいと思うことを、若年層とベテラン層にわけて3つずつ、書いておこうと思います。 若年層(20代~30代

    SIerで幸せな技術キャリアを築くために - Qiita
  • Unityでスライムを作ろう! - Qiita

    この記事は Akatsuki Advent Calendar 2021 14日目の記事です。 13日目は、アディさんの「カードゲームクリエイターで快適ポケカライフを過ごす」でした。 はじめに はじめまして、新卒クライアントエンジニアのyuyuです。 アカツキにはハイパーカジュアルゲームを作る研修があるのですが、そこで作ったゲームにスライムの表現を入れました(下の画像参照)。 それが思いの外いい感じになったので、記事として残すことにしました。 記事では、全体の工程を10ステップに分割して説明していきます。 最終的にはこのような画を作っていきます。 プロジェクトはこちらにアップしています。 対象の読者 この記事は、以下のような方を対象としています。 シェーダーやレイマーチングの経験があり、スライム的な表現のミソを知りたい シェーダーやレイマーチングの経験はないが、実際に動くコードや途中経過を

    Unityでスライムを作ろう! - Qiita
  • OCaml でゲームボーイエミュレータを書いた話 - Qiita

    はじめに ブラウザ上で動くゲームボーイエミュレータを OCaml で書きました。以下のページで試せます。 デモページ いくつかの homebrew ROM も一緒になっているのでいろいろ遊んでみてください。おすすめは「Bouncing ball」と「Tobu Tobu Girl」です。最近のスマホならだいたい安定して 60 FPS 出るはずなので、スマホでも遊べます。 レポジトリはこちらです。 スクリーンショット なぜ OCaml でゲームボーイエミュレータ?新しいプログラミング言語を学ぶ過程で以下のように思ったことはないでしょうか? 簡単なプログラムなら書けるが、中規模以上のコード1をどうやって書けばよいのか分からない 発展的な言語機能2も勉強しなんとなく理解した気になったが、実践のなかでどのように活用すればいいのかが分からない OCaml を格的に勉強し始めてた数ヶ月前の筆者はまさに

    OCaml でゲームボーイエミュレータを書いた話 - Qiita
  • ググり力、それはエンジニアには必須の能力である - Qiita

    ググり力、それはエンジニアにとっては 必須の能力 になりつつあると思います。 さて、皆さんは自分のググり力で欲しい情報にちゃんとたどり着けると言えますか? @Yametaro さんからのお題です。 ある日、コードレビュー中ワイ ワイ「さぁ、今日も同僚のコードをレビューしていくでぇ」 ワイ「まずは新卒のT君のコードを読んでいこか」 ワイ「どれどれ…」 ワイ「ん?なんやこの??っていう書き方は…?」 ワイ「ググってみよか…」 ワイ「JavaScript ??と入力して、検索ボタンをポチッとな」 ワイ「…あれ?それらしい検索結果が出てこんな…」 ワイ「ぐぬぬ、記号関係はググりづらいこともあるんやな…」 ワイ「これじゃあ今日はもう、酒飲んで寝るしかないやないか…」 〜飲酒、そして就寝へ…〜 では JavaScript で ?? の検索方法はどうしたらいいのか? ここに1つの解答を示しておきます!

    ググり力、それはエンジニアには必須の能力である - Qiita
    kiyo_hiko
    kiyo_hiko 2021/12/10
    大体知ってた。最初の例なら自分は"js operator"で検索→ページ内検索。double question markとかめんどうくさい
  • 設計を歪める認知バイアス - Qiita

    こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2021 、5日目の記事です。 これはなに? ソフトウェア開発において、設計をないがしろにすると、低凝集密結合な構造に陥り、変更容易性が低下してしまいます。 設計スキルを高め、あるべき構造を設計する……これで解決できるに越したことはありません。 しかし、認知バイアスと呼ばれる心理効果により判断を誤り、良くない設計をしてしまうことが往々にしてあります。 記事は、設計を歪めてしまう認知バイアスを理解し、設計判断の精度向上を促すことを目的とします。 この記事のゴール 人間の判断を歪めてしまう心理効果「認知バイアス」の存在を知ること。 ソフトウェア設計も、認知バイアスの悪影響を受けてしまうこと。 認知バイアスに振り回されない設計アプローチを身につけること。 認知バイアスとは 先入観や思い込み、偏

    設計を歪める認知バイアス - Qiita
    kiyo_hiko
    kiyo_hiko 2021/12/05
    早まった一般化はあるある
  • シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita

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

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita
    kiyo_hiko
    kiyo_hiko 2021/11/11
    へーすごい。こうなって居たのか。という驚きはあるがそのうち忘れて行き当たりばったりに戻る。
  • VPS・クラウドのネットワーク帯域・転送量制限・仕様一覧 - Qiita

    | プラン | 回線帯域 | 目安値 | |:-:|:-:|:-:|:-:|:-:|:-:| | 512M-SSD | 100Mbps | 10GB/日 | | 1G-SSD | 100Mbps | 20GB/日 | | 2G-SSD | 100Mbps | 40GB/日 | | 4G-SSD | 500Mbps | 80GB/日 | | 6G-SSD | 2Gbps | 200GB/日 | | HDDタイプ(KVM) | 2Gbps | ? | | SSDタイプ(OpenVZ) | 2Gbps | ? |

    VPS・クラウドのネットワーク帯域・転送量制限・仕様一覧 - Qiita
  • プログラミングスクールの講師を2年間続けて限界が来て辞めた話 - Qiita

    はじめに 某プログラミングスクールで二年間講師をしてました。 受講生の方からの評価点は平均より高く、最終的には全インストラクターの中から代表に選ばれる立場にまでなりました。 始めた経緯 もともと、プログラミングスクールをいつか開きたいと思っていたこともあり、業務委託契約で経験が積めそうなところに応募。 即採用していただき、正社員で働く傍、副業としてプログラミング講師に。 エンジニア歴は当時は5年 得意な言語はPHPのみでした。 コロナ禍で全てが変わった 特定を避ける為に細かな時期は記述しませんが、この復業を始めてから今も尚世界を苦しめているウイルスの流行で事が大きく変貌していきました。 というのも、私が請け負っていたプログラミングスクールでは生徒様が作成したいと言う物をベースにプログラミングを教えるスクールでした。 その中で、コロナ禍前までの生徒様達は明確に、 「ECサイトが作りたい」 「

    プログラミングスクールの講師を2年間続けて限界が来て辞めた話 - Qiita
  • 「あれ、プログラミングが楽しくない…」【すべてのエンジニアへ】 - Qiita

    経緯 ストーリー形式で長々と書いているため、結論だけ知りたい人は「僕はここに居てもいいんだ!!!」へどうぞ。 プログラミングが楽しくなくなった日 ある日、Javaの勉強中にふと思った 「これ、なんの役に立つんだ?」 私は、三年間Cをやっていて、PythonJavaScriptをかじったことがある。 今までに「Twitter絵師探索」や「トイレットペーパー管理システム」、「クソ雑魚AI付きオセロ」に「ブロック崩し(PICマイコン)」などを作ってきた。 お世辞にもプログラマーと言えるレベルではないが、ちょっとしたミニアプリくらいなら作れる程度だ。 しかし、私の技術不足と人脈不足で「これは誰かに貢献したぞ!」というものはない。 そこで、ひとつの疑問が浮かぶのだ 「あれ?プログラミングしても意味なくない?」 幼い日の僕 私が最初にプログラミングのようなものを始めたのは「部員成績記録Excel

    「あれ、プログラミングが楽しくない…」【すべてのエンジニアへ】 - Qiita
    kiyo_hiko
    kiyo_hiko 2021/09/22
    スペースにスターが浮かんでるんだから、ソースコードを見ても文字通りの意味であり美しいコードだ…! / ところで実際にハッとしてるのかな…現実には「へえ…」な感じなので「ヘーとさせられた」ぐらいのがわかる
  • Scoopを使ったWindows環境構築のススメ - Super!! - Qiita

    ネット上にあるWindowsの環境構築やソフト紹介の記事を見て、まず「クリック」という単語を見ないことはないと思います。 あまつさえエクスプローラー間でのドラッグアンドドロップに設定フォームへの入力をするだなんて……AnsibleやDockerがすでに浸透しきった昨今、果たしてこれ以上に異常かつ原始的なことが他にあるのだろうか? ……と、そんな反語表現をWindowsの環境設定のたびに考えているアナタのための記事になります。 なお内容があまりにも長くなりそうなので、以下の3記事に分割してお伝えする予定です。 総じて、マウスなしでの全環境構築の完遂を究極目標に、Scoopを主体として自動化できるものは自動化し楽をすることに主眼を置いた内容になります。 守章: Scoopの基礎、簡単なManifestの作成 ← 今回はこれ 破章: バージョン管理と自動アップデート 離章: Scoopを用いた環

    Scoopを使ったWindows環境構築のススメ - Super!! - Qiita
    kiyo_hiko
    kiyo_hiko 2021/07/26
    ChocolateyはMS公式だったと思うけどScoopeはサードパーティーのOSSということになるのかな。環境構築に別の新規ソフトウェアを導入するのは避けたいような…。
  • はてなブックマークの破滅的人気コメントを表示する - Qiita

    何があったか はてなブックマークは、コメント表示改善の一環として、Yahoo! JAPANの「建設的コメント順位付けモデルAPI」を導入し、攻撃的であったり不謹慎であるなど穏当でないコメントが人気コメントに掲載される問題を抑制する取り組みを開始しました。 実は、公式の発表が知れ渡る前にAnonymousDiaryというサービスで話題になり、喧喧囂囂の大騒ぎとなったのです。 誉れ高い増田市民としては、旧来の破滅的コメント順位を望みます。 Pythonによる解決 googlecolabで作業してました。 記事の情報をAPIで入手 記事jsonからブクマした各ユーザの「コメント情報のURI」を生成する スター取得APIでコメントURIを指定し、スター数を算出 各コメントのスター数を出し、上位10個を表示 後述するjsonの概要を見るとイメージがつきやすいかもしれません。 import json

    はてなブックマークの破滅的人気コメントを表示する - Qiita
    kiyo_hiko
    kiyo_hiko 2021/07/20
    国語とか記述式の答案は8割以上埋めないと正解じゃない、的な
  • AutoHotKeyの1.1.27.07にしたらInvalid hotkeyエラー - Qiita

    Windows10の開発環境を新しくした際にAutoHotKeyも最新版をインストールしました。 するとそれまで使っていたスクリプトがInvalid Hotkeyのエラーが出て対処法を備忘録として残しておきます。 エラー内容 実際のエラーコードは以下のようなものでした。 Error at line:199. Line Text: $^vkBAsc028::Send, {BS} Error: Invalid hotkey. The program will exit. Ctrlと:の同時押しでBackspace扱いにするところでエラーみたいです。 以前の環境ではこのスクリプトで動いていたので、おそらくバージョン関連だろうと思い公式のChangesを読んでみました。 原因と解決方法 1.1.27.00で仮想キーコードやスキャンコードまわりの変更があったようです。 Added proper va

    AutoHotKeyの1.1.27.07にしたらInvalid hotkeyエラー - Qiita
    kiyo_hiko
    kiyo_hiko 2021/06/27
    古いAHKスクリプトからはsc[0-9]{3}を取り除いてvk[A-Z0-9]{2}だけにしようという話。ちな新規にキー追加したいときはAHKスクリプトを実行→トレイアイコン右クリック→Open→View→key history and script info→何かキー打つ、でわかる
  • Powershellを楽に実行してもらうには - Qiita

    ※リモート:インターネットからDLしてきたps1、または別サーバ上のps1 ※署名付きの話は割愛します 今の実行ポリシーを確認するときは以下、 Get-ExecutionPolicy 実行ポリシーを変更するときは上記表の引数を指定して実行します。 (※レジストリを変更するので管理者権限でPowershellを実行してください) Set-ExecutionPolicy 引数 自分のローカルにあるps1を実行するには、RemoteSignedで十分です(`・ω・´) というわけで、上記を踏まえたうえで(なるべく)楽にPowershellを実行してもらうにはどうしたらいいのかをまとめました。 コマンドラインから実行してもらう コマンドラインから実行してもらう場合のお話。 ただ、普段から使っているならそもそも実行でつまづかないかも… powershell編 配布ファイル:「hogehoge.ps1

    Powershellを楽に実行してもらうには - Qiita
    kiyo_hiko
    kiyo_hiko 2021/05/04
    ExecutionPolicyをRemoteSignedにしても関連付けでメモ帳が表示されてしまうへの対処。ショートカット使うことにした。"powershell -ExecutionPolicy RemoteSigned -File" …これならPowerShellコンソールやISEからのSet-ExecutionPolicyなくていいな
  • Google Chrome の Software Reporter Toolを無効化! - Qiita

    はじめに ある日、Chromeでネットサーフィンしているとき、CPUファンがフルスピードで回転していてうるさいなあと思い、タスクマネージャーを開いたら、CPU使用率が100%になっていました。Chrome以外、アプリを立ち上げているわけではないので、何がこんなにCPUってんだ?と思い詳細にタスクマネージャーを確認するとChrome内のソフト「Software Reporter Tool」がめちゃんこCPU使用率をっていました。 Software Reporter Toolとは 簡潔に書くと 「Google Chromeの実行時に妨げになっているアプリケーションを発見したらにGoogleにレポートを送る」 というものです。名前そのまんまの意味でしたね。 Software Reporter Toolを止めていいの? はい、特に問題ありません。 内容を見て分かる通り、Googleにレポートを

    Google Chrome の Software Reporter Toolを無効化! - Qiita
    kiyo_hiko
    kiyo_hiko 2021/04/15
    EdgeがイマイチすぎるからChromeに出戻りしたらこんな謎exe付いてたの…有用だったりほとんど資源食わんならともかく、意義わからんものでガブガブ資源食うのやめてほしい。記事はすばらしい
  • メモリ 4GB + CeleronのPCを「スペックが不十分」と判断するのは案外難しいかもしれない - Qiita

    3月末、アイリスオーヤマ社のノートPCや「GIGAスクール構想」の仕様書が話題になっていました。その多くが「動作に支障をきたすほどスペックが低いのではないか」という批判的なものです。 筆者もこういったPCが「ローエンド」であり、「快適ではない」ことに異論はありません。自分自身や家族のためにPCを購入するなら、より良いスペックのPCを選定します。 しかし、そもそもPCに詳しくないユーザ あるいは スペック選定にあたり明文化された根拠が必要な事業者・行政 にとって、ドキュメント上からそれを判断できるのか疑問に感じたので少し確認してみました。 TL;DR (追記) GIGAスクール構想などで示されるPCは確かにローエンドである。 しかし、主要アプリケーションの「性能要件」を、書類上は十分に満たしてしまっている。 それゆえ、PCの経験が浅い人などがローエンドPCを「これで十分」として選定してしまう

    メモリ 4GB + CeleronのPCを「スペックが不十分」と判断するのは案外難しいかもしれない - Qiita
    kiyo_hiko
    kiyo_hiko 2021/04/05
    まあ使い捨てなら何とか…ぐらいの性能。ジェムテックの中古販売とかだとアイリスドンキレベルで4万ぐらい取るので凶悪
  • 「正直9年経ったいまでもfor文ググってる」 - Qiita

    「正直9年経ったいまでもfor文ググってる」 という議論記事があった。正直なところ私もググる方の人だ。私の感想: ポンとテキストエディタだけ渡された時に書けるか自信ないぞ...IDEがあればまあ大丈夫かなあ。 JavaScriptだけじゃない。言語色々扱うしという言い訳。正規表現とか毎度調べる。 だから世の中にチートシートというものがあるのだ。お気に入りチートシート多数。 実戦でどうしているか?結局周りのソースを見て馴染む書き方にしていますよ多分。 暗記するかしないかは受験勉強みたいなもので、コーディング面接に受かるなら必要。暗記そのものには意味はないとは思う。 競技プログラミングが使えないとかいう論もあったな。 ググり力も大事。 でも「最低限」もできないのはやはり恥ずかしい気持ちはある。 なんかこれ英語できるできないと似てるな。英語なんてGoogle翻訳、DeepL翻訳あればいいけど、実

    「正直9年経ったいまでもfor文ググってる」 - Qiita
    kiyo_hiko
    kiyo_hiko 2021/03/25
    記事タイトルの一部が一瞬さつまいもに見えた。疲れてんのかな
  • こんなコードは嫌だ、古い書き方のコード駆逐したい(とりあえず9つ) - Qiita

    時代は令和ぞ、何を書いとるんや 転職してきた若いプログラマが変なコード書いている。 どうやら前社の社内研修で教わったとのこと。 さて、何を教わったのだろうか。 ※一応TypeScriptで書きましたが別にC#でも言えることです。 ※CやC++やアセンブラのことは全く知らないので、そのあたり詳しい人は今どんな書き方か記事書いていただけると勉強になります。 1.変数名が雑 クラス、関数、変数、どれも命名は難しいものです。1 大体が英語で大変です。けど頑張ってわかりやすい名前つけるようにしています。 読んで勉強してください。Google翻訳使ってください。 10行程度の短い関数ならretでもdataとか適当な名前でもいいけど 長くなるようならちゃんと名前つけてるようにしたほうがいいです。 わかりやすい変数名をつけることでひと目で、その変数の役割が理解出来ます。 // Goodってなんやねん!な

    こんなコードは嫌だ、古い書き方のコード駆逐したい(とりあえず9つ) - Qiita
    kiyo_hiko
    kiyo_hiko 2021/02/21
    なんだこれ
  • 海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita

    Why doesn’t Japan excel in software as they did in hardware? (なぜ日はハードウェアの時代と同じようにソフトウェアに秀でることができない?) という英語Quoraのやり取り、分析が興味深かったので、まとめ。 仮説1: 日は完璧を求める 10人のエンジニアのソフトウェア開発会社を経営しているフランス人の友人が、ルイ・ヴィトン日支社のコンピュータシステムのマネージャーと同意した話:ソフトウェアはハードウェアではなく、産業用でもない。50年間同じトヨタカローラのように構築され、洗練され、完成されたものではありません。ゼロバグでそれを「完璧」にすることは不可能であり、したがって、「ゼロデフォルト」という、総合的な品質、継続的な改善を求める日人の精神に反するものです。 日は職人の国であり、漢字を書いたり、折り紙を折ったりする技術

    海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita
    kiyo_hiko
    kiyo_hiko 2021/01/31
    ホルモンだ。平均的な日本人が世界でも稀に見るワクワクしない人達なので…。コメ欄みても判る理屈っぽさと注文の多さ。ワクワクすれば任天堂みたいに世界を舞台とするソフトウェアプラットフォーム企業も出てくる