タグ

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

  • ソースコード管理の進化:Excel管理からGitHubまで、エンジニアの戦いを振り返る! - Qiita

    ソースコード管理の進化:Excel管理からGitHubまで、エンジニアの戦いを振り返る! プロローグ 先日、弊社のとある案件内での会話です。 熟練エンジニア(以降「熟練」と表記):GitHubのプルリクが来てたからコードレビューしておいたよ。 若手エンジニア(以降「若手」と表記):ありがとうございます。助かります。 熟練:他の人のコードにも指摘した内容がキミのコードにもあったので指摘しておいた。他の人のプルリクは見ていないの? 若手:いや、他の人のプルリクは見てないですね。。 必要ですかね・・? 熟練:必要だよ。昔はそういうのやりたくてもできなかったんだから! 若手:(はじまった、熟練さんの昔語り・・。長いんだよなぁ。。)なるほど!そうなんですね。他の人のコード読んで勉強します! はじめに 皆さん、こんにちは。エンジニア歴約20年目の立脇です。今日は、エンジニアにとって切っても切り離せない

    ソースコード管理の進化:Excel管理からGitHubまで、エンジニアの戦いを振り返る! - Qiita
    aike
    aike 2024/08/29
    RCSはシンプルで好きだったしCVSもすんなり受け入れられた。SCCSやVSSはまあまあだった。ClearCaseは使いにくかった。バイナリアセットの多いゲーム開発はSVNが標準でTortoiseSVNを使ってた。
  • Maxショートカットまとめ - Qiita

    ※随時追加予定(2017/9/17現在) MaxMSPについての個人的なメモ ※WindowsMacで操作が違うので、適宜読み替える cmd <-> ctrl opt <-> alt MaxMSPショートカットまとめ ※PW:パッチウインドウ ※OBJ:オブジェクト [オブジェクトショートカット] 編集モードの時に下記ショートカットでマウスポインター位置に追加できる - PWでダブルクリック or N:Object Box追加 - I:Number Box追加 - F:Floating Number Box追加 - M:Message Box追加 - C:Comment Box追加 - T:Toggle追加 - B:Button/Bang追加 - S:Slider追加 [オブジェクト・コード操作ショートカット] OBJ選択 → cmd+D:OBJ複製(複数可) OBJ選択 → opt+ド

    Maxショートカットまとめ - Qiita
    aike
    aike 2024/08/21
  • 「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita

    Webサービスのフォームに住所を入力するとき、丁目や番地などを入れる欄について、数字やハイフンを全角で書かなければいけない「全角縛り」をやっているフォームをよく見ます。半角文字を入力してしまってエラーになったり、咄嗟に変換方法を思い出せなかったり、全角と半角の見分けが付きづらかったり、「全角縛り」であることが明示されていなかったり、「ハイフン」としてどの文字を使うべきかわからなかったり……と、陶しさを感じることが多くあります。 「住所は全角のみ」(数字やハイフンも絶対に半角を受け付けない)という仕様がどういう経緯で生まれて、どう広まっていったのかが気になってる。いま存在しているのは過去の仕様や慣習の踏襲として理解できても、そもそもなぜそれらが生まれたのかが理解できない。 https://t.co/ZLz0Pw9GOK — ymrl (@ymrl) July 29, 2024 これについて

    「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita
    aike
    aike 2024/08/03
    仕様書に書かれてない親切機能をつける工数はないしバグるリスクも負えないから、だと思う。COBOLの時代のDBシステムを最小限の変更でJavaとかに移植して、いまやCOBOLは消えても当時の制約は残ってるとかありそう。
  • アジャイル専門部隊の一構成員が敢えてウォーターフォールを語るぞ - Qiita

    アジャイル開発の浸透?なんだそれは。 アジャイル開発という概念が世に出て二十余年(2001年「アジャイルソフトウェア開発宣言」による)、最早、この技術も最新とは言えない、成熟したものとなりました。あなたの職場でも「アジャイルに進めよう」的な、凝り固まらず柔軟なプロジェクト体制にして行こうという流れ、プロダクト開発の長大化を防ぎアウトプットを細かく出していこうという意識変革が内外から求められているかと思います。 しかしプレイヤーとしての皆様は、とはいえ作るものは変わっておらず納期が決まっているので大変になるだけ、だとか、現場ボトムアップな提案は通らずトップダウンにやることが降ってくるからやる意味なくね、だとか、果ては作るもの・仕様が決まってないけど予算がついたからいい感じにアウトプット出してね、の意味だとか、都合よく「アジャイル」を使われて疲弊することもあるでしょう。多くは会社の通例や予算検

    アジャイル専門部隊の一構成員が敢えてウォーターフォールを語るぞ - Qiita
    aike
    aike 2024/07/15
    ウォーターフォールは歴史も長く事例も膨大なので、これまで何度も痛い目に遭いながらやってきた結果、なんとかうまく回すノウハウがめちゃくちゃ蓄積されている感じ。うまいPMが回すとうまく回る。
  • 「Pythonのドキュメントでも読むか~」「え、何その裏技」 - Qiita

    読み飛ばしてください おはようございます、しなもんです。 Pythonの公式ドキュメントを読んでたら、なんか知らない便利機能がたくさん出てきました。 なんだこれ。 というわけでまとめてみました。 参考になれば幸いです。 f-stringsの拡張機能 f-strings、便利ですよね。大好きです。 そんなあいつには裏技があるみたいです。 デバッグ用の=演算子 Python 3.8以降、f-stringの中で=演算子を使用することで 変数名とその値を同時に表示できるらしい。

    「Pythonのドキュメントでも読むか~」「え、何その裏技」 - Qiita
    aike
    aike 2024/07/15
  • 初めてのGitは電車で例えて学ぼう!初学者向け基本Gitコマンド入門 - Qiita

    Gitを学びたての人へ Gitを学びたての皆さん、こんにちは!今年の4月よりエンジニアとして新卒入社した k_uki512です!🎉 会社の新人研修や、プログラミングスクールでGitを初めて触り始めた方もいらっしゃるのではないでしょうか。そんな方が「分からない」という状態に陥りやすいのが "Git" のコマンドだと思います。 分からない理由を分析してみた Gitのコマンドが分かりづらい理由として以下のような原因があると考えました。 データをコマンドでやり取りすることがなかった 用語いっぱい。違いが分からない、、(add,commit…) データ(変更履歴)の流れが見えづらい つまり変更履歴という概念が抽象的かつ、pushまでのステップが多いことが原因だと考えました。 そこで、この記事ではGitの一連の流れを、わかりやすく電車に例えて解説していきます! この記事を通じてGitの流れを学び、会

    初めてのGitは電車で例えて学ぼう!初学者向け基本Gitコマンド入門 - Qiita
    aike
    aike 2024/07/10
    たとえは、どの側面に着目するかで理解の助けにも妨げにもなるのでなかなか難しい。昔大学生にGitを教えたときシュタインズ・ゲートにたとえたら誰も見ていなくて、ただのアニメ語りおじさんになった。
  • ノーコードって結局使えないよね~って話 - Qiita

    はじめに コードを書かずにWebサイト/アプリ/ツール等の制作ができるノーコードツールが最近流行っていますよね。 私自信、半年ほど前からn8nやActivepiecesといったOSSのノーコードツールやPower Automateなど、幾つかのノーコードツールを触っていたですが、ツールとして未成熟であったり自由度が低かったりと、「結局流行らないのでは?」と感じています。(GPTのそれと一緒で期待値が高いだけなんですかね) ノーコードツールの幻想 D&D操作だけで直感的に操作できるノーコードツールは、一見、プログラミング初心者にとって救世主のように映ります。しかし、それは十分な選択肢なのでしょうか? 当に手軽ですか? 多くのノーコードツールでは、よくあるような定型作業のテンプレートとD&D操作で実装できるUIを提供することで、直感的に操作できるよう設計されています。 一見、自由度の高い開発

    ノーコードって結局使えないよね~って話 - Qiita
    aike
    aike 2024/07/03
    コードを書けるならRPAツールはありがたみ少ないかも。ゲームの敵の動きとかシェーダーとか独立したものはノーコードというかノード方式が手軽。あとコード書けるならノーコードの部品を作ると再利用性が上がるかも。
  • ユーザーが『アイドル』を歌うとサーバーが停止する - Qiita

    起きたこと 僕が運営している『オンライン絵しりとり』というサイトで起きた話となります。 これは訪れたユーザー同士で絵しりとりを楽しめるサービスです。 ある日、このサービスをホスティングしているConoHaVPSより、規約に違反しているため利用を制限した旨のメールが届きました。 お客様のVPSにおきまして、弊社会員規約に反するコンテンツが 検出されましたので、ご利用サービスの制限をさせていただき ましたこと、ご連絡申しあげます。 そして、メールが届いたほぼ同時刻にサーバーが停止され、サービスへアクセスできない状態になりました。 メールによると、JASRACより著作権侵害に対する防止措置の申し出があったとのことです。 指摘対象のコンテンツを確認したところ、ユーザーがサイト内のチャットでYOASOBIの楽曲である『アイドル』の歌詞の一部を投稿しておりました。 ご覧の通り、話の流れで流行りの曲をみ

    ユーザーが『アイドル』を歌うとサーバーが停止する - Qiita
    aike
    aike 2024/05/27
    チャットに歌詞を書き込むことを歌うというのか、最近は。こういうのってJASRACのパトロールよりも仲の悪いユーザーによる嫌がらせ通報が発端というイメージある。
  • 統計学で用いる行列演算の小技 - Qiita

    はじめに 千葉大学・株式会社Nospareの川久保です.今回は,統計学(特に多変量解析)で多く出てくる行列演算の小技集を,線形回帰モデルにおける簡単な実用例を交えて紹介します. 転置に関する公式 行列の転置とは,$(i,j)$要素を$(j,i)$要素に入れ替えることです.$m$行$n$列の行列$A$の$(i,j)$要素を$a_{ij} \ (i=1,\dots,m; j=1,\dots,n)$とすると,$A$を転置した$n$行$m$列の行列$A^\top$の$(j,i)$要素が$a_{ij}$となります.また,自明ですが,転置行列の転置は元の行列になります.すなわち,$(A^\top)^\top = A$です. 行列の和の転置 行列$A$と$B$の和の転置は,転置行列の和です.つまり, が成り立ちます. 行列の積の転置 次に,行列$A$と$B$の積$AB$の転置としては,以下の公式が成り立

    統計学で用いる行列演算の小技 - Qiita
    aike
    aike 2024/05/25
  • なぜ我々はいまだに文字列でコメントを書いているのか - Qiita

    あるいは、画像コメントのすすめ。 TL;DR 画像コメントのほうが意図が伝わりやすい 画像URLからツールチップで画像表示してくれるVSCode拡張機能があるよ その場で画像を作るSVGエディタもあったよ 問題提起 みなさんは、少し複雑なアルゴリズムを書くことになったときどうしていますか。 たいていの場合、いきなりコーティングに取り掛かるのでなく、 雰囲気をつかむためメモやホワイトボードに落書きすると思います。 特に幾何計算では簡単なものでも図を描いた方がいいです。こんな感じ。 図を書いたら後はコードに落とすだけです。 ね、簡単でしょう? // 指定した直線を対称軸としたときの指定した点の鏡映位置を返す function flipVectorByLine(p: Vector, line: Line): Vector { // TODO: よくわかるコメントを書く const ln = ne

    なぜ我々はいまだに文字列でコメントを書いているのか - Qiita
    aike
    aike 2024/05/14
  • [UE5]マテリアルで数式から波形を作る - Qiita

    概要 明滅などの反復的なマテリアルを作りたいとき、UE5ではいくつかの方法がある。 一番イメージ通りに作れるのは、適切なノードを打ったCurveデータを用意して、マテリアルのパラメータに流し込む方法だろう。 しかしこの方法ではCurveデータをプログラム(Blueprint)で制御しなければならない場合が多く、アーティスト単体では気軽に用いることができない。 そもそも反復的なグラフの殆どは数式で表せるはず。 ではマテリアルだけで様々な波形をつくろうではないか。 開発環境 UE5.0 基グラフ ここでは一周期(反復させたい範囲)を横軸x=1.0となるように数式を立てている。 ※矩形波のみ例外。 矩形波 計算式 マテリアル ノコギリ波 計算式 マテリアル 二次曲線ノコギリ波 計算式 マテリアル 絶対値サイン波 計算式 マテリアル 絶対値サイン波(反転) 計算式 マテリアル 可変グラフ 反復さ

    [UE5]マテリアルで数式から波形を作る - Qiita
    aike
    aike 2024/05/09
  • エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita

    どうもエラーを出すもしくはエラーが出るのが怖いという人がいるみたい。例えば改修を行うときに既存部分でエラーが出ないことを最優先にして増築を行いいびつな構造を生み出すとか、単純に例外を全然使わないとか。エラーが出ると、「うわ、エラーになった。手間かけさせやがって面倒だなぁ…」みたいな感覚があって、とにかく自分がコードを書くときも一切例外を投げないというスタンスをとりがちなのかもしれない。 私はここで、適切にエラーが出てくれるのはむしろ喜ばしいことであり、自分がコードを書くときも積極的にエラーを出すようにすべきだ、という主張をする。 関数定義のドキュメンテーションの一部 ある関数の中身で一番最初に書くべき処理は何か、それは引数のチェックをして条件を満たさなければエラーを出すことである。例えば文字列は特定の形式になってなければならないとか、数値に最大値最小値があるとか、これらは関数の入力の前提条

    エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita
    aike
    aike 2024/05/05
    大型汎用機だと不正な値が来たら即プログラム終了が普通だったな。値を直してそこから再開もわりと楽にできる設計思想だった。勘定系は正しいデータも間違ったデータもたいてい金額とか数量の数字だからむずい。
  • 生産性における即レスの大切さ - Qiita

    はじめに 昨今「開発生産性」についての話題をよく目にします。 生産性が向上することで悪いことは無いので、様々な組織の事例が公開されて業界全体に知見が共有されていくことはとても素晴らしいことだと感じています。 話題のこちらの 「世界一流エンジニアの思考法」にもとても大切なことが書かれておりますし こちらの記事も参考になりました。 それらを踏まえて個人的に生産性向上のベースになる大切なことだと思っている 「即レスの大切さ」 について書きたいと思います。 これまでやってきたお仕事 ツールアプリの新規事業責任者(3年ほど) 全体3名の少人数チームでスタート 私(責任者+PdMの役割)、エンジニア1名、デザイナー1名 最終的には30人前後の組織の事業部長 ゲームアプリのマーケティングマネージャー(5年ほど) 組織全体としてはビジネスサイド20名、エンジニア5名、デザイナー5名ほど 会社経営(4年ほ

    生産性における即レスの大切さ - Qiita
    aike
    aike 2024/04/30
    管理者の気持ちとしてはわかる。一方で技術者が実装中のときは深海に潜って作業しているようなものなので、いちいち地上に引き戻される非効率さがある。
  • 金子勇さんのED法を実装してMNISTを学習させてみた - Qiita

    追記:続きを書きました。 その2:ED法を高速化してその性能をMNISTで検証してみた その3:ED法+交差エントロピーをTF/Torchで実装してみた(おまけでBitNet×ED法を検証) はじめに 先日以下の記事が投稿され、その斬新な考え方に個人的ながら衝撃を受けました。 内容をざっくり言うと、ニューラルネットワークの学習を現在の主流であるBP法(誤差逆伝播法)ではなく、ED法(誤差拡散法)という新しい学習手法を提案しているものです。 もし記事の内容が当ならニューラルネットワークの学習がO(1)でできてしまう事になり、まさしく革命が起きてしまいます。 (結論からいうと速度面はそこまででもなかったです(それでも早くなる可能性あり)) (ただこの新手法のポテンシャルは革命を起こす可能性は秘めているといっても過言ではありません) ED法に関してネットを探すとインターネットアーカイブに情報が

    金子勇さんのED法を実装してMNISTを学習させてみた - Qiita
    aike
    aike 2024/04/21
  • crontabを安全に編集する手順 - Qiita

    crontabは -r オプションをつけると内容が即削除されます。 そのため、crontabを直接開く・編集するというのはオペミスに繋がる可能性が高いです。 安全にcrontabを編集するには『crontabの内容をファイルに書き出し、そのファイルを編集する』という方法をとることをおすすめします。 (もっというと、サーバー上でファイルを編集すること自体が安全な方法ではないので、gitcrontabの内容をバージョン管理するほうが確実ではあるのですが、今回はその話はしません。) ### 現在のcrontabの設定をファイルに書き出し $ crontab -l > crontab.org $ crontab -l > crontab.edit ### ファイルの編集(実行時間などは既存のものとあまり重複しないようにする) $ vi crontab.edit ### 現在のcrontabと編集

    crontabを安全に編集する手順 - Qiita
    aike
    aike 2024/04/15
  • 16台プロジェクター同期投影 -AMD Radeon Pro Wx9100で4K5枚を同期出力 - Qiita

    目的 1つのPCからフレーム同期した4Kを4画面分+制御画面1枚:合計5面の4K映像を出力したい。4K1枚から、4つのFullHD映像を分岐投影するので、合計16台のプロジェクターを同期投影することが可能になる。 この記事の続編です。 https://qiita.com/shks/items/580640b95f37ea42b2de 関連展示が2020年3月15日までやっています。 システムを使った、映像・展示に関するワークショップが2020年3月14日にオンライン開催されます。(内容はシステムに加えて幾何・色彩キャリブレーション・Visual効果制作などの内容です。) 既存手法の問題点と方針 Nvidia系のGPUでは、HDMI / DP出力ポート4つまでなので、全てを使用してしまうと制御用画面が使えなくなってしまう。 制御画面出力用にCPU統合側グラフィックを経由するとパフォーマン

    16台プロジェクター同期投影 -AMD Radeon Pro Wx9100で4K5枚を同期出力 - Qiita
    aike
    aike 2024/04/11
  • Pythonで理解する電気回路 - Qiita

    メモ代わりに使っていきます。 https://www2-kawakami.ct.osakafu-u.ac.jp/lecture/ キャパシタとコイルの式 コイルの式 L’i(t)=V(t) 電流(t)をtで微分した後にLをかけるとV(t)となる import numpy as np import matplotlib.pyplot as plt # 定数定義 ω = 2*np.pi # 角周波数 L = 1 # インダクタンス # 時間の範囲を定義 t = np.linspace(0, 2*np.pi, 1000) # 入力電流 i_t = np.sin(ω*t) # 出力電圧 V_t = L * np.gradient(i_t, t) # プロット plt.figure(figsize=(10, 5)) plt.subplot(2, 1, 1) plt.plot(t, i_t, labe

    Pythonで理解する電気回路 - Qiita
    aike
    aike 2024/04/11
  • いつか起業したいエンジニアへ - Qiita

    はじめに 34 歳のとき、勤めていた会社の経営が傾き早期退職を促されたのを契機に独立しました。その後、41 歳で Authleteオースリート 社を設立しました。諸般の事情で現在も Authlete 社の代表取締役という肩書きを持っていますが、経営者的な仕事は他の人に任せ (参照: シリコンバレーのプロフェッショナル CEO を迎えて米国市場に挑戦する日のスタートアップの話)、50 歳目前の現在もプログラマとしてコードを書き続けています。 Authlete 社設立 (2015 年 9 月) から 8 年半弱経過したものの、まだまだ小さな会社で道半ばであるため、起業家として何か語るのは時期尚早ではあるものの、軽い体調不良が長引く中、『自分のエンジニアとしてキャリアを振り返ろう!』という記事投稿キャンペーンを見かけ、生きているうちに子供世代のエンジニアの方々に何か書き残しておこうと思い、文章

    いつか起業したいエンジニアへ - Qiita
    aike
    aike 2024/03/04
  • エンジニアはどう学んでいけばよいのか - つまりは「知ったかぶり」 の積み重ね - Qiita

    はじめに この記事では、学んでいくためのマイルストーンとして「知ったかぶりができること」を設定するのもアリなのでは? という提案をします。 初学者でなくても『どうやって学んでいこうかな~』は全エンジニアの関心事だと思うので誰かの行動のきっかけになれたらうれしいです。 目次 (エンジニア人生は勉強や! 「知ったかぶり」を再定義する 「知ったかぶり」を可視化する 無知の知はすぐに自覚できる どうすれば人に説明できるようになるのか いったんここまでのまとめ 脳内イメージの解像度をどう上げていくか アウトプット先を意識したインプットをしよう " 知ったかbrilliant Journey of Engineers " さあ、なにを知ったかぶりしていこう? おわりに (エンジニア人生は勉強や! 技術は高速かつ複雑に成長しているので、新たな分野を学ばなきゃいけない機会はどんどん増えていく。また、そ

    エンジニアはどう学んでいけばよいのか - つまりは「知ったかぶり」 の積み重ね - Qiita
    aike
    aike 2024/02/20
    もう少し穏やかな言い方すると、多くの技術に対してそれぞれの概要を正しく把握しておくこと、その上で必要に応じて一部を深堀りすること。一人の人間の能力以上に多様で進化も早い技術分野はこう学ぶしかない。
  • オブジェクト指向は業務システムで本当に不要なのか? - Qiita

    主旨 以前はシステムの状態をオブジェクト指向でカプセル化し、オブジェクト同士の通信でシステムの制御をしようとしていた しかし、Webアプリケーションのように状態をメモリ上に保持し続けるのが難しい環境が増えると、上記のことがやりにくくなった(ORMのインピーダンスミスマッチの影響が大きくなった) 現在では、システム全体の状態を管理するためにオブジェクト指向を用いるシーンは減っているが、要所要所でシステムを抽象化する道具の一つとして用いるシーンはあり、適材適所で使い続ければ良い はじめに 一時期あれだけもてはやされた「オブジェクト指向」ですが、現在では「業務システム開発においてオブジェクト指向で作るとろくなことがない」、とか、いっそ「不要である」、という意見もよく見かけます。 オブジェクト指向、この記事では特に「オブジェクト指向プログラミング」を対象として話をしますが、その利点は以下の3点に集

    オブジェクト指向は業務システムで本当に不要なのか? - Qiita
    aike
    aike 2024/02/13
    「業務システムにオブジェクト指向は不要」の真意は「業務ロジック書くのに継承を伴う自作クラスは不要」だと理解している。