サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
www.ohmyenter.com
赤ポッチが可愛い『Lenovo Thinkpad トラックポイント キーボード II(英語US)』の俺々レビューです。製品仕様等カタログ的な部分は公式や他サイトに任せて、プログラマー目線で率直な意見を書きました。結構細かいところに突っ込んでる辛口レビューです。 かれこれ10年ぐらい前は結構なトラックポインターだったので、IIが発売されたことをきっかけに購入してみました。15,000円ぐらいでしたが、マウスもついてくると考えれば結構コスパ高いのかもしれませんね。デザインは昔とあまり変わってない。IBMからLenovoに変わったこと以外は化石のように何も変わってないんじゃないだろうか・・・。 製品仕様等 詳しくはメーカーのページを御覧ください。 ThinkPad トラックポイント キーボード II – 英語 他のキーボードとの違いは、やっぱりトラックポイント・マウス機能が付いていることでしょう
いまさらながらSpotifyの素晴らしさに感動し、有料会員になってこれからどっぷり使っていこうと鼻息を荒くする今日この頃なのですが、先立ってローカルにある音楽のアーティストをSpotify上でしこたまフォローしてやろうと思いSpotify API叩こうとしたのですが、登録系のための認証に少々手こずったので備忘録のためにも記事にしておきます。 クライアント認証 まずはSpotifyでアプリケーションの登録が必要です。次のサイトに飛んでログインしましょう。 Spotify.forDevelopers#dashboard ログインが完了したらダッシュボード画面で [CREATE A CLIENT ID] をクリック。必要事項を入力して(適当でいいと思う)アプリケーションを作成します。Client IDとClient Secretが発行されます。 このIDとSecretでAPIを叩けます。 とりあ
戻る・進むボタンはマウスに付いてるのでここでは登録しませんでした。 libinput-gesturesのインストール トラックパッドでの3・4本指ジェスチャーを可能にするツールです。 ちょっと長くなるので別の記事にしました。 http://13.231.247.97/trackpad-gestures-with-libinput-on-linux/ xkeysnailのインストール キーマップ変更ツールです。 これもちょっと長くなるので別の記事にしました。 http://13.231.247.97/how-to-install-and-autostart-xkeysnail/ playerctlのインストール LollypopやSpotify、Youtube(ブラウザ)など各種プレイヤーに対し再生や一時停止などをコマンドラインから操作できるようになるツールです。なぜこれを使用するかというと
Vue.jsを1年半ぐらい使ってきて、それなりに知見が溜まってきたので、それらを俺的ベストプラクティスとして吐き出してみようと思う。巷にあふれるVueのベストプラクティスってv-forに:key付けようとか、お作法的な話ばかりで、あまり実践的な内容は見かけないのが記事を描き初めたきっかけ。というわけで内容的にはややマニアックで、Vue初心者にはちょっと難しいかもしれないのでそこはあしからず。なお対象はVue 2で、Composition APIは使ってないのであしからず。あとTypescriptでも使ってない。 📌 スタイルガイドに従う のっけからお作法的なことなんだけど、でもこれはやはり事なこと。とにかくVue公式のスタイルガイドをよく読んでそれに従おう。基本的な内容がほとんどだが、よくまとまっていて、従わない理由が特に見つからない。 🔗 スタイルガイド – Vue.js いくつか特
OpenVPNの設定 前提として.ovpnファイルがあるということで。 gnome用のGUI設定ツールをインストールする $ sudo apt install network-manager-openvpn-gnome [設定]-[ネットワーク]のVPNセクションで[+]をクリックしてVPNを追加する [ファイルのインポート]を選択する .ovpnファイルを選択する 基本はこれだけ。ただ、私のVPNはTLS認証でMD5という今や甘々の認証方式を使っていたためにエラーが発生して接続できなかった。本来は認証方式をもっと安全なものに変更するべきなのだろうが、とりあえずで使ってるようなVPNだったため、このままMD5でつながるように設定してみた。 どうやらセキュリティレベルを下げることで接続できるようになる模様。セキュリティレベルを下げる設定というのは.ovpnファイルの[vpn] セクションに以
手順 <Android 12以降の場合> アプリの詳細設定で爆サイURLを開くデフォルトアプリを設定しておく必要があります。次の動画を参考にしてください。 Androidの設定画面の「アプリ」から「爆リーII」を選択し、「デフォルトで開く」メニューを選択することでも同様の設定が可能です。 もし爆サイを開くアプリをデフォルトのブラウザから変更したくない場合は、後述の手動でURLを貼り付ける方法で開くことができます。 <Android 12以前の場合> まずは爆サイに行く 爆リーIIでは、爆サイ上の読みたい板・スレをあらかじめアプリ内にインポートしておく必要があります。まずは爆サイ(https://bakusai.com)にアクセスしましょう。普通にWebブラウザを開いてアクセスしても構いませんが、アプリ内にあるショートカットをご利用いただくと簡単にアクセスできます。 ショートカットの一つはア
左右分離型キーボードである「MISTEL BAROCCO MD770」のプログラマ目線レビューです。製品仕様等カタログ的な部分は公式や他サイトに任せて、マクロ機能やキーマップなどの部分を中心に本音で書きました。 左右分離型キーボード MISTEL BAROCCO MD770 肩こりにいいと言われる左右分離型キーボードが欲しかったので買ってみました。左右分離型は自作キーボード等で人気はありますが、既製品ではほとんど選択肢がなくて、やっと見つけたのがこのキーボードでした。左右分離という変態度のわりに、キー配列はしごく標準的という点が面白いなと思います。 数ヶ月使ってみて良い点・悪い点色々と見えてきたのでブログ書き記してみようと思います。 製品仕様等 詳しくは日本の販売元であるアーキサイトを見てください。 BAROCCO MD770 – https://www.archisite.co.jp/p
Macを修理に出す必要があったので、この際Appleは見限ってLinuxに移ってやろうと思い勢いよく扉を開けたのだが、最終的にはなんと、ただいまAppleマンセー!になってしまった。というわけでそんな私のつまらない事の顛末と、各OSのメリット・デメリット等をツラツラと書き綴ってみようと思う。 なぜMacをやめようと思ったか 2012年から7年ぐらいMacを使ってきたが、色々と不満もあったのでMacを離れることを決意。理由は、 docker遅い Macbook Proのバタフライキーボードが嫌い Apple製品はよく故障するイメージがある 最近のAppleの新製品がつまらない 飽きた 人とかぶるのが嫌 とまあこんなところ。特にdockerに関しては不満で、最近の開発はほとんどコンテナベースになってきているので、docker遅いのは困るのよね。Linuxだとdockerネイティブだし、最近は色
Linux(Ubuntu)を使用していると、Macのトラックパッドジェスチャーが使いたくなることがあります。特にワークスペースの移動や、戻る(←)・進む(→)が恋しくなります。libinput-gesturesを使用すれば、Macほど快適ではありませんがLinuxでもある程度はできるようになります。 libinput-gesturesの導入 libinput-gestures を導入すれば基本的なことはノー設定で実現できます。 公式の手順通りインストールします。私はUbuntu20.04と21.04でやりました。 まずはinputグループに自身のユーザーを追加します。 $ sudo gpasswd -a $USER input 公式曰くここで再起動が必要とのこと。 続いて必要なライブラリのインストール。(以下のパッケージはUbuntuにおいて必要なパッケージです) $ sudo apt-g
LinuxのキーマップはWindowsのそれに近いので、Mac使いにすれば少々使いにくいです。そこでPython製のツールであるxkeysnailを使用して独自のキーマップを設定してみました。いつでもVim風にhjklでカーソル移動できるようになったのでかなり快適。インストールと設定そしてちょっと面倒な自動起動の方法についてまとめます。 mooz/xkeysnai from xkeysnail.transform import * define_keymap(re.compile("Firefox|Google-chrome"), { # Ctrl+Alt+j/k to switch next/previous tab K("C-M-j"): K("C-TAB"), K("C-M-k"): K("C-Shift-TAB"), }, "Firefox and Chrome") define_
夜な夜なRaspberry Pi Zero WH搭載のVoice Kit V2で遊ぶ日々。今日はこいつでSpotifyを再生しようと思う。 必要なもの Raspberry Pi + スピーカー Spotifyアプリ(PC・スマホなど) Spotifyプレミアム会員 当たり前ですがラズベリーパイが必要。あと音が出ないと意味がないのでスピーカーが必須。接続方法は問わない。それから、プレイヤー自体はSpotifyアプリが必要になるので、母艦PCのものやスマホのSpotifyアプリが必要だ。 SpotifyにはSpotify Connectという機能がある。 Spotify Connect どんな機能かというと、これはまあトップページに書いてある通りで、Spotifyアプリをリモコンにして様々なデバイスで音楽を再生できますよーというもの。WiFiスピーカーやPlayStationとか、あとテレビか
1ヶ月に変換させた文字数で決まるみたいです。非WaveNetとWaveNetで料金が違います。WaveNetとは一言で言うと『自然な音声』でして、Google HomeやAndroidのGoogleアシスタントで使用されている音声がそれです。こっちの方が料金が高いです。しかしGoogle様のご厚意により太っ腹な無料枠が用意されているので、ちょこちょこっと利用するぐらいなら無料枠で収まりそうですね。 ちなみにどんな音声なのか公式サイトで実際に聞くことができます。 サポートされている音声と言語 日本語は男性・女性、それぞれ非WaveNetとWaveNetで2種類ごとあるようですね。 WaveNetの方が自然で音声もクリアな気がします。でも非WaveNet(Standard)もそんなに悪いもんじゃないですね・・。 ではText−To-Speechを やりましょう。しかし実装前に準備が必要です。全
かなり今更な内容なのですが、タイトルの通り、ヘッダー固定のテーブルをサクッと作る方法です。overflowでtbodyがスクロールできて、さらにtd幅を一つを除き指定、最後の一つは残り全部にするってやつです。 実物 codepenで作りました。 See the Pen ヘッダー固定・td幅残り全部なテーブル by itmammoth (@itmammoth) on CodePen. ポイントはcssなのです。まずtheadとtbodyをdisplay: blockにしてます。そしてtbodyにoverflow: scroll、さらにheightを指定しています。 ここまでの状態でtbodyをスクロールできるヘッダー固定のテーブルはできたのですが、各カラムの幅を指定していないと最低限の幅しか確保されず、テーブルっぽく表示されません。 そこでカラム幅を指定するわけすが、ここでテーブル自体の固定
GoogleのAIY ProjectのVoice Kitを使用すれば、自分でGoogle Homeのようなものを作ることができます。今回はRaspberry Pi 3 Model BにVoice Kitを入れて、音声でSwitchBotをオン・オフする音声コマンドデバイスを開発してみたいと思います。 序章 私はMacbook Proを使用しているのですが、毎回充電が100%になる度に充電器のスイッチをオフにして、空になったらまたオンにするのが面倒でした。デスクの奥に電源タップがあって、わざわざ席を立ってポチっとしに行かなきゃ届かない位置だったのです。これがすごく面倒臭くて。なんだ、しょうもない話だなとお思いかもしれませんが、私はそれ以上にしょうもない人間なんです。 なんとか楽な方法はないかなーと苦しみに苦しみぬいた上、カレント・ビッグウェーブに乗ってここはひとつボイスで操ることにしました。
capybaraはWebアプリケーションのテスト用のライブラリとして有名ですが、テスト目的でなく、単にスクレイピング用のツールとしても使えます。この記事ではcapybara+selenium+chromeヘッドレスを使用してWebページをスクレイピングするサンプルを紹介します。 動作環境 Mac OS High Sierra 10.13 ruby 2.5 capybaraのセットアップ まずはcapybaraのセットアップからです。selenium-webdriver経由でヘッドレスchromeを操れるように設定します。最初に必要なライブラリをhomebrewでインストールしておきます。 📄Gemfile $ brew install chromedriver 次に必要なgemをインストールするため、Gemfileを作ります。 source "https://rubygems.org"
ActiveRecord::Baseを継承しているモデルのコレクションに対してメソッドを追加したいことがたまにあると思います。例えば次のような画面で 今表示しているsalesの平均価格を表示したいというような場合です。viewには次ような感じで書きたいんじゃないでしょうか。 📄app/views/sales/index.html.erb ... Average of prices: <%= @sales.average_price %> ... Railsではこんなことも簡単に実現できます。モデルにメソッドを追加すれば良いだけ。 📄app/models/sale.rb class Sale < ActiveRecord::Base def self.average_price all.average(:price) end end (rails4で動作確認しています。rails3のal
jQuery-UIのsortableを使用していて、overflow: scroll/autoなコンテナ内の要素を並び替える場合に、コンテナ内をスクロールしてから要素をドラッグしてスクロールさせようとすると、そのhelper要素の位置がおかしくなってしまう。(jQuery-UI 1.11.4で確認) この問題に対応するには↓こんな↓感じでヘルパーの位置を強引に戻してあげるとよい。 📄src.js $(".container").sortable({ ... start: function (event, ui) { ui.helper.css('top', ui.originalPosition.top); }, ... }); いつもsortableとかdraggableってハマるんだよな・・・。 追記(2017/5/9) 上記方法では上手くいかないケースがあった。事象としてはドラッグ
Railsを使い始めてX年経ったこともあり、自分なりの開発パターンが形成されていることに気づきました。今日はそれを恥ずかしげもなく晒してみようかと思います。 Gemfile 自分の中で必須のgemたちです。その他はプロジェクトに合わせ適宜追加する感じです。 📄Gemfile source 'https://rubygems.org' ruby "2.0.0" gem 'rails', '~> 4.0' gem 'sqlite3' gem 'sass-rails' gem 'uglifier' gem 'coffee-rails' gem 'jquery-rails' gem 'turbolinks' gem 'jbuilder' gem 'draper' gem 'ransack' group :development do gem 'rack-mini-profiler' end gr
bootstrapにはもう飽きた方、もっとシンプルなデザインのCSSフレームワーク無いの?という方、一度Foundationをお試し下さい。 Foundation bootstrapと同様に、レスポンシブなWebサイトの構築を助けてくれるCSSフレームワークです。デザイン的にはかなりシンプルなので、自分色に染めてあげるのも良しだと思います。そんなわけで、Foundation 5とsimple_formを使ったRailsアプリ開発のチュートリアルをやってみたいと思います。 環境 Mac OS X 10.8 ruby 2.1.0 Ruby on Rails 4.1.2 foundation-rails 5.3.0.1 simple_form 3.0.2 セットアップ まずはお約束のGemfileから。以下の4行をGemfileに追記してください。’foundation-icons-sass-r
Webアプリケーションには検索機能がつきものだと思いますが、場合によっては作るのがちょっと面倒なときがあります。例えば、1対多の親子関係を持つモデルで、子供のレコードを検索する場合に、親を特定した上で検索を行う場合などです。ちょっと具体例で考えてみましょう。 Customer(顧客)とSale(売上)の2つのモデルがあるとします。2つのモデルは1対多の関連があり、Customerが複数のSaleを所有しています。この状況下におけるのSaleの検索画面を考えてみます。 検索条件として、『Customer(顧客)』『Buy on(購入日)』『Product(商品名)』の3つを用意してみました。ここで注目してほしいのはCustomerです。SaleはCustomerに紐付いているので、例えば「Johnnyさんの売上一覧が見たい」という場合には、Customerセレクトボックスから”Johnny”
長い記事や掲示板を読むようなアプリに、ユーザーが手を離していても自動でスクロールできる機能をあれば便利だ。というわけで今回は、ListViewをコンポジットして自動スクロールさせるクラスを実装する。 AutoScroller.java コードはかなり短い。 📄AutoScroller.java import android.os.Handler; import android.widget.AbsListView; public class AutoScroller { private static final int DEFAULT_SCROLL_BY = 5; private static final int DURATION = 50; private final AbsListView scrollView; private final int scrollBy; public
タイトル読んでも「ちょっと何言ってるか分かんない」感じだが、要するにhas_oneやhas_manyで親子関係を持つモデルがあったとして、子のファクトリ生成時に親側の属性も設定するという話(その逆もしかり)。 例 たとえばUserクラスとConfigクラスがあったとして、それぞれ次のような関連を持ってるとする。 📄spec/factories/config.rb class User < ApplicationRecord has_one :config end class Config < ApplicationRecord belongs_to :user end 各ユーザーが各々設定を持つというシチュエーションを想定している。で、この場合に親のファクトリをcreate(:config)のような感じで作るときに、まとめてUser側の属性も設定したいということ。 通常の書き方だと、Co
railsアプリを開発していると、自作DSLだとか設定ファイルを読み込んで何らかの処理を実行するということがよくある。その際に問題になるのは、設定ファイルを変更するたびにいちいちサーバを再起動しないといけないということ。小さなアプリならまだしも、そこそこの規模になってくると、再起動にも結構時間がかかてしまい、鬱陶しいことこの上ない。そこで特定のファイルを監視しておき、更新されていたら次回リクエスト時に特定の処理を走らせることにする。 環境 ruby on rails 4, 5 For Rails 5 まずは rails 5 のコードから。次のコードを適宜編集して、config/initializersの下に置く。 📄config/initializers/reloader_rails_5.rb unless Rails.env.production? reloader = Rails.a
ruby on railsにおいて、特定のページでのみ実行するJavascriptが必要になることはよくあると思います。今回はassetsパイプラインのメリットを損なうことなく、それを実現するための方法を紹介します。 実現方法と考察 『特定のページでのみ実行するJavascript』を実現するための方法とし、およそ次のようなパターンがあると思います。 View(.erbとか.slimとか)の中で他のjsファイルを読み込むか、直接Javascriptを書く applicationレイアウト上で、コントローラ名やアクション名を使って javascript_include_tag で読み込むファイルを切り替える 目的のページがどうかを判定してから処理を実行するようなJavascriptを書く 1.は可能な限り避けられる方法です。Viewの中にJavascriptのソースが混在することになりますし
Vimでアプリケーション開発をするときに、プロジェクト毎にお決まりの設定をしたい場合がありますよね。例えばrubyプロジェクトの場合はタブ幅2だけど、Javaの場合は4にしたいだとか。railsプロジェクトの場合は、schema.rbを最初に開いておきたいとか。そういった固有の自動処理をvim起動時に読み込むプラグインを作成しました。 itmammoth/bon-voyage.vim ↑この画像の例では、とあるディレクトリでvimを起動すると、自動的にウインドウサイズを最大化し、必要なファイルを開き、NERDTreeを実行するようになっています。 どんなプラグイン? vimを起動した際のディレクトリに.bon-voyage.vimというファイルがあれば、それをsourceコマンドで読み込みます なければ$HOMEディレクトリ内の同名ファイルを探しに行きます vimが引数付きで起動された場合
最近、昔作ったvimプラグインをせっせとgithubにあげてます。 今回は自動で括弧やクォーテーションを閉じたりしてくれる入力補助プラグインdoorboy.vimです。 itmmaoth/doorboy.vim doorboy.vim 基本的にはインストールするだけで括弧( () {} [] )とクォーテーション(” ‘ `)の入力がパワーアップします。詳細はgithubを見てください。 この手のプラグインは他にもいくつかあるようですが、日本語IME環境では上手く動かなかったりだとか余計な機能が多かったりとかで、自分にしっくりくるものがないので自作しました。入力を邪魔しない程度に便利にするをモットーに作りました。良かったら使ってみてください。
Macのフルスクリーンモードがちょっと気持ち悪いので、ウインドウを最大化するVimプラグインを作ってみました。 itmammoth/maximize.vim デフォルトでは<F10>キーを押すことで、ウインドウ最大化←→元の状態 をトグルすることができます。しょーもないプラグインですが結構便利です。良かったら使ってみてください。
active_decoratorにてデコレートされたモデルをrspecでテストする際、デコレータ内でヘルパーメソッド(link_to とかurl_for とか)を使用しているとNoMethodErrorが発生する。これはActiveDecorator::ViewContext にActionView::Context が積まれてないことが原因みたい。rspec専用のgem(mizoR/active_decorator-rspec)もあるみたいだけど、まだrails 5には対応できてない((active_decorator-rspec 0.0.9で対応したようです。))(もしくはrspec 3.5?)ようなので、対応策をメモっておく。 環境 rails 5.0.0.rc1 rspec 3.5.0.beta3 active_decorator 0.7.1 対応方法 まずはrspecようのヘルパ
次のページ
このページを最初にブックマークしてみませんか?
『Oh My Enter!』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く