はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『@tanakhのマイページ - Qiita』

  • 人気
  • 新着
  • すべて
  • Rustで競技プログラミングの入出力を自動的にやるマクロ - Qiita

    30 users

    qiita.com/tanakh

    Rustで競技プログラミングの入力をスッキリ記述するマクロ の続編的なやつです。 モチベーション AtCoderのRust環境も新しくなって、バージョンが新しくなったり一部の外部のcrateが使えるようになったり、ずいぶんいろいろできるようになりました。前回の記事では、コピペして使えるようなコンパクトで効果的なものを目指していましたが、そういう制約がない状況でならもっといろいろできるのではないかと考えていました。 もうちょっとだけ便利にできそうな気がしたので、とりあえずアイデアを形にしてみるかという感じで書いてみました。 アイデア 一般的に、人は標準入出力とやり取りをするのは苦手だけれども、関数の引数と返り値を扱うのは呼吸をするように容易に行えるものです。そして一般的に、競技プログラミングのタスクというのは入力が与えられて答えを出力するという自然に関数として表現できるものです。実際にTop

    • テクノロジー
    • 2020/08/15 16:26
    • Rust
    • あとで読む
    • qiita
    • programming
    • 「サイゼリヤで1000円あれば最大何kcal摂れるのか」をSMTソルバー(Z3)で解いてみた。 - Qiita

      210 users

      qiita.com/tanakh

      前書き サイゼリヤ1000円ガチャをつくってみた(Heroku + Flask + LINEbot) 「サイゼリヤで1000円あれば最大何kcal摂れるのか」を量子アニーリング計算(Wildqat)で解いてみた。 完全に二番煎じですが、古典コンピューターが好きなので、個人的に古典コンピューター最強のなんだかよく分からないけどよく分からないものをよく分からないうちに解いてくれるソフト、z3を使ってサイゼリア問題を解いてみました。 問題 サイゼリヤのメニューを重複無しで合計1000円以下になるように選んだときに、最大の総カロリーになるようなメニューの組み合わせを求めよ。 サイゼリヤのメニューは https://github.com/marushosummers/Saizeriya_1000yen こちらを使わせて使わせて頂きました。メニューは100種類ぐらいみたいで、カロリーは整数値で、プロコ

      • テクノロジー
      • 2019/05/18 08:39
      • haskell
      • サイゼリヤ
      • あとで読む
      • z3
      • algorithm
      • programming
      • SMT
      • qiita
      • プログラミング
      • Rustで競技プログラミングの入力をスッキリ記述するマクロ - Qiita

        60 users

        qiita.com/tanakh

        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

        • テクノロジー
        • 2018/08/20 23:08
        • rust
        • 競技プログラミング
        • ライブラリ
        • プログラミング
        • あとで読む
        • programming
        • Microsoft Q# Coding Contest 参加記 (前編) - Qiita

          4 users

          qiita.com/tanakh

          $$ \def\bra#1{\mathinner{\left\langle{#1}\right|}} \def\ket#1{\mathinner{\left|{#1}\right\rangle}} \def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}} $$ ちょっと前の話ですが、Codeforces というプロコンサイトで Microsoft Q# Coding Contest というのをやっていたので、面白そうなので参加してみました。量子コンピューターのプログラムは、日ごろから書いてみたい書いてみたいと思いつつ、なかなか腰が重かったのですが、こうタスクが与えられて、競い合えといわれるとなんとなくモチベが出てきて、ようやく入門することができました。 この年になっても新しい概念のプログラムを書くという経験をす

          • テクノロジー
          • 2018/08/06 19:27
          • Rustの二次元配列の要素のswap - Qiita

            53 users

            qiita.com/tanakh

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

            • テクノロジー
            • 2018/07/31 00:57
            • rust
            • あとで読む
            • programming
            • Stackを使って楽しくHaskellスクリプティング - Qiita

              75 users

              qiita.com/tanakh

              今までいまいちモチベが上がらなかったHaskellでスクリプトを書くというのが、急に現実的になってしまったので、紹介します。 Haskellでスクリプティングする上での問題点 Haskellはもともと簡単なテキスト処理を書きやすいプログラミング言語ではあるのですが、標準で提供されているライブラリはあまり多くないので、必要に応じてコミュニティーパッケージを導入しなければその力を存分に発揮することができません。 通常のパッケージなら、cabalに依存関係を書けばパッケージマネージャで自動的に(コケることもありますが、理想的には)管理できるのですが、シェルスクリプトやPerl、あるいは最近ならPythonでやるような、コードを直接インタプリタで実行するような形のコードでは、そのような依存関係を自動で解決することは難しく、その上、仮にやろうとしたところで、いつまでもその依存パッケージが新しいコンパ

              • テクノロジー
              • 2015/07/08 01:54
              • haskell
              • stack
              • stackage
              • script
              • プログラミング
              • あとで読む
              • Haskellのビルドツール"stack"の紹介 - Qiita

                102 users

                qiita.com/tanakh

                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Stackとは? つい先日のことですが、Stackage界隈からstackというツールがリリースされました。リリースされたとはいえ、開発され始めたのがちょっと前のことですし、現在も盛んに機能が追加されているので、絶賛開発中であるとかそういったほうがいいかもしれません。 まだ開発の始まったばかりのツールなのに、なぜこんな紹介記事を書こうと思ったのかというと、このツールがHaskellの開発において極めて有用になることが確定的に明らかであって、すでに荒削りながらも、大変便利に使えているからなのです。そしてここで紹介することで、多くの読者の方

                • テクノロジー
                • 2015/06/25 06:33
                • Haskell
                • cabal
                • stack
                • build
                • stackage
                • プロジェクト管理
                • 関数型言語
                • インストール
                • プログラミング
                • optparse-declarative: 宣言的な型レベルコマンドラインパーザー - Qiita

                  22 users

                  qiita.com/tanakh

                  使いやすさを目指したコマンドラインパーザー、optparse-declarativeというのを作りました。 これは何ですか? コマンドラインオプションを解析して、しかるべき処理を呼び出すためのライブラリです。ちゃんとした機能を備えたコマンドラインパーザーを、とにかく書きやすい形のAPIで提供することを目指して作っています。 コマンドラインパーザーっていうのは、プログラム全体のライフライクルから考えると、いじっている時間は決して長いわけではないので、新しいプログラムをつくろうかとなった時に、はてどうやってライブラリを使うのだったんだろうかと毎回忘れてしまいます。それでもって、それがわかりづらいものだと、その思い出すという事自体がわりと心理的障壁になってしまったりしていけないと思って、そういうところを目指したものを作りました。宣言的で型レベルとタイトルに入っていますが、簡単さを目指していたら勝

                  • テクノロジー
                  • 2015/06/21 23:22
                  • Haskell
                  • あとで読む
                  • 継続モナドによるリソース管理 - Qiita

                    115 users

                    qiita.com/tanakh

                    継続モナドって何に使うんだ問題に対する一つの例。 リソース管理の問題 プログラミングをやっていると必ずまとわり付いてくるのがリソース管理の問題です。ここで指すリソースというのは、ファイルのハンドルだとか、ソケットだとか、排他処理のためのロックだとか、グラフィックのハンドルだとかそういう話で、GCのない言語だとメモリの管理もこれに含まれるでしょうか。 言うまでもなく、リソースを確保した後はしかるべきタイミングで確実に解放してやる必要があります。しかし往々にして、現実のプログラムではリソースの解放漏れが発生してしまいます。単に解放するコードを書き忘れると言うのが一番単純でしょうもない理由ですが、それでも、C言語のようにリソース解放のための特別な仕組みを持たない言語では、これを徹底するのも結構骨の折れることだったりします。それはともかく、もう少し高尚な悩みとしては、例外との組み合わせで発生する解

                    • テクノロジー
                    • 2015/06/21 10:54
                    • Haskell
                    • monad
                    • cps
                    • 継続
                    • プログラミング
                    • continuation
                    • あとで読む
                    • Programming
                    • Haskellにインラインアセンブリを書く - Qiita

                      15 users

                      qiita.com/tanakh

                      {-# LANGUAGE QuasiQuotes #-} import qualified Language.C.Inline as C sigma :: C.CInt -> IO C.CInt sigma x = [C.block| int { int i, ret = 0; for (i = 1; i <= $(int x); i++) ret += i; return ret; }|] main :: IO () main = print =<< sigma 10 inline-cでは、QuasiQuoteでCのコードをHaskellに埋め込むので、LANGUAGEプラグマでこれを使えるようにしないといけません。sigmaという関数は、ご覧のとおり、引数xに対して、1からxまでの和を計算する関数です。基本的にCで普通に書けばいいのですが、$(<型名> <変数名>)などのunquote

                      • テクノロジー
                      • 2015/06/05 08:47
                      • haskell
                      • FFI
                      • C
                      • プログラミング
                      • あとで読む
                      • 「ソフトウェアエンジニアならば1時間以内に解けなければいけない5つの問題」をHaskellでやってみた - Qiita

                        59 users

                        qiita.com/tanakh

                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                        • テクノロジー
                        • 2015/06/02 06:36
                        • haskell
                        • あとで読む
                        • programming
                        • プログラミング
                        • 勉強
                        • neta
                        • 開発者がSurfacePro3を買ったらまずやること - Qiita

                          798 users

                          qiita.com/tanakh

                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? SurfacePro3買いました。なかなか面白いデバイスですね。 こころがぴょんぴょんするんじゃ~~ SurfacePro3を機に久しぶりにWindowsを触るという方もいらっしゃるかと思うので、Windowsでの開発環境構築まとめを書いてみます。タイミング的にタイトルにSurfacePro3を入れましたが、SurfacePro3特有の話はありません。 アカウント作成 いきなりですが、アカウント作成のときに注意点があります。ユーザー名に日本語を使ってはいけません。GNUツールの中には日本語パスやスペースを含むパスを考慮していないものが割

                          • テクノロジー
                          • 2014/07/20 10:48
                          • windows
                          • Surface
                          • 開発
                          • Windows8
                          • development
                          • Programming
                          • software
                          • コンピュータ
                          • IT
                          • cmder
                          • cabal install が Permission DeniedでこけるときのWorkaround - Qiita

                            6 users

                            qiita.com/tanakh

                            症状 cabal install で、 dist/ ディレクトリを含むパッケージをインストール仕様とするとコケる。 (Issueがある https://github.com/haskell/cabal/issues/1698) 原因 cabal sdistコマンドを既にdistディレクトリがある状態で実行すると、それをtarballに含めてしまう。この状態で build を行うとうまく行かない場合があるので、現在のcabal installでは、 dist/ を dist-tmp/ にリネーム dist/ を新しく作る dist-tmp を $distpref (パラメータ) にリネーム という手順を踏んでから、buildを行っているようである。 しかし、 $distpref はデフォルトでは "dist" になっているため、結局同じ名前にリネームしているどころか、Windowsのディレク

                            • テクノロジー
                            • 2014/05/27 06:08
                            • haskell
                            • windows
                            • ぷよぷよ in Lens - Qiita

                              8 users

                              qiita.com/tanakh

                              import Control.Lens import Control.Monad import Control.Monad.State import Data.List import qualified Data.Map as M paint :: M.Map (Int, Int) Char -> (Int, Int) -> Int paint mm pos = evalState (go pos) mm where go (i, j) = do b <- use $ at (i, j) if b == M.lookup pos mm then do at (i, j) ?= 'x' vs <- forM [(1, 0), (-1, 0), (0, 1), (0, -1)] $ \(di, dj) -> go (i + di, j + dj) return $ 1 + sum vs els

                              • テクノロジー
                              • 2012/10/23 11:47
                              • haskell
                              • Lens
                              • tagsoupとregex-tdfaでHTMLからリンク抽出 - Qiita

                                4 users

                                qiita.com/tanakh

                                {-# LANGUAGE OverloadedStrings, QuasiQuotes #-} import Control.Applicative import Control.Monad import qualified Data.ByteString.Lazy.Char8 as B import Network.HTTP.Conduit import System.Cmd import System.Environment import System.Process.QQ import Text.HTML.TagSoup import Text.HTML.TagSoup.Tree import Text.Printf import Text.Regex.TDFA baseUrl = "http://dumps.wikimedia.org/" extractLinks url rege

                                • テクノロジー
                                • 2012/04/06 17:51
                                • haskell
                                • tagsoup

                                このページはまだ
                                ブックマークされていません

                                このページを最初にブックマークしてみませんか?

                                『@tanakhのマイページ - Qiita』の新着エントリーを見る

                                キーボードショートカット一覧

                                j次のブックマーク

                                k前のブックマーク

                                lあとで読む

                                eコメント一覧を開く

                                oページを開く

                                はてなブックマーク

                                • 総合
                                • 一般
                                • 世の中
                                • 政治と経済
                                • 暮らし
                                • 学び
                                • テクノロジー
                                • エンタメ
                                • アニメとゲーム
                                • おもしろ
                                • アプリ・拡張機能
                                • 開発ブログ
                                • ヘルプ
                                • お問い合わせ
                                • ガイドライン
                                • 利用規約
                                • プライバシーポリシー
                                • 利用者情報の外部送信について
                                • ガイドライン
                                • 利用規約
                                • プライバシーポリシー
                                • 利用者情報の外部送信について

                                公式Twitter

                                • 公式アカウント
                                • ホットエントリー

                                はてなのサービス

                                • はてなブログ
                                • はてなブログPro
                                • 人力検索はてな
                                • はてなブログ タグ
                                • はてなニュース
                                • ソレドコ
                                • App Storeからダウンロード
                                • Google Playで手に入れよう
                                Copyright © 2005-2025 Hatena. All Rights Reserved.
                                設定を変更しましたx