タグ

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

  • 外出先から自宅のPCへリモート接続する方法 - Qiita

    はじめに 外出先から自宅にあるPCへ接続して操作したかったのでそのやり方を紹介していきます。 今回はリモート接続する手段を2つ紹介します。 PCがリモート接続の許可がされている前提で進めます。 共通準備 環境は以下のとおりです。 ホストPCWindows 10 クライアントPCmacOS Big Sur ルータ:ASUS RT-AX3000 アプリ:Microsoft Remote Desktop 図1のような環境を想定しています。 図1 ホストPCIPアドレスを固定 通常はPCIPアドレスは自動的に割り当てられます。 リモート接続する際はホストPCIPアドレスを指定するので、IPアドレスが変わってしまうとそのたびに確認しなくてはならないので困ります。そのため、ホストPCに固定のIPアドレスを割り当てます。 今回はルータの設定画面から固定IPアドレスを割り振ります。 図2 192

    外出先から自宅のPCへリモート接続する方法 - Qiita
    ruicc
    ruicc 2024/01/09
  • Rust Memory Container Cheat-sheet - Qiita

    Repos: https://github.com/usagi/rust-memory-container-cs 文字で読み書きするとやや大変です。しばらく間を開けてRustを触ったりするとスコシ混乱するかもしれません。と、いうわけでRustでメモリーコンテナー系に触れるモードになった時用に1枚絵のチートシートを整理しました。 文字を書けるQiitaにポストするのでちょっとだけチートシートの解説も乗せます。 おまけ解説 Threads; スレッド群 (rev.0 -> rev.1 でこのチートシート上で最初に現れる選択肢に切り替わりました ⇔ Ownership; 所有権) Rustではマルチスレッディング実行の安全性を向上するため、 適当に確保したメモリーをスレッド間でうっかり共有できない(少なくとも簡単にはうっかりできない程度に難しい)仕組みがあります。その仕組みの核心は標準ライブラリ

    Rust Memory Container Cheat-sheet - Qiita
    ruicc
    ruicc 2022/11/11
  • Nixとはなにか、パッケージマネージャとしての使い方の紹介 - Qiita

    Nixってなに? Nixの説明と簡単な使いかたを紹介したいと思います。 NixというとパッケージマネージャやOSとしてのNixOSの意味がありますが、ここではパッケージマネージャとしてのNixを説明します。 公式のマニュアルはこちらです。 Nix: パッケージマネージャの使い方 NixOS: NixOSの使い方 NixPills: パッケージを作るときのノウハウ集 Nixをパッケージマネージャとして使う場合は手元のWindows, Mac, LinuxでOSのインストールなしに利用することができます。 パッケージマネージャだけでなく、開発環境を含めた開発フローについてpythonを使った例を示します。 NixではパッケージのことをDerivationと呼びますので注意してください。Nixでは独特の用語が多いので用語集をつけました。参考にしてください。 OSのバージョンを気にしないソフトのイ

    Nixとはなにか、パッケージマネージャとしての使い方の紹介 - Qiita
    ruicc
    ruicc 2022/02/20
    こんなのあるんだ、さすが動的言語 "ビルドの失敗したところのシェルに入りたい。breakpointHookを使う。"
  • OCaml でゲームボーイエミュレータを書いた話 - Qiita

    はじめに ブラウザ上で動くゲームボーイエミュレータを OCaml で書きました。以下のページで試せます。 デモページ いくつかの homebrew ROM も一緒になっているのでいろいろ遊んでみてください。おすすめは「Bouncing ball」と「Tobu Tobu Girl」です。最近のスマホならだいたい安定して 60 FPS 出るはずなので、スマホでも遊べます。 レポジトリはこちらです。 スクリーンショット なぜ OCaml でゲームボーイエミュレータ?新しいプログラミング言語を学ぶ過程で以下のように思ったことはないでしょうか? 簡単なプログラムなら書けるが、中規模以上のコード1をどうやって書けばよいのか分からない 発展的な言語機能2も勉強しなんとなく理解した気になったが、実践のなかでどのように活用すればいいのかが分からない OCaml を格的に勉強し始めてた数ヶ月前の筆者はまさに

    OCaml でゲームボーイエミュレータを書いた話 - Qiita
    ruicc
    ruicc 2021/12/13
  • 最新の情報検索手法を知るにはどうしたらいいの...という人に向けたコンテンツまとめ記事2021 - Qiita

    こんにちは。情報検索分野の勉強をしている @KoheiShinden です。 最近、「教科書読んだ後の最新の情報検索について知りたいんだけど何かいい記事とか媒体知ってる?」という質問を受けて自分が勉強する時に役立ったコンテンツをまとめて紹介するという機会が数回ありました。 そこで、そんな時にサッと紹介できるようにまとめてみようと思いこの記事を書くに至りました。 0. はじめに ここでは簡単にこの記事がどんな内容かを書きます。 この記事で書いてること 2021年11月現在の情報検索に関連する書籍・論文・記事・動画・コミュニティなどのコンテンツのリンクと簡単な説明を行っています。完全に主観です。 特に、書籍で得られる基礎的な知識から BERT などの機械学習手法を適用した最新の手法までにはなかなかのギャップがあるのでそこを埋めるための手助けができたらなと思います。 この記事で書いていないこと

    最新の情報検索手法を知るにはどうしたらいいの...という人に向けたコンテンツまとめ記事2021 - Qiita
    ruicc
    ruicc 2021/11/16
  • 分散合意アルゴリズム Raft を理解する - Qiita

    Raft は Byzantine 障害に対する耐性がなく、論文を一見して恒久的なリーダーの乗っ取りからのログの改ざん、リーダー選挙の妨害などが可能であるところを見ても、P2P ではなく完全に管理されたネットワーク向けの合意アルゴリズム (CFT; Crash Fault-Tolerance) です。Byzantine 障害耐性が必要であれば Raft ではなくパフォーマンスを犠牲にして pBFT などを使う必要があるでしょう。 論文では Crash-Recovery より深刻な障害耐性には言及していないが (論説の範囲を外れるため当然だが)、もし実際に Raft を実装するなら現実的に想定される障害に対して工夫できる余地もいくつか存在します。例えば「テスト環境で使用していたノードの 1 つが事故で番クラスタに『も』参加してしまった」といったような運用事故で起きうる障害は (大抵そのような

    分散合意アルゴリズム Raft を理解する - Qiita
    ruicc
    ruicc 2021/01/27
    そのうち論文を読むかもしれない
  • OAuth 2.0 全フローの図解と動画 - Qiita

    RFC 6749 (The OAuth 2.0 Authorization Framework) で定義されている 4 つの認可フロー、および、リフレッシュトークンを用いてアクセストークンの再発行を受けるフローの図解及び動画です。動画は YouTube へのリンクとなっています。 English version: Diagrams And Movies Of All The OAuth 2.0 Flows 追記 (2019-07-02) 認可決定エンドポイントからクライアントに認可コードやアクセストークンを渡す方法については、別記事『OAuth 2.0 の認可レスポンスとリダイレクトに関する説明』で解説していますので、ご参照ください。 追記(2020-03-20) この記事の内容を含む、筆者人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 認可コードフロー RF

    OAuth 2.0 全フローの図解と動画 - Qiita
    ruicc
    ruicc 2021/01/21
  • Java 14新機能まとめ - Qiita

    Java 14が2020/3/17にリリースされました。 Java SE 14 Platform JSR 389 ダウンロード OpenJDKサイトからダウンロードできます。 https://jdk.java.net/14/ MacLinuxでのインストールにはSDKMAN!をお勧めします Oracle OpenJDK以外に無償で商用利用できるディストリビューションとしては、次のようなものがあります。 AdoptOpenJDK Azul Zulu Community Liberica JDK LTSではないのでAmazon Correttoではリリースされないようです。 アップデートは4月に14.0.1が、7月に14.0.2がリリースされることになります。 Oracle JDKは開発用途には利用できますが、商用利用にはJava SE Subscriptionを購入する必要があります。 J

    Java 14新機能まとめ - Qiita
    ruicc
    ruicc 2020/03/19
  • Mysql 5.7* パスワードをPolicyに合わせるとめんどくさい件について - Qiita

    引用先: MySQL 5.7 Mysql 8.0が出たので、下記を追加しました。 要するにMEDIUMは文字列の長さを指定した長さにして、数字を使って、大文字、小文字を使って、さらに特殊文字を用いてパスワードにしてくださいとのこと、 これではログイン不安なので、 変更してみました。 mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | |

    Mysql 5.7* パスワードをPolicyに合わせるとめんどくさい件について - Qiita
    ruicc
    ruicc 2020/03/16
  • 証明書300万件を強制失効。Let's Encrypt に一体何が起きたのか? - Qiita

    無料 SSL の認証局である Let's Encrypt は、有効な証明書のうち 2.6% に当たる300万件の証明書に対し、2020年3月4日に失効手続きを行うと宣言しました。しかもその事がユーザーに通知されたのは失効手続きの数時間前です。一体、Let's Encrypt に何が起きたのでしょうか? 私が調べた事を共有したいと思います。 この記事は Let's Encrypt の証明書失効に関する一連の出来事についてまとめた物です。今回の失効処理の対象となっているかどうかの確認方法等については、以下の記事をご覧下さい。 Let's Encrypt に重大なバグが発覚。該当サイトは2020/3/4 までに対応が必須 更新しました(2020/3/7) 影響の度合いについての記載が正しくなかったので修正 現在の Let's Encrypt の見解が正しくなかったので修正 何が起きているのか?

    証明書300万件を強制失効。Let's Encrypt に一体何が起きたのか? - Qiita
    ruicc
    ruicc 2020/03/14
  • tmux v2.9 マイグレーションガイド 〜 tmux をv2.9 に上げたらinvalid option エラーが出た - Qiita

    tmux をv2.9 にアップグレードしたら出たエラー tmux をv2.9 にアップグレードすると以下のようなエラーが出るようになりました。 /home/your-name/.tmux.conf:9: invalid option: pane-active-border-fg /home/your-name/.tmux.conf:10: invalid option: message-bg /home/your-name/.tmux.conf:12: invalid option: status-right-attr /home/your-name/.tmux.conf:13: invalid option: message-fg /home/your-name/.tmux.conf:14: invalid option: message-command-bg /home/your-na

    tmux v2.9 マイグレーションガイド 〜 tmux をv2.9 に上げたらinvalid option エラーが出た - Qiita
    ruicc
    ruicc 2020/03/10
  • Javaのサポートについてのまとめ2018 - Qiita

    Javaのサポートについてのまとめ Javaのライセンスやサポート状況について混乱が発生しているように思います。Javaのサポートを各団体がどのように行なっているかをまとめてみます。 知っておいてほしいのは、Javaの実装やサポートはOracle JDKかOpenJDKの二択、ではなくAdoptOpenJDKやAzul Zulu、Corretteなど多くの選択肢があるということです。 ここでサポートはバグやセキュリティに対応したパッチがリリースされることを表しています。 Javaのリリースサイクル これまで、Javaは3年ごとを目標に結局5年くらいかけて次のバージョンを出したりしていましたが、それでJavaはなかなかバージョンアップしなくて古いと言われていました。それが2017年9月、今後は6ヶ月ごとにフィーチャーリリースを行うというリリースモデルに変更されました。Java9が2017年9

    Javaのサポートについてのまとめ2018 - Qiita
    ruicc
    ruicc 2020/03/09
  • 独断と偏見で語るGHCのderiving系拡張 - Qiita

    先日のHaskell Dayでderivingに関する発表があった Haskell Day 2019を開催しました! aiya000, 「しんさんきぼう」のDerivingストラテジー ので、触発されて私もderivingについて思うところを書いてみます。主にderiving系拡張の落とし穴・注意点に重点を置きます。 標準でderiveできるやつ、またはGHCに組み込まれているやつ (stock deriving) 標準で Eq, Ord, Enum, Bounded, Show, Read, Data.Ix.Ix がderiveできます。この手の話題で Ix はよく見落とされます。ちゅうか Haskell 2010 Language Report, Chapter 11 のderive可能なクラスの一覧からもオミットされている……。 GHC拡張を有効にすることで、他のいくつかのクラスでも

    独断と偏見で語るGHCのderiving系拡張 - Qiita
    ruicc
    ruicc 2020/01/10
  • GitHubのスターは金にならない - Qiita

    Sizzyというツールがあります。 様々なサイズの画面を同時に表示し、レスポンシブレイアウトがどうなるかを一気に確認できるという便利なツールです。 スマホ向けWebサイトを開発している人なら、持っていると非常に便利でしょう。 参考:レスポンシブの確認ツール、後発だけに便利!スマホ・タブレットの主要なデバイスでの表示確認が同時にできる -Sizzy / 『Sizzy』様々なデバイスでのサイト表示を確認出来る便利サイト さてこのSizzy、元々無償のChromeエクステンションだったのですが、先日2019年7月に単独のアプリとして有償化されました。 一人あたり月5ドル(団体割引あり)のサブスクリプション制です。 以下は作者のKizte( Twitter、Medium、Webサイト )がその理由や経緯を綴った記事、GitHub stars won't pay your rentの日語訳です。

    GitHubのスターは金にならない - Qiita
    ruicc
    ruicc 2019/10/17
  • テンソルを実装するのに表現可能関手がとても便利な件 - Qiita

    最近hmatrixで深層学習を実装する機会があったのですが、hmatrixはベクトルと行列しか提供していないので3階以上のテンソルが必要になって困るという場面に出くわしました。そこで自分で長さ付きベクトルを組み合わせてサクッとn階テンソルが作れると便利かな〜と調べていたら(素直にrepaやmassivを使えという話ではあるのですが )表現可能関手を使うことでn階テンソルとその演算が楽に(そして抽象的に)実装できるという文献1を見つけたので備忘録も兼ねてまとめておこうと思います。 この記事で紹介したコードは以下のGistで公開しています。 https://gist.github.com/lotz84/78474ac9ee307d50376e025093316d0f 関手、つまりFunctorのことですが、表現可能関手はその中でも特別な性質を持つものです。この記事は前半と後半に分けて、前半では

    テンソルを実装するのに表現可能関手がとても便利な件 - Qiita
  • 計算量O(n)の画期的なソートアルゴリズムであるスターリンソートをHaskell で実装してみた #Haskell - Qiita

    皆さん、ソートは好きですか? 僕はHaskellerのクセにボゴソートが好きです。 ソートされていない要素を粛清することでO(N)でソートできるスターリンソートとかいうのを見て爆笑してる — やんぎん (@4116You) July 28, 2019 なにやらTLでスターリンソートなるものが流行っていました。 まずO(n)とは何かという事なんですが、これはビッグ・オー記法と言ってアルゴリズムの性能の指標を表すものです。 O(n)の他にO(1)とかO(log(n))とかO(nlog(n))とかO(n^2)とかがありますが、詳しくは割愛します。この辺を参考にするとよく分かると思います。ともかく、O(n)はむっちゃ速い、というかソートアルゴリズムではまず有り得ないです。 にも関わらず、スターリンソートはその壁を打ち破って、O(n)で並べ替えを実現しちゃうんですよね。 というわけでHaskellで

    計算量O(n)の画期的なソートアルゴリズムであるスターリンソートをHaskell で実装してみた #Haskell - Qiita
    ruicc
    ruicc 2019/07/29
    これ全部粛正すればO(1)では?
  • 動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita

    トロピカル半環と呼ばれる代数構造上のトロピカル行列を利用すると動的計画法を使ってグラフの最短経路の距離を計算するという問題が単純な行列積で解けてしまうらしい。そんな噂12を聞きつけて我々はその謎を解き明かすべく南国(トロピカル)の奥地へと向かった。 トロピカルな世界に行くためにはまずは代数を知る必要がある。要するに群・環・体の話だ。しかしこの記事の目的は代数学入門ではないので詳しい話は他の記事3に譲るとし、さっそく半環という概念を導入する。それは 半環は以下の性質を満たす二つの二項演算、即ち加法(和)"$+$" と乗法(積)"$\cdot$" とを備えた集合$R$を言う $(R, +)$ は単位元 $0$ を持つ可換モノイドを成す: $(a + b) + c = a + (b + c)$ $0 + a = a + 0 = a$ $a + b = b + a$ $(R, \cdot)$ は単

    動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita
    ruicc
    ruicc 2019/07/11
    おもしろい。便利なのでは。
  • F# vNext は何が "ヤバい" のか: Monadic Programming の新時代 - Qiita

    .NET 5.0 が発表されて F# 5.0 の機運も高まってきた今日この頃ですが,型クラスの orphan instances が作れるようになるやつとか,applicative functors 用のシンタックスとか,ジェネリック等価判定・比較の高速化とか,どれも便利で面白そうだけど最近あんまり動きが見られないなあ,と思いながら Candidate for F# vNext を眺めていたところ,そんなアンニュ〜イな気分を根底から吹き飛ばすヤバい機能が実装されつつあることが先日判明し,わたしは今,冷静さを欠いています. その機能とは,これです. [WIP, RFC FS-1072] task and state machine support by dsyme This inserts a heavily modified (but semantically almost complet

    F# vNext は何が "ヤバい" のか: Monadic Programming の新時代 - Qiita
    ruicc
    ruicc 2019/05/24
    まあモナドは便利だからな
  • Gitで日本語長文のdiffをとる方法 - Qiita

    (この記事はここからの転載です) 課題 日語の長文をgitで管理していると、ほんのちょっとの変更でもdiffでは行丸ごと変更されたことになり、変更点がよくわからないことがある。 二泊三日で小説を書く過激なイベントNovelJam 2018参加作品である高橋文樹氏の「オートマティック クリミナル」は、GitHubを使って執筆されている。小説では、git diffの欠点がはっきりでる。高橋氏は参加レポートで、こう書いている。 あと、今回得た重要な知見なのですが、Githubではある程度以上テキストが長くなってくると、数文字の調整で全部差分として判定されたりするので、小説には向いてないかなーと思いました。小説は行の移動とかがよく発生するので、GithubじゃなくてGitとの相性かもしれません。 普通にdiffを取る 確かに、普通にdiffをとるとその通り。コマンドラインで「オートマティック ク

    Gitで日本語長文のdiffをとる方法 - Qiita
    ruicc
    ruicc 2019/02/05
    知らなかった。これは便利。
  • Haskellでフィボナッチ数列 〜Haskellで非実用的なコードを書いて悦に入るのはやめろ〜 - Qiita

    -- 素朴なコード fib :: Int -> Integer fib 0 = 0 fib 1 = 1 fib n = fib (n - 2) + fib (n - 1) 数学的な定義をそのまま書き下した、Haskellらしい美しいコードですね! ……なーんて感想を抱いた人はHaskell初心者です。計算機で動かすコードを「数学的な美しさ」で語ってどうするんですか??? 美しいバラにはトゲがあるように、美しいHaskellコードには罠があります。 この「素朴なコード」は非常に遅く、実用に耐えません。(この素朴なコードの出番があるとしたら「遅いコードの例」としてでしょう) 素朴なコードの問題点 例として、「素朴なコード」で fib 4 を計算してみましょう。 fib 4 = fib 2 + fib 3 = (fib 0 + fib 1) + fib 3 = (0 + fib 1) + fib

    Haskellでフィボナッチ数列 〜Haskellで非実用的なコードを書いて悦に入るのはやめろ〜 - Qiita
    ruicc
    ruicc 2019/01/20
    一般項そのまま計算するとsqrt5の精度が足りなくて間違える(!!)とかsqrt5添加した体考えるとか行列の冪計算すれば良いとかなるほど…