タグ

ブックマーク / postd.cc (25)

  • あまり知られていないPostgreSQLの機能 | POSTD

    あなたが知らない既存機能があるかもしれません! マイクロソフト社は2006年、Microsoft Officeの新バージョンで追加してほしい機能について、顧客調査を実施しました。驚いたことに、ユーザが希望した機能の90%以上はすでに実装されており、その存在が知られていないだけであることが判明しました。機能の「見つけにくさ」の問題の解決策として同社が考案したのが、現在のMicrosoft Office製品でおなじみの「リボンUI」です。 この問題はOfficeに限ったものではありません。日々使用するツールの機能をすべて把握している人はほとんどいません。PostgreSQLのように大規模なツールであればなおさらです。数週間前にPostgreSQL 14がリリースされたばかりなので、この機会にPostgreSQLのあまり知られていない機能に注目してみたいと思います。 この記事では、Postgre

    あまり知られていないPostgreSQLの機能 | POSTD
    t1mvverr
    t1mvverr 2022/05/24
    postgres使う人だからありがたい。「UPSERTでINSERT件数取得」「DISTICTON句で各グループの最大値を簡単取得」「ドル引用でjson値を簡単生成」は結構役立ちそう。
  • 中身のないnpmパッケージ「-」が70万回以上ダウンロードされる— その理由とは | POSTD

    名前が1文字の「-」という謎めいたnpmパッケージは、2020年にレジストリで公開されて以来、70万回以上ダウンロードされています。 さらに、このパッケージには有効なコードが含まれていません。では、一体なぜこれほど多くダウンロードされているのでしょうか? npmパッケージ「-」の中身 「-」というnpmパッケージは、2020年初めにnpmレジストリで公開されてから、約72万回もダウンロードされてきました。 パッケージのバージョンは0.0.1のみで、ファイルは3つです。 tar tvf 0.0.1/--0.0.1.tgz package/dist/index.js package/package.json package/README.md これらのファイルは主にマニフェスト(package.json)とindex.jsで、特に面白い点はなく、スケルトンコードが書かれているだけです。 マニフ

    中身のないnpmパッケージ「-」が70万回以上ダウンロードされる— その理由とは | POSTD
    t1mvverr
    t1mvverr 2021/12/16
    性善説で支えられてる感がすごい
  • 優れたエンジニアを採用できないワケ | POSTD

    あなたは技術者採用の面接が苦手ですね。そう、あなたですよ。間違ったスキルを探し求め、適正の無い人たちを採用して、自分自身と会社に悪い影響を与えているのです。応募者リストを見直さなくとも、今までとは違う人材を採用し、会社の業績を上げ、あなた自身も仕事をもっと楽しめるようになりますよ。 いささか大胆な物言いだということは承知しています。仕事での経験を積み面接を担当するようになってから10年、大小の企業の様々な部署で、技術者を雇うための数多くの面接をしてきました。採用する人材が会社に及ぼす影響についても見てきました。完璧な採用を目指せというつもりはありません。私自身がこれまで何度もしてきたあらゆる失敗をあなたが犯さなくても済むよう、お伝えしたいのです。私がこれまで学んできたことは次のようなことです。 誤った判断基準 1. 応募者の現時点の知識に基づいて採用しない 面接で犯しがちな最初の間違いは、

    優れたエンジニアを採用できないワケ | POSTD
    t1mvverr
    t1mvverr 2019/05/27
    "優れたエンジニアは、今まで目にしたことがない問題でなければ、生産性を最大化するためにライブラリを利用しようとするものです。"
  • JavaScriptのデバッグ方法 – JSを嫌いにならないためのTips | POSTD

    この記事のオリジナルは voxxed に投稿されたものです。 JavaScript関連の問題を抱えるチームをサポートする仕事を通じて、いくつか共通の問題点があることに気づきました。もしあなたもJavaScriptに対するイライラを感じているのであれば、この記事は何らかの助けになるかもしれません。おことわり:私がお教えするヒントはすでにご存知のものもあるとは思いますが、うまくいけば、多少なりとも有用な情報があるかもしれません。特にエンタープライズアプリケーションやCMSソリューションを構築する際に有効なヒントです。チームの誰もが話したがらないCMSのコードについてお話しします。いずれも必要に応じて採用できるものです。 debuggerステートメント 大半のブラウザでサポートされているにもかかわらず、JavaScriptを書く際に最も活用しきれていない機能の1つです。debuggerステートメ

    JavaScriptのデバッグ方法 – JSを嫌いにならないためのTips | POSTD
  • 開発者が知っておくべきSOLIDの原則 | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) オブジェクト指向プログラミングが、ソフトウェア開発に新しい設計を持ち込みました。 その結果、開発者は単一の目的を処理するために、全体のアプリケーションに関係なく、1つのクラスの中で、同じ目的や機能を持つデータを結び付けることができるようになりました。 しかし、このオブジェクト指向プログラミングで、分かりにくいプログラムやメンテナンスができないプログラムを防ぐことはできません。 そこで、5つのガイドラインがRobert C. Martinによって作り出されました。これら5つのガイドラインすなわち原則により、開発者にとって読みやすく、メンテナンスが可能なプログラムを作成しやすくなりました。 5つの原則は、S.O.L.I.Dの原則と呼ばれています(頭字語はMichael Feathereによって名付けられま

    開発者が知っておくべきSOLIDの原則 | POSTD
    t1mvverr
    t1mvverr 2019/02/28
    開放閉鎖の法則→「AnimalSound関数は、makeSound()があるクラスだけ、受け付けるよ」 インターフェイス(IF)分離の法則→「でかいIFを作ると無駄なメソッド作らないといけないよ。小さいIFを組合せて大きいIFを作ってよ」
  • JavaScriptのモナド | POSTD

    恒等モナド Maybeモナド リストモナド 継続モナド Do 記法 連鎖呼び出し モナド とは、一連のステップによって実行する計算を記述する際に使用する、1つのデザインパターンです。 純粋関数型プログラミング言語 では、モナドは 副作用を管理する ために広く利用されていますが、 マルチパラダイム言語では、モナドで複雑性を制御することもできます 。 モナドはデータ型をラップして、空の値を自動的に伝播したり( Maybe モナド)、非同期コードを簡略化したり( 継続 モナド)といった、新たな動作を既存のデータ型に追加します。 一連のコードをモナドと見なすためには、その構造には次に挙げる3つの要素が含まれていなければなりません。 型コンストラクタ — 基的な型に対してモナドの動作を追加した型を作成する機能です。例えば、基的なデータ型 number に対して、 Maybe<number> とい

    JavaScriptのモナド | POSTD
  • なぜPythonはこんなにも遅いのか? | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) Pythonは高い人気を誇り、DevOps、データサイエンス、Web開発、セキュリティの分野で使われています。 しかし、速度に関しては高い評価が全くありません。 JavaとC、C++、C#、Pythonの速度を比べるには、どうしたらいいのでしょう? 答えは、実行するアプリケーションのタイプに大きく左右されます。完璧なベンチマークはありませんが、[手始めに比べる手段](https://algs4.cs.princeton.edu/faq/)としてはThe Computer Language Benchmarks Gameが適しています。 私は10年ほどthe Computer Language Benchmarks Gameを参照していますが、Java、C#、GoJavaScriptC++などの他言

    なぜPythonはこんなにも遅いのか? | POSTD
    t1mvverr
    t1mvverr 2018/10/12
    Javascriptはフロント独占だから使われてる気がするし、RubyはRailsがあるから使われてる気がするし、Pythonもライブラリに恵まれてるから使われている気がする。
  • ソフトウェア開発における学習性無力感 – 作業環境の改善 | POSTD

    暗闇を呪うよりも、ろうそくに火を灯そう 過去24時間で、私の2つ記事、 Why Your Programmer Just Wants To Code(なぜ、あなたのプログラマはコーディングだけをしたがるのか) と A Wake-Up Call For Tech Managers(テックマネージャーへの警鐘) は、Mediumで96,000回以上読まれました。また、 Redditのコメント数も900を超えています 。 思っていたよりも、問題は深刻のようです。 そう、テック企業には悪いマネージャーもいます。そして、私はそうしたマネージャーに辛辣です。プログラマの無関心の責任は、直接的に彼らにあると思っています。 フラストレーションがたまり、何の権利もないと感じながら思考停止に陥っているプログラマを私は助けたい。 上記コメントの 圧倒的 大部分を投稿したのは、これを読んでいるプログラマの皆さんで

    ソフトウェア開発における学習性無力感 – 作業環境の改善 | POSTD
    t1mvverr
    t1mvverr 2018/06/15
    どこのソフトウェア企業も似た問題を抱えているのか。人ってやること一緒やな。
  • 恐竜に教える現代のCSS – Part 1 | POSTD

    注釈: 「CSSでピクセルをいじるのは確かに難しかった! 今じゃHTMLで非セマンティックなクラス名とかインラインCSSとかを使うのがクールで、JavaScriptCSSスタイルを書いたりもできるって!」 「『ファミリー・ガイ』の『CSS』GIF(訳注:米アニメ『ファミリー・ガイ』のキャラクターを使った、CSSを扱う厄介さを示唆するGIF画像)をここに挿入」 「ハハッ!」 CSSは不思議なことに、Web開発者が学ぶ中で非常に易しいとも難しいとも考えられている言語です。確かに、CSSは簡単に始められます。特定の要素に適用するスタイルの属性と値を定義して、それから……いえ、差し当たって必要な作業はほぼそれだけです。しかし、比較的大規模なプロジェクト向けに意義のある形でCSSを組むとなると、作業は複雑に入り組んできます。あるページのある要素のスタイルを指定しようとCSSのどの行を変更しただけで

    恐竜に教える現代のCSS – Part 1 | POSTD
    t1mvverr
    t1mvverr 2018/05/15
    範囲指定の記述が1/4だと除算に見えるので、1:4みたいなスライス記法が良かった気がする。
  • 私がTypeScriptについて勘違いしていたこと、そしてその理由 | POSTD

    (訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) 何か新しいものが登場したと聞くと、人はそれに対する賛否を選ぶ傾向があります。TypeScriptが登場したときの私は、キーコンセプトのうち自分に合わないものをほんの幾つか取り上げて「否」の側を選んでしまいました。この記事では、私が当時どのように考えていたか、そして私がどのようにして「TypeScriptの背景には、大きな犠牲なしに利点を得る方法を知る人々による偉大な考えがあった」ことに気付いたかを説明しようと思います。 TypeScriptが登場したときの私の考え Anders Hejlsbergが何かに取り組んでいるときは、つい私はそちらに注意を完全に傾けてしまいます。彼はコンパイラの構築やプログラミング言語の設計を30年近く経験してきています。彼の様々なプログラミング言語に関する貢献については 彼のW

    私がTypeScriptについて勘違いしていたこと、そしてその理由 | POSTD
    t1mvverr
    t1mvverr 2018/03/02
    「型推論」で型をvarで省略できて、「文脈的型付け」で引数の型を省略できる。
  • 優秀な面接者に共通するものとは? 数千の実例を調べてみました。- 前編 | POSTD

    interviewing.ioでは以前、応募者の視点から、良い面接には何が役に立つのかについて分析し、多少掘り下げた記事を書きました。しかし、質的に両者の力関係は不均衡ではあるものの、面接は双方向のやりとりなのです。私は少し前に、この市場では 人材採用は身元調査ではなくて販売のようなもので 、1時間も話をしている間に応募者の心を掴むことができなければ甚大な機会の損失になるという記事を書きました。しかし、面接の問題を解くことが時間と練習を必要とする習得されたスキルであるのと同じように、机を挟んだこちら側でもスキルを習得しなければなりません。良い面接者になるには、時間と努力、そして、オートパイロット任せを脱して相手と有意義に係わり合うのだという根的な意志が必要です。 もちろん、ほとんどの人には、どうすれば良い面接者になれるかについて各自の揺るぎない意見があるので、ここでは理論や哲学の話は避

    優秀な面接者に共通するものとは? 数千の実例を調べてみました。- 前編 | POSTD
    t1mvverr
    t1mvverr 2018/02/02
    「シンプルなデータ構造を作り、その上にアルゴリズムを実装する」てきなレイヤーを作る & 教科書じゃなく、会社の事業関連の問題を作る & 解く中で興味深いものを教えるような問題を作る
  • 超高速エンジンの内部:Quantum CSS(別名Stylo)- 後編 | POSTD

    この記事は後編の記事となります。 前編は こちら 全てを並列処理で実行 Servoプロジェクト(Quantum CSSの大元)は実験的なブラウザで、Webページのレンダリングの様々な部分を全て並列化しようとしています。これは、いったいどういう意味でしょうか。 コンピュータは脳のようなものです。考える部分(ALU)があり、その近くには短期記憶を司る部分(レジスタ)があります。これらはCPU上でグループ化されています。また、長期記憶を司るのがRAMです。 注釈:長期記憶(RAM) 短期記憶(レジスタ) 考える部分(ALU) 初期の頃のコンピュータでは、CPUを使って一度に1つのことしか考えられませんでした。しかし、この10年間で、複数のALUやレジスタをグループ化してコアにまとめて持つようになったことで、同時に複数のことを処理できるようになってきました。 注釈:コア Quantum CSSは、

    超高速エンジンの内部:Quantum CSS(別名Stylo)- 後編 | POSTD
  • サーバの適切な名前の付け方 | POSTD

    現在、 MNX ではクラウドホスティングサービスの新しいデータセンタを立ち上げているところで、とてもバタバタしています。クラウドホスティングサービスは、今の私たちの主な業務ですが、この会社が始まった当初は、Linux管理のコンサルティングサービスを中心としていました。そのサービスを通じて、たくさんの顧客環境を目の当たりにしましたし、それと同じ数だけの、顧客ごとに異なるデバイス名の指定方法も見てきました。そしてもちろん、その全ての指定方法をいいなと思ったわけではありません。名前の付け方は、コンピュータ草創期からの問題ですよね。おのおのがホスト名の指定方法について一家言持っていました。でも、それらの方法は最初のうちはうまくいっても、時を経てシステムインフラが拡大し、状況に応じて変更を余儀なくされるようになると、すぐに扱いにくくなってしまうものがほとんどでした。 そこで今回は、先述した私たちのデ

    サーバの適切な名前の付け方 | POSTD
    t1mvverr
    t1mvverr 2017/12/12
    <webとかcfgとかの用途名>.<devとかprdとかの開発ステージ名>.<UN/LOCODE名>.examle.com
  • ブロックチェ-ンを構築しながら学ぶ | POSTD

    ブロックチェ-ンの仕組みを知るには構築するのが最短の方法 この記事を読んでいるということは、仮想通貨の拡大に興奮しているということですね。ブロックチェ-ンの仕組み、背後にある基的なテクノロジーについて知りたいのでしょう。 しかしブロックチェ-ンを理解するのは簡単ではありません。少なくとも私にはそうでした。大量の動画の中をさまよい、抜けだらけのチュートリアルに従い、結局、実例が少なすぎてフラストレーションが大きくなりました。 私は手を動かして学ぶのが好きです。コードのレベルで内容を扱わざるを得なくなり、そうすることで身に付くからです。同じようにやってもらえば、この解説が終わる頃には、機能するブロックチェーンが出来上がり、どのように動くかがしっかりと把握できるようになるでしょう。 準備 ブロックチェ-ンとはブロックという名の 不変でシーケンシャルな 一連のレコードだということを覚えてください

    ブロックチェ-ンを構築しながら学ぶ | POSTD
    t1mvverr
    t1mvverr 2017/12/12
    最近学ぶこと多いから学習休暇とか作って欲しい。寝ながら学習する。
  • なぜタイポグラフィにおいてVertical Rhythm(バーティカルリズム)は重要な手法なのか? | POSTD

    Webのタイポグラフィについて少しでも調べたことがあるなら、 Vertical Rhythm という言葉を耳にしたことがあるのではないでしょうか。タイポグラフィを用いて仕事をする場合、最も重要な手法の1つです。このことについて知って以来、私は自分のサイト全てにVertical Rhythmを使っています。 ある日、Vertical Rhythmの重要性について自分が全く理解していないことに突然気付き、愕然としました。そしてその後すぐに2つの疑問が湧き上がってきました。「なぜVertical Rhythmを使うとサイトのデザインが向上するのか? 」「自分のデザインを良くするために、Vertical Rhythmから何を学べばいいのだろうか? 」。 私はこの疑問を解明しようと決めました。その考察を綴ります。 記事の最初にあたって認識を共通にするため、まずはコンテキストについて説明します。 Ve

    なぜタイポグラフィにおいてVertical Rhythm(バーティカルリズム)は重要な手法なのか? | POSTD
    t1mvverr
    t1mvverr 2017/12/05
    デザインとか形とかが統一されてると、マンネリしてきて飽きて来そう
  • IPFS入門 : 新たなP2Pハイパーメディア分散プロトコル | POSTD

    提供:Bogdan Burcea IPFS があれば、他の全てのものが一定のやり方で見えるようになり、全てをすっかり置き換えられることに気づく – Juan Benet IPFSへのあまり技術的でないアプローチ 執筆:John Lilic 稿の後半では、同僚のChristian Lundkvist博士が 踏み込んだ技術的概要 を紹介していますので、その導入となる大まかな考え方をこのセクションでお話ししたいと思います。 IPFSは、バージョン管理された科学的データを巡回する高速システムの構築を目的として、Juan Benetの取り組みによって始まりました。 バージョン管理 が行われていると、ソフトウェアの変更履歴を追跡できるのです( Gitのような仕組み )。その後、IPFSは 分散された永続的なWeb として考えられるようになりました。「 IPFSとは、あらゆる端末を同じファイルシステム

    IPFS入門 : 新たなP2Pハイパーメディア分散プロトコル | POSTD
  • コーディングに対する考え方を変える6つのプログラミングパラダイム | POSTD

    私は時折、コーディングに対する考え方を変えさせられるような、従来と非常に異なるプログラミング言語に出会います。記事では、その中でも特に気に入っている発見をいくつかご紹介したいと思います。 これは、先賢による「関数型プログラミングは世界を変える!」的な投稿ではありません。記事で挙げるのは、もっと「知る人ぞ知る」的なリストです。多くの読者の方にとって、以下の言語やパラダイムは聞いたことのないものが大半だと思いますので、私が経験したように、これらの新しい概念を学ぶ楽しさを感じていただければ幸いです。 注:私は以下の言語の多くに関して最低限の経験しかありません。その発想に引き込まれたのであって、専門的知識は持ち合わせていないため、訂正すべき点や誤りがあればどうぞご指摘ください。また、記事で取り上げていない新しいパラダイムや概念に出会った方は、ぜひお知らせください。 最新情報:記事が r/p

    コーディングに対する考え方を変える6つのプログラミングパラダイム | POSTD
    t1mvverr
    t1mvverr 2017/07/10
    ラズパイで使えるmathmatica(wolfman)ってこんな面白そうな言語だったのか。教育にもいいわな。
  • 私がsystemdを嫌う理由 | POSTD

    (訳注:7/24、いただいた翻訳フィードバックを元に記事を修正いたしました。) (訳注2:8/4、いただいた翻訳フィードバックを元に記事を再修正いたしました。) この2010年代にLinuxシステムの管理者をしていれば、systemdに関して何かしら思うところがあるでしょう。そして私は管理者たちの意見が両極端に分かれていることに驚きました。ほとんどの人(少なくとも意見を表明している人達)はsystemdが「大好き」か「大嫌い」かのどちらかのようです。私の場合、systemdをきっかけに昨年OpenBSDを使うことになったのですが、これを話したことで私がsystemdを「大嫌い」だと思われたようです。でも、それは違います。 当は、systemd自体は私がOpenBSDに移った理由のほんの一部にすぎません。しかし、この経験によって2つの重要な点に気付きました。まず、最近のLinuxの設計の問

    私がsystemdを嫌う理由 | POSTD
    t1mvverr
    t1mvverr 2017/02/06
    "沢山の特化したコマンドを使って書く"powershellみたいな物ってことかな?
  • H.264の秘密 | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) (2016/12/11、いただきましたフィードバックをもとに翻訳を修正いたしました。) H.264は、動画圧縮コーデックの標準規格です。ネット上の動画、Blu-ray、スマホ、セキュリティカメラ、ドローンなどなど、今やあらゆるところでH.264が使われています。 H.264は注目すべき技術のひとつです。たったひとつの目標、つまりフルモーションビデオの送信に要するネットワーク帯域を削減することを目指した30年以上の努力の結晶なのです。 技術的な面でも、H.264はとても興味深い規格です。この記事では、その一部について概要レベルでの知識を得られることでしょう。あまり複雑だと感じさせないようにするつもりです。今回おはなしする概念の多くは動画圧縮全般にあてはまるものであり、H.264に限ったものではありません

    H.264の秘密 | POSTD
  • 畳み込みニューラルネットワークの仕組み | POSTD

    (編注:2016/11/17、記事を修正いたしました。) ディープラーニングの分野でテクノロジの進化が続いているということが話題になる場合、十中八九畳み込みニューラルネットワークが関係しています。畳み込みニューラルネットワークはCNN(Convolutional Neural Network)またはConvNetとも呼ばれ、ディープニューラルネットワークの分野の主力となっています。CNNは画像を複数のカテゴリに分類するよう学習しており、その分類能力は人間を上回ることもあります。大言壮語のうたい文句を実現している方法が当にあるとすれば、それはCNNでしょう。 CNNの非常に大きな長所として、理解しやすいことが挙げられます。少なくとも幾つかの基的な部分にブレークダウンして学べば、それを実感できるでしょう。というわけで、これから一通り説明します。また、画像処理についてこの記事よりも詳細に説明

    畳み込みニューラルネットワークの仕組み | POSTD
    t1mvverr
    t1mvverr 2016/11/21
    deeplearningはシステムの名称