第9回 学生エンジニア限定LT大会!!!でスライドの作り方の LT してきた

もう1週間以上も経ってしまいましたが第9回 学生エンジニア限定LT大会!!!に遊びに行ってきました。 自分でブログ書けと言って書いてなかった 今回は寿司とピザを食べることが出来たぞ!!! [reveal.js + markdown でスライドをつくろう!!] と、言うこ…

C++ で std::tuple を使ってバージョン番号を比較する

C++

元ネタ:C++ バージョン番号を比較する方法 - イネマルのプログラミング備忘録 #include <tuple> #include <iostream> int main(){ // 適当なバージョンデータ auto appA = std::tuple{ 2, 0, 101, 2 }; auto appB = std::tuple{ 2, 0, 100, 3 }; // C++11 で使いたいなら std</iostream></tuple>…

1,2月で気になった Ruby のパッチ、提案

去年、Ruby のパッチを書き始めた頃から開発者向けの ML に参加しているんですが、その中で面白そうなパッチや提案が結構目に付くので定期的にまとめてみようかと。 Feature #13784: Add Enumerable#filter as an alias of Enumerable#select - Ruby trunk -…

Ruby 25 周年記念パーティでデバッグ出力を行う gem つくってきた

今日 2018年2月24日は Ruby が誕生してちょうど 25年目! ということで記念パーティに行ってきました。 まあなんとなく行ってきたんですが、別に偉い人の話を聞いてもしょうがないので会場ではひたすら Ruby のコードを書いていました。人の話を聞いているよ…

C++ の std::tuple で動的にループする

C++

たまに C++ を書かないと忘れるので…。 [コード] #include <tuple> #include <iostream> #include <string> template<typename F, typename T, std::size_t I> void apply_impl(F f, T const& t){ f(std::get<I>(t)); } template<typename F, typename T, std::size_t ...Indices> void apply_impl(F f, T const& t, std::size_t n, std::inde…</typename></i></typename></string></iostream></tuple>

Vim script でいい感じにデバッグ出力する

Vim

Vim script でデバッグ出力を行いたい場合、以下のようなスクリプトを定義しておくことで『変数名:値』みたいな出力をすることが出来ます。 command! -nargs=* \ Debug \ try \| echom <q-args> ":" string(<args>) \| catch \| echom <q-args> \| endtry 使い方 let hoge = 42 " </q-args></args></q-args>…

第8回 学生エンジニア限定LT大会!!! でエモい話をしてきた

前回に懲りずに学生に混ざってLTしてきました。 9年間ブログを書き続けて得たもの https://osyo-manga.github.io/slide-gakusei_LT-08-9years-blog/#/ 内容は『アウトプットすることで自分にもプラスになるんやで』みたいな事を話してきました。 まあ、アウ…

表参道.rb #31 で LINE でお天気bot をつくった話をしてきた

LT してきました。 今回もご飯がとても美味しすぎた…。 LINE でお天気bot をつくった話 https://osyo-manga.github.io/slide-omotesandorb-31-otenki-bot/index.html#/ と、いうことで今回は珍しく生産性のある話をしてきました。 年末に LINE でお天気 bot …

Ruby で (a ==1 && a== 2 && a==3) の結果を真にする

と、いうのが JavaScript 界隈で流行っているので Ruby でもやってみた == メソッドを定義する 多分一番簡単なやり方。 比較演算子そのものの結果を変えます。 a = Object.new def a.== other true end p a == 1 && a == 2 && a == 3 # => true a メソッドを…

Ubuntu で Dropbox の同期が出来なかったときの対処方法

最近 Ubuntu を入れ直したんですが、その時に Dropbox の同期がうまくいかなかったので覚書。 Linux 版の Dropbox アプリの場合、デフォルトの設定では『1 万件以上のフォルダを監視すること』が出来ないため、以下のようなコマンドを端末から実行して回避す…

Ruby の Hash のキーを Symbol に変更する

Ruby の Hash のキーを Symbol に変更したい場合、Ruby 2.5 で追加された Hash#transform_keys を使うとよさそう。 hash = { "name" => "homu", "age" => 14 }.transform_keys(&:to_sym) # => {:name=>"homu", :age=>14} こういうのをやりたいことは稀によく…

Toyama.rb に参加してきた

タイミングよくちょっと近くへ行く用事があったの Toyama.rb に参加してきました。 勉強会の内容はみんなで雑談しながらもくもくして最後にやったことを各自で発表するような会です。 やったこと Ruby 2.5 の導入 Ruby 本体をビルド ファイルローカルなトッ…

C++ で each_split

C++

C++ で split というと『戻り値型とかどうするの』みたいな問題があるんですが、『それなら戻り値ではなくて each みたいに関数オブジェクトを渡せばいいじゃん』みたいな感じでやってみた。 #include <iostream> #include <sstream> #include <string> auto each_split = [](auto src, </string></sstream></iostream>…

rbenv をインストールしたので覚書

今まで めんどくさかったので rbenv を使っていなかったのですが Ruby 2.5 をインストールする為に入れたのでその覚書。 rbenv とは?みたいなことは以下の記事を参照してください。 rbenvとは?(rbenvを利用したRubyのインストール) - Qiita 事前準備 す…

2017年を振り返ってみて

残り25分しかないんですが雑に書いてみます。 C++ 相変わらず Twitter とかでてきとーに言ってる事が多かったです。 C++ 界隈のニュースで言えば、つい先日やっと C++17 がリリースされましたね。 これでやっと <variant> や <optional> が標準ライブラリに追加されたり、構造化</optional></variant>…

【一人 vimrc advent calendar 2017】vimrc を拡張するコツ【25日目】

Vim

一人 vimrc advent calendar 2017 25日目の記事になります。 今日で終わりっ!! と、言うことで vimrc を拡張するコツみたいなものを。 vimrc を設定する目的 vimrc を書こう!って言っても最初はどういう風に書けばいいのかわからないと思います。 Vim は…

【一人 Ruby Advent Calendar 2017】Ruby 2.5 がリリース!!【25日目】

一人 Ruby Advent Calendar 2017 25日目の記事になります。 今日で最後!! Ruby 2.5 がリリース!! Ruby 2.5.0 リリース 直前にいろいろとあったようですが、無事リリースされました。 コミッタの皆さんお疲れ様でした。 Bundler の標準入りは延期 Ruby 2.…

【Vue.js #1 Advent Calendar 2017】Vue.js + Element でフォームダイアログをいい感じに呼び出す【24日目】

Vue.js #1 Advent Calendar 2017 24日目の記事になります。 少し前に Electron + Vue.js + Element でネイティブアプリの開発を行っていたのですが、その時に利用したコードなどを簡単に紹介してみようかと思います。 Element とは Element(element-ui) とは…

【一人 Ruby Advent Calendar 2017】キーワード引数や Hash の渡し方や受け取り方いろいろ【24日目】

一人 Ruby Advent Calendar 2017 24日目の記事になります。 Ruby 3.0 でキーワード引数をぶっ壊すらしいのですが、現状の仕様をよく理解していないので簡単にまとめてみようかと。 Hash を渡す時に {} を省略 引数の最後が Hash 値の場合、{} を省略して書く…

【一人 vimrc advent calendar 2017】キーマッピングの注意点とか【24日目】

Vim

一人 vimrc advent calendar 2017 24日目の記事になります。 今日はクリスマスイヴですね。 ケーキを買いに行ったら売り切れていましたかなしい。 モードごとのキーマッピング さて、気を取り直して…。 Vim はモードごとに操作が分けられているのはご存知だ…

【一人 Ruby Advent Calendar 2017】Ruby で外部ファイルを読み込むメソッドいろいろ【23日目】

一人 Ruby Advent Calendar 2017 23日目の記事になります。 今回は require などの外部ファイルを読み込むメソッドを簡単にまとめてみます。 Kernel.#require 引数の Ruby のライブラリを読み込みます。 ここでいう Ruby のライブラリとは、 Ruby のスクリプ…

【一人 vimrc advent calendar 2017】gvimrc について【23日目】

Vim

一人 vimrc advent calendar 2017 23日目の記事になります。 そういえば、gvimrc について書いてなかったので簡単に書いてみようかと。 GUI 版 Vim GUI 版の Vim を起動するには環境にもよりますが gvim コマンドを使って起動させる事が出来ます。 これによ…

【一人 vimrc advent calendar 2017】タブページを操作するキーマッピングいろいろ【22日目】

Vim

一人 vimrc advent calendar 2017 22日目の記事になります。 もうすぐ Advent Calendar も終わりですね…。 タブページを操作するキーマッピングいろいろ さて、わたしは基本的にタブページごとにファイルを開いているのですが、そのタブページを扱うキーマッ…

【一人 Ruby Advent Calendar 2017】Ruby の % 記法【22日目】

一人 Ruby Advent Calendar 2017 22日目の記事になります。 そろそろラストスパート % 記法 Ruby には % 記法という特別なリテラルがあります。 例えば、%w という記法を使うと以下のように『空白文字で分割した』文字列の配列として定義されます。 p %w(hom…

【一人 vimrc advent calendar 2017】コマンドを実行した際にカーソル位置を移動させないスクリプト【21日目】

Vim

一人 vimrc advent calendar 2017 21日目の記事になります。 そろそろネタが枯渇してきているのですが、今日 vimrc から便利そうなスクリプトを発掘したのでそれの初回でも。 カーソル位置などを移動させないでコマンドを実行するスクリプト 元々、他の方の …

【一人 Ruby Advent Calendar 2017】ginza.rb で Ruby 2.5 の話を聞いてきた【21日目】

一人 Ruby Advent Calendar 2017 21日目の記事になります。 ちょっと話が前後してしまいますが、火曜日にginra.rb に初参加してきたのでそのまとめを。 今回は Ruby 2.5 のおさらいということで Ruby 2.5 の機能を参加者全員で眺めて生きながら意見を言って…

【一人 vimrc advent calendar 2017】autocmd FileType 時に設定を追加する場合の注意点【20日目】

Vim

一人 vimrc advent calendar 2017 20日目の記事になります。 前回filetype の設定に関する記事を書いたのですが、今回はそれに関係するお話。 autocmd FileType 等で設定するときの注意点 autocmd FileType などで『任意の filetype に対して』設定を行う際…

【一人 Ruby Advent Calendar 2017】Shinjuku.rb #56 2017年開発厄落としLT大会でLTしてきた【20日目】

一人 Ruby Advent Calendar 2017 20日目の記事になります。 Shinjuku.rb で LT してきました。 今回も遅れてしまい申し訳なく。 case-when と === と gem https://osyo-manga.github.io/slide-shinjukurb-56-case-when/#/ 学生LTでも同じような事を話したの…

【一人 vimrc advent calendar 2017】Vim から git commit する【19日目】

Vim

一人 vimrc advent calendar 2017 19日目の記事になります。 そろそろネタが尽きてきてそう。 Vim から git commit する さて、Vim を使っているとその場でファイルを編集して、そのままファイルをコミットしたいと思うことが多いと思います。 そういう時に…

【一人 Ruby Advent Calendar 2017】トップレベルの変数の扱い【19日目】

一人 Ruby Advent Calendar 2017 19日目の記事になります。 前回、トップレベルのメソッドの扱いについて書いたのですが、今回は変数に関してです。 トップレベルのローカル変数 トップレベルで定義されたローカル変数は通常のローカル変数と同じような感じ…