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

  • Party Parrot とは 〜イカれたオウムの歴史を紐解く〜 - Qiita

    Slackユーザでなくともエンジニアの方なら一度は見かけたことがあるであろうこのGif画像。 Party Parrot という名称で世界中で愛されています。 ただ、このParty Parrotが何者なのかご存知でしょうか。 奇妙でどこか愛らしい彼の、意外と知られていない歴史を紐解いていきます。 きっかけはBBC 全ての始まりは2009年9月4日にBBCが放映した「Last Chance to See」というテレビ番組の1シーンでした。 イギリスの俳優スティーヴン・フライ(Stephen Fry)と動物学者マーク・カーワーダイン(Mark Carwardine)は撮影でニュージーランドを訪れます。 目的は、世界で唯一飛べないオウムであるカカポ(和名:フクロウオウム)を撮影することです。 Mnolf - Photo taken on Codfish Island (Whenua Hou), N

    Party Parrot とは 〜イカれたオウムの歴史を紐解く〜 - Qiita
  • Haskellの型システムについての1人語り - Qiita

    まえがき 周りにHaskellerがいなくて、話す友達もいないので誰かに語りたくなりました。 なにも実のない自己満足の記事です。 対象者 Haskell入門した人 Haskellちょっとだけわかる人 Haskellちょっとだけ学んだけどなにがいいんだ???ってなってる人 編 今回話したいのはずばり、関数持ち上げです。これだけです。 Haskellを学んだ人ならお馴染みだと思いますが、関数持ち上げについて少し説明すると、通常の引数を取る関数を、モナドやファンクターを取る関数に変えることです。 例を上げると、

    Haskellの型システムについての1人語り - Qiita
    IzumiSy
    IzumiSy 2019/11/27
    "はい、もう大好きです"
  • Goとクリーンアーキテクチャとトランザクションと - Qiita

    はじめに アドベントカレンダー16日目、aptpodのしがないサーバーサイドエンジニアがお届けします。 弊社ではサーバーサイドのプログラミング言語としてGoを利用しています。 Goでアプリケーションを実装していく中で特に頭を悩ませた、Go x クリーンアーキテクチャ x トランザクションについて、学んだこと、どうやって対処したかを書きたいと思います。 題材について 解説するにあたり、クリーンアーキテクチャ1を意識したサンプルアプリケーションを作りました。 機能自体はしょうもない、CRD(Update無し!)です。 意識はしていますが、クリーンアーキテクチャの厳密さを言われるとそうでもないです。 しかし、その部分の議論は題とずれますので特に触れません。 まず全体の絵を。 ざっくりクラス関連図 ざっくりシーケンス図 ユースケースのアクティベートの部分はトランザクションを意味しています。そこだ

    Goとクリーンアーキテクチャとトランザクションと - Qiita
  • 現在時刻が関わるコードを関数型で書いてテスタビリティを見てみた - Qiita

    最近、現在時刻が関わるプログラムを題材に、高テスタビリティなプログラミング作法を解説した素晴らしい記事が復刻されて、感想などがTLに流れてきたので、自分もそのお題を関数型プログラミングで解いてみた記事。 はじめに 最近、こんな引用ツイートをした。 関数型界隈だと、参照透過な部分とそうでない部分(現在時刻, 乱数, etc.)を分離しといて使うところで合成する作法が尊重されてて、simplicity と composability の結果として、テスタビリティや柔軟性が高くなる(低くならない)ということがよく謳われている。あとで自分もFPでお題解いてみよう。 https://t.co/00TwqXmtC7 — yasuabe (@yasuabe2613) September 30, 2019 元記事は、t-wadaさんの『現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ 』で、めち

    現在時刻が関わるコードを関数型で書いてテスタビリティを見てみた - Qiita
  • ジャバの異常な愛情 またはSpringはいかにしてモダンであることを止めて時代遅れになったのか - Qiita

    Spring以前 RPC 業務で使うシステムはサーバー間で連携することが多い。2019年現在ではREST apiに対してjsonやprotocolbufferで呼び出す事が当たり前のように行われているが、まだjsonも発見されていない時代はもっと複雑な仕組みが取られていた1。異機種間でやりとりするためのCORBAや、機種に依存しないデータプロトコルのASN.1なども利用されていたが、仕様は複雑でそれぞれをハンドリングするライブラリは有償で売られ、ベンダーからサポートを受けながら使用するようなものだった。 RMI Javaの世界ではJava同士でやりとりするためのRMIが定義され、比較的に楽にRPCできるようになった2。とはいえhttpでrestをコールすることに比べたらアホみたいな複雑さである。 https://docs.oracle.com/javase/jp/1.3/guide/rmi

    ジャバの異常な愛情 またはSpringはいかにしてモダンであることを止めて時代遅れになったのか - Qiita
  • Cloud Firestoreを実践投入するにあたって考えたこと - Qiita

    はじめに Firebase Realtime DBを実践投入するにあたって考えたことを読んで頂いてありがとうございます。 多くの方から「いいね」を頂いて、今回のこの記事を書くモチベーションになりました 当にありがとうございました! さて、CloudFirestoreは、Firebase Realtime Databaseとは全く違うデータベースです。特にSubCollectionやQueryが導入されたことにより、リレーションシップの設計に関して大きく異なります。 この記事では、主にCloudFirestoreにおけるリレーションシップの設計方法から、アプリ・CloudFunctionsに至るまでを幅広く解説して行こうと思います。 次の記事ではデータベースの歴史を解説しています。 RDBの限界とNoSQLの登場 Cloud Firestoreでの開発について 私の経験上確実に断言できるこ

    Cloud Firestoreを実践投入するにあたって考えたこと - Qiita
  • なるべく切れない回線のつくりかた(物理) - Qiita

    ※当然ながら、障害発生時はどのグレードでも0bpsになります 「なら専用線選んでおけばいいじゃん」と思うかもしれませんが、費用が圧倒的に違い、同じ帯域なら1段あがるごとに2~10倍ほどになります。たとえば5倍として、ベストエフォート100Mbpsで月額10万円なら、帯域確保は50万円、帯域保証は250万円、専用線は1000万円という差になってしまうでしょう。予算は有限ですから、むやみに高い品質を選んでしまうと帯域がとれないということになります。同じ予算であれば、1Gbpsベストエフォートがよいのか、200Mbps帯域確保がよいのかは場合によって異なるので、適切な選択をするべきです。 そして、ベストエフォートはベストエフォートでも、1Gbpsで100Mbpsしか出ないキャリアもあれば、1Gbpsで900Mbpsくらいを保証しているキャリアもあります。これは概ね値段に比例しますが、つまりベスト

    なるべく切れない回線のつくりかた(物理) - Qiita
  • SQLアンチパターンもりもりDBを設計しよう! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 名著SQLアンチパターンを読み終えたので、それの復習のために悍ましいデータベースを作ろうと思った。 まず前半では、SQLアンチパターンを意図的に盛り込み、目も当てられない酷い設計をします。 そのあとリファクタリングを行なったER図に書き直していきます。 なお、真面目に書くと参考書の丸写しになってしまうので、この記事は アンチパターンもりもりのER図を見て嫌悪感を学習し、設計に役立てようという趣向のもと、詳しい説明は省きます。 とても良いなので読んでください。 想定するシステムの概要と状況 目的において適切かはわかりませんが、とり

    SQLアンチパターンもりもりDBを設計しよう! - Qiita
  • TypeScriptの型推論詳説 - Qiita

    TypeScriptJavaScriptに静的型を追加した言語で、コンパイルエラーを検出することでJavaScript開発をさらに快適・効率的にしてくれるものです。 型システムを備えている言語は、多かれ少なかれ何らかの形で型推論を備えています。大ざっぱに言えば、これは型を明示的に書かなくてもコンパイラがいい感じに型を推測して理解してくれる機能です。型推論は静的型付き言語における花型機能のひとつと言ってもよく、色々な言語がそれぞれの特色を持っています。 この記事ではTypeScriptにおける型推論について詳説します。この記事に書いてあることは、TypeScriptを普段から書いている方ならなんとなく理解している内容が多いと思います。しかし、これらの内容がちゃんと言語化されている記事がいまいち見当たらなかったので今回記事を書くことにしました。 ※ この記事の内容は執筆時点の最新版のType

    TypeScriptの型推論詳説 - Qiita
  • Vueの秘密のパフォーマンステク9選紹介 - Qiita

    VueConf USでのさまざまな発表 今年の3月に VueConf US が開催されました。最近になってビデオが公開されて初めて知ったこともあるので記事ではその紹介をします。 いろいろ面白いトピックがあるのですが、特にVueコアチームのGuillaume Chauさんによるパフォーマンス改善テクニックはまじかーという感じだったのでここにまとめたいと思います。 "9 Performance Secrets Revealed with Guillaume Chau" プレゼン動画: http://www.youtube.com/watch?v=5B66qer8cZo スライド: https://slides.com/akryum/vueconfus-2019#/ デモサイト: https://vue-9-perf-secrets.netlify.com ソース: https://githu

    Vueの秘密のパフォーマンステク9選紹介 - Qiita
  • GCPで永久無料枠を利用してサービスを立ち上げたときにしたことの備忘録 - Qiita

    はじめに 最近GCPWebサービスを立ち上げたので、そのときに実施したことをメモとして残しておきます。 今回はGCEで Debian + Nginx + Railsで環境を作りました。 ドメイン取得以外は終始無料で進めるための努力をしました。 また、今回はRailsアプリケーションを作成することは目的としていませんので、そこについてはあまり触れません。 やったこと GCEでインスタンスを立ち上げる アカウント作成時に貰える無料トライアル枠とは別に、無料で利用できるリソースがあります。 Always Free と呼ばれていて、GCEの場合は以下の要件を満たすインスタンスのみ永久に無料でインスタンスを立てることができます。 リージョンをus-*1から選択する 1つのf1-micro VM インスタンス 30GB以内 の永続ストレージ ※無料対象リージョンはus-*1のみというご指摘を受けまし

    GCPで永久無料枠を利用してサービスを立ち上げたときにしたことの備忘録 - 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言語のサンプルがヤバすぎる。
    IzumiSy
    IzumiSy 2018/10/17
    strctという命名でもうヤバイのが分かる
  • SSHなるものをよくわからずに使っている人のための手引書

    SSHとは SSHとは、セキュアな通信を行うためのプロトコルです。 たとえば、HTTP。HTTPを通してブラウザからWebサイトにアクセスし、 コンテンツを閲覧したりWebアプリを利用したりします。 この「HTTP」というのもプロトコルの一種です。 HTTPもSSHもOSI参照モデルと呼ばれる層の最上位、アプリケーションレイヤーに位置しています。 なお、よく聞く「OpenSSH」とは、このSSHのプロトコルを実現するための 有名なソフトウェア(プログラム)のひとつです。 FTPのプロトコルで言うFileZillaとか、そういったイメージです。 このSSHを使うと、リモートサーバに安全にログインできたり、 ファイルをセキュアに送受信することができたりします。 SSHは「Secure Shell」の訳で、リモートシェルに特化しています。 公開鍵認証という仕組みを用いて、セキュアな通信を実現して

    SSHなるものをよくわからずに使っている人のための手引書
  • JavaScriptでClean Architectureを導入してみた - Vue.js・Reactのサンプルつき - Qiita

    事の発端 始まりはこちらのツイートから。 Usecasesレイヤーを充実させていったらVuex Actionsほとんど使わなくなるな笑 — Andy (@andoshin11) 2018年6月15日 それはどういうことだよ・・・ フロントでどう使うんだ・・・? と疑問に思い、自分なりに検証・実装してみたいと思ったのが事の発端です。 Clean Architectureとは? まず根の理解がほぼなかったので調べることにしました。 こことか https://qiita.com/koutalou/items/07a4f9cf51a2d13e4cdc こことか https://blog.tai2.net/the_clean_architecture.html こことか https://qiita.com/Tueno@github/items/705360b357c2a00c9532 こことか h

    JavaScriptでClean Architectureを導入してみた - Vue.js・Reactのサンプルつき - Qiita
    IzumiSy
    IzumiSy 2018/08/24
    ビューの差し替えはできてるぽいけどインフラレイヤはやらない方針なのかな? クリーンアーキテクチャのFlow of Controlも端折っているように見える。とはいえJSだとインターフェースないからむずいのかな。
  • GAS のGoogle製CLIツール clasp - Qiita

    Google Apps Scriptというと以前はWebのエディター上でしかコードを書けなかった。 手に馴染んだエディタが使えないし、バージョン管理はしにくかった。 Googleからclaspが登場し開発環境は大幅に改善された。 利用バージョン: clasp v1.1.5 インストール npm コマンドでインストールできる。 npm i clasp でインストールすると以前は別モノがインストールされたが、今は An alias for @google/claspと書かれており単にclasp のみでも良さそう。 ログイン Webエディタ側から取るにも、Webエディタ側にアップするにもユーザ認証が必要ということで、まずはログインする必要がある。 ログインする前には Google Apps Script API を有効にしておく必要もある。 https://script.google.com/h

    GAS のGoogle製CLIツール clasp - Qiita
  • 俺が考えた最強の Reactのステートレスコンポーネントの書き方 - Qiita

    最近自分はこう書いてるという例。意見が欲しい。 この記事に redux は出てこない。 参考: https://qiita.com/mizchi/items/bcb1aef8d1f14f8d0b4a 構成要素 React flow styled-components recompose 以下 SFC = Stateless Functional Component /* @flow */ import React from "react" import styled from "styled-components" import pure from "recompose/pure" type Props = {| value: string |} export default pure(function Example(props: Props) { const { value } = p

    俺が考えた最強の Reactのステートレスコンポーネントの書き方 - Qiita
    IzumiSy
    IzumiSy 2018/04/07
    良さそう。クラスをかくんじゃなくてCSSを適用したコンポーネントを書くってのはイイな。
  • Reduxは不要ではないか? - Qiita

    僕の職はサーバーサイドなのですが、半年くらいReactとReduxを使ったフロント部分を触ったので、書きたいと思います。 先にReact.jsについてですが、家がチュートリアルをしっかりと用意しており、学習コストも高くなく、悪くないものだなと思いました。 しかし、Reduxが入った途端、めっちゃ複雑になった印象があります。chromeのプラグインを入れて開発するのが普通とか言われたのですが、そんなものを使わないと作業できないくらいに複雑で辛いなぁという印象です(Javascriptは、console.logがあれば、ほぼ開発できる気がします。) ここから先は、こんなこと考える人も居るんだなぁ程度で見てください。Reduxが好きな人はすごく嫌な記事かもしれません。その場合は、ここでそっ閉じしてください。 Reduxはモダンだから採用した これよく聴くのですが、当に辞めてほしいです。jQ

    Reduxは不要ではないか? - Qiita
    IzumiSy
    IzumiSy 2018/02/23
    では楽なのでフルjQueryで...というのもつらい。データフロー管理がほしいだけなのでbackboneというのはちょっと分かる。でもReactならMobxかUnduxを使いたいところだ。
  • ウェブカツ運営者が語る!WEBサービスで起業したい人に読んで欲しい20のコト - Qiita

    プログラミング学習サービスやら、ペットサロン予約サービス、風俗予約サービスなど色々とやっている「かずきち」です。 ◾️その他Qiita記事 エンジニアで稼ぐために大切な20のコト ウェブカツ生を雇わない?転職できない?著作権無断使用の炎上から1年を経て思うところをぶっちゃける。 テックキャンプをウェブカツ!! 顧問が徹底レビューしてぶった切ってみた ■運営サービス一部 http://crazy-wp.com/ フリーランスエンジニアを育成するオンライン最大級のプログラミングスクール「ウェブカツ」 http://webukatu.com/ ■プログラミングスクール「ウェブカツ」の出版 「小学生からでもプログラミングを楽しく学べる漫画作りたいなー」と思い立ち、外注してウェブカツで漫画を作りました。KADOKAWAさんより出版しています。 はたらくプログラミング 完全版 (コミックエッセイ)

    ウェブカツ運営者が語る!WEBサービスで起業したい人に読んで欲しい20のコト - Qiita
    IzumiSy
    IzumiSy 2017/11/19
    “ルールはあくまでルールでしかないということです。” 強い
  • PHP - エンジニアで稼ぐために大切な19のコト - Qiita

    プログラミング学習サービスやら、ペットサロン予約サービス、風俗検索サービスなど色々とやっている「かずきち」です。 ◾️Qiita記事 WEBサービス起業したい人に読んで欲しい20のコト ウェブカツ生を雇わない?転職できない?著作権無断使用の炎上から1年を経て思うところをぶっちゃける。 テックキャンプをウェブカツ!! 顧問が徹底レビューしてぶった切ってみた ■運営サービス一部 http://crazy-wp.com/ フリーランスエンジニアを育成するオンライン最大級のプログラミングスクール「ウェブカツ」 http://webukatu.com/ ■プログラミングスクール「ウェブカツ」の出版 「小学生からでもプログラミングを楽しく学べる漫画作りたいなー」と思い立ち、外注してウェブカツで漫画を作りました。KADOKAWAさんより出版しています。 はたらくプログラミング 完全版 (コミックエ

    PHP - エンジニアで稼ぐために大切な19のコト - Qiita
    IzumiSy
    IzumiSy 2017/11/19
    “プロにはなるな。プロは雇えばいい” このアウトソースの能力を使いこなせるようになると究極なのはすごくよく分かるが、これが本当にむずかしい。しかしほんとに逞しい記事だな。
  • コンピュータ業界でよく出る英語 - Qiita

    みなさまへのお願いごと 間違いなどの指摘は、編集リクエストでお願いします。 コメントの記載はページが長いこともあり、お控えください。 TOEIC900でも英語が話せない日人へ ITエンジニアの私がなぜ令和の今、中国語を学ぶのか? 名詞/イディオム gotcha はまりポイント。注意すべきこと。引っ掛け。 Got you のくだけた表現。捕まえた、誰かをトラップに引っ掛ける、という意味から。 注) 一般的には、Got itやYup、I seeのような、同意の返事でよく使われる。 類) caveat, pitfall There are many gotchas in this application. sought-after (スキル、人材、機能、アプリが) 人気の、需要がある、求められてる、引っ張りだこ Python is a sought-after language. c-suit

    コンピュータ業界でよく出る英語 - Qiita
    IzumiSy
    IzumiSy 2017/11/04
    agnosticはフレームワークのREADMEに、kudosはstackoverflowやメーリングリストによく出てくる印象