はてなキーワード: prefixとは
直近のmattn PRのうち、shogo82148がApproveしているものを並べると
| PR | 内容 | PR作成→Approve | Approve→merge | レビュー本文 | 差分規模 |
|---|---|---|---|---|---|
| #736 | Windows remWatch nil deref修正 | 約54分44秒 | 約10分32秒 | LGTM | 2 files, +18/-3 |
| #738 | CI: macos-13置換・Go 1.26 | 約22分20秒 | 約33秒 | LGTM | 2 files, +10/-9 |
| #742 | Windows TestRemoveState復活 | 約6時間9分 | 約12分27秒 | 画像のみ | 1 file, +4/-6 |
| #743 | Windows TestClose復活 | 約6時間9分 | 約12分17秒 | LGTM | 1 file, +1/-5 |
| #744 | Go最低版を1.23へ、unsafe修正 | 約5時間14分 | 約10分51秒 | LGTM | 3 files, +6/-13 |
| #741 | inotify event buffer最適化 | 約3日19時間 | 約10時間10分 | LGTM | 1 file, +10/-5 |
| #748 | kqueue dangling symlink修正 | 約1日1時間34分 | 約1時間22分 | 画像のみ | 2 files, +22/-4 |
| #749 | Windows WatchList race修正 | 約1日30分 | 約1時間25分 | 画像のみ | 2 files, +75/-15 |
| #754 | inotify recursive remove prefix bug修正 | 約14時間14分 | 約2日9時間 | 画像のみ | 2 files, +43/-1 |
| #755 | inotify/windows recursive rename prefix bug修正 | 約13時間47分 | 約2日8時間 | 画像のみ | 3 files, +72/-2 |
shogo82148のレビューは、GitHub上に残る痕跡としては非常に薄く、複数PRを短時間にApproveしているため、十分な独立レビューだったのか疑念を持たれても仕方ない。
一方で、PR作成からApproveまでの経過時間だけを見ると数時間〜数日空いているものも多く、「全て数分で承認された」とは言えない。
tmux(ターミナルマルチプレクサ)が「苦行」と感じられる理由は、その学習コストの高さ、特有の操作体系、そして初期設定の手間が大きな要因です。非常に強力なツールである一方、使いこなすまでに多くの試練があります。
具体的に、なぜ苦行とされるのか、その主な理由は以下の通りです。
Prefixキー(Ctrl-b)の壁: 全ての操作の前に、必ずCtrl-bを押す必要があります。これが直感的ではなく、操作数を増やします。
デフォルトキーが非直感的に: 画面分割やウィンドウ切り替えのキーが、初期設定では押しにくい場所に配置されていることが多いため、設定ファイル(.tmux.conf)を編集して自分用にカスタマイズしないと使いづらいです。
概念の理解: 「セッション」「ウィンドウ」「ペイン」という3つの概念を理解し、それぞれを制御するコマンドを覚える必要があります。
モードの概念: 通常の入力モードと、コピーモード(スクロールやコピーをするためのモード)が分かれており、特にコピーモードの操作が複雑で混乱しやすいです。
最初はただの黒画面: tmuxはインストールした初期状態では、色使いや操作性が便利とは言えません。使いやすくするためには、.tmux.confをネットで調べて設定する必要があります。
メンテナンス: バージョンが変わるたびに設定が効かなくなったり、新しい設定方法を調べ直したりする必要があるため、メンテナンスが面倒です。
マウス操作・スクロール: 通常のターミナル(iTerm2やWindows Terminal)とは異なり、デフォルトではマウスでのスクロールが直接できないなど、使い始めの利便性が低いです(※設定で対応可能)。
クリップボード連携: ターミナルのコピー・ペーストをtmux内で行う際、うまくクリップボードと連携できず、苦労することがあります。
5. 「慣れ」という壁
導入当初は非効率: 慣れるまでは、普通にターミナルを複数立ち上げた方が速いため、その便利さを実感する前に挫折しやすいです。
まとめ:なぜそれでも使われるのか?
苦行とされる一方で、それを乗り越えると「SSH接続が切れても、サーバー上の作業が強制終了されずに残る」「画面分割をキーボードだけで爆速に操作できる」という、インフラエンジニアやプログラマーにとって強力なメリットがあります。
はてなブックマークの増田一覧の、さらに「すべて」(1 user)をチェックしている希有な人向けのユーザースクリプトを公開します。
https://b.hatena.ne.jp/site/anond.hatelabo.jp/?sort=eid
// ==UserScript== // @name Hatena Bookmark Anond Filter // @namespace https://b.hatena.ne.jp/site/anond.hatelabo.jp/ // @description はてなブックマークの『はてな匿名ダイアリー』の記事のうち、指定したNGワードが含まれる投稿を非表示にします。 // @match https://b.hatena.ne.jp/site/anond.hatelabo.jp/* // @grant none // @version 2.1.2026.04.29.0027 // ==/UserScript== /* 2.1.2026.03.25.0023 正規表現に対応。10 users 以上の人気記事を除外判定。 2.0.2026.01.28.0015 ポイント制を導入。 1.0.2025.12.09.0000 公開。 **/ (function(){ const SCRIPTID = 'HatenaBookmarkAnondFilter'; console.time(SCRIPTID); const FILTERED = 'filtered';/* フィルタ該当要素クラス */ const CHECKED = 'checked';/* 二重チェック回避フラグ */ const USERS = 10;/* 人気記事なら誤検知やスパム解説などの可能性があるので除外する */ const POPULAR = 'popular';/* 人気記事クラス */ const ONCE = 1, AP = 2, INTERVAL = 3;/* 適用タイミング */ const NGWORDS = {/* 合計100ポイントで非表示判定(ただし1つの記事内で同じワードが複数使われても1度しか加算しない) */ '100': [/* 即NG確定ワード */ 'dorawii', 'あおやまちゃん', 'アオヤマチャン', 'ボスマン', '大学たいてい', 'なんぴょん', 'れめくん', 'れめきゅん', 'えめくん', 'るまさん', 'るまおねえちゃん', '眠りの民', 'リュックサック野郎', 'boushi_inst', 'hakaikami', 'Rekyu', 'iloveootaku_2', 'osaka-sirokichi',/* 電気通信大学たいてい鉄道研究会れめくん(頻出) */ /*A-G*/'a9w8ru6fqyxqfv9', 'admirail_togo', 'akibakko6348', 'alf1974al', 'amatukiseiru', 'anapgoeson', 'aoi_mizuho', 'asapgoeson', 'asupgo', 'asupgoeson', 'avoid_bds_kk', 'b6jbpsji91ieigt', 'bmi22yo', 'boushi_instrail', 'boushi_ob', 'buscholarx', 'bw0531', 'chihiro_love415', 'circlecavok', 'disney1007cla', 'dora22sibuya', 'donkotrain', 'ecotosk', 'electlone', 'factomodachi', 'fft_dareka', 'gmhtcyznf_abc', 'goesonanap', 'gyudon_honmono', /*H-N*/'h13_yokohama', 'h2twi', 'H2TWR', 'hamaishogo1111', 'haru_mofumoffu', 'hermitv8', 'hide1798038', 'hirabiscus', 'hinolovelove', 'hnmk0127_03', 'inaken17_', 'inte235dy', 'ixtabes', 'jamcombatge', 'kawachiasukanew', 'kaoru_ai1991', 'keio9730F', 'kiha2228', 'kihatena200', 'koreanlabsfc', 'koyounoyooko', 'kqlex1500', 'kunugiyamaosake', 'kurakamasan', 'kurotamaxxx', 'kt_ruma_1372', 'kt_up_date', 'lightningreen77', 'luckyyusha', 'mamadoll_kun', 'matya_uec', 'michee_n', 'minamihinawot', 'miniminicot', 'minori0151', 'mizunyanpanda', 'monkichi_22', 'mugen_08i', 'mukoroku651', 'nakano6409', 'nanpyong', 'new_oer', 'nimouec', 'NoName_thUFO', 'norannnde', /*O-U*/'oreizmmiporin', 'orenotanoshimi', 'osaka_sirokichi', 'papepoco', 'pasotokon', 'pm95uq', 'portrail', 'reme_kun', 'ruin_2002', 'rx00shiratama03', 's03_amurtk2731', 'sacchan03110319', 'sacchanenjoy', 'seishinyamate_', 'seisu_bot', 'senanana_cos', 'shinano_115', 'shineleaf1372', 'Shirasagi494', 'shop_bullet', 'shurimpy', 'soroisoroi', 'sui_pm95uq', 'sweidan821858', 'taiyaki_level2', 'takao_straight5', 'taking0000', 'tarotaromusic1', 'tc201_501', 'thomas_returnee', 'tocarbarn', 'tokusatsu_fan_0', 'toshikimiyazaki', 'train_magician', 'tx9y2cpwdz27255', 'u2fap5u4zw57811', 'uec15take', 'uecdaisuki', 'UECert', 'uecrail', /*V-Z_0-9*/'vampire_mio', 'vbdmnwefknmxsdm', 'vp20th', 'wafue', 'wakasato_', 'walkingniwatori', 'wataameexpress', 'ya4975349616894', 'yayoiulc', 'ymbk_arisa', 'yms_uec16', 'yorozun', 'yuuya_1104_uec', '__________ob', '_chocorail_', '_doitforthewin_', '_toeshin', '_unigmo', '100mph_no_yuuki', '16887y', '169_D51_protect', '205musashino', '2969364x', '2rtkvn34il2783', '36kyo', '86lilxw1', /(?!(.)\1{19,})(.{20,})\2{2}/,/* 20文字以上の文を3回以上繰り返す */ /(?!(.)\1{29,})(.{30,})\2{1}/,/* 30文字以上の文を2回以上繰り返す */ /(?!(.)\1{79,})(.{80,}).*\2/,/* 80文字以上の文が2回以上現れる */ 'テクウヨ', '自己放尿', ' ーーーーーーーー', 'https://anond.hatelabo.jp/20260107144223',/* AI問答貼り付け増田 */ '†噛み締めて行こうな†', 'https://anond.hatelabo.jp/20250826121213#', '困難女性(コンジョ)', '困難女性(コンジョ)', 'コンジョ自警団', 'Boost', 'Cash', 'Coin Master', 'Dice', 'Free', 'Gift', 'Guide', 'Follower', 'Generator',/*英文スパム*/ ], '90': [/* ほぼNG */ 'megalodon.jp', 'tadaup.jp', '鉄道研究会', '鉄研', '通勤特快', '不正乗車', 'こども料金', '性慾', '穢い', 'エッタ', 'オソソ', 'キセル', 'uec', ], '10': [/* NG */ '電気通信大学', '電通大', '駿河台大学', '武蔵野美術大学', '武蔵美', '大学院', '学生課', '教務課', '朝鮮', '統合失調症', ], }; const sites = { 'prefix': [ ['selector', '(modifier)', '(css)', '(REPEAT)'], ], 'https://b.hatena.ne.jp/site/anond.hatelabo.jp/': [ ['section.entrylist-unit li.js-keyboard-selectable-item', li => { if(parseInt(li.querySelector('span.entrylist-contents-users > a > span').textContent) > USERS) li.classList.add(POPULAR); else li.querySelector('li.entrylist-contents-category > a').textContent = li.dataset.matches; }, `.${FILTERED}:not(.${POPULAR}){display: none;}`, AP], ], }; const rules = sites[Object.keys(sites).find(prefix => location.href.startsWith(prefix))]; if(rules === undefined) return console.log(SCRIPTID, 'Not found any sites.'); const scores = Object.keys(NGWORDS).map(Number).reverse();/* 数値インデックス順に取り出されたkeysを逆順にして100から並べ直す */ const filter = function(selector, modifier){/* 各要素に対してNGワード判定して、該当したら追加でmodifierも適用する */ document.querySelectorAll(selector).forEach(e => { if(e.dataset[CHECKED]) return; e.dataset[CHECKED] = 'true'; const text = e.textContent.toLowerCase(); let total = 0, matches = []; for(const score of scores){ for(const word of NGWORDS[String(score)]){ switch(true){ case(typeof word === 'string' && text.includes(word.toLowerCase())): case(word instanceof RegExp && word.test(text)): total += score; matches.push(word); if(total >= 100){ e.classList.add(FILTERED); e.dataset.matches = matches.join(', '); if(modifier) modifier(e); return; } break; } } } }); }; /* ONCE(一括適用) */ rules.forEach(rule => { const [selector, modifier, css] = rule; console.log(SCRIPTID, 'ONCE:', selector); filter(selector, modifier); if(css){ const style = document.createElement('style'); style.dataset.script = SCRIPTID; style.type = 'text/css'; style.textContent = css; document.head.appendChild(style); } }); /* AP(AutoPagerize) */ rules.filter(rule => rule[3] === AP).forEach(rule => { const [selector, modifier] = rule; document.addEventListener('GM_AutoPagerizeNextPageLoaded', e => { console.log(SCRIPTID, 'AP:', selector); filter(selector, modifier); }); }); /* INTERVAL */ rules.filter(rule => rule[3] === INTERVAL).forEach(rule => { const [selector, modifier] = rule; setInterval(function(){ console.log(SCRIPTID, 'INTERVAL:', selector); filter(selector, modifier); }, 1000); }); console.timeEnd(SCRIPTID); })();
/* Hatena Bookmark Anond Filter */ .filtered:not(.popular){ display: block !important;/*上書き*/ opacity: .25 !important; } .filtered:not(.popular):hover{ opacity: .75 !important; } .filtered:not(.popular) li.entrylist-contents-category{ background: red !important; font-weight: bold; }
検索用: はてなブックマーク はてブ はてな匿名ダイアリー 増田 スパム 荒らし キーワード NGワード フィルター ミュート 非表示 削除 隠す ブロック 対策 ユーザースクリプト ユーザースタイル hatena bookmark anond spam keywords ngwords filter mute hide hidden display none block userscript JavaScript js css style
SF原語で読む勢だけど「ん?」と思ったので横すると
Bad Placeは古代ギリシャ語の直訳であってそもそも英語圏の18世紀の人間の造語だから元々その意味なわけではない
"Dustopia", the original spelling of "dystopia", first appeared in Lewis Henry Younge's Utopia: or Apollo's Golden Days in 1747.[9] Additionally, dystopia was used as an antonym for utopia by John Stuart Mill in one of his 1868 Parliamentary speeches (Hansard Commons) by adding the prefix "dys" (Ancient Greek: δυσ- "bad") to "topia" (Ancient Greek: τόπος, lit. 'place'), reinterpreting the initial "u" as the prefix "eu" (Ancient Greek: ευ- "good") instead of "ou" (Ancient Greek: οὐ "not").[10][11] It was used to denounce the government's Irish land policy: "It is, perhaps, too complimentary to call them Utopians, they ought rather to be called dys-topians, or caco-topians. What is commonly called Utopian is something too good to be practicable; but what they appear to favour is too bad to be practicable."[12][13][14][15]
俺のEmacsライフは、もはやただのエディタを超えて、完全に生活そのものだ。
日常のあらゆる側面がEmacsに支配されていて、他のソフトウェアなんて目にも入らねぇ。
今日は、どれだけ俺がこの深淵な世界に没頭しているか、そのレベルを見せてやるぜ。
俺の.emacs.dには、数十種類どころか、もう百を超える自作パッケージが眠ってる。
特に、自分で書いたLisp関数は、日々のタスクを自動化するために欠かせねぇ。
例えば、特定のフォルダ内のMarkdownファイルを自動でHTMLに変換してブラウザで表示するスクリプトを組んじまった。
これでブログを書くたびに手間いらずで、「C-c C-v」でプレビューできる快感は、もう中毒だぜ。
(defun my-markdown-to-html () "MarkdownファイルをHTMLに変換してブラウザで表示する関数" (interactive) (let ((markdown-file (read-file-name "Markdownファイルを選択: "))) (shell-command (format "pandoc %s -o %s.html" markdown-file (file-name-sans-extension markdown-file))) (browse-url (concat (file-name-sans-extension markdown-file) ".html"))))
この関数を使えば、Markdownファイルを選んで一発でHTMLに変換し、そのままブラウザで表示できる。これがなきゃブログなんて書けないぜ。
Org-modeは俺の人生そのものだ。TODOリストやスケジュール管理だけじゃなくて、プロジェクト管理や文書作成まで全てを一元化してる。
特に、カスタムキャプションやプロパティドロップダウンメニューを駆使して情報整理に命懸けてるんだ。
さらに、Org Babel使ってRやPythonのコードを直接実行しながらデータ分析なんて日常茶飯事だ。この機能のおかげで、データサイエンスもEmacs内で完結しちまうからたまんねぇよ。
自分専用にカスタマイズしたショートカットが数百種類もあるんだぜ。
「M-p」で過去のコミットメッセージを呼び出す機能なんか、Gitとの連携が一瞬でできるから開発効率が飛躍的に向上する。
さらに、Emacsにはマクロ機能があるから、自分の操作を記録して再生することもできる。
この前、自分専用のマクロを作って、特定のフォーマットでドキュメントを一瞬で整形することができた。
これで「お前は本当に人間なのか?」って言われてもおかしくないレベルだ。
Emacs Lispを書くことが俺の日常になってる。この前、自分だけのコード補完システムを構築したばかりだ。
この機能のおかげで、特定のキーワードを入力すると関連するコードスニペットが自動的に提案される仕組みになってるから、コーディング中に思考が途切れることなくスムーズに進行するぜ。
(defun my-auto-complete () "カーソル位置に基づいてコードスニペットを提案する" (interactive) (let ((input (thing-at-point 'symbol))) (if input (let ((completion-list '("myFunction" "myVariable" "myClass"))) (setq completion-list (cl-remove-if-not (lambda (item) (string-prefix-p input item)) completion-list)) (if completion-list (message "候補: %s" (string-join completion-list ", ")) (message "候補なし"))) (message "シンボルが見つかりません"))))
この関数ではカーソル位置からシンボルを取得し、それに基づいて候補を表示する。これがあればコーディング中も迷わず進められるぜ。
Emacsユーザーとして活動している中で、多くの仲間と出会った。
彼らとの情報交換や共同開発は刺激的で、新しいアイデアが次々と生まれてくる。この循環こそが俺の成長につながっていると実感しているんだ。
最近では、自分が開発したパッケージをGitHubで公開し、フィードバックを受け取ってさらなる改善点を見つけたりもしている。
このフィードバックループがあるからこそ、自分自身も進化し続けられるんだ。
今やEmacsは単なるツールじゃなくて、俺自身の一部になってる。
第3回 さくらインターネットのスタンダードプランの環境にnpmをインストールする
第2回が頓挫したので、その原因を取り除くためにnpmとやらをインストールする。
参考文献を元に進める。
まず新しいバージョンのOpenSSLをコンパイルするらしい。あと新しいバージョンを使うにはPythonも必要らしい。
openssl version OpenSSL 1.1.1k-freebsd 24 Aug 2021 python --version Python 3.8.12
いきなりnpm(⇔Node.js?)のコンパイルが行けそうな気がしたので、とりあえずやってみる。
参考にしたサイトにはOpenSSL云々に関することが書いてあるが、その辺は全部問題ないことを祈って、関連するオプションを全部取っ払う。
curl -sSf https://nodejs.org/dist/v20.11.0/node-v20.11.0.tar.gz -O tar zxf node-v20.11.0.tar.gz cd node-v20.11.0 ./configure
とすると、
Node.js configure: Found Python 3.8.12... WARNING: C++ compiler (CXX=g++, 9.4.0) too old, need g++ 10.1.0 or clang++ 8.0.0 WARNING: warnings were emitted in the configure phase INFO: configure completed successfully
「successfully」なら問題ないよな?
続いてmakeだ。makeってなに?もちろんconfigureもよくわかってない。大規模なプログラムをコンパイルするときに必要なヤツというボンヤリとした認識だ。
当然コンパイルがなんなのかもよくわかってない。
nohup make install DESTDIR=/home/*****/local PREFIX=
ここから30分経っても応答が無いので飽きる。
はい、もう無理。飽きた! 次回があるとしたら「npmをインストールする②」である。
もっと新しい情報があったようだ。こっち見てやればよかった。
って一体どういうこと?
ちなみに細かい事を言うと、語レベルの音の高低はイントネーションじゃなくてアクセント(高さアクセント)な。念の為。
いずれにせよ、主張と首長が発音(高低)ではっきりと区別できるということはないと思うぞ。
参考までに:
https://sakura-paris.org/dict/大辞林/prefix/首長
https://sakura-paris.org/dict/新明解国語辞典/prefix/首長
https://sakura-paris.org/dict/NHK日本語発音アクセント辞典/exact/首長
https://sakura-paris.org/dict/大辞林/prefix/主張
ネットに公開されている情報は、初心者には難しいと感じました。
Yamahaのサイトにconfigは公開されていますが、exciteMEC光だと、クリアする注釈が多すぎて。
"NVR500 では、tunnel endpoint address コマンドを使用して、AFTR の IPv6アドレスを指定してください。"
って書いてますが、exciteMEC光はAFTR公開してないぞ!ってなるので。
正解は[gw.transix.jp]のIPv6アドレスを指定する、で
"tunnel endpoint address 2404:8e01::feed:101"です。
以下、全文。
#
# transixのIPv4接続(DS-Lite)でインターネット接続
#
#
#
#
# ゲートウェイの設定
#
ip route default gateway tunnel 1
#
#
ip lan1 address 192.168.100.1/24
#
#
ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan2 dhcp service client ir=on
ipv6 lan2 secure filter in 1010 1011 1012
ipv6 lan2 secure filter out 3000 dynamic 100 101 102 103 104 105 118 119
#
# トンネルの設定
#
tunnel select 1
tunnel endpoint address 2404:8e01::feed:101
tunnel enable 1
#
# フィルターの設定
#
ipv6 filter 1010 pass * * icmp6 * *
ipv6 filter 1011 pass * * tcp * ident
ipv6 filter 1012 pass * * udp * 546
ipv6 filter 3000 pass * * * * *
ipv6 filter dynamic 100 * * ftp
ipv6 filter dynamic 101 * * domain
ipv6 filter dynamic 102 * * www
ipv6 filter dynamic 103 * * smtp
ipv6 filter dynamic 104 * * pop3
# ipv6 filter dynamic 105 * * submission
ipv6 filter dynamic 118 * * tcp
ipv6 filter dynamic 119 * * udp
#
# DHCPの設定
#
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
#
# DNSの設定
#
pyro - 火の hydro - 水の dendro - 樹の electro - 電気の cryo - 寒気の anemo - 風の geo - 土の
chrono - 時の
とかもそれか
あっ調べたらいっぱい出てきたわ
petro - 岩石の aero - 空気の photo - 光の thermo - 熱の hypno - 眠気の necro - 死の bio - 生命の toxico - 毒の sophio - 知識の psycho - 精神の helio - 日の astro - 星の neo - 新規の pseudo - 偽の xipho - 剣の
かなり使われてるんだなギリシャ語由来のやつ
興味深いのは、電気の意味だと思ってたし実際その意味で使われてる印象しかないelectroが
さらに調べると琥珀をこすると静電気が発生することから、電気の、という意味に変化してったというトリビアらしい
1へぇ
ちなみに、Gmail前提の話。
GASでGmailのonCreateDraft的なトリガーとかイベントがあれば楽だったんだけど、無かった。○uck!!
Googleコンタクトで敬称を設定できるんだけど、スマート作成とかスマートリプライとかで候補に出てくるかっていうと出てきたり出てこなかったりする。○uck!!
テンプレートで変数埋め込みとかもできないみたい。○uck!!厳密にはできるんだけど、結構workaroundな感じですぐ使えなくなりそうだし他人にお勧めできない。
てかそもそも、こんなことのためにわざわざGAS使うのがおかしい。
ここまでで1時間くらい使った。まあ勉強にはなったけどそんな回り道をした俺に○uck!!
とりあえず、あなたはコピペしてるってことなんで、それ前提でちょっとした効率化を考えてみた。
下準備が面倒だけど。
まず、Googleコンタクトで敬称・会社・役職などを設定する。
連絡先がたくさんあるなら、CSVでエクスポートしてExcelかスプシで開いて、「Name Suffix」(敬称)「Organization 1 - Name」(会社)「Organization 1 - Title」(役職)の列を一括変更してインポートするのが楽。ちなみに「Name Prefix」はSirとかMr.とか入れるところ。
これで下準備は終わり。
Gmailでメールを作成するときなど、宛先メールアドレスの脇にそのアイコンや名前が出てくる。
で、アイコンや名前にカーソルを合わせて1秒ほど待つと、↓みたいなポップアップが(Googleコンタクトに登録されていれば)敬称付きの名前・会社・役職と一緒に出てくる。
https://ferret-one.akamaized.net/images/623a863585ad34000174a1e6/large.png
Googleコンタクトに姓名をどっちも入れると「田中太郎様」ってなるので、そこは名を抜かすなど臨機応変に。
連絡先を全部変更する前に、1件だけ試しでやってみるのをオススメする。
Thunderbirdの方も、Googleコンタクトを同期させれば似たような使い方ができるかもしれない。
俺はThunderbirdまともに使ったことないので、有識者に指示を仰いでください。
今は、これが精一杯。
追記:
一回のコピペで済ませたいならGoogleコンタクトにメモって項目があるので、それでも良いかもしれない。
ただ、ポップアップを表示させた後「詳細表示を開く」ってボタンを押して出てきた右ペインを一番下までスクロールしないとメモが出てこないので、一長一短という感じ。
まああとは色々やってみてくれ。
俺の仕事の話。
俺にメールしてくるのはお客さんじゃないので、「この度はお世話になります。〇〇社△△部xxと申します」とか「お忙しい中大変恐縮ですが、何卒ご検討のほどよろしくお願い致します」とかかましてきやがったら「自動差し込みとかでない限りそういうのいらないんで。俺からは一切しません」って開口一番に言う。
そういう仕事をしてる。
2021年5月5日、MicrosoftのC# のコーディング規則 (C# プログラミング ガイド)に今まで明言されていなかったprivateなメンバ変数(field変数)への命名規則が記載された。
ちなみに同じMircrosoftが出してるStylecopやFxCopといった静的コード分析ツールの現在の仕様は「アンダーバーは付けるな」で、
おそらく.Netだけがアンダーバーを付けていたが、今後はそういったツールも.Netに合わせる流れになっていくと思われる。
private または internal フィールドに名前を付ける場合は、Camel 形式 ("camelCasing") を使用する必要があり、_ プレフィックスを付ける必要があります。
棒読みちゃんTipsにあるLimeChat用スクリプト「BouyomiLimeChat.js」を改造し、英語のテキストを読み上げないようにします。
参考 : 棒読みちゃん Tips
ここでは英語のテキストとは「半角英数字記号(=アスキー文字)のみで構成されたテキスト」とします。
40行目の「function talkChat(prefix, text) {」の次行に次のコードを挿入。
if (text.match(/^[\x20-\x7E]+$/)) return;
以上です。
同じような行を更に追加することで、読み上げないテキストの種類を増やせます。
text.match(/この部分/)を書き換えることで、好きなテキストを無視できます。"この部分"は正規表現で指定します。
if (text.match(/^[\x20-\x7E]+$/)) return;
if (text.match(/https?:/)) return;
棒読みちゃんTipsの「●スクリプトを利用する方法」はLimeChat2.40だとそのまま使えないようです。2.40向けに書き直したものを以下に記載します。
1.スクリプトファイルをダウンロードする こちらのスクリプトをダウンロードしてください。 ZIP形式ですので、展開してください。 2.ファイルを配置する LimeChatのメニューから「設定→スクリプトの設定」を開く。 「スクリプトフォルダを開く」ボタンを押す。 開いたフォルダに「BouyomiLimeChat.js」を置く。 3.LimeChat側でスクリプトを有効にする LimeChatのメニューから「設定→スクリプトの設定」を開く。 スクリプトの設定画面で、「BouyomiLimeChat.js」の行を右クリックし、○を付ける。 スクリプトの設定画面の閉じるボタンを押す。
http://h.hatena.ne.jp/Mukke/316607207759929868
このやり取りを見た感じでは本人に文句を言ってもダメそうなので自分で何とかするしかないですね
@-moz-document url-prefix("http://b.hatena.ne.jp/") { a[href="http://b.hatena.ne.jp/kiya2015/"] {display: none;} }
困ってる人多そうなのでStylish入れて上記で試してみてください
はてなスターって使い方によっては迷惑行為が可能なので、公式で任意のユーザーのスターを非表示にする方法を用意して欲しいですね
=======
はてブは便利だ。かれこれ使い続けて8年目になる。
それは2chをコピペしただけのデマまとめサイトがホットエントリとして頻繁に表示されてしまうことだ。
リンクをクリックしなければいいのだが、最近はタイトルだけで不快になるレベルのものも多い。
例えばここのところ、冷凍庫に入ったバイトをアップして炎上させる遊びがリア充の間で流行しているが、
「ハム速」というサイトはこういったものを毎回取り上げて、嫌でも目に付くタイトルで他人の個人情報を晒している。
しかし、はてなの運営はいつまで経っても非表示サイト機能を用意してくれないし、
こういったクソサイトを未だにブクマしてホッテントリ入りに貢献するはてなユーザーはあとを絶たない。
これらを弾くユーザースクリプトやユーザーCSSを書いてくれた人もいない。
仕方ないので、自分でまとめブログなどを除外するユーザーCSSを書いてみたら、恐ろしく快適になった。
とても便利なのでぜひ同志のはてブァーたちに使って欲しいのだが、
どこに公開していいか分からないので、とりあえず増田に投下してみることにした。
/* はてなブックマークから見たくないサイトを抹消&シンプルな表示で快適にするユーザースタイルシート */ /* V1.16 2016/5/1 22:25更新 政経ワロスまとめニュース♪を追加 */ /* V1.15 2016/3/16 11:25更新 診断メーカーを追加 */ /* V1.14 2015/6/2 17:51更新 やらおん! の独自ドメインを追加 */ /* V1.13 2014/2/13 14:42更新 大艦巨砲主義! を追加 */ /* V1.12 2014/2/13 10:27更新 保守速報の JP ドメインを追加 */ /* V1.11 2014/2/10 17:34更新 キムチ速報、ネトウヨ速報、ネトウヨにゅーす、はぅわ!、あじあにゅーす2ちゃんねるの独自ドメインを追加 */ /* V1.10 2014/1/28 19:32更新 使えるニュース-2ch を追加、はてブの仕様変更により新着エントリのサムネイルが表示されなくなっていたのを修正 */ /* V1.09 2013/12/09 17:46更新 売国速報(^ω^)を追加 */ /* V1.08 2013/12/08 13:02更新 ば韓国いい加減にしろ速報を追加 */ /* V1.07 2013/8/19 02:11更新 2ちゃん的韓国ニュースを追加 */ /* V1.06 2013/8/16 12:36更新 あじあにゅーす2ちゃんねる、笑韓ブログを追加 */ /* V1.05 2013/8/16 09:57更新 検索結果のエントリ詳細をサイトに関係なく消した。そこが気に入らなければ「, div.entryinfo」という文字列を削除 */ /* V1.04 2013/8/16 09:46更新 政経chを追加 */ /* V1.03 2013/8/15 20:34更新 秒刊SUNDAYを追加 */ /* V1.02 2013/8/15 16:55更新 U-1速報のURL間違いを修正 */ /* V1.01 2013/8/15 15:49更新 やらおん!を入れ忘れるという致命的なミスを犯したので修正 */ /* はてブ全体に適用 */ @-moz-document url-prefix("http://b.hatena.ne.jp/") { /* ブロックしたいサイトのリンクを非表示 */ A[HREF*="j-cast.com"], A[HREF*="j-cast.com"] ~ cite, A[HREF*="getnews.jp"], A[HREF*="getnews.jp"] ~ cite, A[HREF*="yukawanet.com"], A[HREF*="yukawanet.com"] ~ cite, A[HREF*="0taku.livedoor.biz"], A[HREF*="0taku.livedoor.biz"] ~ cite, A[HREF*="hamusoku.com"], A[HREF*="hamusoku.com"] ~ cite, A[HREF*="alfalfa.com"], A[HREF*="alfalfa.com"] ~ cite, A[HREF*="hoshusokuhou.com"], A[HREF*="hoshusokuhou.com"] ~ cite, A[HREF*="hosyusokuhou.jp"], A[HREF*="hosyusokuhou.jp"] ~ cite, A[HREF*="wara2ch.com"], A[HREF*="wara2ch.com"] ~ cite, A[HREF*="fxya.blog129.fc2.com"], A[HREF*="fxya.blog129.fc2.com"] ~ cite, A[HREF*="asianews2ch.livedoor.biz"], A[HREF*="asianews2ch.livedoor.biz"] ~ cite, A[HREF*="jin115.com"], A[HREF*="jin115.com"] ~ cite, A[HREF*="esuteru.com"], A[HREF*="esuteru.com"] ~ cite, A[HREF*="yaraon.blog109.fc2.com"], A[HREF*="yaraon.blog109.fc2.com"] ~ cite, A[HREF*="yaraon-blog.com"], A[HREF*="yaraon-blog.com"] ~ cite, A[HREF*="kanasoku.info"], A[HREF*="kanasoku.info"] ~ cite, A[HREF*="u1sokuhou.ldblog.jp"], A[HREF*="u1sokuhou.ldblog.jp"] ~ cite, A[HREF*="newskorea"], A[HREF*="newskorea"] ~ cite, A[HREF*="news-us.jp"], A[HREF*="news-us.jp"] ~ cite, A[HREF*="tokuteishimasuta.com"], A[HREF*="tokuteishimasuta.com"] ~ cite, A[HREF*="dqnplus"], A[HREF*="dqnplus"] ~ cite, A[HREF*="bakankokunews.blog.fc2.com"], A[HREF*="bakankokunews.blog.fc2.com"] ~ cite, A[HREF*="treasonnews.doorblog.jp"], A[HREF*="treasonnews.doorblog.jp"] ~ cite, A[HREF*="now2chblog.blog55.fc2.com"], A[HREF*="now2chblog.blog55.fc2.com"] ~ cite, A[HREF*="kimsoku.com"], A[HREF*="kimsoku.com"] ~ cite, A[HREF*="uyosoku.com"], A[HREF*="uyosoku.com"] ~ cite, A[HREF*="netouyonews.net"], A[HREF*="netouyonews.net"] ~ cite, A[HREF*="asia-news.jp"], A[HREF*="asia-news.jp"] ~ cite, A[HREF*="rakukan"], A[HREF*="rakukan"] ~ cite, A[HREF*="nico3q3q"], A[HREF*="nico3q3q"] ~ cite, A[HREF*="military38"], A[HREF*="military38"] ~ cite, A[HREF*="shindanmaker.com"], A[HREF*="shindanmaker.com"] ~ cite, A[HREF*="seikeidouga.blog.jp"], A[HREF*="seikeidouga.blog.jp"] ~ cite, /* ブロックしたいサイトのファビコンを非表示 */ IMG[SRC*="j-cast.com"], IMG[SRC*="getnews.jp"], IMG[SRC*="yukawanet.com"], IMG[SRC*="0taku.livedoor.biz"], IMG[SRC*="hamusoku.com"], IMG[SRC*="alfalfa.com"], IMG[SRC*="hoshusokuhou.com"], IMG[SRC*="hosyusokuhou.jp"], IMG[SRC*="wara2ch.com"], IMG[SRC*="fxya.blog129.fc2.com"], IMG[SRC*="asianews2ch.livedoor.biz"], IMG[SRC*="jin115.com"], IMG[SRC*="esuteru.com"], IMG[SRC*="yaraon.blog109.fc2.com"], IMG[SRC*="yaraon-blog.com"], IMG[SRC*="kanasoku.info"], IMG[SRC*="u1sokuhou.ldblog.jp"], IMG[SRC*="newskorea"], IMG[SRC*="news-us.jp"], IMG[SRC*="tokuteishimasuta.com"], IMG[SRC*="dqnplus"], IMG[SRC*="bakankokunews.blog.fc2.com"], IMG[SRC*="treasonnews.doorblog.jp"], IMG[SRC*="now2chblog.blog55.fc2.com"], IMG[SRC*="kimsoku.com"], IMG[SRC*="uyosoku.com"], IMG[SRC*="netouyonews.net"], IMG[SRC*="asia-news.jp"], IMG[SRC*="rakukan"], IMG[SRC*="nico3q3q"], IMG[SRC*="military38"], IMG[SRC*="shindanmaker.com"], IMG[SRC*="seikeidouga.blog.jp"], /* トップページのエントリ詳細、メタ情報、タグ一覧、検索結果のエントリ詳細を非表示 */ li.description blockquote, ul.entry-meta li.tag, div.entryinfo { display: none !important; } } /* ------------------------------------------- */ /* 新ユーザーページ (インタレスト、マイホットエントリー他) に適用 */ @-moz-document url-prefix("http://b.hatena.ne.jp/(はてなユーザー名)/interest"), url-prefix("http://b.hatena.ne.jp/(はてなユーザー名)/favorite"), url("http://b.hatena.ne.jp/(はてなユーザー名)/") { /* エントリ詳細を非表示 */ .entry-summary, .detail { display: none !important; } /* エントリ詳細をなくした分、サムネイルやカラムを小さく */ .entry-feature-image a.capture img { max-width: 60px !important; } .main-entry-list .entry-block.entry-feature-image { min-height: 32px !important; padding-left: 80px !important; } .entry-feature-image .entry-image-block, .entry-feature-image a.capture { width: 60px !important; max-height: 50px !important; } /* お気に入りユーザーのエントリ一覧を非表示に */ .main-entry-list .entry-comment .entry-comment-fold { display: none !important; } }
設定内容はいずれも同じで、こんな感じにする。
/* はてブ全体に適用 */ /* ブロックしたいサイトのリンクを非表示 */ A[HREF*="j-cast.com"], A[HREF*="j-cast.com"] ~ cite, A[HREF*="getnews.jp"], A[HREF*="getnews.jp"] ~ cite, A[HREF*="yukawanet.com"], A[HREF*="yukawanet.com"] ~ cite, A[HREF*="0taku.livedoor.biz"], A[HREF*="0taku.livedoor.biz"] ~ cite, A[HREF*="hamusoku.com"], A[HREF*="hamusoku.com"] ~ cite, A[HREF*="alfalfa.com"], A[HREF*="alfalfa.com"] ~ cite, A[HREF*="hoshusokuhou.com"], A[HREF*="hoshusokuhou.com"] ~ cite, A[HREF*="hosyusokuhou.jp"], A[HREF*="hosyusokuhou.jp"] ~ cite, A[HREF*="wara2ch.com"], A[HREF*="wara2ch.com"] ~ cite, A[HREF*="fxya.blog129.fc2.com"], A[HREF*="fxya.blog129.fc2.com"] ~ cite, A[HREF*="asianews2ch.livedoor.biz"], A[HREF*="asianews2ch.livedoor.biz"] ~ cite, A[HREF*="jin115.com"], A[HREF*="jin115.com"] ~ cite, A[HREF*="esuteru.com"], A[HREF*="esuteru.com"] ~ cite, A[HREF*="yaraon.blog109.fc2.com"], A[HREF*="yaraon.blog109.fc2.com"] ~ cite, A[HREF*="yaraon-blog.com"], A[HREF*="yaraon-blog.com"] ~ cite, A[HREF*="kanasoku.info"], A[HREF*="kanasoku.info"] ~ cite, A[HREF*="u1sokuhou.ldblog.jp"], A[HREF*="u1sokuhou.ldblog.jp"] ~ cite, A[HREF*="newskorea"], A[HREF*="newskorea"] ~ cite, A[HREF*="news-us.jp"], A[HREF*="news-us.jp"] ~ cite, A[HREF*="tokuteishimasuta.com"], A[HREF*="tokuteishimasuta.com"] ~ cite, A[HREF*="dqnplus"], A[HREF*="dqnplus"] ~ cite, A[HREF*="bakankokunews.blog.fc2.com"], A[HREF*="bakankokunews.blog.fc2.com"] ~ cite, A[HREF*="treasonnews.doorblog.jp"], A[HREF*="treasonnews.doorblog.jp"] ~ cite, A[HREF*="now2chblog.blog55.fc2.com"], A[HREF*="now2chblog.blog55.fc2.com"] ~ cite, A[HREF*="kimsoku.com"], A[HREF*="kimsoku.com"] ~ cite, A[HREF*="uyosoku.com"], A[HREF*="uyosoku.com"] ~ cite, A[HREF*="netouyonews.net"], A[HREF*="netouyonews.net"] ~ cite, A[HREF*="asia-news.jp"], A[HREF*="asia-news.jp"] ~ cite, A[HREF*="rakukan"], A[HREF*="rakukan"] ~ cite, A[HREF*="nico3q3q"], A[HREF*="nico3q3q"] ~ cite, A[HREF*="military38"], A[HREF*="military38"] ~ cite, A[HREF*="shindanmaker.com"], A[HREF*="shindanmaker.com"] ~ cite, /* ブロックしたいサイトのファビコンを非表示 */ IMG[SRC*="j-cast.com"], IMG[SRC*="getnews.jp"], IMG[SRC*="yukawanet.com"], IMG[SRC*="0taku.livedoor.biz"], IMG[SRC*="hamusoku.com"], IMG[SRC*="alfalfa.com"], IMG[SRC*="hoshusokuhou.com"], IMG[SRC*="hosyusokuhou.jp"], IMG[SRC*="wara2ch.com"], IMG[SRC*="fxya.blog129.fc2.com"], IMG[SRC*="asianews2ch.livedoor.biz"], IMG[SRC*="jin115.com"], IMG[SRC*="esuteru.com"], IMG[SRC*="yaraon.blog109.fc2.com"], IMG[SRC*="yaraon-blog.com"], IMG[SRC*="kanasoku.info"], IMG[SRC*="u1sokuhou.ldblog.jp"], IMG[SRC*="newskorea"], IMG[SRC*="news-us.jp"], IMG[SRC*="tokuteishimasuta.com"], IMG[SRC*="dqnplus"], IMG[SRC*="bakankokunews.blog.fc2.com"], IMG[SRC*="treasonnews.doorblog.jp"], IMG[SRC*="now2chblog.blog55.fc2.com"], IMG[SRC*="kimsoku.com"], IMG[SRC*="uyosoku.com"], IMG[SRC*="netouyonews.net"], IMG[SRC*="asia-news.jp"], IMG[SRC*="rakukan"], IMG[SRC*="nico3q3q"], IMG[SRC*="military38"], IMG[SRC*="shindanmaker.com"], /* トップページのエントリ詳細、メタ情報、タグ一覧、検索結果のエントリ詳細を非表示 */ li.description blockquote, ul.entry-meta li.tag, div.entryinfo { display: none !important; }
/* 新ユーザーページ内 (インタレスト、マイホットエントリー他) に適用 */ /* エントリ詳細を非表示 */ .entry-summary, .detail { display: none !important; } /* エントリ詳細をなくした分、サムネイルやカラムを小さく */ .entry-feature-image a.capture img { max-width: 60px !important; } .main-entry-list .entry-block.entry-feature-image { min-height: 32px !important; padding-left: 80px !important; } .entry-feature-image .entry-image-block, .entry-feature-image a.capture { width: 60px !important; max-height: 50px !important; } /* お気に入りユーザーのエントリ一覧を非表示に */ .main-entry-list .entry-comment .entry-comment-fold { display: none !important; }
使い方が分からなければブコメかトラックバックで言ってくれたら補足するかも
字数がオーバーしていたことに気づいたので http://anond.hatelabo.jp/20140421135649 に続きます。
最近はやりのLOD(Linked Open Data)のデータフォーマットについてメモ。
例はWikipediaのコピペ。もっと違いが分かりやすい例があると良いのだが。
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://en.wikipedia.org/wiki/Tony_Benn"> <dc:title>Tony Benn</dc:title> <dc:publisher>Wikipedia</dc:publisher> </rdf:Description> </rdf:RDF>
@prefix dc: <http://purl.org/dc/elements/1.1/>. <http://en.wikipedia.org/wiki/Tony_Benn> dc:title "Tony Benn"; dc:publisher "Wikipedia".
@prefix dc: <http://purl.org/dc/elements/1.1/>. <http://en.wikipedia.org/wiki/Tony_Benn> dc:title "Tony Benn"; dc:publisher "Wikipedia".
<http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/title> "Tony Benn". <http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/publisher> "Wikipedia".
<http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/title> "Tony Benn" <http://en.wikipedia.org/wiki/Tony_Benn>. <http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/publisher> "Wikipedia" <http://en.wikipedia.org/wiki/Tony_Benn>.
{
"@context":
{
"dc": "http://purl.org/dc/elements/1.1/"
},
"@id": "http://en.wikipedia.org/wiki/Tony_Benn",
"dc:title": "Tony Benn",
"dc:publisher": "Wikipedia"
}
http://anond.hatelabo.jp/20130108203837
あまりに使いにくいから FirefoxアドオンStylish用ユーザーCSS
@-moz-document url-prefix("http://b.hatena.ne.jp/"){
.ad-head-text{display:none!important;}
.ad-unit{display:none!important;}
.thumbnail{display:none!important;}
.entry-data{display:none!important;}
.entry-contents blockquote{display:none!important;}
.shim-elem-for-height{display:none!important;}
.entry-meta{display:none!important;}
.entry-comment{display:none!important;}
.entry-unit{width:100%!important;margin:0!important;}
.entry-vertical-3,.entry-vertical-4{background:none!important;}
.entry-contents{padding:0!important;}
ul.users{height:22px!important;border-top:1px solid!important;}
.users span{font-size:12px!important;font-weight:bold!important;}
}
他のブラウザのは誰か書いてくれるだろう