動かざることバグの如し

近づきたいよ 君の理想に

2018-03-01から1ヶ月間の記事一覧

Jqueryを使わずにリンク先のURLを一括置き換え

GTMでJQuery使おうとしたら$なんてねーよっtw怒られた そりゃそーか コード var links = document.querySelectorAll('a'); Array.prototype.forEach.call(links, function (elm, i) { elm.href = "http://stackoverflow.com"; }); 動作サンプル そんなに難…

kotlin-Androidでテキスト入力ダイアログを表示する

環境 Kotlin 1.2 AndroidStudio 3.0 コード 抜粋にて表示ID=mybtnのボタンをクリックしたときにダイアログが出て、OK押すと入力した文字列でトースト表示 val mybtn = findViewById<Button>(R.id.mybtn) mybtn.setOnClickListener { val myedit = EditText(this) val</button>…

kotlin-AndroidでHTTPで取得したデータを表示する

環境 Android Studio 3.0 Kotlin 1.2 やりたいこと URL指定したらHTTPリクエストしてデータを取得、表示まで 基礎を学ぶ用なので必要最低限のコードのみ ライブラリの追加 自分でゴリゴリHttpURLConnection書くのはツラみがあるのでokhttpというライブラリを…

はてなブログの読者数を取得する隠しAPI

http://blog.hatena.ne.jp/api/init?blog=取得したいブログのTOPURLではてなブログの読者数を取得できる。 一部オプションは必要(下記参照 認証不要 独自ドメインのブログでも可 認証不要はデカい。結構使えそう curl -H "X-Requested-With: XMLHttpRequest"…

Imagemagickで画像の上下左右に余白を追加する

言わずと知れた最強画像処理コマンドImagemagickのネタ やりたいこと 画像の上下左右に白の余白を追加したい 最終的には画像の解像度は変更せずに余白を追加したい(つまりオリジナルの部分は小さくなる 失敗例 「imagemagick 余白」で検索すると余白追加に…

Kotlinのvarとvalの違い

ハンズオンやったはずなのに勘違いしてた( えっとvalは再代入不可でvarが再代入可能 varの場合 val num = 1 num = 334 Main.kt:4:1: error: val cannot be reassigned num = 334 ^ varの場合 varの場合ってシャレではない var num = 1 num = 334 これはエラ…

Galaxy S9をMicrosoft Storeから個人輸入すれば格安で買えるのでは

今年発売のGalaxy最新モデルことGalaxy S9。S8の焼き直しモデルとかボロクソ言ってる記事もあるが、個人的にはCPUのスペックも上がってるし、なにより指紋認証の位置が届きやすい位置に変わったというのは結構デカいと思う でこんな記事を見つけた。なんとMS…

Rubyで配列内の文字数出現回数を集計する

RubyてかRailsか ary.group_by(&:itself).map{|k, v| [k, v.size]}.to_h でいける irb(main):010:0> ary = %w(a b b a c) => ["a", "b", "b", "a", "c"] irb(main):011:0> ary.group_by(&:itself) => {"a"=>["a", "a"], "b"=>["b", "b"], "c"=>["c"]} irb(ma…

ダミーのGitHub芝生画像を生成するライブラリたち

はてなブログ芝生で使ったのでメモ Ruby akerl/githubchartでいける gem install githubchartをして githubchart -i example.json example.svg でおk。入力のJSONファイルはgithubchart/input.jsonを参考に。出力はSVGのみ コマンドじゃなくてRubyから呼び…

ImageMagickでSVGをPNGに変換するとエラーになる話

mac

環境 Mac OS Sierra ImageMagick 7 (6でも同様 SVG→PNG 手元にsvgファイルが有って convert example.svg -resize 300x400 example.png ってやっても convert: non-conforming drawing primitive definition `Segoe' @ error/draw.c/DrawImage/3259. って言わ…

vagrant box updateでエラー「An error occurred while downloading the remote file」

ふと、bento/ubuntu-16.04のVagrant boxをアップデートしてやろう思って vagrant box update したが、エラーになって何回やってもできない An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please f…

2018年に軽量CSSフレームワークを選ぶなら「milligram」

css

個人でサクッとサービス作りたいときに、毎回Bootstrapだと飽きてきたのでちょっと浮気してみたメモ。 ここでいう軽量とは シンプル、最小限を目指したCSSフレームワークのこと CSSフレームワークのくせにJavascript必須とか論外 Bootstrapより機能少なくて…

telnetコマンドが無いときはcurlで代用

mac

macOS High Sierraではtelnetコマンドが消えたらしい macOS High Sierraで消されたftpとtelnetを復活させる - Qiita あ、はい が、ポート開放できるかの開放にtelnetコマンドはよく使うのでないのは困る。もちろんbrewでインストールするのもありだけど他人…

td-agentで動的なIndexでElasticsearchにデータを流す

やりたいこと Railsのログをtd-agentを使ってElasticsearchへ流しているのだが、indexの名前を日付に紐付かせて動的にしたい。 例えばindex_nameがrailslogだとrailslog_2018みたいにしたい やり方 普通 index_name railslog だが、 index_name railslog_%Y …

RailsでURL生成するときに必ずhttpsにしたい

Railsで posts_url みたいにヘルパーを使ってルーティングからURLを生成する際、デフォルトだとhttpsならhttpsで、httpならhttpのURLになるが、 明示的にhttpsにさせたい場合、 <%= link_to 'りんくだよ', posts_url(protocol: 'https') %> でいける。 どう…

nginxに長いURLをリクエストすると414 Request-URI Too Largeエラー

症状 nginxに長いGETパラメーター(1000文字以上)を含むURLをGETで渡すと以下のようなエラーになる。 414 Request-URI too large 原因はもちろんGETパラメーターが長すぎるのだが、仕様上POSTに変更できない場合、nginxの設定を書き換えるしかない 対処方法…

Rubyで文字列からURLのみを削除する

やり方は以下 require 'uri' text = <<~EOL 夏目漱石: http://www.aozora.gr.jp/index_pages/person148.html 森鴎外: https://ja.wikipedia.org/wiki/%E6%A3%AE%E9%B4%8E%E5%A4%96 EOL URI.extract(text).uniq.each {|url| text.gsub!(url, '')} puts text …

巨大レコードのkaminariページネーションは工夫が必要

railsネタです kaminariが重い kaminariとは言わずと知れたRubyのページネーションライブラリ。Railsとの親和性が非常に高く、ソースコードをちょちょっと弄るだけで難しいページネーションが作れる。 が、ページネーション対象のデータの件数が多いと(10…

MySQLでJSON型から取得したデータを加工できない件

問題点 MySQL5.7からはJSON型をサポートしており、JSON型のカラムから「〜の要素よこせ」ってSQL送るとJSONの中から、その要素のデータのみを取得できる。それ自体はけっこう便利なのだが、そのデータを加工しようとしたらコケたのでメモ JSON_EXTRACTを使っ…

MySQLでn分前, n時間前, n日後の日時を取得する

MySQLではプログラミング言語のように日時に四則演算子である、+や-を使って計算することができる。あとはどのくらいの期間の指定にINTERVALを使ってあげればおk 確認環境 MySQL 5.7 1時間前の日時を取得する SELECT NOW() - INTERVAL 1 HOUR; 7日後の日時…

GCPのMySQL設定一覧を書き出してみた

gcp

Cloud SQL is 強い GCPのCloud SQL使ってみてるのだが、重い処理走らせても結構軽い。自分でMEM2GBのVPS借りてMySQL構築するより快適なので、MySQLの設定がやはりキモなんじゃないかと思い、設定を書き出してみた。 インスタンス環境 MySQL 第 2 世代 db-g1-…

GAE(flexible environment)にflaskをデプロイする

まずはrequirements.txtを用意 Flask==0.12.2 gunicorn==19.7.1 gunicornはGAE上で使用するwsgiアプリケーション 実際のプログラムがないと始まらない。ってことでmain.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): retu…

pyenv環境でgcloudをインストールする

環境 Mac Pyenv + anaconda3 gcloudがpython3に対応してない問題 pyenvをわざわざ使っている人の99%はデフォルトのPythonのバージョンは3.xだと思う(anaconda含め) が、残念なことにgcloudコマンドはpython2.xにしか対応していない。結果、pyenvでpython3…

バンドリを支えるインフラ構成

結構前になってしまうが、株式会社サムザップ主催のインフラ勉強会に参加した。 sumzaptechnight.connpass.com そこで某神ゲーバンドリの生みの親こと、株式会社Craft Eggのインフラ担当者が発表していたのでメモ。 発表者 is 誰 山村英貴氏。親会社のサイバ…

Ubuntu/CentOSでSassCをインストールする

SassCとは sassのC++実装版 実行速度がめちゃくちゃ速い めちゃくちゃ速い 環境 Ubuntu 16.04 CentOS 6 ただしデフォルトのgccのバージョンが古いので新しくする必要があるので以下のURLを参考 thr3a.hatenablog.com インストール方法 公式ドキュメントを参…

CentOS6にRuby 2.5.0をインストールをしたい人生だった

結論 なんとかできる ビルドできない問題 Ruby 2.5.0がリリースされて、早速ruby 2.5.0をインストールしようとしたが、 rbenv install 2.5.0 エラーになる。どうもビルドでコケるっぽい。 prelude.c: In function ‘prelude_eval’: prelude.c:204: error: #pr…

CentOS6のgccをアップデートする

2019年2月19日追記 devtoolsetのバージョン上げた 概要 CentOS6ではyum経由でインストールできるgccのバージョンがとても古い。(強調 # gcc --version gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17) Copyright (C) 2010 Free Software Foundation, Inc. Thi…

親要素を無視してブラウザ幅100%で表示するCSS

css

CSSでは基本的にコンテンツを.containerとか.mainのdivで囲む。 大抵そのdiv要素はwidth768pxとかなんだけど、一部だけその要素を突き抜けてブラウザ幅いっぱいに表示したくなるときがある。 その時の回避法がいくつかあるんだけど、一番スマートで汎用的な…

Mac OSで現在接続しているSSIDを取得するコマンド

mac

環境 Mojaveで確認 こまんど Wifi経由でネットワークにしていて、今繋いでいるSSIDをシェルスクリプト等で取得したいとき /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I | /usr/bin/grep -ie '^\s*ssid' | cut -…