サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
shrkw.hatenablog.com
Web Workers APIを使うのは初めてなので、この使い方で問題ないのかはよくわかっていない。これから学んでいきます。 動機 会社でtextlintを便利に使っており、ユーザーさんからのお問い合わせ窓口を自社開発しているので、返信内容を送信前にlintにかけたいというのも自然な流れ。などと思っていたら、azuさんがこういうのを用意してくれていた。 textlint 12リリース、ブラウザで動くtextlint editorをベータリリース | Web Scratch GitHub - textlint/editor: textlint editor project. 内部での利用だからtextlintをサーバーで動かして結果を受け取るのでもいいけど、これのためにWebサーバーにNode.js入れて動かすのもなんかやりすぎ。かといってJobサーバーで動かす構成にするのはもっとやりすぎ。
去年の秋に東京都練馬区から長野県上田市に引っ越して、もう半年が経っていた。 なぜ東京を離れたのか 新型コロナで在宅勤務が平常になった 新型コロナ感染リスクのストレスが嫌になった 子供が小さいうちは東京のミニシアターや美術館、博物館などの文化資本にもそんなに触れられない たまにいくくらいなら地方からでもいける 自然史系の博物館は地方も充実している 東京にしかないレストランも子供が小さいうちは行く機会が少ない プログラミングの勉強会とかも子供が小さいうちは基本的にいかないことにしている 関東圏の夏は暑くて湿気が強いのがすごく嫌い というのもあり、東京離れるのを会社に相談したら快諾してくれたので、もはや東京にいる意味がなくなり、引っ越すことにした。 なぜ上田なのか 雨が少ないところがいい 長野は日照時間が日本でトップクラスのところが多いので、長野県が候補になった。なので、逆に栃木県那須塩原市とか
よくわからなかったので整理してみる。 候補 Jbuilder https://github.com/rails/jbuilder ActiveModelSerializers https://github.com/rails-api/active_model_serializers jsonapi-rb https://github.com/jsonapi-rb/jsonapi-rb JSON:API Serializer https://github.com/jsonapi-serializer/jsonapi-serializer Blueprinter https://github.com/procore/blueprinter Jb https://github.com/amatsuda/jb tl;dr 基本はjbuilderでいいと思う。 パフォーマンスが気になるならActiv
基本的にはstateはコンポネントに閉じ込められて使うべきで外に影響が染み出していくのはよくない。なので、useStateでシンプルに使うだけなのが一番良い。hooksがあるのでいろんなことがとてもシンプルにできるようになった。 とはいえ、遠いコンポネントと連携させたいケースや、認証状態のようなグローバルで共有したいというものがあるケースも理解できる。あとはキャッシュとか。 新しく入った開発プロジェクトでReactを使っているので、そういう時にどういう選択肢があるのかを整理してみた。 React使うのは3年ぶりくらい。前に使ったときはflux-utils, flow, immutable.jsとかで満足していた。今回のも、なるべく長期で育てていきたいプロジェクト。 今回の結論 頻繁に更新される情報やキャッシュしたいものはRedux ToolKitで書いたReduxで管理して、システムグロー
PhantomJSの習作。最近、gistしか更新してないな。 PhantomJS: 1.9.1 http://localhost:20001/http://yahoo.co.jp とか叩くと、キャプチャー画像をサーバーのローカルに保存して、同時にbase64エンコードした値をレスポンスとして返します。 これは習作だけど、ちゃんと使えそうなやつは https://github.com/ariya/phantomjs/wiki/Related-Projects にいろいろありますね。
海外で働くエンジニア(or Webの人) Advent Calendar 2014 - Adventarの5日目の記事です。 アメリカのビザについて 外国人がアメリカで働くにはビザが必要で、会社員・エンジニア関連ではおもに以下のビザがあるかなと思います。 H1-B (特殊技能職) L-1A/L-1B (企業内転勤者) E-1 (条約貿易家) H1-B 特殊技能職向けのビザで、エンジニアとして働く場合はコンピューターサイエンスの学位が必要です。例外として勤務経験をその代わりとする場合もあるそうで、その場合は3年を大学での1年とみなして、計12年の勤務でよしとするそうですが、具体的な例は聞いたことがありませんので詳細は不明です。 重要な点として、このビザは組織に強くひも付きません。なので、アメリカでの転職が可能です。 L-1A/L-1B 日本に親会社があってアメリカの子会社、支社に転勤する場合
海外で働くエンジニア(or Webの人) Advent Calendar 2014 - Adventarの3日目が空いてたので、とりあえず過去記事で。 東京は生まれてから30数年、シアトルは6ヶ月、ボストンは3ヶ月での比較。 いずれの場所も合法的な住人として住んでの感想。個人の感想です。 安全さ、人々の親切さは同じくらいと感じている。こうして書き出してみると、日本は物質面、アメリカは精神面がそれぞれ優れていると感じているのだな。 日本の長所 食費が安い 外食費が顕著。アメリカの外食は、持ち帰りでなければ、昼でも安くて$15くらい(チップ込みで)からかかる。持ち帰りなら$6くらいからか。 日常的に食べる食材では、野菜、魚介なんかは日本のが安くておいしい。アメリカでも安いものを探せばあるけど、価格と品質は正比例しており安いものは傷んでいたりする。 パンは日本のほうが圧倒的においしい。アメリカだ
2014-08-14 cronの代替になりそうなジョブ管理ツールのまとめ Tech たまに検討するけど、よく忘れるのでまとめておく。 要件 重複実行の防止 ジョブの実行結果、かかった時間、ログ出力などが見れる 失敗時の通知 候補 Jenkins Jenkinsで実行まで行う cronの実行結果だけ受け取るのもあるけど、重複実行を防げない 分散実行したい場合はJenkinsのスレーブ管理機能を使う バッチサーバーでJenkinsを動かしたくないなら工夫が必要 curlで叩いてタイムアウトとか間抜け Hinemos http://www.hinemos.info/hinemos/ NTTデータの作ってるやつ 監視もできるジョブ管理ツールらしい そういう解釈ならZabbixもジョブ管理ツールになりうる Chronos http://airbnb.github.io/chronos/ AirBnb
2015-09-17追記 以下の対処でも全然直らないケースが増えてきたので、諦めてAirMac Extreme買ってそこに付けたUSB HDDでTimeMachineを使うようにしました。白旗。 事象 Macのバックアップが始まったと思ったら、こんなメッセージが。 「Time Machine でのバックアップの検証が完了しました。信頼性を向上させるには、Time Machineによって新しいバックアップが作成される必要があります。」 新規でバックアップsparsebundleを作る以外の選択肢が出てこない。 環境 UbuntuでNetatalkを動かして、TimeMachineのバックアップ先にしている。 原因 Opensslのアップデートも兼ねてapt-get updateしたときのサービス再起動中に、Mac側のバックアップが始まったらしく、sparsebundleの不整合が発生したよう
以下はVirtualBox上で構築。ホストとはNATでつないで、ゲスト同士は内部ネットワークで接続。 Zabbixサーバー: 192.168.56.2 Java Appサーバー: 192.168.56.3 Zabbix関連はyumでzabbix.comのリポジトリから追加。 rpm -ivh http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-release-2.0-1.el6.noarch.rpm openJDKはyumで、Tomcatはapache.orgからダウンロード。 Tomcat側 RMIでサーバーのIPアドレスを解決できるようにする http://netbuffalo.doorblog.jp/archives/4446395.html がとてもわかりやすくて助かる。 これはjconsoleだけの問題ではないので、すべか
参考 基本的にここの記事の通りです。 http://daily-postit.blogspot.jp/2012/12/blog-post.html 前提 DBもファイルもバックアップを残してあること。 手順 ステップは2つ データの復旧 ファイルの復旧 データの復旧 復旧するデータのあるテーブル issues journals journal_details watchers attachments issue_relations custom_values 追記:custom_values が抜けてた。以下のSQLは追記済。 SQL的にはこんな感じ。 select * from issues where id = 4987; select * from journals where journalized_id = 4987; select jd.* from journal_detai
やってることは http://d.hatena.ne.jp/naoya/20130204/1359971408 の、よりしょぼい版です。 chef弱者なのでいろいろ調べてみてたんですが、chef-soloのサンプルやら説明やらをみてると、肝心の他のサーバーにどう展開させるのかのところがよくわからんなーと。 けっきょくのところは、chef-soloならrsyncならなんやらで自前で展開させるしかないみたいですが、それじゃあやっぱり面倒くさいじゃん。 でも実はそういうのを暗黙でやってくれる、knife-soloというナイスなknifeアドオンがいるので、それを試す。 前提 登場するサーバーは2つ。 MASTERくん chef-soloとknifeの実行母体のマシン, 192.168.7.11 CHILDくん 自動で設定される先のマシン, 192.168.7.12 どちらもVirtualBox上
昨日の記事でudevルール書くと書いたけど、HDDだと固有のIDぽいのがudevadm infoで取れなかった! で、よく考えたら、 固定のデバイス命名 に書いてあるように、 /dev/disk/by-id /dev/disk/by-uuid /dev/disk/by-path に固有のデバイス名がついてるので、これを使えばいいと気づいた。なので、mdadmでシンボリックリンクが使えるか検証してみる。 検証 以下はVirtualBoxにあるUbuntu 11.04で検証。 ループバックデバイス作る hiroyuki@ubuntu:~/mdadm_test$ dd if=/dev/zero of=loop1.img bs=1024 count=100000 100000+0 記録始め 100000+0 記録終わり 102400000 バイト (102 MB) コピー終了, 0.827849
こんな感じ? authorize 認可する 権限、許可を与える行為のこと certificate 証明書 または、認証するもの authenticate 証明する,認証する システム主体によって/システム主体について、主張された身元を検証すること certificateは動詞っぽく見えて、実際他動詞の意味もあるけど、名詞としての意味合いのほうが強いんだね。
fstabでUUIDで指定する - Bouldering & Com.で書いた、起動のたびにデバイスIDが変わってしまうという話、実は全然解決していないのでした。mdadmでraidを組んでいるので、 /etc/mdadm/mdadm.conf に DEVICE /dev/sd[ab]1 みたいにデバイスの指定を書くんですが、ここではUUIDが使えない(マニュアル見たけどそういうのは書いてない)のでデバイス名を書かざるをえず、デバイスIDが変わるとraidの構築に失敗するという悲しい事態になっていました。 今から思うと、USBメモリの認識順が固定じゃないから、こいつがsdaになったり、sdcになったりして、その余波でHDDのほうのデバイスIDが不安定になってるんですね。 で、最近仕事でudevの役割について学んで、どうやらこいつで解決させることができそうだと思ったのでいろいろ調べて試してみ
Flaskでも試そうと思ったけど、CentOS 5.5のPythonは2.4.3だったりして寂しい感じだったのでいろいろ環境整備からして、ようやく環境作り終わった。 [root@shrkw-rad]# python -V Python 2.4.3 Python2.7のインストール EPELのyumに2.6系のPythonがあるけど、既存のを汚染しないかよくわからなかったので、ソースコードからコンパイルしてみる。Pythonのコンパイルするのって初めてだ。 [root@shrkw-rad]# wget http://python.org/ftp/python/2.7.1/Python-2.7.1.tar.bz2 [root@shrkw-rad]# tar xjf Python-2.7.1.tar.bz2 [root@shrkw-rad]# cd Python-2.7.1 [root@shrk
Tkinterを利用したモジュールをpy2exeでexe化したら、実行時に 問題が発生したため、example.exe を終了します。 ご不便をおかけして申し訳ありません。 という、エラーが。 Pythonスレのキャッシュに74番の同様のエラーの解消方法の書き込みがあって助かった。 原因は不明だけど、bundle_filesは3にして、バンドルレベルを結合度が低いのにしないといけないみたい。 from distutils.core import setup import py2exe py2exe_options = { "compressed": 1, "optimize": 2, "bundle_files": 3} setup( options = {"py2exe": py2exe_options}, windows = [ {"script" : "passwd_generato
ドキュメントを読んでもよくわからんかったけど、ここの説明をみてようやく理解できた。 timeToLive is a total time an entry stays in a cache region. timeToIdle specifies how long it should stay in cache if it is not referenced. https://forums.hibernate.org/viewtopic.php?f=1&t=983635&view=previous こんな感じ。 timeToIdleSeconds 意味的には参照間生存期間、みたいな感じかな。この時間のあいだ参照されなかったらキャッシュから削除される。ということはこの時間内で参照され続ければ、削除はされない。 timeToLiveSeconds こっちは最大生存期間、みたいな感じか。この時間
webアプリはいろいろ関わってきてるはずなのに、このあたりの話を全然理解してなかったことに愕然とする。 普通のひとには常識なんだろうけど、今回調べたことで体得できたよ。 追記 少し理解が進んだので追記。 TomcatのGETパラメータのデフォルトの挙動 iso-8859-1とみなしてURLエンコードしてくれる。また、GETパラメータには、HttpServletRequest#setCharacterEncodingは適用されない。 URIEncoding URI文字列に多バイト文字があった場合にどの文字コードとみなしてURLエンコードするかを設定する。パラメータに限らず、URIのファイル名とかもこれに則る。 useBodyEncodingForURI これをtrueにすると、GETパラメータであっても、HttpServletRequest#setCharacterEncodingを適用させ
JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス 作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 94人 クリック: 1,631回この商品を含むブログ (183件) を見る 200ページ弱の薄い本だし、内容も知ってることの確認に近かったので、ひとから借りて一晩で読了。 というふうに読むのは早かったけど、すげーいい本。ここに書いてある内容を知らずにJavaScriptを書くのは危険すぎる。 「JavaScriptは言わばひとかたまりの大理石であり、私はその中からこの言語のすばらしい本質が現れるまで、美しくない機能を取り除いていく。最終的に私が削り出すことになる美しいサブセットは、より信頼でき、読みやすく、メンテナンスがしやすく、すべてにおいて非常に優
Inspired and Forked by http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/ http://tech.lampetty.net/tech/index.php/archives/285 Thank you so much! Features Just listed below, User data import by CSV file Locale resource for English, and Japanese Download http://www.ne.jp/asahi/shrkw/shrkw/redmine/redmine_user_import.0.0.1.zip Install Install "fastercsv" gem module gem ins
Redmine勉強会 - events.php.gr.jp いいタイミングだったのでプラグインのことを発表してきました。主催のid:yandodさんと、会場提供のトライコーンさん、それに参加された皆さんに感謝。 以下は、資料の手直ししながら書いてたメモを転載。 実践Redmine カテゴリ設計にご用心 バージョン超重要 集計、表示をイメージして、分類を決めよう カテゴリもプロジェクトごと Candycaneの画面でした すごい完成度 公式のアイコンがないよ Redmine 活用術 〜孤独なシス管〜 イベントのニュース発行でメール飛ばす 履歴みれていいね Redmineの現実的な利用法 ニュースでRedmineの設定変更伝えるというのはいいね textileはやっぱつらいね このひとおもろいなー 情報の集約場所をつくるのは重要だよね 完璧なRedmineなど存在しない プラグインの話がとても
Redmineを使ってみっかーとなったので、いろいろ触ってみてたのですが、20人くらいのユーザーを1件ずつ登録するのに死にそうになったので、プラグインを作ってみた。3時間くらいで。Rubyもrailsも全然知らないけど。 作ったというか、実際には既存のプラグインとかのコードを組み合わせただけなんですが。 本当は先週くらいに作ってたんだけど、公開するためのコードの整理とかドキュメントをちゃんと書くののほうが時間かかったよ。 感謝 インスパイア元、というか、コードのfork元。 怒られたらどうしよう。 Redmine_Importer: Redmine CSV Import Plugin « Martin Liu – Martin's Cyber World RedmineでCSVのユーザ情報をまとめて登録するスクリプト | おいぬま日報 使い方 ダウンロード http://www.ne.jp
さすがにまだJConsoleもVisualVMも対応してない。JConsoleで繋ぐとヒープがまったくないように表示されてフシギな感じ。 結論 ちゃんとオプションが効いて、停止時間もオプションで指定した通りになっているみたい。 けど、TomcatでG1GCを有効にして実行したときは、オプションで指定した停止時間以上に止まっちゃってた。こっちはもうちょっと調査。 G1GCを有効にするためには 以下のオプションをつければOK -XX:+UnlockExperimentalVMOptions \ -XX:+UseG1GC \ -XX:MaxGCPauseMillis=100 だけど、JMXでの監視がまだできないので昔ながらの方法でgcログを吐かせる。 -XX:+UnlockExperimentalVMOptions \ -XX:+UseG1GC \ -XX:MaxGCPauseMillis=10
集合知プログラミング 作者: Toby Segaran,當山仁健,鴨澤眞夫出版社/メーカー: オライリージャパン発売日: 2008/07/25メディア: 大型本購入: 90人 クリック: 2,208回この商品を含むブログ (267件) を見る とりあえず、2章の「推薦を行う」を読んだだけだけど、疑問点がいろいろ。 ユークリッド距離をだすのに平方をとらなくていいのか 「2.3.1 ユークリッド距離によるスコア」 ユークリッド距離を出すには平方根の定理を使ってこんな感じにするというのはOK。 In [7]: from math import sqrt In [8]: sqrt(pow(3.5 - 2, 2) + pow(3.5 - 4, 2)) Out[8]: 1.5811388300841898 でもそれを、2つのアイテムじゃなくて全てのアイテムで出力するという関数のサンプルのコードがこんな
10月9日あたりのニコニコ動画のHTML変更で、クリックする場所がなくなってたので修正。 とか思ってたらソートがされないじゃん。明日直す。 http://coderepos.org/share/browser/lang/javascript/userscripts/nicovideo_watchlater.user.js ランク番号のあたりをクリッカブルエリアにしました。 ほかのひとが修正を加えてくれてて驚いた。誰もみてないと思ってたから、うれしい。
nicovideo_watchlater.user.jsを更新 - Bouldering & Com.に最新があります。 8月のニコニコ動画の仕様変更の影響で動かなくなってたのは知ってたけど、面倒くさくて対応してなかったけど、なんか急にやる気でたので直した。 ついでに、前からやろうと思ってたcodereposへのcommitも実行。 http://coderepos.org/share/browser/lang/javascript/userscripts/nicovideo_watchlater.user.js yappoさんにコミット権もらったときのタイムスタンプが Date: Tue, 5 Feb 2008 00:01:28 +0900 で、すでに半年も立ってることにびびった。 ちょっとスッキリした。
まだとりあえず建てただけ。 参考にしたところ 社内IRCの設置 - ヒルズで働くholidays-lの技ログ IRCサーバインストール - kshimo69のブログ 気楽に一生懸命 404 Not Found makeするときにIRCサーバインストール - kshimo69のブログと同じで ircd.o(.text+0x15ee): In function `main': ../ircd/ircd.c:312: undefined reference to `pow' s_bsd.o(.text+0x308b): In function `read_message': ../ircd/s_bsd.c:3108: undefined reference to `pow' collect2: ld はステータス 1 で終了しました make: *** [ircd] エラー 1がでたけど、やっぱ
import BeautifulSoup import urllib 真偽, 空欄, Noneしか返さない [i.get('href') and i.get('href').endswith('jpg') for i in soup.findAll('a')] Noneも返っちゃう [i.get('href') if i.get('href') and i.get('href').endswith('jpg') else None for i in soup.findAll('a')] tagオブジェクトのリストを返す 1 soup.findAll(lambda x: x.name == 'a' and x.get('href') and x.get('href').endswith('jpg')) tagオブジェクトのリストを返す 2 filter(lambda x: x.get('hr
次のページ
このページを最初にブックマークしてみませんか?
『shrkw.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く