サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
hack-le.com
今どきブログをやっている人もすっかり珍しくなってしまった。まぁそれはそうで、かつてと違って今からブログを始めるのは非常に厳しい。このブログを始めたのは2012年、別のブログは2016年に始めた。今にして思うと、個人がブログをしてそこそこの集客をできる最後の時期だったのかもしれない、と最近思う。 今は違う。個人ブログは、もはや検索で引っかからない。まったく引っかからないわけではないんだが、あらゆる企業やアフィリエイターの作った、しょうもないサイト(失礼!)に押しのけられている。 (もし今からブログを始めようという人がいるなら、技術系ならQiita、それ以外ならnoteに投稿するのが実質的。悪くないプラットフォームだと思う。この記事の趣旨ではないので、これ以上は言及しない) 時代は変わった。ブログ文化は検索エンジンと共に成長したが、今や検索エンジンは個人ブログを必要としてない。であれば、個人ブ
DynamoDBの設計を始めてからたいていの人が引っかかるであろう、DynamoDBにおける多対多(many-to-many relationship)の対応について、つらつらとメモする。 AWSのドキュメントにベストプラクティスがあるので、それについて書き連ねるだけではある。 DynamoDBの2番目くらいの壁 ウキウキしながらDynamoDBを始めた後、だんだん「あれ?これクエリめっちゃ厳しくない?」ということに気づき、その制約に愕然とするパターンの一つが、いわゆる多対多の実装だと思う。RDBなら中間テーブル作ってリレーション貼って正規化すればよし、だけれど、同じことをDynamoDBですると、めちゃくちゃクエリ投げないといけないことにハタと気づく。すごく思う。joinしたい。 もちろんDynamoDBにjoinはない。ああなるほど、KVS、Key Value Storeってそういう…
DynamoDBをいじり始めてかれこれ一年くらい。見よう見まねで騙し騙しやってきたが、色々と痛い目を見てわかってきたこともある。転んで生傷つくりながら、テーブル設計をする際に考えるようになったことを、備忘録的に記述していく。 オートスケールの話はしない(わからない)。インフラ専門部隊がいないなら、オンデマンドがいいよ。人的コストより多分安いよ。 ドキュメント なにはともあれ、公式のドキュメントについて存在を知っておく→「DynamoDB のベストプラクティス - Amazon DynamoDB」 こんな記事を読んでいる時間があるなら、公式のドキュメントを読むべきだ。でも多分読めない。自分も今でも読めていない。ここに書かれているのは本当に日本語だろうか、と真剣に思う。まぁ教科書なんていうのはだいたい、わかってから読むとわかるもんである。 それでも通して読むことでなんとなく親しみがわくのが人間
久しぶりにmatplotlib使ったら完全に忘れている。ちょっと使わないとすぐに忘れてしまうね。 なのでメモ書き。日付と時刻がyyyy/mm/dd HH:MM:SS形式で入ったファイルを読み込んで、x軸に適切な形で表示する。 環境 python 3.6.5 matplotlib 2.2.2 pandas 0.22.0 pandasはファイルの読み込みで使った。 コード 以下のようなデータtest.csvを読み込んで、x軸に時刻、y軸に2列目の数値を表示したグラフを出力する。 2018/05/16 22:00:01,2147564 2018/05/16 22:10:01,2147316 2018/05/16 22:20:01,2147036 2018/05/16 22:30:01,2147036 2018/05/16 22:40:01,2146788 2018/05/16 22:50:01,
最近ついに仕事でもgitが使われ始めた。プルリクしてからmasterにマージする流れは、やってみれば便利なもので、なんといってもコードレビューが流れに組み込まれているのが良いと思う。 で、チェックしていると、group_user.htmlとGroup_userController.javaというようなファイルがAddされていた。気持ちはとてもよくわかるのだが、クラス名で色々な区切りがあるのはよくないだろう、また区切り入れる必要なければ入れないほうがいいよなー、ということで修正することに。/group/user.htmlとGroupUserController.java。 案外ちゃんと考えることがないよなぁということで、大文字小文字、ハイフン、アンダースコア区切りについて備忘録も兼ねてまとめる。 統一されていない 今回問題となったのは、group_user.htmlとGroup_userCo
AWS系の記事を書くと、サービス名が入るのでどうしてもタイトルが長くなってしまうのがつらい。二時間ドラマでもここまで長くない。 AWS Lambda + API Gateway でREST APIを作るとして、/hoge/{group}/{user}のように、URI階層構造にして、かつ{group}と{user}をパスパラメータとして関数内で処理するようなパターンを考える。ちなみにLambdaはpython3で書いている。 やること /hoge/{group}/{user}のようなAPIを作りたい {group}と{user}は変数 {group}と{user}は関数内で変数(パスパラメータ)として利用する AWS Lambda + API Gateway でつくる Lambdaはpython3で書く パスパラメータとして利用する時は、波括弧を使えば良い。 手順 既にLambdaで関数は作
youtube-dlはコマンドラインで使える、とっても便利なYoutubeのダウンローダー。youtube-dlを使って音声だけ抽出するメモ。怪しげなサイトを利用してなくて良いし、コマンドラインなら応用が効くので有難い。MacならHomebrewでインストールが楽。 使い方 MacでインストールするならHomebrewが楽。 brew install youtube-dl ffmpeg ffmpegは変換で使う。 普通に動画をダウンロードするだけなら、コマンドは以下。 youtube-dl URL 素敵。そのまま音声ファイルに変換できる。内部的にはffmpegを使っているらしい。 youtube-dl -x --audio-format m4a URL 他のオプションについては公式サイト「youtube-dl/README.md at master · rg3/youtube-dl · G
先日、母の日セールでKindle端末が安売りされていた。読書をしなくなったという母に購入することを検討したが、色々と難しいところがあると考えてやめた(「電子書籍は本の管理が面倒くさい…雲の上の不自由な本棚について」)。現時点ではある程度はガジェットに理解ある人でないと、電子書籍端末は使いこなせないだろう。だが一番のハードルは、やはりコンテンツを揃えなくてはいけないことではないだろうか。せめてファミリーライブラリが日本でも実装されれば、取っ掛かりになるのだが。 Kindleのハードル AmazonのKindleは素晴らしい。それは確かだ。私は、Kindle Paperwhiteを持っているし、数百冊のKindle書籍を購入している。ほとんどのKindle書籍にDRMがかかっていることは悲しいけれど(僅かながら、非DRMのKindle書籍もある)、使い方を考えれば便利なものである。しかし、多く
最近宿泊が多いのと、海外出張があるかもしれないなということで、自宅の回線にVPN接続したいと思いました。家で使用しているTP-LinkのルータArcher C3150がOpenVPNサーバー機能を持っているので、これを利用しようと思ったのですが、うまくいかず、仕方なしにRaspberry Piで実装を試みたところ、有志のソフトウェアのおかげで、これが非常に簡単にできました。とても有難い。 外部から自宅の回線に繋ぎたい 最近、家にいないことが多いです。私は多くのファイルを家のNASに置いているので、アクセスできないとちょっと不便。sshで接続すればいいんですけれど、PCならともかくタブレットやスマートフォンからとなると、sshはちょっと扱いづらい。また、もしかするとそろそろ海外出張あるかもよということで、そうするとちょっとハマってしまったソシャゲなど、日本国外のサーバーからのアクセスって弾か
久しぶりにRaspberry Piをいじっている。今までRaspberry PiでGPSを使うときはAdafruitのUltimate GPSを使っていたのだが、これだとPPS信号が1Hzしか出せない。が、色々調べているとu-bloxシリーズのGPSならば、安価な上に1Hz以外のPPS信号を知り、今回実際に使ってみて、10kHzと100kHzを確認した。 Raspberry Piで使いやすいとは Raspberry Piで使いやすいGPSモジュールとは、冷静に考えるとよくわからない表現だが、つまり以下のような条件を揃えたGPSモジュールだと考えている。 シリアル通信によりNMEA等で情報が得られる PPS信号をGPIOピンで取り込める Raspberry Piを電源の供給元として使える 小型 安い Windows専用のドライバやソフトウェアなしで常用できるものと言えるかもしれない。以上の条
設定ファイルの最初の状態 nginxの設定ファイルは、/etc/nginx/nginx.confです。Version 1.6.3においては、最初は以下の状態になっています。 user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/l
この記事は、最近PPS(Pulse Per Second)信号なるものを使うことになり、右も左も分からないまま、あれこれ調べたものを自分なりにまとめたものです。同じような人に向けて書いています。 PPS信号とはなにか PPS信号の説明と、その作られ方について。 まずは全体像 PPSとは、1秒間に1発だけでる非常に正確なパルス波です。たとえば、以下は、Adafruit Ultimate GPSというGPSモジュールの、PPS出力を取得したものです(Raspberry Pi のGPIO経由で入力信号を連続的に取得…デジタル入力ですがまぁ感じだけ掴んで下さい)。 この例の場合は、パルス波というより、1秒間に100ms、つまりデューティ比10%の矩形波ですが、とにかく1秒間に正確な1発、というのが味噌です。 ここでいう「正確」とは、立ち上がりが急峻で、(立ち上がり位置など)揺らぎが少ないということ
一年間私を悩ませ続けた問題が、ようやく一区切りつきました。MacとReadyNAS 104のやりとりが異常に遅いというものです。速度がよくて10MB/sしか出ない。対応後、Readで60MB/sまで改善しました。 環境と症状 Macの環境は以下。 Mac mini 2012, MacBook Air 2013 11インチ OSX 10.11.6 (追記:Sierra(10.12.4)でも確認) 有線LAN、ギガビットイーサネット環境、無線は切っている ReadyNAS 104のファームウェアは6.5.0。 症状として、MacとReadyNASの通信が10MB/sしか出ない。プロトコルはSMB。AFPを使うと、Readで50MB/s、Writeで30MB/s出る。また、Windowsでは無線のクライアントでも20MB/s以上でるので、通信環境の問題ではない(ルータ周りのLANケーブルがすべて
自分はLPICはなんとなく難しそうな印象だったのですが、いざやってみるとそうでもありませんでした。実際、IT系の資格としても、エントリー的なポジションのようです。そうだったのですね。 本記事では、LPIC Level 1から2までの取得において、自分がやってきた勉強方法、勉強時間について記述します。 なお、これまでに受けた試験の雑感は以下です。 LPIC 101(Ver4.0) 合格 Ping-tだけで十分のよう : 或る阿呆の記 LPIC 102 合格 Ping-t だけで十分 : 或る阿呆の記 LPIC 201 合格。勉強法はPing-tのみ。勉強時間は24時間 : 或る阿呆の記 LPIC 202 に合格し、ようやくレベル2 を取得。LPIC 202 の勉強時間、難易度、雑感 : 或る阿呆の記 勉強法:Ping-tのみ 勉強法ですが、これはWebの「CCNA/CCNP/LPIC/オラク
環境はConoHaのVPSで標準のCentOS 7。/var/log/secure を見て見ると、ものすごい数の不正アクセスの試行が見て取れました。ちょっと看過できなかったので、対策しました。 ブルートフォースアタックか ブルートフォースアタックとは要は総当り攻撃ですが、ログを見る限りどうもそんな感じです。色々なユーザー名で試行されています。danielって誰だ。調べてみると、中国のサーバーです。まったくもう中国は、まったくもう。このサイトにくるスパムコメントもだいたい中国語です。まったく中国はまったく。 VPSでサーバーを運営していれば、SSHは必須のサービスです。SSHサーバーを運用している以上、絶対にチェックしておかなければいけないのが、/var/log/secure です。しばらく見ないうちに、ものすごいことになっていました。 fail2banの導入 IPアドレスを指定してfire
2016年9月11日:Raspberry Pi 3およびRaspbian Jessieに対応。 Raspberry Pi(以下RPi)でのシリアル通信について、やや情報が錯綜していたので調べたことをまとめます。Raspberry Piとモジュール間のシリアル通信を想定しています。USB変換を用いると、Mac <-> モジュールでも、同じように操作・表示できたり。 GPIOかUSBか RPiにはシリアルポートがありませんので、当然のことながらそれ以外のインタフェースからシリアル通信を行うことになります。基板上のGPIOピン経由のUARTか、USB端子かです。個人的には、相手先が5VトレラントであればUSBを利用したほうが良いと思います。設定が簡便で、ハードやソフトの影響を受けづらいからです。相手先の耐圧が3.3Vの場合でも、降圧させたほうが楽ではないかと思います。 GPIO RPiにはGPI
本記事は、Raspberry Pi で SPI通信できるAD変換の MCP3008 を利用することを目的とした記事です。MCP300xシリーズは、ラズパイ本だとよく出てくるので定番ぽいです。調べていると出てくる謎めいた式data = ((adc[1]&3) << 8) + adc[2]をちゃんと解説します。 SPI方式のADC MCP3008 以下のようなスペック。データシートは「21295d.pdf」。 量子化ビット数:10bit 最大サンプリング周波数:200kHz(2.7V では 75kHz) 入力8ch(差動なら4ch) 動作電圧 2.7 - 5.5V 量子化は10bitですが、サンプリング周波数がMax 200kHzです。レートを落とせば8chまで使えます。OSがLinuxですし、連続的にではなく、単発あるいは断続的に取得する用途になると思うので、ch数の多さは魅力かもですね。安
本記事の目的は、Macで複数ページのpdfを一気にjpegに吐き出す操作を、端末から行うことです。有名な方法としては、Automatorを用いたものがありますが、自動化には不適なので、ここでは端末を使います。というかAutomatorよくわからん…。 MacにおけるPDF→JPEG変換 OSXでpdfファイルをjpeg画像に変換しようと思ったら、標準のプレビューアプリを使うのが一番てっとりばやいです。しかしこれだと、1ページずつしか出力できず、とてもやっていられません。そこで複数ページを一括で変換する際は、Automatorを使用するやり方が有名なようです。ようです、というのは私はこのAutomatorの使い勝手がイマイチよくわからず、あまり使ったことがないからです。 せっかくのUNIXですから、自動化にうってつけなのはやはりコマンドラインだと思います。ということで、Macの端末上からpd
Raspberry Pi(以下RPi)はバッテリーがない為、起動時は前回シャットダウン時の時刻になります。インターネットに繋がっていれば、ネット上のNTPサーバーと同期して時刻を補正してくれますが、スタンドアロンの場合そうもいきません。RPiは名刺サイズというその大きさと電子工作との相性の良さから、PCを置けないような場所に置いてスタンドアロンで使用したいケースも多いと思いますので、これは困ったことです。 2015/09/10: エラーに関する追記 2015/11/27: I2Cについて追記 RTCモジュールの導入 スタンドアロンで電源を落としても時刻を更新するには、RTCモジュールを導入します。今回使用したのはDS1307を搭載した「リアルタイムクロック・モジュール - スイッチサイエンス」です。Amazonからも購入できます。2,000円ほどしますが、DS1307搭載のものなら同じよう
Raspberry Piは各種センサを簡単に扱えるのが素晴らしいですね。個人的に使っているセンサについてのメモです。GPSや気温センサ、AD変換、7セグメントディスプレイ、など。モータ系を全然使っていない!追記していきたいと思います。 センサ USB 気温センサ USBで使えるので、Raspberry Piだけでなく一般的なPCでも使用しやすいです。 USB温度センサーで室温をモニタリングしてみた(on Ubuntu Server 12.04) : 或る阿呆の記 インタフェース:USB 値段:1000円(送料で+500円)くらい I2C 気温センサ:LM75B データシードにアドレスマップもあるので、温度を取得するだけであれば、特にライブラリなど必要なく、シェルスクリプトだけでも頑張れる使いやすいセンサです。初期アドレス0x48で、アドレスがいじれるのは3bit分、すなわち最大で8台繋げる
本記事では、「電子書籍を読む」という一点に絞って、スマートフォンやタブレットといったデジタルデバイスの大きさ別使用勝手について書きます。もう少し一般的な記事としては、以前に「4,5,6,7,10インチ スマホorタブレットの各メリット・デメリットと適した生活スタイル : 或る阿呆の記」という記事を書きました。 (2018/07/19)11インチ以上でChromebookについて追記 電子書籍用途としてのタブレット 私のタブレットの主な使用用途に、電子書籍の閲覧があります。電子書籍はまだまだ一般に普及しているとは言い難いですし、現状見ていると果たして普及する日は来るのだろうかと不安にもなりますが、まぁ少しずつは人口も増えていると思いますし、気長に待ちましょう。 予備知識として、電子書籍には大きく画像タイプの固定レイアウト型と、画像ではないリフロー型に分かれることだけ(「電子書籍の固定レイアウ
なんだかんだでgnuplot 大学時代から、ずっとgnuplotを使っています。最近はようやくPythonやJavaScriptでもグラフを描くようになり、簡単なコマンドで高機能なライブラリを使うことが出来る素晴らしさに喜び半分打ちひしがれるような気持ち半分といったところでしたが、相変わらず一番愛用しているのはgnuplotです。 gnuplotのコマンド体系はお世辞にもわかりやすいとは言えず、最初はグラフを描いたり、csvデータを読み込むんだりするだけでも一苦労です。そしてハマるのがグラフのファイル保存。これがなかなか難しく、色々なサイトを参考にするのですが、書いてあるコマンドがまた微妙に違ったりもするものですから、覚えるのに苦労した記憶があります。 しかし人間なんでも慣れるもので、奇っ怪に見えたコマンドも今はそれなりに馴染みました。馴染めば、便利なものです。たいていのUnix系システム
3,4年くらい前に、格安のサーバーが流行っていました。HPのMicroserverは、3.5インチのベイが4台分ある、コンパクトなサーバーマシンで、15,000円という今見ると破格の相場でした。他にも、探せば色々と格安のサーバーがひっかかったものですが、2015年現在、すっかり下火となってしまっているようです。Microserverの後継機は普通に数万円してしまいます。 Microserverが死んで それでも私の手元にはかつてのMicroserverがありましたから、これを使って自宅サーバーをまた本格的に運用するのも悪く無いと思っていたのですが、いざ始めようとしたところ、電源がつかず、一瞬ファンが回るだけ。マザーボードを引っ張りだして、お掃除したりコネクタの抜き差ししたり、バッテリーを交換したりしてみましたが、ダメ。マザーボードが逝ってしまったのかわかりませんが、動かないものはどうしよう
2016年9月21日追記:Raspberry Pi 3 + Raspbian Jessieで動作を確認しました。疲れたー…。 本記事は、Raspberry PiでGPSを扱うための記事です。GPSを使って、スタンドアロンで時刻同期できることを目標とします。 やりたいこと やりたいことは以下です。 GPSモジュールから信号を受けて、時刻を同期 PPS信号で補正 インターネットに接続しないスタンドアロンを想定 ここで、PPS信号とはPulse Per Second、すなわち1秒に一回きっかりで送られる信号のことです(解説記事「GPSでよくみるPPS信号とはなにか – 或る阿呆の記」)。これをもちいて、時刻補正をすることができます。GPSモジュールにはAdafruitのUltimate GPS(チップはMTK3339)を使用します。スタンドアロンで使用することを想定するため、長期間にわたってRa
私が知っている範囲で、DRMフリーのストアを紹介します。追記:調べてみるとまとめページもそこそこあるようなので、このページももうよいかなぁと思う今日この頃ですが、すべてまとまっているページというのもなかなかないらしく。 2017/12/06:オーム社が2018/01/31にサービス終了予定、ラムダノート株式会社追加、ブックパブ記述変更 2017/07/21:Optronics eBookを追加 ざっと見ていきましょう。 O'Reilly Japan Ebook Store ソフトウェア系の技術者で知らない人はいないオライリーです。pdfのほかepubを用意していることが多く、さらに紙の本よりも20%安い。品揃えも申し分なくさすがの一言です。無料の本もありますね。epubは嬉しいんですが、epub読めるアプリってあまりないんですよねぇ…。 本家アメリカでは不穏な動き。 【やじうまWatch】
iTunes 12もやっぱりジャンル名を勝手に日本語にする。勝手にローカライズ問題は続く 2014 10/30 最初に。環境はOSX 10.9.5です。 ああ、やってしまった。つい全部アップデートしまった。問題が出尽くして解決策がある程度出されるまで待とうと思っていたのに…やってしまいました、iTunesのアップデート…。iTunes 12にしてしまいました。ああ、もう、もう…。 追記:本記事ではLocalizable.stringsの書き換えで対応していますが、High Sierraでエラーが出たそうです。多分SIPのせいです。一応対応策を書いておきます→「High SierraでiTunesのLocalizable.stringsをmv(リネーム)しようとしてoperation not permittedと怒られた場合の対応 – 或る阿呆の記」。 iTunesの勝手にローカライズ問題
Bluetooth の再接続ではまる 割としょうもないことですが、ちょっと悩んだので…。 最近Bluetoothのヘッドフォン買いまして、一応ヘッドセットの機能もあるようなのですが、まぁもっぱらヘッドフォンとして使っています。で、ペアリングは割とうまくいったのですが、その後の接続のやり方で悩んだというアホみたいな話です。そんなですが、同じく悩んだ人もいるかもしれんので、ネタもないしなんとなく記事に。再接続の方法は、タスクバーからやる方法とコントロールパネルからやる方法の両方を書いておきます。 OS:Windows 8 Pro ペアリング あまり説明する必要もないような気はしますが、ペアリングしたい機器を待ち受け状態にしておいて、タスクバーから常駐プログラムを選ぶやつで、Bluetoothアシスタントを右クリック(図1,2)。 図1:割と雑な図 図2:右クリックしたとき そうすると、Blue
「小型のメディアサーバー兼NASをたてる その3 〜初期設定、SSH編〜 : 或る阿呆の記」でSSHの公開鍵認証について触れていますが、他記事を紹介するだけの投げやりっぷりだったので、それもどうかと思い自分なりの解説記事も書くことにしました。 やること sshやscpで、パスワードを打たずにログインします。sshでの鍵の作り方。設定の仕方を学びます。普段リモートでよくログインするならば、鍵認証のほうが楽です。特にシェルスクリプトなんかでログインする必要がある場合、鍵認証じゃないと自動化できずありがたみ激減です。 注意として、鍵認証が制限されている場合は使えません。デフォルトではだいじょうぶですが、サーバーによっては禁止されていることもあります。 知識 何をしようとしているか、ざっくり把握するための知識。何事も、知識があるのとないのとでは、身につき方が違います。 ssh Secure SHe
Ubuntu Magazineの記事を参考に、まがりなりにも自分でサーバーを構築してから早半年。といってもファイルサーバーとDLNAのメディアサーバーくらいの機能しかないわけですが、それでもかつてに比べると少しは成長したなぁと思います。 さて、そんな初心者Linuxサーバー管理者が日々ちょくちょく疑問に思っていたこと。それは /etc/init.d/なんとか と serviceコマンドを使うのは何が違うのかということ。調べていると、sshサーバー一つ立ち上げるのも、/etc/init.d/sshと書いてあったり、service sshと書いてあったりするわけですが、これって何が違うんだろう?という。さらに考えてみると、/etc/init.dじゃなくて/etc/initなのもあるよな、何が違うんだろ…とかも思ったり。 まぁ、/etc/initと/etc/init.dがあるのは歴史的経緯で深い
次のページ
このページを最初にブックマークしてみませんか?
『或る阿呆の記 - 見栄を張らない、背伸びをしない。 私はただの阿呆です。 嘘です。...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く