タグ

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

  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 心理的安全性ガイドライン(あるいは権威勾配に関する一

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
    maangie
    maangie 2020/10/21
    若い頃、道端のゴミを拾う癖があって友人から「何やってんの?」と不思議がられてたけど、そういや子供のときボーイスカウトやってたんだった。
  • Emacs の起動時間を""詰める"" - Qiita

    おしらせ : 長い記事は形式になっていた方が読みやすそうなので、 Zenn に お引越し してみました。ここにも記事は残しておきますが、最新版はあちらになります。 Emacs はプラグインを増やしていくと起動に何秒もかかって重い、という話をみることがあります。 しかし、考えてみれば Emacs には 1000 以上の Emacs Lisp ファイルが初めから同梱されているわけで、そこに数十のプラグインを足しただけで爆裂に遅くなるのは、なにか設定にも問題がある気がします。 この記事では、 Emacs の起動時間を詰めるために今までに試してきた、小技や大技たちを紹介します。 自分用にメンテしているフレームワーク setup.el で活用しているテクニックが主なので、そちらを試してみて欲しい気持ちもありますが、それぞれの Tips 単体でも価値があると思うので記事にもまとめてみることにしました

    Emacs の起動時間を""詰める"" - Qiita
    maangie
    maangie 2020/09/05
    emacsclient 便利。僕は「alias e=emacsclient」で使ってます。
  • この TypeScript が Hello, world! のくせに慎重すぎる - Qiita

    この記事は npm へ公開可能なパッケージを TypeScript で作成しながら、JS/TS 開発で良く使われるツールを紹介する記事です。 typescript-npm-starter という名前の Hello, world! パッケージを公開するという体で話を進めます。

    この TypeScript が Hello, world! のくせに慎重すぎる - Qiita
    maangie
    maangie 2020/01/28
    役に立つ。
  • Vue/Nuxt開発効率を3倍にするVSCode拡張機能セット - Qiita

    この記事を読むと VSCode拡張機能を入れて、下記のようなことが実現します ・VSCodeとは別にterminal(Command Line)の画面を開かなくても、VSCode内から直接terminal操作ができる(例えばnpm run devも) ・全てのカッコ()[]{}が種類別に色分けされる ・インデントが一眼で分かる ・htmlタグの開始タグと終了タグを同時に修正できる ・Vue.jsやNuxt.jsの構造やファイル操作が楽になる etc... なぜこの記事を書いたのか VSCodeは素晴らしいテキストエディタです。 特に、Vue.jsやNuxt.jsを用いて開発している方にとっては最も有力な選択肢でしょう(そして、その選択は間違いではないと保証できます)。 さて、VSCodeはそのままでも素晴らしいエディタですが、使用するフレームワークや用途に応じて拡張機能を入れるとさらに、そ

    Vue/Nuxt開発効率を3倍にするVSCode拡張機能セット - Qiita
  • font-familyについて本気で考えてみた - Qiita

    今年はmacOSのアップデートによりヒラギノが動かなくなったり、 来年初頭にはWindows7がサポート終了、Edgeのブラウザエンジン変更など、 エンドユーザーの環境を考えなければならない節目の時です。 そこでいつもコピペで済ましているfont-familyについて1から考え直してみます。 全部読もうとしている人はスクロールバーを見てから考えてください。 結果 コピペユーザーのために先に結果を記載します。 ブログ等に転載する場合はこのページのURLぐらい貼ってください。 @font-face { font-family: "Original Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; } @font-face { font-family: "Original Yu Gothic"; src: local("Y

    font-familyについて本気で考えてみた - Qiita
    maangie
    maangie 2019/12/26
    「IEは必要ない場合に囲むと、適用されないものもあります」ええ……。
  • CSSの継承〜親から子へ受け継がれる意志〜 - Qiita

    アドベントカレンダー初挑戦!21日目(プラコレ的には10日目) こんにちは!横田です。 不適切なところがありましたらご指摘いただけると幸いです。 よろしくお願いします! 今一度見直したい「継承」 フロントをやっていて、そこまで日は浅くないのですが、これまであまりcssプロパティの「継承」について深く考えたことがありませんでした。 親要素からプロパティを指定していって、子要素で効いていなかったらまた指定しよう、ぐらいでした。 しかしたびたび思うのです。「またcolor: #555;って書くのか...」と。 そこで、継承についておさらいしてみました。 Sassなどでスマートに書ける今、変数や関数をつかってかっこよく書けるようになりましょう! 継承とは 親要素のプロパティの値が、子要素に引き継がれることです。 プロパティによって継承されるものとされないものに分かれます。 継承されるプロパティ 使

    CSSの継承〜親から子へ受け継がれる意志〜 - Qiita
    maangie
    maangie 2019/12/21
    タイトル勝ち
  • GPUでZIPパスワードを解析する - Qiita

    企業間のファイルのやり取りにZIPファイルの暗号化がされていることが多いのですが、その暗号は意味がなかったり、弱かったり、余計にセキュリティリスクが高くなっています。ZIPの暗号化が使えないことを証明するにはパスワードを解析するのが一番です。 パスワードが解析できるなら、もうあとからパスワードを送る必要はないのです。 用意するもの Windows PC Windows10を使いました。 GPU できる限り早いやつ ノートPCなので、外付けGPUケースにThunderbolt3でGPUを接続しています。 GTX 2080とケースで 10万円ぐらいかかっています。 CUDA Toolkit あらかじめ入れておきましょう。 hashcat hashcatのWindows版で公式サイトからダウンロードしたもので、バージョンが5.1.0の場合は古いので対応していません。 Windows版のJohn

    GPUでZIPパスワードを解析する - Qiita
    maangie
    maangie 2019/12/12
    ※「処理開始からわずか1分ほどでGPUの温度が80度を越え」
  • さよなら本番サーバー - Qiita

    とあるSESの現場では番リリースの時期が近づいてきており、僕を含めた数人のエンジニアは間に合いそうもない残作業の開発を進めたり、番で使うためのデータの整備を番サーバー内で行ったりしていた。ほとんどがその案件のために集められたメンバーだったため特に和気あいあいとするでもなく、エアコンの風の音が響く小さなオフィスの片隅で静かに作業をしていた。 業務上のやりとりもRedmineで行われており、声を発するのもたまにメンバー同士で話をしたり、クライアントから電話がかかってきた時だけ。その日もメールで通知が届いてきており、確認してみるとRedmineで僕が関係しているチケットにコメントが届いているという通知だった。 通知のURLをクリックしてRedmineのチケットを確認してみる。 それによると一旦番サーバー上に存在するデータの中の一部の主要データをCSV形式で送ってほしいという依頼だった。無

    さよなら本番サーバー - Qiita
    maangie
    maangie 2019/12/03
    ぶこめも。オチ恐いよう。EC2 でもシングルユーザモードできるはず。はずだってば。あとで調べよう……。→できないらしい。対処法は https://aws.amazon.com/jp/instance-help/ https://qiita.com/YuukiMiyoshi/items/3a4df592002acd291228
  • 本番環境でやらかしちゃった人 Advent Calendar 2019 - Qiita

    番環境でやらかしちゃった人のアドベントカレンダーです。 例) DB吹き飛ばした 番サーバをデストロイした ネットワーク設定をミスって番サーバにアクセス出来なくなり、サーバが世界から孤立した などなど... 以下の2点については必須項目なので、記述お願いします。 惨劇はなぜおこってしまったのか 二度と惨劇を起こさないためにどうしたのか もう二度とあの惨劇を繰り返さないために、みなで知見を共有しましょう。

    本番環境でやらかしちゃった人 Advent Calendar 2019 - Qiita
    maangie
    maangie 2019/11/17
    rm -rf / tmp/*
  • 全ての開発者に知って欲しい5つの業務効率化ツール - Qiita

    こちらの記事は、Indrek Lasn 氏により2019年 6月に公開された『 Here Are 5 Productivity Tools Every Developer Should Know 』の和訳です。 記事は原著者から許可を得た上で記事を公開しています。 私がプログラミングに関して学んだ最も重要なスキルは、おそらく適切な仕事に適切なツールを選ぶことでしょう。ハンマーしか持っていないと、すべてが釘のように見えてしまいます。そのため、開発者の生産性と満足度を向上させる新しいツールを常に探すことが重要なのです。 注意:私はここで紹介する会社やツールとは一切関係がありません。私がそれらを選んだのは、それらが単純とても便利だと感じたからです。 Insomnia バックエンド、フロントエンド、フルスタックのいずれの開発者でも、APIを使った作業をする時があります。ほとんどのモダンアプリケー

    全ての開発者に知って欲しい5つの業務効率化ツール - Qiita
  • C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita

    C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目: C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。 UTF-8エンコーディングされた文字の型としてchar8_tを追加 - cpprefjp C++語リファレンス 追記 全ての開発者が知っておくべきUnicodeについての最低限の知識 - GIGAZINE Unicodeについて簡潔にまとまってるいい記事を見つけました。 Caution この文章には以下の要素が含まれます。苦手

    C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita
    maangie
    maangie 2018/12/23
    シフトアウト・シフトイン
  • 罵声を浴びて疲れた...入社3日目 - Qiita

    はじめまして、PHPプログラマーのアリスです。私はこう見えて日人ですが、母親はイタリア人です。さて、今回は入社3日目の初心者PHPプログラマー仕事でどんなことをしているか書きます。 1日目 1日目は、最初に自己紹介を行いました。 「山田アリスと申します。専門学校でプログラミングを学びました。バックエンドプログラマーとして配属されましたが、最初はわからないことが多いと思いますが、よろしくおねがいします。」 と言いました。歓迎ムードではなく、みんな無表情で手をぱちぱちしていました。 その後、「新人は入社後の手続きをしてください」と言われ、そのとおりにしました。その日の記憶は、それしかありません。 2日目 配属先で何をするかと思ったら、上司から「自分のPCの環境を完璧に設定しろ。後からバカみてぇにコロコロといらねーもん入れたら承知しねーから、今のうちに必要なものは入れておけ」と言われ、Ema

    罵声を浴びて疲れた...入社3日目 - Qiita
    maangie
    maangie 2018/11/14
    コレ Qiita じゃないとは思うがしかし。
  • 侍エンジニア塾のC言語のサンプルがヤバすぎる。

    C言語はもうかれこれ10年くらい書いていないけど、流石にこれはヤバい。 正直な感想として、ブランド毀損するくらいの危険性をはらんでいると思う。 当該記事からコピーしてきた。 #include <stdio.h> #include <stdlib.h> // 構造体の宣言 typedef struct { int num; char *str; } strct; int main(void) { // 実体を生成 strct *entity; // 動的メモリの確保。確保したメモリをstrct型ポインタにキャスト。 entity = (strct*)malloc(sizeof(strct)); // メンバの初期化 entity->num = 0; entity->str = (char*)malloc(sizeof(32)); // メモリに文字列を代入 sprintf(entity->s

    侍エンジニア塾のC言語のサンプルがヤバすぎる。
    maangie
    maangie 2018/10/18
    sizeof は関数とかマクロじゃなくって、演算子だってコトを理解してないんじゃないかな。「コード憎んで、人を憎まず」
  • 「世界最悪のログイン処理コード」を解説してみた

    概要 ところでこのツイートを見てほしい。このソースコードをどう思う? 世界最悪のログイン処理コード。 実際のサービスで可動していたものだとか……https://t.co/C2bG93ZCkj pic.twitter.com/EfVNAEslrn — はっしー@海外プログラマ🇳🇿元社畜 (@hassy_nz) 2018年8月10日 すごく……セキュリティーホールです…… 一応は動いていますが、あまりに問題がありすぎるため、Twitterでも話題になっていました。 問題点は片手に入り切らないぐらいある気がしますが、一つづつ解説していきます。 ※元記事のタイトルに記載されていますが、このコードはイントラネット内で動作していたものです。 問題点リスト 1. クライアント上のJavaScriptで書かれている 他の問題点を全部ぶっ飛ばすぐらいの重大な不具合です。 クライアントと言うのはこの場合、

    「世界最悪のログイン処理コード」を解説してみた
    maangie
    maangie 2018/08/14
    ブックマーク・コメントも。
  • require()とは何か?何が便利なのか - Qiita

    などとついていますが、このrequire()ってよくわからない。 具体的には、 どうやって使えばいいの? 普通にscriptタグで読み込む場合とどう違うの? 「require」でググっても英和辞典とかしかでないんだけど! ということでざっと調べてみました。 commonJS 以下、要約 そもそもの発端は、「Javascriptって良いよね。ブラウザ以外(ServerSide)でも使おうぜ」ということからだったらしいです。 しかし、scriptタグで読み込むこと前提だったので、HTMLがない(レンダリングエンジンがない)場合に外部ライブラリを参照する方法がない。。。 (さらに言えば、FileやNetwork、標準入出力など色々と不便。) これじゃ困るということで、ServerSideの標準仕様を定めたのがcommonJS。 その中で外部ライブラリを参照する方法が、各JSファイルをモジュール化

    require()とは何か?何が便利なのか - Qiita
  • 圧縮されたtarの展開方法の変遷 - Qiita

    私がやっていた圧縮されたtarの展開の仕方を書いてみる。 ~1992年 gzipが出る前。圧縮に使っていたのはcompressで圧縮したtarの拡張子はtar.Z。ファイルを伸長して標準出力に出力するzcatがあり、tar.Zを展開するときは

    圧縮されたtarの展開方法の変遷 - Qiita
    maangie
    maangie 2018/03/10
    最近は tar xf しか使ってない。
  • ドラッグ&amp;ドロップでReact製のWEBアプリがつくれるReactStudioがやばい - Qiita

    ReactStudioを使ったアプリの作り方はこちら React Studioを使ってQiitaの記事一覧アプリを作成してみる はじめに reactというとJSXの書き方、props、stateの挙動等を覚える必要があるため、 学習コストが割りと高めであったり、環境を構築するのに一手間かかったり等、 まだまだとっつきにくさが否めないライブラリです。 しかし、今回は、そんなReactをドラッグ&ドロップでアプリが 作れてしまうツールがあったので紹介したいと思います。 ※尚、Windowsはなく、Macのみで使用できるツールでございますので、予めご了承下さい。 公式サイト 公式サイトへのURLはこちら。 React Studio https://reactstudio.com/ ツールの使い方 ReactStudioでコンポーネントをデザインします。 その後、コードが自動生成されます。 無料で

    ドラッグ&amp;ドロップでReact製のWEBアプリがつくれるReactStudioがやばい - Qiita
  • 【単位超入門】ピクセル、ドット、PPI、DPI、解像度、メートル、インチ、ポイント - Qiita

    記事の最後に 変更履歴 を記載しております。 はじめに この記事は、HTML / CSSの知識はあるけど、ピクセルなどの各単位についてあまり理解していない初学者向けの内容です。 私自身未熟ですので説明に誤りがあるかもしれません。 誤りがあれば、ご指摘ください ((_ _ (´ω` )ペコ 第1章 メートルとは 第2章 インチとは 第3章 ポイントとは 第4章 ピクセルとPPIについて 第5章 ドットとDPIについて 第6章 解像度とは 今回、調べて記事をまとめるのに結構な時間を費やしました。 単位について理解を深めたいと考えている方の一助になれば嬉しいです。 第1章 メートルとは 私たちはメートルという単位を使って、長さを表すことができます。 先人の方々がメートルという単位を定義し、普及させてくれたお陰です。 最初は、このメートルという単位がどのように誕生したのか簡単に見ていきましょう。

    【単位超入門】ピクセル、ドット、PPI、DPI、解像度、メートル、インチ、ポイント - Qiita
    maangie
    maangie 2017/02/14
    「「坪」という単位は国際単位系にはありませんので、取引又は証明に使用することはできません」。「畳」もそうだよね……?
  • [C#]Windowsで書いたソリューションをMacでビルドしたメモ - Qiita

    Windowsで書いたC#ソリューションをMacでビルドするために友人とともにちょっと奮闘しましたので記録しておきます。手早く試したかったので、IDEなどのツールを使わない方法のメモになっています。 使用したソリューションは「冒険者は森に強い」というゲームのソースコードです。GitHubから参照できます。 概要 この記事で紹介する順番とは異なります。 VisualStudioのソリューション(.sln)やプロジェクト(.csproj)をコンパイルするにはxbuildコマンドを使う NuGetパッケージを復元するにはNuGet.exeを実行する mono環境で利用できないライブラリの参照をなくす brewでmonoをインストール まだmonoをインストールしていない場合は、まずmonoをインストールする必要があります。友人はパッケージマネージャとしてbrewを使っていたので、それでmonoを

    [C#]Windowsで書いたソリューションをMacでビルドしたメモ - Qiita
  • SourceTreeの外部Diffでブランチ間のディレクトリ比較できると泣けるほど便利 - Qiita

    動機 SourceTree から WinMerge(Windowsの人)や meld (Macの人)を 外部Diff ツールとして設定すると、SourceTree から 外部Diff ツールを利用してファイル差分を確認することができます。 ただ SourceTreeから呼び出す外部Diffは、ファイル単位での比較になりイマイチです。 一方 git コマンドでは difftool コマンドに --dir-diff オプションが用意されていてディレクトリ単位で外部Diffツールが利用できて便利です。 SourceTree でもディレクトリ単位で外部Diffやりたい。という思いで試してみてある程度うまくいったので記事にしてみました。 まずgitコマンドでの difftool について SourceTree の説明の前に、git コマンド の difftool から説明します。 git difft

    SourceTreeの外部Diffでブランチ間のディレクトリ比較できると泣けるほど便利 - Qiita
    maangie
    maangie 2017/01/14