並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 2621件

新着順 人気順

ワンライナーの検索結果201 - 240 件 / 2621件

  • RSpecの最新の動向・RSpec 3へのアップグレードガイド - Qiita

    この記事はRuby Advent Calendar 2013の6日目の記事です。 昨日はShindo200さんのRuby で paiza.jp のオンラインハッカソン問題に挑戦するときに少し役に立ちそうなことでした。 概要 Rubyのデファクトスタンダードなテストフレームワークと言えるRSpecですが、現在バージョン3.0のリリースへ向けて開発が進められており、先日2013年11月8日には3.0.0.beta1がリリースされました。 この記事ではRSpec 3における変更点と、RSpec 3へのアップグレード手順、また既存のspecを最新の記法に変換するツールを紹介します。 追記 RSpec 3は2014年6月2日に正式リリースされました。この記事は2013年12月6日に書かれたものですが、正式版においても通用する内容になっています。 正式版における主要な変更点は、以下のページが参考になる

      RSpecの最新の動向・RSpec 3へのアップグレードガイド - Qiita
    • 問い:Java 8のStream APIは業務でどんな時に使うの? 答え:あなたがfor文使いたい時 - ブログなんだよもん

      ※ サンプルがJDK7までとJDK8までで意味が変わっていてわかりにくいという指摘があったので、少し直しました。 ※ boxedを使う書き方だと無駄なAutoboxingが走るとの指摘を頂きましたのでmapToObjを利用するように変えました。 Java8の目玉機能の一つにStream APIがあります。 目玉機能だけあって、先日のJava Day Tokyo 2014を含めて色んな所で発表やブログの記事が公開されているので、どんなものかを知ってる人は多いと思います。 Stream APIといえば「".parallel()"と書くだけで並列化してスピードアップ出来る!」という魅惑的なキーワードで紹介されることが多いので、並列化のための仕様だと勘違いされそうですが、そうではありません。 ※ もちろんそういった記事の中をちゃんと読めばそう単純な話じゃないことも分かります。 むしろ、並列化に関し

        問い:Java 8のStream APIは業務でどんな時に使うの? 答え:あなたがfor文使いたい時 - ブログなんだよもん
      • 最速インターフェース研究会 :: Firefoxでの開発を高速化する自動リロードスクリプト

        以前にも書いたとおり萌ディタとSleipnirAPIを駆使して、htmlその他ソースファイルをいじると保存のタイミングに合わせてSleipnirのアクティブタブがリロードされるようになっているわけなのですが、近頃Firefox1.5をメインに使うようになってしまったのでFirefoxでも上手く動くようにしようという話。 もちろん自動リロード機能を提供する拡張があるのは知ってるんだけど、編集のタイミングと関係なく1秒ごとにリロードさせたらせわしなくて仕方ない。あくまで保存のタイミングに合わせてブラウザを更新したい。 最初は萌ディタからFirefoxにコマンドラインでブックマークレットを渡すというのをやってみたのだけれど、どうにも手元の環境では上手く動かない。新しいタブでブックマークレットを開いてしまったりする。WSHでFirefoxにフォーカスを合わせてF5を送るとかもやってみたんだけど萌デ

        • Python製シェルxonshを半年使った所感や環境設定のまとめ - Stimulator

          - はじめに - Pythonにおけるpython-prompt-toolkit(以下ptk)を使って作られたシェルである「xonsh」を同僚にオススメされて、大体半年くらい使ったので設定とかxontribとか所感を晒していく。 前半でxonshのメリット、デメリットの概要を記載し、後半に自身が利用する設定やxontribについて記載する。 この記事は、xonsh導入に至る人もしくは、環境設定について広く知りxonshを扱える人を増やす事が目的である。 追記:2018/07/18 xonsh 0.7.0が出ていますが、現在prompt-toolkit2.0の各機能対応中という感じです。 これは、ptk1.x -> 2.xにおいて結構な破壊的変更があるためです。 現状はpip install xonshする時に pip install prompt_toolkit==1.0.15 pip i

            Python製シェルxonshを半年使った所感や環境設定のまとめ - Stimulator
          • Disk I/Oの使用率を監視するワンライナー - kazuhoのメモ置き場

            iostat -x の %util を監視してしきい値を超えたらアラートメール飛ばしたいなぁと思って crontab 書いた。こんな感じ。 */5 * * * * perl -wle 'my $s = `/usr/bin/iostat -xk /dev/sd[abc] 270 2 | tail -4`; print $s if $s =~ m{\s(?:[0-9]{3}|[5-9][0-9])\.[0-9]+$}m'ポイントは、 iostat の後ろから2つ目の引数がサンプリングを行う秒数 tail で デバイス数+1 することで、最後のサンプルを取り出す 正規表現で50%以上だった場合に標準出力に iostat の結果を出す=メール送信

              Disk I/Oの使用率を監視するワンライナー - kazuhoのメモ置き場
            • curl(1) で POST する際の --data と --form の違いについて - @kyanny's blog

              調べてみた。動作確認用のサーバは plackup で立てている。 app.psgi の中身は一番最後に。 --data (-d, --data-ascii) application/x-www-form-urlencoded 形式で POST する。 @/path/to/file のように value の先頭が @ ではじまっているとファイルを読み込んで改行文字を取り除く。パラメータや @ つきで指定したファイルの中身はすべて URL エンコードされていることが期待される。つまり curl(1) は URL エンコードしてくれない。 -d を複数回指定するとすべてのパラメータが & で連結される。 @ でファイルを指定する場合、 -d 'file=@sale.txt' のようにすると中身が展開されないので注意 (file=@sale.txt という文字列が渡される) $ curl -d '

                curl(1) で POST する際の --data と --form の違いについて - @kyanny's blog
              • Rubyによるワンライナーのまとめ - ぬいぐるみライフ?

                Rubyでワンライナーを書く際によく使うコマンドライン引数と具体例をまとめてみた. 基本 -e : コマンドラインからスクリプトを指定 コマンドラインからスクリプトを指定する場合に使う.ワンライナーでは必須. $ ruby -e 'puts "Hello, world!"' 行単位の処理 -n : 各行ごとに処理 プログラム全体が以下のwhileで囲まれているように動作する. while gets ... end 標準入力やファイルの各行に対して処理を行いたい場合に便利.getsの結果は$_に格納される. $ ruby -ne 'puts $_ if $_.include?("mickey24")' foo.txt -p : 各行ごとに処理&出力 -nとほぼ同様だが,各ループの最後で print $_ が実行されるようになる.標準入力の各行に対して処理を行いつつ出力していく場合に便利. $

                  Rubyによるワンライナーのまとめ - ぬいぐるみライフ?
                • Vim実践入門 ~Perl編~

                  YAPC::ASIA 2013 9/20 at 慶応大学 株式会社GaiaX Kazuhiro Homma (@kazuph) Whoami @kazuph / 本間 和弘(Kazuhiro Homma) Web&SmartPhone Engineer / 株式会社ガイアックス 社内でCPAN Authorになろうハッカソンを開催しました!! Vimのsnippetについてあまり知らなかったので設定してみたら便利過ぎてつらい Whoami 去年の素数戦争の企画・運用をやってました ガイアックス × CodeIQ Yapc::Asia2012::素数戦争(PrimeWars) 言語別開発環境 メモ(日本語) GVim Perl Vim iPhone / Objective-C XCode + XVim Android / JAVA Eclipse + Vimperator Chrome Vi

                  • Windows開発環境の構築をChocolateyからscoopに切り替える - tech.guitarrapc.cóm

                    この記事は、PowerShell Advent Calendar 2019の一日目です。 qiita.com Windows のパッケージマネージャーの裏はPowerShellが多く使われています。 そんなWindows におけるパッケージマネージャーと言えば、Package Management Chocolatey が有名なのではないでしょうか? 私もChocolatey をパッケージマネージャーに用いて開発環境の構築をしてきましたが、課題が多かったため Scoopに切り替えました。 Chocolatey で何が問題だったのか、なぜscoop を選んだのか、この一年 scoop をどのように環境構築に利用しているのかを紹介したいと思います。 目次 目次 TL;DR Chocolatey の利用 どのように Chocolatey を利用していたのか Chocolatey で困ること Ch

                      Windows開発環境の構築をChocolateyからscoopに切り替える - tech.guitarrapc.cóm
                    • #osxtips - Scripters のための Automator入門 : 404 Blog Not Found

                      2009年11月17日22:00 カテゴリTipsLightweight Languages #osxtips - Scripters のための Automator入門 Mac OS X v10.6 Snow Leopard アップル Snow Leopardになって便利になったものの一つとして、Automatorがあります。 【コラム】OS X ハッキング! (341) 知られざるSnow Leopard (サービス編) | パソコン | マイコミジャーナル たとえば、選択された文字列を Perl として実行しその結果を置き換えるサービスは、こんな簡単に作れます。 http://dl.dropbox.com/u/188965/automator/eval-as-perl.tbz Rubyなら、こう。 http://dl.dropbox.com/u/188965/automator/eva

                        #osxtips - Scripters のための Automator入門 : 404 Blog Not Found
                      • 組み込みC言語プログラマのためのmruby入門(前編) ―― Rubyとmruby,何が違う? どう違う?

                        組み込みC言語プログラマのためのmruby入門(前編) ―― Rubyとmruby,何が違う? どう違う? 邑中 雅樹 Rubyは,まつもと ゆきひろ氏(通称Matz)が開発したプログラミング言語です.Rubyは2004年に発表されたWebアプリケーションのためのフレームワーク「Ruby On Rails」の爆発的ヒットによって,広く知られるようになりました.Rubyは,日本で開発された言語としては初めてISO規格となり,最近では経済紙でもRubyへの言及を見かけるようになりました. Rubyは,「純粋オブジェクト指向」注1というパラダイムを取りつつも,プログラマのストレスを軽減することを第一として設計されています.そのため,ワン・ライナ(コマンド・ライン1行で済ませる作業)から,twitter.comのような大規模なWebアプリケーションまで,幅広い分野で活用されています. 注1:純粋オ

                        • NginxのPerlモジュールで自由にリアルタイム画像変換する方法 - 9mの日記

                          Webサイトでいろいろなサイズの画像を使いたいとき、URLのパラメータを変えるだけでサイズ変換してくれると非常に便利です。クックパッドのTOFUとかわりと有名ですね。開発効率も上がるし、面白そうだったのでNginxで実装してみました。 TOFU : 料理を楽しくする画像配信システム フルサイズの画像 元の画像です http://pic.kksg.net/shirakawago.png 比率固定リサイズの画像 /scale/128x128 を挟むと縦横の最少が128pxの画像になります。 http://pic.kksg.net/scale/128x128.shirakawago.png サイズ指定切り抜き c オプションで切り抜き。指定サイズいっぱいに、いい感じに切り抜きます。 http://pic.kksg.net/scale/c.600x150.shirakawago.png グリッチ

                          • 西尾泰和のブログ: Pythonでワンライナーを作成する際のノウハウ集

                            これはLL Ringというイベントの「じゃんけん2.0」に出場する際に「多くの構文に改行が必須であるPythonで書かれたじゃんけんエージェントをワンライナーにしていたらウケるかな」と思ってワンライナー化しているときに書いたメモです。自分用のメモのつもりだったので書き殴ってありますが、意外と人気のようなので近いうちに加筆します。 実は後から書いた英語版(How to make oneliner in Python?)の方が整理されているのかも。 完成したワンライナー def文を式にする defは改行を要求するのでlambdaに置き換える必要がある。 def foo(x): return x + 1(ここに改行) foo = lambda x: x + 1 globals().__setitem__("foo", lambda x: x + 1) lambdaは式しか含むことが出来ないので、

                            • おさかなラボ - vimにPerlとPHPの辞書を登録するぞ

                              vimはCtrl+pで直近の単語を補完してくれるが、関数なんかも補完してくれると便利だ。しかしなんかしらんけど辞書は自分で用意しなきゃならんらしい。そのノウハウを公開する。なおvim7持ってる人はomni completeというもっと便利な機能があるらしい(ただしPerlは未対応か。詳細は末尾に記載)。 下準備 ~/.vim/以下にdictを掘っておく。~/.vim/dict/でいい。ほんとはどこでもいいんだけど分かりやすいからそこにしちゃおうよ。 PHPの場合 まずphpの辞書を作ってみよう。phpは全関数を出力する機能があるらしいのでそれを使う。この方法、ネタ元があったのだが分からなくなった。ごめん。 まず辞書ファイルを作る。場所はどうでもいいんだが、~/.vim/dictに辞書ファイルを集めることにしてしまおう。 php -r '$f=get_defined_functi

                              • コンテナセキュリティを始めるための無料ツール5つとドキュメント3つの紹介 | DevelopersIO

                                コンテナセキュリティについてなんとなく不安を感じている方に向けた、ドキュメントと無料ツールの紹介です! 「コンテナセキュリティってなんか必要そうやねんけど、実際なにすんの?」 先日、我らがDevelopers.IO Cafeにおいて、クリエーションライン株式会社 (CREATIONLINE, INC.)様と共催で、以下のイベントを開催しました。 あなたのコンテナ運用大丈夫?コンテナセキュリティの考え方と対応策 - connpass 全部で3セッションで構成されているのですが、私の方では、「コンテナセキュリティ関連OSSの紹介」と題して、コンテナセキュリティこれから検討始めようという方に向けて、そのとっかかりに有用なドキュメントと無料ツールを紹介させていただきました。 ドキュメントもツールもどれも有用なものなので、コンテナセキュリティについて不安や必要性を感じている人は、これらの中から実際に

                                  コンテナセキュリティを始めるための無料ツール5つとドキュメント3つの紹介 | DevelopersIO
                                • grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々

                                  "GREP_OPTIONS"という環境変数に、常に付けておきたいオプションをあらかじめ指定しておくと、grepコマンドやxgrep(egrepとかfgrepとか...)を実行したときに、自動でオプションをつけて実行してくれます。 例えば、、、 $ export GREP_OPTIONS="--color=auto"とか。常に含めておくなら、あとは"-I"オプションとかですかね。これくらいなら"alias"でも良いわけですがw grepとか毎日使ってもおかしくないコマンドなので、こういう小さい効率化はどんどんやっていきたいところですね! オプション無しで実行した場合 GREP_OPTIONSを設定してから実行した場合 おまけ: --colorの色を変えたい場合 環境変数 "GREP_COLOR"に色コードを指定してやると良いです。 例えば、ハイライトを黄色にしたい場合とかは、以下のような感じ

                                    grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々
                                  • GitHelp

                                    Gitのような複雑なシステムは使い方が難しい。 ある程度使い方を知っている場合でも、あまり一般的でない機能を使うのは難しい。 たとえば以下のような場合はどういうコマンドを使えばいいだろうか? ひとつ前のバージョンのREADME.mdからの変更を見たい README.mdは3日前からどう変わった? package.jsonにcoffeeという名前が入ったのはいつ? ここ1週間ぐらい変更されてないファイルは? 最近大量に修正したファイルはどれだっけ? 最初の例について考えてみる。 Gitでは「HEAD^」「HEAD^^」のような表現で昔のコミットを参照できるので $ git diff HEAD^ README.md のようにすればひとつ前のコミットのREADME.mdとの比較ができるが、 最近のコミットでREADME.mdを編集していなかった場合は このコマンドを起動しても何も出力されない。

                                    • MySQLに対して定期的に実行して結果を保存しておくと幸せになれるアレ - なからなLife

                                      ワンライナー mysql -u ユーザ -pパスワード -h 接続先 -e "SQL文" | sed -e 's/\t/\" \"/g' | sed -e 's/^/\"/g' | sed -e 's/$/\"/g' | sed -e "s/^/$(date '+%Y%m%d %H:%M:%S') /g" >> ファイル パスワードを生テキストで書くなって人はゴニョゴニョしてください。 追記:ゴニョゴニョするはなし、書きました。 MySQLで幸せになれるヤツの続き-パスワードを隠蔽する方法 - なからなLife 取りたい情報に応じて、権限が異なります。DBのroot相当の権限があるといいのですが、少なくとも「全スキーマへのSELECT」と「PROCESS」は必要になるはず。 何するやつ? MySQLにログインして、-eの後に指定したSQLを実行して、ログアウトする。 SQLの結果をパイプで

                                        MySQLに対して定期的に実行して結果を保存しておくと幸せになれるアレ - なからなLife
                                      • 「エンジニアの未来が袋小路に陥らないよう「多様性」の重要性を言い続ける」(前編)Ruby言語開発者 まつもとゆきひろ 氏 |ギークアカデミー

                                        世界的に普及したプログラミング言語「Ruby」の開発者。 現在は、Rubyアソシエーションの理事長や、株式会社ネットワーク応用通信研究所フェロー、楽天株式会社楽天技術研究所フェロー、Herokuチーフアーキテクトとして国内外で活躍している。 Ruby開発者のまつもとゆきひろ氏に、Rubyへの取り組みや、ソフトウェアエンジニアたちへの助言を聞いた。20年間、継続してRuby言語に取り組んできたまつもと氏は、ソフトウェアエンジニアの未来を「暗いものにしない」ためには声を上げ続けることが必要だと語る。 ──いよいよRuby2.0の正式リリース日(2月24日)が迫ってきて楽しみにしています(注:インタビュー時点)。ところで、最近のまつもとさんはプログラマとしてはmruby(組み込み用途向け軽量Ruby処理系)のほうにより多く関わっていると伝えられていますが、実際はどうなんでしょう? Ruby1.9

                                          「エンジニアの未来が袋小路に陥らないよう「多様性」の重要性を言い続ける」(前編)Ruby言語開発者 まつもとゆきひろ 氏 |ギークアカデミー
                                        • トレタさんのRails + Dockerハンズオンが本当に勉強になった!

                                          Dockerの説明を「Introduction · Dockerの基礎」に書きました。よければご覧ください。 4/12(火)に開催された『トレタ社内勉強会 “Dockerの上でRailsアプリを動かす ハンズオン”』 にDockerを勉強したくて無理にお願いをして、ハンズオンに参加させてもらいました。 感想としては @masuidrive さんの作られた資料の密度がすごく高かったのと、 説明が丁寧だったのでDockerやAmazon ECS等の大切な部分の概要を知ることができました! 🚜 トレタさんの勉強会資料 🐹 下準備の手順 トレタ社内勉強会 “Dockerの上でRailsアプリを動かす ハンズオン” セットアップ資料 DockerでRails開発環境を作るワンライナー - Qiita 😎 Dockerのメリット Vagrantよりも軽量でキャッシュが有ればすぐに立ち上がる パフ

                                            トレタさんのRails + Dockerハンズオンが本当に勉強になった! 
                                          • Linuxの対話がめんどくさい?そんな時こそ自動化だ!-expect編- - Qiita

                                            expect編以外に書くつもりは毛頭ありません。 manを見てもググってもどうにも手がつけられない程度に分かりづらかったので、備忘録としてまとめます。 expectって何? 対マシンに於いて発生する、マシンからの問いに対し、人間がキーを叩いて返答する、所謂対話を自動化するコマンド及びモジュールです。 今回はLinux上のexpectコマンドを取り上げますが、CでもC++でも同様の処理が実行可能なようです。 RubyやPerlでも書き換えられ、モジュールとして配布されているようです。 元はTclというプログラム言語ベースのコマンドです。 コマンドとは言いましたが、使い道はほぼスクリプトとなるかと思います。 というかコイツをワンライナーでどう使えばいいのかよくわかりません。 また、expectはコマンドというか言語であるようです。 expectはTclのスーパーセット(Tclを包括し、更にオプ

                                              Linuxの対話がめんどくさい?そんな時こそ自動化だ!-expect編- - Qiita
                                            • VimShell最強ですね、わかります。 - 理想未来ってなんやねん

                                              Vimの中でShell機能を実現するプラグイン。 作者はneocomplcacheと同じShougo氏 画面はこんな感じ。右側がVimShell。 補完機能もバッチリ 以下、機能の抜粋 vimshellの代表的機能 ・色分け ・ヒストリ ・他のプラグインとの連携 ・ディレクトリスタック ・auto_cd ・スクリプト実行 ・シェル呼び出し ・ワンライナー対応 ・簡易電卓 ・プラグインによる機能拡張 ・aliasコマンド ・シェル変数もどき ・非同期実行(実験的機能) ・独自のカレントディレクトリ ・vimコマンド ・コマンドラインスタック 2回目の実行はカーソル合わせて、で実行できるので楽ちん。 通常のバッファと同じように自由に移動できてvisualモードで選択してyankとか簡単にできる。 cdすると、pushdとかやらなくてもディレクトリを記憶するのでpopdで元に戻れる。 実行結果を

                                                VimShell最強ですね、わかります。 - 理想未来ってなんやねん
                                              • CSSでwebフォントの読み込みが遅い問題を改善する方法 - Qiita

                                                💀 Webフォントの問題点 Webフォントに限らず、ブラウザでテキストを表示する過程には、フォントの読み込み作業が存在します。また、フォントを読み終えるまではテキストを表示させない機能1がブラウザには組み込まれています。 ローカル環境下のフォントであれば読み込みに時間はあまりかからないので問題ありませんが、webフォントの場合はローカルフォントと比べると読み込みに多くの時間を要してしまいます。 この機能の影響で、ページのロードをしてからテキストが表示されるまでの間、ユーザーはテキストを読むことができない為、不満や苛立ちを覚え、体験価値の低下やページの離脱を引き起こすと考えられます。 ⚔️ 'font-display'プロパティでこの問題に立ち向かう font-displayというCSSプロパティを用いることで、webフォントを読み終えるまではローカルフォントを代替的にロードし、テキストの

                                                  CSSでwebフォントの読み込みが遅い問題を改善する方法 - Qiita
                                                • sed コマンド | コマンドの使い方(Linux) | hydroculのメモ

                                                  sed コマンド 2015/05/13 文字列を全置換したり、行単位で抽出したり、削除したり、いろいろなテキスト処理のできるコマンド。処理内容はコマンドラインパラメータで指定して、非対話的に一括処理できる。 sedで書ける処理であれば、処理内容にもよるが、perlのワンライナーで書くよりも速いことが多い。 sedというコマンド名は Stream EDitor の略らしい。 基本的な使い方 2021/01/17 標準入力をなにかしら処理して標準出力に出力するので、パイプとして使える。まあたいていのUNIXツールはパイプとして使えるのだが。 ファイル名を指定すればそのファイルを読み込んで処理して標準出力に出力する。 ファイル名を指定してオプション -i を使えば、そのファイルを読み込んで、結果をそのファイルに上書きする。ファイル自体を編集したい場合には便利。(-i はGNU sed限定) 処理

                                                  • プロと読み解くRuby 3.3 NEWS - STORES Product Blog

                                                    テクノロジー部門CTO室の笹田(ko1)と遠藤(mame)です。今年の 9 月から STORES 株式会社で Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています(Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES People )。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.3.0 がリリースされました(Ruby 3.3.0 リリース)。クックパッド開発者ブログで連載していたように、今年も STORES Product Blog にて Ruby 3.3 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar

                                                      プロと読み解くRuby 3.3 NEWS - STORES Product Blog
                                                    • Config::PitとWeb::ScraperとPlaggerで24時間365日のゲーム監視体制

                                                      序文 趣味のネットウォッチのために仕方が無く超便利なPerlを覚えようという感じの otsune です。そんなわけでコーディングの深い話はよくわからんので、今回はPerlとCPANを使ってネットウォッチを支援する手法について書きます。 ウォッチしたいWebページを機械的に監視できれば、あとはPlaggerなどの便利ツールを使って「メールを出す」「im.kayac.comでメッセンジャーにアラートを出す」「ピザを注文する」など好きな処理をすることが出来ます。 RSSフィードやAPIなどがあるWebサイトであれば特に苦労はしないのですが、今回取り上げるOgame.jpはウェブブラウザーゲームなので、フィードなど便利な機能はまったく存在しません。 そこでウォッチしたいWebページに対してWeb::Scraperを使ってYAMLを出力する短いスクリプトを書いてしまいます。 メールを出すなどのこまご

                                                      • Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル

                                                        あまり知られていない関数型言語のおもしろ概念として、Opticsというものがある。 Opticsとは、オブジェクト指向言語で言うところのSetter/Getterを一種の関数として捉え、いくつかの便利な特性を付与したものの総称だ。この便利な特性によって、Setter/Getter以上のことをパワフルにこなせる。 最も有名なOpticsはLensであり、色々な解説資料が(主にHaskell向けに)出ている。 blog.recruit.co.jp さて、これまでのOpticsを紹介する資料はSetterとGetterとしての側面に注目しがちだったので、じゃあOpticsの何が良いのか、Scalaでやる意義は何か、という側面をこの記事で紹介しようと思う。 Optics -- vs. copyメソッド地獄 Opticsは合成可能である Opticsはボトムアップのアプローチである Opticsがう

                                                          Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル
                                                        • my bashrc

                                                          状況: いくつものホストに何回もログインする。 いくつかのホストはホームディレクトリを nfs で共有している (がすべてではない)。 ホストによってプロンプトの色を変えている (同じウインドウからあっちこっちにログインすると混乱するので)。 ちなみに emacs -nw のステータスバーの色もホストによって変わるようになっている。 ssh-agent を使っている。 GNU screen を使っている。 文字列処理をすることが異様に多い。 ## .bashrc ## Yusuke Shinyama ## ## 新しく作られたファイルのパーミッションがつねに 644 になるようにする。基本。 umask 022 ## core ファイルを作らせないようにする。これも基本。 ulimit -c 0 ## 環境変数の設定 # man とかを見るときはいつも less を使う。 export P

                                                          • イカしたエンジニアになるためのイカしたコミットメッセージ - mmyoji's diary

                                                            2015-10-16 イカしたエンジニアになるためのイカしたコミットメッセージ Git 今お仕事させていただいている会社で、以前 【コミッター登壇】プログラマーのための「Rubyの世界」 - connpass で登壇された @idesaku さんとも一緒に働かせていただいてて、今日ありがたいことにマンツーマン(死語?)でgitのコミットメッセージについて講義をしていただいて、それがめちゃめちゃよかったのでブログに残しておこうと思います😊 commitメッセージに関する記事などを以前色んな人が書いてるのを見た気がしますが、個人的な経験として今日得られたのがインパクト強かったので、多少被ったりはしているかもしれませんが、そこらへんはスルーしてくださいmm 経緯 僕のPull Requestに付くコメントが毎回コード自体というよりは commit に関することばかり 「このコミットメッセージは

                                                              イカしたエンジニアになるためのイカしたコミットメッセージ - mmyoji's diary
                                                            • Plaggerが「便利ツール」だという誤解 - 萌え理論ブログ

                                                              Plaggerが「便利ツール」だという誤解 煩悩是道場 - それpla 個人的に言えばPlaggerは「インストールが何だか面倒い」みたいに感じるし、そんな面倒い事をしてまでピザを注文しようとも思わない。 suVeneのあれ: 「それPla」に対する 確かに現時点では Plagger は少し敷居が高いし、目的を達成するためには面倒な手段であるかもしれないが、「手段に啓発されて、新しい目的や新しい利用法を発見する事」も多々あるのは忘れてはならない。 萌え理論Blog - Plagger入門以前 Plaggerが産み出す時間>Plaggerを習得する時間 前回は大まかな概要を述べましたが、今回は「なんでピザを注文するために面倒なインストールしなくちゃいけないんだ?」という素朴な疑問に突っ込んで答えましょう。前回では説明の便宜上、はてなアンテナやはてなRSSと連続して語りましたが、本当はそれらの

                                                                Plaggerが「便利ツール」だという誤解 - 萌え理論ブログ
                                                              • 簡単で、奥深くて、超便利! LLの元祖「AWK」にさわってみよう

                                                                編注1:「シェル芸」とは、UNIXシェル(主にbash)のワンライナーを駆使して文字列加工を自由自在に操ることです。また、そのような能力をもつ人をシェル芸人と呼びます。 パターンとアクション AWKはパターンとアクションを組み合わせるプログラム言語です。日本語で「もし○○だったら、○○をする」という文章のうち、「もし○○だったら」という部分がパターンであり、「○○する」という部分がアクションです注1。このようにパターンとアクションで構成されるAWKの基本文法は直感的であるため、様々な機会で用いられます。これをAWKスクリプトで記述すると以下のようになります。 さて、「パターン」という名前から「正規表現にマッチする」ようなイメージを持たれるかもしれませんが、AWKのパターンは「条件式」そのものであり、その条件式の戻り値による「真偽」にしたがいアクションが実行されます。今回はこのパターンの真偽

                                                                  簡単で、奥深くて、超便利! LLの元祖「AWK」にさわってみよう
                                                                • Windows 10のWindows Subsystem for Linux(WSL)を日常的に活用する - 2017-11-08 - ククログ

                                                                  この表に示す通り、WSLは既存の取り組みでそれぞれ諦めざるを得なかった部分の両立を図った新しい選択肢と言えます。 端的に言うと、「WindowsにLinux互換のコマンド操作インターフェースが加わった」状態に近いものとなっています。 Linuxのデスクトップ環境やmacOSでは、「普段の操作はGUIで行いつつも、定型的な処理を素早く済ませたい場合には『端末』のウィンドウを開いて、その中で普段サーバーの操作に使っているのと同様のコマンド操作を行う」という使い方ができますが、WSLによってWindowsでもこれに近いことができるようになります。 WSLそのものの導入手順やWSLの仕組みの概要については、技術情報サイトの記事やまんがでわかるWSLなどに譲る事にして、この記事では具体的な活用事例にフォーカスしてご紹介していきます。 なお、Windows 10 Creators Updateおよびそ

                                                                    Windows 10のWindows Subsystem for Linux(WSL)を日常的に活用する - 2017-11-08 - ククログ
                                                                  • Fizz Buzz - Wikipedia

                                                                    Fizz Buzz(フィズ・バズ、Bizz BuzzやBuzzとも呼ばれる)は英語圏で長距離ドライブ中や飲み会の時に行われる言葉遊びである。 プレイヤーは円状に座る。最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの発言した数字に1を足した数字を発言していく。ただし、3の倍数の場合は「Fizz」(Bizz Buzzの場合は「Bizz」)、5の倍数の場合は「Buzz」、3の倍数かつ5の倍数の場合(すなわち15の倍数の場合)は「Fizz Buzz」(Bizz Buzzの場合は「Bizz Buzz」)を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。 ゲームは、以下のとおりに発言が進行する。 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz,

                                                                    • Windows / Visual Studio 使いが WSL 2 / Visual Studio Code で環境構築した時の手順 - しばやん雑記

                                                                      基本的には Windows と Visual Studio を使って Azure Functions や GitHub で公開しているアプリケーションとライブラリを書いていますが、最近は Python や Go を書く必要がちょいちょい出てきたので、色々と観念して WSL 2 の環境を構築して使っています。 特に Python は Azure Functions だと Linux のみ対応となるので、Windows 上での開発は難しくなっています。他にも個人的に PR を投げている Terraform Provider for Azure も Windows 上では一部のテストが通らなくなっているので、WSL 2 を使わないと難しい状況です。 環境構築系はメモっておかないと後ではまるので、自分が必要な範囲で手順を残します。 基本的な WSL 2 環境構築 Visual Studio Cod

                                                                        Windows / Visual Studio 使いが WSL 2 / Visual Studio Code で環境構築した時の手順 - しばやん雑記
                                                                      • コマンド1つで今すぐWebサーバを起動させるためのワンライナー(Ruby or Python) - 元RX-7乗りの適当な日々

                                                                        複数人で作業をしていると、ふとWebサーバを使いたくなるときがあります。 簡単なファイルの受け渡し等、ローカルマシンですぐにWebサーバを起動させることができると結構便利です。 でも、Apacheみたいな専用のWebサーバをわざわざインストールするほどでもない・・・。 そんなときにローカルマシンにRubyかPythonがインストールされていれば、コマンド一発(ワンライナー)ですぐにWebサーバを起動させることができます! Python編 Pythonでは、バージョン2.4以降で追加されたモジュールをスクリプトとして実行できる"-m"オプションを活用します。 $ python -m SimpleHTTPServer上記のような感じでコマンドを実行すると、デフォルトの8000番ポートで、実行時のカレントディレクトリをドキュメントルートとしたWebサーバが起動します。Pythonコマンド1つでW

                                                                          コマンド1つで今すぐWebサーバを起動させるためのワンライナー(Ruby or Python) - 元RX-7乗りの適当な日々
                                                                        • Ruby初心者と忘れっぽい僕のための10の必須リンク先 - None is None is None

                                                                          部分集合が含まれているのは仕様です。 1. リファレンスマニュアル 寝るときに枕の下に敷くこと。 なお、リファレンスマニュアルは各バージョンごとにあるので、最新版(今は2.2.0)を見ましょう。 オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (Ruby 2.2.0) 2. リファレンスマニュアル - 組み込みライブラリと標準ライブラリ ostructに(;´Д`)ハァハァしましょう。 組み込みライブラリ ライブラリ一覧 3. リファレンスマニュアル - 基本コレクション Enumerable#each_cons かわいいよ、 Enumerable#each_sliceも。 module Enumerable (Ruby 2.2.0) class Hash (Ruby 2.2.0) class Array (Ruby 2.2.0) class String (Ruby 2

                                                                            Ruby初心者と忘れっぽい僕のための10の必須リンク先 - None is None is None
                                                                          • CUIで見やすい git コミットグラフ: git-foresta 作った - Qiita

                                                                            なぜ作ったか ターミナルでの git 操作に tig を愛用してます。素晴らしいツールなんですが、マージが入り組んでくるとコミットグラフの線が途切れてしまったり、結構見るのがしんどくなります。tig と併用する目的で、入り組んだマージ履歴を見やすく表示可能な、テキストベースのコミットグラフ表示ツールを探していました。 そんな時、 Jan Engelhardt 氏が作った git-forest を見つけました。入り組んだマージ履歴も見やすく表示できるコミットグラフはいい感じなんですが、ハッシュ・日付・作成者・ブランチ名などの表示方式がイマイチに感じ、コードをいじっているうちに元とは結構違う見た目になりました。これを周囲の人にも使ってもらったところ「見やすい」と評判が良く、せっかくなので公開することにしました。 サンプル(スクリーンショット) というわけで、さっそくサンプルをご覧ください。まず

                                                                              CUIで見やすい git コミットグラフ: git-foresta 作った - Qiita
                                                                            • 1日1問、半年以内に習得 シェル・ワンライナー160本ノック

                                                                              2021年9月27日紙版発売 2021年9月22日電子版発売 上田隆一,山田泰宏,田代勝也,中村壮一,今泉光之,上杉尚史 著 B5変形判/488ページ 定価3,520円(本体3,200円+税10%) ISBN 978-4-297-12267-6 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto この本の概要 シェルのワンライナー(その場かぎりの1行プログラム)は,LinuxやMacのコマンドラインインターフェースを立ち上げたら,すぐにプログラムを書いて即実行できます。ちょっとした作業を手っ取り早く片付けるのに向いています。大量のデータ処理,繰り返し処理ほどその効果は絶大です。本書は,そんなシェル・ワンライナーを身につけるためのトレーニング

                                                                                1日1問、半年以内に習得 シェル・ワンライナー160本ノック
                                                                              • Fatal/ZERO 第四次コーディング戦争:SEは眠らない ―Fatal / stay night―:エンジニアライフ

                                                                                ■ はじめに どうもー。@ITの捨てがまり担当、terukizmです。にしても、深夜アニメ楽しいですよねー。ほんとに。かるたとか、超やりたい。 嘘です。 で、題名の元になってる某アニメなんですが、「歴史上の偉人の英霊を召喚して戦わせる」ってコンセプト…… すごく、いいですよねー。 となると当然「プログラム言語」でやってみたくなるのがプログラマの「業」というもの……。当然各方面に喧嘩を売ることになりますが、書いてたらだんだん楽しくなってきてついやっちゃったんだ。しかたないね。 ■ コーディング戦争概要(元ネタを知らない人向け) 「エスイー」が「プログラマ」を使役してコーディングする 「プログラマ」は7つのクラスに分けられ、それぞれの用いる言語に関わりの深い「英霊」が割り当てられる 最後に勝ち残った「エスイー」の願い(定時で帰りたいとか)が叶う 確かこんな感じ。で、以下、本編です。 ■ プログ

                                                                                  Fatal/ZERO 第四次コーディング戦争:SEは眠らない ―Fatal / stay night―:エンジニアライフ
                                                                                • Asanaの使い方

                                                                                  “Asana(アサナ)“を知っていますか? Asanaは、「タスク管理(ToDo管理)」に分類される生産性向上ツールで、とても使いやすく、大きな可能性を感じるウェブアプリケーションです。タスク管理ツールのRememberTheMilkと、プロジェクト管理ツールのBasecampをいいとこ取りしたような機能に、洗練されたデザインとUI。作ったのは、2人の元facebookメンバー――マーク・ザッカーバーグのルームメイトにして共同創設者のダスティン・モスコヴィッツ(Dustin Moskovitz)と、”Likeボタン”を作ったGoogle出身のトップエンジニア、ジャスティン・ローゼンスタイン(Justin Rosenstein)。招待制だったAsanaが一般公開されたのは、2011年11月2日で、まだ日本語での解説記事はほとんどありません。先んじて使い始めたい人のために、簡単に使い方をガイド

                                                                                    Asanaの使い方