nkkkunのブックマーク (90)

  • ワンタイムパスワードジェネレータを作った - ぶていのログでぶログ

    会社でGH:EやSlackの二要素認証(2FA)有効化をしたら、 どういう仕組みで認証しているのか気になったので調べて作ってみた。 というのは建前で、GW前にこんなことをつぶやいたらhsbtさんに ふぁぼられてしまったのでやらざるを得ない状態になったのであった。 ふぁぼられドリブン開発 GWに暇があったら2FAのワンタイムパスワードを発行する方を実装したい— ぶてい (@buty4649) 2015, 4月 27 Google Authenticator 何はともあれ、手探りでしらべるのはさすがに骨が折れる…。 しかし、幸いなことにGoogle Authenticatorはギッハブにコードが上がっているのでこれを参考にした。 github.com このREADMEに書いてある通り RFC4226 と RFC6238 がキモみたいだ RFC4226 RFC6238 最近はRubyとかLLを主

    ワンタイムパスワードジェネレータを作った - ぶていのログでぶログ
    nkkkun
    nkkkun 2021/05/01
    ワンタイムパスワードについて
  • Golang : How to iterate a slice without using for loop?

    nkkkun
    nkkkun 2021/04/30
    Go言語でfor文を使わないでループ処理
  • MVCとはなにか|tenjuu99

    この記事は、2019年12月1日に開催されたPHPカンファレンスでの「MVCとはなにか」という題の登壇内容の書き起こしです。スライドはこちらです。 1. はじめに MVCの悪かった点は、わたしたちがどう実装したかという点だ。それはあまりに機械的だった。 https://news.ycombinator.com/item?id=8841428 ある人がアラン・ケイに対して「MVCについてどう思うか」という質問をして、それに対するメールでの回答がHacker Newsというサイトにのっていました。前提をお話すると、MVCというアイデアは、だいたい40年以上まえにパロアルト研究所というところで、アラン・ケイがパーソナルコンピュータの開発をしていたときに、客員研究員としてトリグヴェ・リーンスカウクさんという人が訪れて、そのとき他の研究所のメンバーとも話あって作ったアイデアがMVCになります。 MV

    MVCとはなにか|tenjuu99
    nkkkun
    nkkkun 2021/04/29
    MVCそのものについて
  • オブジェクト指向とは何ですか?

    回答 (8件中の1件目) 英語では「object-oriented」で「OO」と略され、1960~1980年代のプログラミング手法(OOP)から始まり、その応用としてソフトウエアの設計・分析の手法(OOD/OOA)、近年はユーザーインターフェース・エクスペリエンスのデザイン(OOUI/OOUX)、オブジェクト指向存在論(OOO)なる哲学分野にまで、広く使われる用語です。ここではOOPについて説明を試みます。 オブジェクト指向の「オブジェクト」は、1967年に発表されたSimula 67 [1] というプログラミング言語に組み込まれた当時としては新しい同名の言語機能(あるいはそれに準ずる...

    オブジェクト指向とは何ですか?
    nkkkun
    nkkkun 2021/04/29
    オブジェクト指向の歴史
  • Goならわかるシステムプログラミング

    Goで始める、すこし低レイヤのプログラミング入門。入出力、ネットワーク、メモリなど、現実の世界でプログラムが動くために必要な機能をプログラム言語Goを通して覗いてみよう。OSの機能とは何か、それをプログラミングでどう利用するのか、システムプログラミングの世界をプログラマの視点から眺めていく連載企画。 2017年06月21日 17時00分 プログラミング+ Go言語によるプログラマー視点のシステムプログラミング 第20回 Go言語とコンテナ 連載の最終回。この連載ではプログラムがコンピュータ上で動くときに何が起きているのかをGo言語のコードを通して覗いてきました。今回はその締めくくりとしてコンテナについて紹介します。 2017年06月07日 21時30分 プログラミング+ Go言語によるプログラマー視点のシステムプログラミング 第19回 Go言語のメモリ管理 ソフトウェアにとってメモリは不

    Goならわかるシステムプログラミング
    nkkkun
    nkkkun 2021/04/28
    システムプログラミングについて
  • DockerComposeでGoのGinとMySqlの環境を作ってみた-第1弾 | Tech Media | W2株式会社

    こんにちは! K8Sが流行っている世の中ですが、 今回は 昔作ったGoのHTTP Web Frame WorkであるGinと、My Sqlの環境をDocker Compose で簡単に立ち上げるための構成-第1弾という事で紹介していこうと思います。

    DockerComposeでGoのGinとMySqlの環境を作ってみた-第1弾 | Tech Media | W2株式会社
    nkkkun
    nkkkun 2021/04/23
    dockerでginとmysql
  • SPA、SSR、Jamstackそれぞれの違いや仕組み、特徴まとめ | みんたく

    一般的なWebアプリケーション、SPA、SSR、Jamstackそれぞれの仕組みや特徴などについて調べ、自分なりに図を作成してまとめてみました。 一般的なWebアプリケーションの場合よくある従来のWebアプリケーションの動きです。 一連の処理の流れクライアント側からHTTPリクエストが送られるサーバ側でDBなどからデータを取得するDBからデータが返却されるサーバがHTMLファイルを生成・返却ブラウザでHTMLファイル内のJSを実行 デメリットヘッダーなどの変更がない部分のHTMLも毎回サーバから送信されるので処理に時間がかかる SPA(Single Page Application)SPAとは「Single Page Application」の略で、単一のページで遷移をすることなくコンテンツの切り替えを行うWebアプリケーションです。 一連の処理の流れクライアント側からHTTPリクエストが

    SPA、SSR、Jamstackそれぞれの違いや仕組み、特徴まとめ | みんたく
    nkkkun
    nkkkun 2021/04/22
    SPAとかSSRとか
  • はじめに|PostGIS入門

    はじめに|PostGIS入門
    nkkkun
    nkkkun 2021/04/19
    PostGISついてかなり詳しく書いてある
  • 関数を理解すればクロージャは難しくない!|もっこりJavaScript|ANALOGIC(アナロジック)

    クロージャとは クロージャの質 なぜクロージャを使うのか? まとめ JavaScriptを学んでいく過程で必ず耳にする単語「クロージャ」 すごく難しいものではないと思うのですが、どことなくつかみどころがない、うまく説明できない、そんな存在ではないでしょうか? 私自身、正直なところクロージャについては「なんとなく使ってはいるが、使い方をうまく伝えられない」といった程度です。 これから先、クロージャについてモヤモヤしながら仕事をしていくのもどうかと思ったので、この機会に私もクロージャについて理解を深めるべく記事を書くことにしました。 クロージャは、それ自体が難しいというよりは、説明が難しいものだと思います。 そのため、ネットでクロージャのことを調べていくと、(もちろん大変参考になる情報も多いのですが)少し質ではない部分について語られているものも多い気がします。 このエントリではクロージャの

    nkkkun
    nkkkun 2021/04/14
    クロージャについてわかりやすい
  • ミドルウェアとは?定義、意味、特徴を初心者向けにわかりやすく解説 - クミコミ

    ミドルウェアとは、各業務処理を行うアプリケーションと、コンピュータの基的な制御を行うOSの間に存在するソフトウェアのことです。アプリケーションが要求する特定の処理や高度な機能を提供します。 ミドルウェアとはアプリケーションとOSの間に存在するソフトウェア ミドルウェアとは、各業務処理を行うアプリケーションと、コンピュータの基的な制御を行うOSの間に存在するソフトウェアのことです。名前の通り、アプリケーションとOSの中間(ミドル)に位置します。 ミドルウェアは、アプリケーションが要求する機能を提供します。ミドルウェアが提供する機能はアプリケーションに特化しており、限定的です。 OSもミドルウェアと同様にアプリケーションに対して機能を提供しますが、ミドルウェアに比べて汎用的です。

    ミドルウェアとは?定義、意味、特徴を初心者向けにわかりやすく解説 - クミコミ
    nkkkun
    nkkkun 2021/04/12
    ミドルウェアについてわかりやすい“ミドルウェア:単独で起動可能 ライブラリ :単独では起動しない”
  • 【Go入門】無名関数(Anonymous function)

    Go言語の関数を扱って来ましたが、これまでは関数名を与えて定義して来ました。 ここでは、関数名を与えないで定義する無名関数(Anonymous function)を見ていきましょう。

    【Go入門】無名関数(Anonymous function)
    nkkkun
    nkkkun 2021/04/11
    無名関数について“無名関数を実行する(呼び出す)には、無名関数に続けて丸括弧を付けて実行させるか、変数に無名関数を割り当てて、変数に続けて丸括弧を記述して実行します。”
  • ポインタを図で理解する - Carpe Diem

    概要 Goのポインタを図で理解することで ダブルポインタとは Goは全て値渡し ポインタレシーバと値レシーバの違い がどういうことかを理解でき、参照渡しの時に x = y だと更新されず *x = *y だと更新される理由が分かります。 ポインタを図示する ポインタはメモリアドレスを指すというは理解しているでしょうが、ポインタ変数との関係を分かりやすくするために図示します。 func main() { var x = 100 fmt.Println("x address:\t", &x) var y *int fmt.Println("y value:\t", y) fmt.Println("y address:\t", &y) y = &x fmt.Println("y value:\t", y) fmt.Println("y address:\t", &y) } The Go Play

    ポインタを図で理解する - Carpe Diem
    nkkkun
    nkkkun 2021/04/07
    Goのポインタについてわかりやすい
  • Go 1.16 からのモジュール管理

    先日リリースされた Go 1.16 でモジュール管理がいくつか変更になったので,覚え書きとして記しておく。 なお,このブログで書き散らした内容をまとめる形で 以下の Zenn 記事を書いた。 こちらも併せてどうぞ。 Go のモジュール管理【バージョン 1.16 改訂版】 GO111MODULE 既定値の変更 環境変数 GO111MODULE の既定値が auto から on に変更になった。 GO111MODULE の取りうる値は以下の通り。 値 内容

    Go 1.16 からのモジュール管理
    nkkkun
    nkkkun 2021/03/06
    Go1.16のモジュール管理について
  • Go 1.16のgo installについて | フューチャー技術ブログ

    はじめにTIG真野です。 Go 1.16連載の2つ目となるこの記事では、Go 1.16で機能追加された go install について説明します。 go installの新機能Go 1.16から go installに新機能が追加されました。go install 自体は従来から存在しているので全く新しいコマンドが増えたわけではなく、機能拡張されたイメージです。 現時点のリリースノートの記載はこちら、元のIssueはこちらです。起票されてから半年弱でリリースに含まれました。 go installの機能拡張部分ですが簡単に言うと、バージョン指定できるようになりました。言ってみればそれだけです。嬉しいこととして、それによってgo.modの書き換え無しにツールなどのインストールを行いやすくなりました。ちなみに、インストールとはコードをコンパイルして、$GOPATH/binとか$HOME/go/bi

    Go 1.16のgo installについて | フューチャー技術ブログ
    nkkkun
    nkkkun 2021/03/03
    go installについて
  • Ruby on Railsで簡単なToDoアプリを作ってみる - Reasonable Code

    Ruby on Rails その2 Advent Calendar 2018 - Qiitaの2日目の記事です。 Ruby on Railsを学ぶといったらRailsチュートリアルですよね。でも、長い!難しい!早くなんか作りたい!という方、多いんじゃないでしょうか(僕です)。 ということで、Webアプリケーションの基礎(検索、登録、更新、削除)が学べるToDoアプリをRuby on Railsを使って作ってみました。 バージョン情報は以下のとおりです。 環境構築を行う 前提として、Railsの環境構築は済んでいるものとします。まだの方は、以下の記事をご覧ください。 【MacRuby on Railsの環境構築〜動作確認までを行う - Reasonable Code プロジェクトを作成する 以下コマンドで、Railsプロジェクトを作成します。プロジェクト名はなんでもいいですが、今回はrai

    Ruby on Railsで簡単なToDoアプリを作ってみる - Reasonable Code
    nkkkun
    nkkkun 2021/02/25
    rails で簡単に作ってみた
  • React | Hooks(useState, useEffect)の動作確認 - わくわくBank

    React16.8で追加された「Hooks」を利用して、関数コンポーネントに「state」と「ライフサイクルメソッド」の機能を実装する方法を確認します。 useState|state 概要 useState() を利用すると、コンポーネントの状態管理を実装できます。 useState() の引数にstateの初期値を指定する。 useState() は戻り値として、state変数 と stateを更新するための関数 を返す。 複数のstateを使うには、複数回 useState() を呼ぶ。 動作確認 import React, { useState } from 'react' const App = ({ message }) => { const [items, setItems] = useState(Array(9).fill(0)) const [flg, setFlg] =

    React | Hooks(useState, useEffect)の動作確認 - わくわくBank
    nkkkun
    nkkkun 2021/02/24
    useStateでフラグを立てる時
  • Reactで()と{}の違いはなんですか?

    nkkkun
    nkkkun 2021/02/21
    JSの()と{}の意味
  • Reactの標準機能(useContext/useReducer)でステート管理[TypeScript版]

    Reactの標準機能(useContext/useReducer)でステート管理[TypeScript版] React HooksのuseContext/useReducerを使用して、ステート管理する方法をご紹介します。 投稿日2020年09月13日 更新日2020年09月13日 useStateだけの場合 よくあるカウンターコンポーネントを作ってみます。 useStateでカウントを更新できるようにしています。 import React, { useState } from 'react' const Parent: React.FC = () => { const [count, setCount] = useState(0) return ( <div> <h1>カウント: { count }</h1> <button onClick={() => setCount(count +

    Reactの標準機能(useContext/useReducer)でステート管理[TypeScript版]
    nkkkun
    nkkkun 2021/02/20
    “useContext/useReducer”の組み合わせ
  • git submodule はトモダチ!怖くないよ! (チートシート付き) - エムスリーテックブログ

    この画像は文とは関係ありません。 こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小です。 みなさん、git submodule コマンドは好きですか?git submodule は特定の状況下では便利なコマンドです。 社内アンケートでも25%が怖いという結果に しかし、なぜか世間にはgit submodule が怖いという人が相当数いるようです。推測ですが、git submodule は動作モデルや使用手順が誤解されがちなところがあり、それで「怖い」と思われているのないでしょうか。git 体でも昔そんなことがありましたよね。 この記事では git submodule の誤解を解き、適切な使い方を解説します。また、記事の最後にチートシートをつけます。 git submoduleはトモダチ!怖くないよ! git submodule って何? 誤解1 「プロジェクトが大きくなっ

    git submodule はトモダチ!怖くないよ! (チートシート付き) - エムスリーテックブログ
    nkkkun
    nkkkun 2021/02/10
    submoduleについて詳しい
  • React:非同期の副作用フック(useEffect)で正しくクリーンアップする - 銀の弾丸

    Reactの関数コンポーネントで非同期の副作用フックを正しく記述する方法を書いています。 非同期処理でコンポーネントを更新する場合には、副作用フックを使用する必要があり、この副作用フックからはクリーンアップ関数を返却しておく必要があります。 REST APIなどの非同期処理によってデータを取得し画面に反映する場合などには、非同期の結果待ちの間に更新先の画面がなくなっている(DOMがアンマウントされる)かも知れないためで、それに対処しなければなりません。 副作用フックに対して、更新先の画面がなくなったことを伝えるための関数がクリーンアップ関数で、このクリーンアップ関数は副作用フックが返却する関数オブジェクトです。 (なんだか話が前後しているようでややこしいですが、この動作機序を理解するには、JavaScriptの非同期処理の動作、関数オブジェクト、そしてクロージャについての知識が必要かと思い

    React:非同期の副作用フック(useEffect)で正しくクリーンアップする - 銀の弾丸
    nkkkun
    nkkkun 2021/02/07
    Reactフックのクリーンアップ関数