タグ

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

  • アルゴリズムの世界地図 - Qiita

    0. アルゴリズムとは? まず、アルゴリズムとは何かを説明します。(0 節の説明はスライド「50 分で学ぶアルゴリズム」 の説明を参考にして書きました) さて、次の問題を考えてみましょう。 問題: 1 + 2 + 3 + … + 100 の値を計算してください。 単純な方法として、式の通りに 1 つずつ足していく方法が考えられます。すると、以下の図のように答えが計算されることになります。 これで答え 5050 が正しく求まりました。これはれっきとした アルゴリズム であり、この問題を 99 回の足し算 で解いています。しかし、計算回数が多く、計算に時間がかかるのではないかと思った方もいると思います。 ここで、方法を変えて、「1 + 100」「2 + 99」「3 + 98」…「50 + 51」の合計を求めることで、1 + 2 + 3 + … + 100 の値を計算してみましょう。 50 個の

    アルゴリズムの世界地図 - Qiita
  • 漫画家さんイラストレーターさん向け UE4インストールガイド - Qiita

    まえがき 漫画イラストレーターの皆様、こんにちは。 記事はアンリアルエンジンにご興味を持って頂いた皆様に、 UE4をダウンロード、インストール、起動するところまでを ご解説させて頂く内容となっております。 アンリアルエンジンを利用すると、 以下の様な感じで3Dを漫画イラスト制作に活かすことが出来たりします。 https://twitter.com/shiba_zushi/status/1472803697210327040?s=20 UE4(=アンリアルエンジン4)とても楽しいです。 そしてさらに、無料でございます。 ぜひ皆様の制作にお役立て頂けましたら幸いです。 エピックゲームランチャーのダウンロード UE4をダウンロードする為には、 エピックゲームランチャーをインストールする必要があります。 エピックゲームランチャーはエピックゲームズが提供する、 UE4を含んだ様々なサービ

    漫画家さんイラストレーターさん向け UE4インストールガイド - Qiita
  • なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】UXUIDesignUIデザイン画面設計 1.はじめに エンジニアの私がデザインを気で勉強した結果、デザイナーとエンジニアはそもそも思考が大きく違っているということがわかりました。 今回は「それ」をデザインに苦手意識のあるエンジニア方にも理解してもらえたらと思い、わかりやすくまとめてみました。 2.アプリの画面デザインを考えてみよう まず、こんなアプリを考えてみてください。 フィットネストレーナーが使うアプリ トレーニングルームでお客様とお話しながら使う 端末はタブレット そして 会員の個人情報確認 前回までのトレーニング状況の確認 次回の予約受付 といったことをします。 使える情報としては、こんな感じです。 あなたならどう画面デザインをするか、もしお時間があったら考えてみてください。

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita
    Dragoonriders
    Dragoonriders 2021/12/10
    ユーザーに求められる情報量を掴むのが第一。とはいえユーザーもそれを理解していないからこそ妄想の入り込む余地が出てしまうのだろう。
  • ググり力、それはエンジニアには必須の能力である - Qiita

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

    ググり力、それはエンジニアには必須の能力である - Qiita
    Dragoonriders
    Dragoonriders 2021/12/10
    まあそもそもキーワードを知らねば検索すらできんよな。自分の分野ではすでに米中にしか有用情報なしというのが多い。そしてよさそうな情報をひらっても読むのが面倒すぎるのでdeepL任せになる。
  • EC2をぶっ飛ばしてデータが全部消えてしまった話 - Qiita

    こんにちは。もぐめっとです。 旅に出るとこのI love ****シリーズのシャツを買うのが割と好きです。 最近、久々にAWS触ったらまるっとデータをふっとばしてしまったので戒めのために原因と対策を記しておこうと思います。 この記事は番環境でやらかしちゃった人 Advent Calendar2021の3日目の記事になります。 なぜデータが吹っ飛んだのか 原因としては2点あります。それは無知と慢心です。 経緯として最近引き継ぎをうけた某スタートアップが作成したサービスを改修しようとしていたところから始まります。(サービスとしては既に停止済み) 最初にインスタンスを止めてインスタンスサイズを変えようとしたのですが、あろうことか、「インスタンスの終了」を選択してしまいました。 実はEC2には停止と終了の2つの言葉があり、シャットダウンだけだと停止を選ばないといけないのです。 どちらも一緒や!!

    EC2をぶっ飛ばしてデータが全部消えてしまった話 - Qiita
    Dragoonriders
    Dragoonriders 2021/12/04
    インスタンス削除を「終了」というのはさすがに日本語訳としてありえないじゃないの。そこはAWS側がおかしいんではないか。でも、マニュアル読まない技術者もありえないので対消滅すれば?
  • なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita

    はじめに ソフトウェアプロジェクトには不思議な性質があります。現状のスケジュールに課題を感じて、短くするために人員を投下しても、なかなか思い通りに短くならない。それどころか悪化してしまうことがあります。場合によってはプロジェクト自体が破綻して失敗してしまうことすらあります。 今回は、このようなソフトウェアプロジェクトに潜む直感に反する性質を数理的なモデルを介して理解していく試みです。ある種の思考実験としてお楽しみください。 宣伝 Qiitaさんとコラボ企画でアドベントカレンダーをつくりました。 DXをめちゃくちゃ改善した話を募集しています。 https://qiita.com/advent-calendar/2021/dx-improvement 10人の妊婦がいても1ヶ月で一人の子供は生まれない これは誰かの技術力やプロジェクトマネジメント力に欠陥があるのではなく、「人月の神話」で有名な

    なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita
  • 「あれ、プログラミングが楽しくない…」【すべてのエンジニアへ】 - Qiita

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

    「あれ、プログラミングが楽しくない…」【すべてのエンジニアへ】 - Qiita
    Dragoonriders
    Dragoonriders 2021/09/22
    プログラムを書くのは何かを実現したいから。でも、実現したものと実現できなかったものに意味がある。わかったような気になって手を動かさないより、がむしゃらにやったほうが本当の到達点がわかる。
  • VMWare, VirtualBoxのネットワーク接続方式の違いを整理する - Qiita

    はじめに VMWare, VirtualBoxでネットワーク設定をする際、何をどう設定するのがよいかたびたびわからなくなるため、改めて接続方式・構成についてちゃんと理解しておこうと思いました。 そうすることで今後仮想環境を構築する際、ユースケースに応じて適切な設定を選択できればと思います。 対象 仮想環境のネットワークを何となく設定して繋がったので終わりにしている人 何となく設定したけれども思うように繋がらず困っている人 ちょっと前の自分 想定環境 ホストPC: Windows10 Pro 64bit 仮想化ソフトウェア: VMware WorkStation Player 12 Oracle VM VirtualBox 6.0 会社内LANなどに接続したホストPCで仮想環境を構築し、仮想マシンをネットワーク接続させる場合を想定 ネットワーク設定と概略 ざっくりまとめると以下のようになりま

    VMWare, VirtualBoxのネットワーク接続方式の違いを整理する - Qiita
  • パソコンユーザーのためのDRAM入門 Part 1 パソコンにおけるDRAM、DRAMの構造 - Qiita

    序 : プロセッサへの嫉妬 DRAMさん「最近みんなCPUGPUにばかりうつつを抜かしやがって…。みんながやれRyz○nだの、FinFET ○nmだの盛り上がって、みんなが次世代プロセッサを楽しみにしている。新しいアーキテクチャやISAが出てきて話題も絶えない。」 DRAMさん「たしかによ…CPUはパソコンの花形だし、GPUの性能上げればゲームのグラフィックスがきれいになるよ。それに比べると俺は目立たない。」 DRAMさん「挙句の果てに、Memory wallだなんて言われて、CPUGPUの足を引っ張る存在だと疎まれている。」 DRAMさん「だけど…だけど…俺がいなかったらパソコンは動かない…!それに、俺だって頑張ってる!お腹にviaを貫通させたりして、CPUGPUの足を引っ張らないようにしている!」 DRAMさん「だから…だから…俺を…DRAMを…見てくれ…!!!」 対象読者 DR

    パソコンユーザーのためのDRAM入門 Part 1 パソコンにおけるDRAM、DRAMの構造 - Qiita
  • 総当たり攻撃時のパスワード最大解読時間の表(by 上野宣)について分析した - Qiita

    昨日、上野宣(@sen_u)さんがパスワードの総当りに要する時間の表をツイートされ、話題になっています。 総当たり攻撃時のパスワード最大解読時間の表を日語化した。https://t.co/cVSNUZkAKv pic.twitter.com/rtS8ixwOqi — Sen UENO (@sen_u) August 17, 2021 1万件を超えるリツイートがありますね。大変よく読まれているようです。しかし、この表は何を計測したものでしょうか。上野さんにうかがってもわからないようでした。 何ですかね?パスワード空間が大きくなると解読に時間が掛かるということくらいがわかりますかね。 — Sen UENO (@sen_u) August 17, 2021 一般に、パスワードの総当たり攻撃(ブルートフォースアタック)というと、以下の二通りが考えられます。 ウェブサイト等でパスワードを順番に試す

    総当たり攻撃時のパスワード最大解読時間の表(by 上野宣)について分析した - Qiita
  • 今起きている革命、「因果革命」とは - Qiita

    みなさまは"The Causal Revolution" (因果革命)という言葉を聞いたことがあるでしょうか? 私は今月(2021年6月)に初めて知りました。Google Trendsでもデータ不足によりトレンドが表示されません。 つまりまだ全然マイナーな概念で、聞いたことがないほうが自然かと思われますが、これは「来る」と確信したため記事を投稿しました。この確信の根拠の箇所を記事中で太字で書いた他、最後にもまとめたため、記事を読む価値がありそうかの判断には先にそちらを読んでもらってもいいかもしれません。しかしながら、因果革命ないし統計的因果推論は学ぶ価値のある分野です。記事を読まなくても下記に挙げた書籍を未読の方はぜひ一読してみてください。Qiitaでも因果推論についての記事はいくつもあります。しかし、私が感動した点を明示化した記事は見当たらなかったため記事を投稿しました。 この記

    今起きている革命、「因果革命」とは - Qiita
  • Markdownファイル校正手順 - 実務編 - Qiita

    npm のちょっとしたオプションについては以下を参照。 Step.1 体と最低限のルールをインストール 任意のフォルダを作成。 C:\workspaces\textlint_work cd C:\workspaces\textlint_work npm init -y npm install --save-dev textlint textlint-rule-preset-ja-spacing textlint-rule-preset-ja-technical-writing 上記で、textlint 体 + プリセット2つをインストールする。 preset-ja-spacing preset-ja-technical-writing npx textlint --init で、.textlintrc が生成される。 Step.2 追加のルールをインストール 上を参考に入れてみる。 n

    Markdownファイル校正手順 - 実務編 - Qiita
  • すべての開発者へ。すごいGitHubリポジトリ10選 - Qiita

    記事は、Simon Holdorf氏による「10 Extraordinary GitHub Repos for All Developers」(2021年4月4日公開)の和訳を、著者の許可を得て掲載しているものです。 こちらもどうぞ すべてのウェブ開発者へ。人気GitHubリポジトリ9選 面接のリソース、build your own X、優れたパブリックAPIのリストなど Photo by Vishnu R Nair on Unsplash はじめに GitHubは、あらゆる種類の技術、フレームワーク、ライブラリ、コレクションなどを共有するためのNo.1プラットフォームです。しかし、その巨大さゆえに、最も有用なリポジトリを探すのが難しいという問題もあります。そこで私は、すべてのソフトウェアエンジニアに大きな価値のある、素晴らしいリポジトリ10選を作ることにしました。すべてに多くのGitH

    すべての開発者へ。すごいGitHubリポジトリ10選 - Qiita
  • chmod -R 777 /usr を実行したCentOS7で、一般ユーザがroot権限を得られることを確認する - Qiita

    chmod -R 777 /usr を実行したCentOS7で、一般ユーザがroot権限を得られることを確認するLinuxSecurityrootpermission Teratailで、suコマンドでrootログインできないという質問があり、てっきり/etc/pam.d/suまわりの設定かと思いきや、そうではなく、自己解決で説明された原因に一同驚愕ということがありました。 /usr/share/nginx/html に権限を追加したくて、横着して chmod 777 -R /usr とコマンド実行した記憶があります。 CentOS7、suコマンドでrootにログインできない、パスワードは絶対あっているのになぜ? /usr 以下のパーミッションをすべて777に設定したら、逆に動くべきものが動かなくなる例なのですが、これをやるとセキュリティ上問題であることは言うまでもありません。究極的には、

    chmod -R 777 /usr を実行したCentOS7で、一般ユーザがroot権限を得られることを確認する - Qiita
  • 「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita

    物語の始まり 事の発端は納品後。 先方からメッセージが届きました。 クライアント様「このファイルの文字コードがShift_JISになっておりますので、UTF-8で再納品をお願いいたします。」 拙者(あれ…UTF-8にしてたと思うんだけどな) 拙者「確認いたします。」 文字コードを確認する 案件はいわゆる更新案件で、今回の納品時に言われていたのは、「文字コードがUTF-8ではないものは変換して納品してくれ」ということ。 そして、ご指摘いただいたのは、今回の更新案件で中身はいじらなかったJavaScriptファイル。 来ならば納品するファイルではないのですが、文字コード変換という要件があったため、納品ファイルとして加えられたものでした。 一括で文字コードを変えたので作業漏れかなぁと思っていました。 ファイルの中身は記事用にかなり適当につくったものですが、まあだいたいこんな感じです。

    「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita
    Dragoonriders
    Dragoonriders 2021/04/04
    まあ全角入れろも良いけど、“数社(数人)を介さないと“にツッコミ入れろと思うけど。その数社も技術もなく意味のない中抜き土管じゃないか。
  • モダンプログラマになれない組込みプログラマの苦悩 - Qiita

    はじめに 10年以上組込みエンジニアをしている@yagisawaです。 Qiitaのトップ記事では新しいフレームワークの使い方とかモダン言語の新しい言語仕様の解説とかが流れてきて、いつも羨ましいなーと思いながら読んでいます。 記事は組込みシステム開発をしていて経験したこと・感じたことを自虐ネタとして書き連ねていこうと思います。他ITエンジニアの人に「うわっ、可愛そう」って思ってもらうのが目標です(ぇ 各業界それぞれに悩みはあると思うので、自分たちが一番不幸とかは思っていません。おそらく隣の芝が青く見えているだけです。それよりあまり組込みの記事は見かけないので、「組込みエンジニア仕事ってこんな感じ」というのを知ってもらう意図があったりします。 内容によっては「それはあなたの設計が悪いからです」と言われてしまうようなところもあるとは思いますが、建設的なご意見は大歓迎ですが基は温かい目で見

    モダンプログラマになれない組込みプログラマの苦悩 - Qiita
    Dragoonriders
    Dragoonriders 2021/03/18
    まあRTOSはそうだよなあ。関数の処理時間がシビアなので、クロック削りにせいを出さないといかんし/メインループは書かなくともRunLoopが回ってるのはスマホも変わらんし、メインスレッドで重い処理はできないのよ。
  • 一銭も払わずにクラウド上でWebサービスを公開する(2021/02時点) - Qiita

    これはなに? Webサービスを開発する際に使えるサービスのうち、無料枠があるものをまとめました。 自分でちょっとしたWebサービスを作ろうと思ったときに一銭も払いたくないなという気持ちがあるが、そもそもどの程度までちゃんとした構成が取れるんだっけというのをこれまでに100万回調べている気がするので自分用にまとめたメモです。 前提として、基的にはAWSGCPを対象に調べて、一部はそれ以外のサービスも追加で調べている、という感じです 最初に結論 「無料でWebサービスを提供する」というところだけに集中するならAWSよりはGCPのほうが良さそう(ハードルが低そう + できることが多そう) 無料枠だけで完結させるならherokuSQLも使えるし視野に入れて良さそう ドメイン周りだけはどうにもならないので諦めてお金を払うか各クラウドサービスのドメインのまま使いましょう 無料の範囲内で最低限のW

    一銭も払わずにクラウド上でWebサービスを公開する(2021/02時点) - Qiita
  • マクドナルドで一日分の栄養を取れる組み合わせを計算したら衝撃の結果に - Qiita

    コレステロールは最低摂取基準量はないので0としています(実はこれが伏線になっている)。 そして目的は、一日必要な栄養素を満たす最もカロリーの低い商品の組み合わせとします。金に糸目はつけません。健康第一! 解く 商品の数が96個、栄養素の数が16個なので、とても人間の手では解けません。そこでコンピューターの力を借ります。幸いPuLPというPythonで無料で利用できるソルバーがあるので、これで計算します。ちなみにExcelにもソルバーが搭載されていますが、この程度の数の決定変数でもエラーになって計算できませんでした。 # Import PuLP modeler functions from pulp import * # A new LP problem prob = LpProblem(name="mac", sense=LpMinimize) # Variables AA = LpVar

    マクドナルドで一日分の栄養を取れる組み合わせを計算したら衝撃の結果に - Qiita
    Dragoonriders
    Dragoonriders 2021/02/22
    273個のサラダを1個3分で食うとしても13時間もかかるのだが、そんな人生生きる意味があるのはxevra氏くらいのものだろう。
  • 閲覧者のユーザーエージェントを三角関数で判定できるか? - Qiita

    概要 先日ふと自分のPCのフィンガープリントを取ってみたところ「IPアドレス」など様々な項目が並ぶ中に「Math.tan」という変な項目を見つけました。 「なぜ三角関数が出てくるの?」と気になって調べてみたところ、**三角関数の値はブラウザやOSの実装により微妙に異なることがあり、特定の式をブラウザに計算させることで利用者を識別する手段になり得る1**という話でした。 面白そうだなと思ったので、記事ではその手法で実際どの程度までブラウザ/OSを判別できるのか調査してみました。 検証方法 今回は様々な文献12の情報を参考に、以下の式を各OSの各ブラウザに計算させました。 tan(-1e300) cosh(10)(厳密には三角関数の類似ですが) これら以外も10数種類ほど試したのですが、判別に使えたのはこの2つのみでした。 試したOSとバージョン macOS Catalina (ver.10

    閲覧者のユーザーエージェントを三角関数で判定できるか? - Qiita
  • GitHubのawesomeリストが本当にawesomeなものばかりだから一度見てほしい - Qiita

    伝えたいことは全てタイトルに書いた。 動機 https://github.com/topics/awesome を眺めていて当にawesomeなものばかりだった (割にあまりどこにもそのawesomeさが書かれていないように見えた) ので書く。 awesomeリストとは GitHub で使われる慣習的なリポジトリについてまとめてみた#awesome より: 「特定テーマに関するキュレーションを行うリポジトリ。Markdown のリスト表記で一覧化するのが一般的。また、Contribution も受け付けている(人気のあるリポジトリはガイドラインも厳しめ)。」 Where? ここのことです: https://awesome.re/ 画像はリポジトリから引用。 What? What is an awesome list? よりDeepL翻訳 awesome マニフェスト もしあなたのリストを

    GitHubのawesomeリストが本当にawesomeなものばかりだから一度見てほしい - Qiita