アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

ギリギリ生還

以前弊社がつぶれそうな話を書いたんですがhoney8823.hateblo.jp大変有能な部署ボス様のおかげで生き長らえています。 リストラ+自主退職で社員が半分ほどにはなっていますが、給料は回復した後に昇給までしました。給与の交渉からクソPJの黒字回復までこな…

駅メモ #21:東北旅行に行ってきました

嫁(ふぶさん)がようやく上限突破完了したのでさくっとカンスト! そしてありすも誕生日&土日を利用してカンストしました。 尚、3周年ラッピングは全引きしました…かわいい…つらい… さて、先日は非メモラーの友人と宮城・秋田をぐるっと回ってきました。 …

駅メモ #20:久々の遠征

遠征といっても行先が旦那実家なので、往復のルートを工夫して若干増やしただけですが。 会津田島~浅草間の新しいリバティに乗ってきました。 栃木の山奥の電波とGPSが悪すぎて飴とレーダーとビューンを駆使する羽目に…。 位置飛び先で固定されまくるのもイ…

駅メモ #19:久々に進捗

まあ最近は特に遠征とかもしていないのですが。進捗:前回(12/26)からの比較 駅 3134 → 3142(+32) 路線 375 → 375(+2) 都道府県 31 → 31(+0) コンプ路線 179 → 180(+2) 育成進捗 ()内は前回比 [S]セリア 19/80 (Lv11up) [A]メロ 30/75 (上限5up) [T]…

ある文字列について、特定文字以外が含まれている場合に取り除く関数

正規表現を使わない書き方。 例えば「ある文字列について、半角英数以外の文字を削除したい」という場合などに。 '* '* StrFilter '* ある文字列について、特定文字以外が含まれている場合に取り除く(もしくは置換する)関数 '* '* [in] sStr 対象文字列 '*…

htpasswdでつまづいた件

※ほとんどネタ記事です。ちゃんとヘルプを読もうね、という話。 basic認証のユーザーを追加することになったのでググる。「よし、htpasswdというコマンドを使うんだな!」 「使いそうなオプションはbとmとnあたりかな!」 (※ b:パスワードを引数に渡すこと…

ExcelVBA入門 #10:定数を定義することとそのメリット

シリーズもくじはこちら ExcelVBA入門 もくじ - アナログCPU:5108843109 はじめに 久しぶりの記事追加です。 今回は、地味ながらもプログラミング言語問わずの人気者、「定数」について。 定数って何? もしかしたら、中学か高校かの数学の時間に聞いたこと…

秀丸マクロの登録方法

気が付いたら今までの人生30年の半分は秀丸にお世話になっていました。中学生の頃から親のPC使ってネットで二次創作小説を探しては秀丸にコピペ、フロッピーディスクに移して自分のPCへ。 自分のPCでもまた秀丸を開いて読み漁る…というオタク。 それはともか…

駅メモ #18:あけましておめでとうございます

年末年始は愛媛まで行ったり福島まで行ったり。 新駅はそんなに取れていませんが、ミクさんのイベントや駅奪取のイベントがそこそこ進んだので良かったかな。晴れ着ラッピング…ずるい…かわいい… とりあえずふぶさんが出るまで回しました。キャーふぶさーん♥ pic…

駅メモ #17:プレイ開始1周年を過ぎて

12月3日にプレイ開始して365日目を迎えました。 瞬間的にですがデイリー1位ゲット。 (ログインして確認した瞬間は同じく365日目の旦那と並んで2位&3位だったところを、いくつかレーダー飛ばして無理矢理1位に…) 7892人目?くらいでした。ということでこの…

駅奪取のニャッピーデー検証

駅奪取の「5周年ニャッシュ」を引き当てたので、機能「5のつく日はニャッピーデー」でもらえるアイテム検証。 まだ始まったばかりなので、まずは気長に記録していきます。バッテリー10(1個)から駅奪取シールまで、当たり外れの振れ幅がなかなか大きいですね…

駅メモ:でんこ育成状況とコンプ進捗状況

随時更新します。都道府県コンプ状況 経県値マップを使用:マスター、猛者、大好き、駆け出し、称号はないがアクセス済み、未アクセス の順。 2017-06-29 経県値&経県マップ【駅メモ進捗 2017-06-29】 2017-05-10 経県値&経県マップ【駅メモ進捗 2017-05-1…

駅メモ #16:3人目のカンスト

もえさんもカンスト。進捗:前回(10/31)からの比較 駅 2935 → 2945(+10) 路線 371 → 371(+0) 都道府県 30 → 30(+0) コンプ路線 170 → 171(+1) 無事にハッカドールイベントの250駅を突破したので2号さんをお迎えし、 2周年ガチャであたる・なほも確保…

整数かどうか、またその範囲をチェックする関数

整数かどうかを一発チェックしてくれる関数を探していたのですが見つからず。 …えっ、本当にない…? いやあるでしょ…? しかし見つからなかったので、とりあえず作りました。誰か知ってたら教えてください。せっかくなので範囲チェックもやってくれるオマケ…

ブックを開くとき/閉じるときの処理

普通どおり標準モジュールにマクロを作るとき、プロシージャ名を 「Auto_Open」にすればブックを開いたとき、 「Auto_Close」にすれば閉じるときに そのプロシージャが起動します。「ブックを開いたら今日のおみくじを表示」みたいなお遊びから 「閉じる前に…

301 VS 302

開発中のサイトで、https://でアクセスされたらhttp://にリダイレクトしたり その逆をやったり、という事案があり、リダイレクトについて諸々調べてたので残しておきます。 HTTPステータスコード リダイレクトをかます時に、HTTPステータスコードを乗っける…

シートの存在を調べて存在しなければ新しいシートを作成

頻繁に使うロジックなので関数化してみました。 任意の名称を持つシートが存在するかどうか調べる 上記で存在しなければその名称で作成(もしくはあるシートをコピーしてその名称にする) ' 呼び出し例(1) Dim wsSheet As Worksheet Set wsSheet = SelectShe…

日時を扱ういろいろ PHP版

PHP

PHPでの日時の扱いについてですが、INT型のUnixタイムスタンプを用いるのが基本です。例えば現在の日時を「YYYY-MM-DD hh:mm:ss」という形で求める場合、 $datetime = date("Y-m-d H:i:s", time()) とします。 time()で現在のUnixタイムスタンプを取得し、そ…

日時を扱ういろいろ MySQL版

MySQL。 現在日時の取得 -- YYYY-MM-DD hh:mm:ss SELECT NOW() 月の最終日の取得 -- 2013-06-10 を渡すと 2013-06-30 SELECT LAST_DAY(日付) フォーマットして取得 SELECT DATE_FORMAT(日付, フォーマット) フォーマット部分 %Y 西暦年(4桁) %y 西暦年(2桁) …

マルチバイト文字列関数の罠

ある時、CSVのデータをインポートする処理で不具合が発生。 「2件のデータをまとめてインポートすると1件のみ失敗して、 成功したデータを除いて再度その1件のみをインポートすると成功した」 いやいやそんなアホな。色々調べた結果、この結論に至りました。…

文字列のトリム(左端・右端にある特定の文字列を削除 )

以下MySQLで確認していますが、Oracle・PostgreSQLでも同じ書き方である模様。例えば都道府県欄に「○○県」と入っており「県」は除いて表示したい場合など、は以下のようにします。 SELECT TRIM(オプション 削除する文字列 FROM フィールド名) FROM テーブル…

【ネタ】手作りソート

何やら「A1:A10に入力された数値データを昇順に並び変えてB1:B10に格納せよ」という学校の課題的なお題を頂いたので作ってみました。 もちろんソート機能は使用禁止です。 (つまり実務で使う意味は皆無のネタコードです) Option Explicit 'ソート範囲 Cons…

ブックの共有

共有フォルダ等に置いてあるファイルは他人が開いてると変更を保存できなかったりしますが、 それを誰が開いていようが同時に更新しようが大丈夫になるやつ。 実務ではテスト項目表・障害管理表などに使うと吉。 そういうのをExcelで管理する奴は殺せと言っ…

ワークシートの最大行数、最大列数を取得

最大行数は Rows.Count 最大列数は Columns.Count で取得できます。 ' 使用例(1):「Sheet1」シートの全セルのデータや書式設定を削除 With ThisWorkbook.Sheets("Sheet1") Range(Cells(1, 1), Cells(Rows.Count, Columns.Count)).Clear End With ' 使用例(2…

ボタンひとつで簡易grep

何度もgrepをかけるとき、いちいちウインドウ出てくることや 検索フォルダが「今開いているファイルの位置」になるのが非常に鬱陶しいので、 「あらかじめ指定されたフォルダ以下にて今選択している文字列をgrep」するマクロを作りました。 ショートカットキ…

VBAでセルの結合

セルを結合するには、MeageCellsプロパティを用います。 ' A1~C3のセルを結合 Range("A1:C3").MergeCells = True '現在選択している範囲を結合 Selection.MergeCells = True ここで、結合したいセルのうち2つ以上にデータが入っていると、警告が表示されま…

頭文字検索

用語集みたいなやつを作っていて、「あ行」「か行」…「英数字」という頭文字検索があったので、 調べてみたところLIKEかREGEXPが使えそうかなと思ったのですが…LIKE →複雑な正規表現は使用不可 →日本語に対応REGEXP →正規表現使用可 →日本語に非対応でした。…

フィールドの順序を変更する

以下、MySQLで確認。あるテーブルで、フィールドが「field_a」「field_b」がこの順に存在し、これを入れ替えたいときは以下のようにします。 ALTER TABLE テーブル名 MODIFY COLUMN `field_a` 型名 AFTER `field_b`;

テーブルの再構築

MySQLの話。いつもは速いクエリが突然やたらと遅くなったので調べてみると、何故か適切なインデックスが使用されなくなっていた模様。 とりあえずインデックスを一旦削除して張り直すと戻りました。 (FORCE INDEX なんかも知ってはいますが、リリース済みの…

ランダム文字列を生成する関数

以前に同タイトルの記事を書きましたがこちらはPHP版。↓こちらはVBA版。まあこちらも基本ロジックは一緒なんですが…honey8823.hateblo.jp private function makeRandomStr($strlen = 1) { // 使用可能な文字一覧 $randomstr = "abcdefghijklmnopqrstuvwxyz12…

複雑な条件でGROUP BYする

以下MySQLで確認。下記Aのテーブルについて、 「idが4未満と4以上のグループに分けて、それぞれで一番小さいvalueをSELECT」 してBの結果が欲しいとき…(A)test_table id value 1 68 2 15 3 32 4 19 5 73 6 59 (B) 15 19 苦し紛れに以下のようなクエリを書い…

Excelでよく使うショートカットキー

Excelのショートカットキーのうち、個人的によく使うものやすっかり忘れてたけどそういや便利だったわと思ったものをメモ。 自動入力系 ものすごく便利。 意外と知られていないのですがおすすめ。 「Ctrl」+「D」上のセルのコピー(クリップボード非使用) …

特定の文字以降を別の文字列に置き換える

具体的には、「メールアドレスの@以降を*でマスクする」ロジック。 文字列処理の関数を多数使用できて面白かったのでメモ。 ただ、PHPならもっと簡単なロジックが作れそうな気も…? // 加工前のメールアドレス $mail_address = "hoge@fuga.com"; // 加工後の…

データベースごとのサイズを調べる方法

データ部分、インデックス部分、合計について、それぞれMG単位とGB単位。 SELECT `TABLE_SCHEMA` ,ROUND(SUM(`DATA_LENGTH`) / 1024 / 1024, 2) AS `data_MB` ,ROUND(SUM(`DATA_LENGTH`) / 1024 / 1024 / 1024, 2) AS `data_GB` ,ROUND(SUM(`INDEX_LENGTH`) …

終わりの始まり

ある日突然社長から全社員に対して「会社の経営状況が悪化している。近日個人面談を行う」と告知。前から宜しくはなかったのは知ってたけど、わざわざ明言しなければならなくなったというのはおそらく相当ヤバい状況になったんだと思う。 とはいえ別にみんな…

駅メモ #15:ふたりめのカンスト

れいこさんに続き、いずなさんがカンスト。あと、れいこさんはマイルも最大値になりました。 マイル込みの最終パラメータがこちら。 相変わらずれいこさんのお仕事回数称号一番乗りを目指しているのですが、回数稼ぎは激戦駅に居座るときとか、移動中にして…

駅メモ #14:はじめてのカンスト

れいこさんがカンストしました。 Lv80カンストは初です。また、先日「笑顔がまぶしくて」称号も一番乗りでゲットしました。アクティヴレイドコラボはこれからラストスパート遠征してきます。 進捗は前回から変わらず。 駅 2778 路線 339 都道府県 30 コンプ…

ユニークなインデックスが存在しないテーブルを求める

先日弊社のphpMyAdminを3.x系から4.x系にアップデートしまして 「PRIMARY/UNIQUEのいずれのインデックスも張られていないテーブルのレコードは編集/削除不可」という問題まっとうな仕様変更にぶち当たったので、 そのとき影響範囲の調査に使った 「PRIMARY/U…

Ingress倉敷ミッションデイに参加してきました

倉敷駅からさっくりクリアできる6つを選んでやってきました。通し番号としては1~6を順にですね。 時々、無関係と思ってハックした直後のポータルが指定されて手間取ったりはしました…。 ミッションデイ当日だと焼き合いもすごいのでヒートシンク刺す隙すら…

ingressミッションレビュー:ViaLux : Setouchi , JP

ViaLux参加記念に。 https://ingressmm.com/?find=ViaLux%20%3A%20Setouchi%20%2C%20JPミッションとは関係ないのですが、最後のmeasurementが終わった直後のfactionチャット。 とてもすき。 普段から挨拶とか応答とか掛け声的な感じで「えんらーい」を見るこ…

Ingress東京ミッションデイに参加してきました

いやいや、対象ミッション多すぎでしょ!!!ということで6つ厳選してきました。 国会議事堂→六本木→渋谷→台場→スカイt…スカイツリー→東京都庁 という突然のななどら聖地巡礼。(もちろんメダルは逆順)この中には特に難しいミッションはありませんでしたが…

ingressミッションレビュー:AEGIS NOVA TOKYO MEMORY

かっこいいメダルがあったので、こちらもAegisNova記念に。 新宿をぐるっと回る程度のお手軽ミッションでした。 (こちらを見る限り、現時点で3つは削除されている模様…?) https://ingressmm.com/?find=AEGIS%20NOVA%20TOKYO%20MEMORYアノマリー時は同シリ…

ingressミッションレビュー:AegisNova : Tokyo , JP

AegisNova参加記念。受付の後にさっくり回ってきました。 地図はこちら。 https://ingressmm.com/?find=AegisNova%20%3A%20Tokyo%20%2C%20JPスムーズに回れるよう工夫してあるミッションでとても良かったです。また、最後のミッションは2つあり、夜間(台場公…

ingressミッションレビュー:風景印を巡る旅

全52個あるシリーズミッションですが、愛知・岐阜が中心で、沖縄・東京にも少しずつ。 東京から6つ抜粋しました。 https://ingressmm.com/?find=%E9%A2%A8%E6%99%AF%E5%8D%B0%E3%82%92%E5%B7%A1%E3%82%8B%E6%97%85 はんこモチーフに弱いっ。ミッション自体は…

駅メモ #13:マスターオブ沖縄と遠征三昧

石川、埼玉に続いて沖縄もマスターしてきました!一つだけ離れた位置にある廃駅(嘉手納)は、中城城址まで行けば取れました。他の県については、 東京があと2駅、神奈川があと4駅です。うまく調整すれば山梨あたりとまとめて同じ日にマスターオブ称号取れる…

テーブルごとのサイズを調べる方法

MySQL。 サイズというか容量というか使用量というか。アレ。参考:MySQLのデータベースやテーブルのサイズを確認する方法 - Little Braver http://little-braver.com/379/ SELECT `TABLE_SCHEMA` -- DB名 ,`TABLE_NAME` -- テーブル名 ,`TABLE_ROWS` -- レコ…

CSVを読み込み二次元配列に格納するプロシージャ・改

前にも同じようなのを作って使っていたんですが、 CSVにカンマや改行が含まれていると機能しないとかいうクソっぷりだったので、 大幅に改修しました。 あと、UTF-8のCSVに対応したい事案があったのでそれも合わせて。 (改修というか別物に近い) 参考:UTF…

配列のサイズを宣言する前にサイズを知りたかった

だいぶ意味不明なタイトルですが。VBAではサイズを指定せずに配列を宣言できます。 (指定して宣言することもできます) ' 文字列が入る配列(サイズ不明) Dim sArray() As String その場合、後からサイズを指定できます。 ' 文字列が入る配列(サイズ不明…

in_array VS array_search 速度検証

タイトル通り。わたしは普段「ある配列にある値があるかどうか」のチェックにin_arrayを用いていますが、 他の人のソースでarray_searchを用いているのを見かけたので 単純に気になって速度検証。 (in_arrayの方が速いんじゃないかなーという予想)検証コー…

ゆるゆるダイエット計画 #4:スポーツジムに通いはじめました

炭水化物を控えめにというのは一応意識しつつ、スポーツジムに通うことにしました。 通い始めてちょうど一ヶ月ほど経過しています。今のところ、2~3日に1回、40~60分間程度の運動としています。 脂肪が付いている腹周りや太ももあたりを中心に筋トレ+有酸…