after:2006/03/31 before:2006/04/1 ※世界標準時。日本の日付とズレる。
after:2006/03/31 before:2006/04/1 ※世界標準時。日本の日付とズレる。
パーソナライゼーションやアルゴリズムの進化で検索者の考えていることを勝手にある程度予想して答えを出してくれるようになってきたGoogle、一昔前のGoogleと比べてもローカル検索からGoogle Nowまで超絶な進化を遂げています。検索時のちょっとしたテクニック的な技は進化するGoogleの前にその必要性も失われつつありますが、特定用途の検索をしたい時にはまだまだ使えるテクニックも多数存在します。今回は改めて代表的な検索演算子をまとめた記事を紹介します。とりあえずこれだけ覚えておけば、あなたも一端の検索マスターは名乗れるかも。 — SEO Japan グーグルは、全力で検索を改善する取り組みを行っている。あまりにも見事であるため、一般のユーザーが、この点に気づいているようには思えない。パーソナイゼーション、ローカリゼーション、そして、カスタマイゼーションを次々に導入し、その一方で、一般の
Twitterでつぶやかれている内容を検索する時に、演算子(パラメータ)なるものが用意されています。 この演算子を知る事で、Tiwtterのツイートをより早く検索する事が出来るようになります。 今回は、Twitterで用意されている演算子を、検索例とともに紹介していこうと思います。 Twitterの検索演算子(パラメータ)のまとめlang:ja「lang:ja」と検索すると、日本語のツイートだけを表示する事が可能です。他の言語のツイートが紛れ込んでいる時には、lang:という演算子を利用してみてください。 例えば、iPhoneは様々な国で使用されているので、日本でのツイートだけ検索したければ、「iPhone lang:ja」といった感じです。 なお、lang:jaの部分を変更すると、他の言語に絞って検索する事も出来ます。 lang:en→英語lang:ko→韓国語lang:zh→中国語la
by Descrier 2018年12月時点で、Googleは検索エンジンのシェアを92.25%も握っていて、世界最大手の検索エンジンであることは誰もが認めるところ。そんなGoogleで何かを検索する際に、使うと便利な「検索演算子」と呼ばれる文字列や記号が存在します。検索演算子を覚えておくと、検索の効率が劇的にアップするため、何かとお役立ちです。 Google Search Operators: The Complete List (42 Advanced Operators) https://ahrefs.com/blog/google-advanced-search-operators/#find-odd-files ◆“~~” 複数の単語をダブル引用符でくくることで、完全一致検索を強制することができます。例えば「Steve Jobs」で検索するよりも「“Steve Jobs”」で検索
JavaScriptのモダンな書き方 - ES2020のオプショナルチェーン、null合体演算子、動的import、globalThis等を解説 JavaScriptの仕様であるECMAScriptは年次で仕様が更新されています。ECMAScript 2020(ES2020)は2020年6月にリリースとなりました。現行のすべてのブラウザでES2020の機能は利用できますが、フロントエンドエンジニアにとって使いこなしたい記法ばかりです。 本記事ではES2020に焦点をあて、JavaScriptの新しい記述方法のメリットと使いどころを解説します。 オプショナルチェーン Optional Chaining(オプショナルチェーンやオプショナルチェーニングと呼ばれています)とは、?.構文を用いてnullやundefinedになりうる値へ安全にアクセスできる仕組みです。 利用シーン nullやunde
The domain web-sun.com is for sale. The domain name (without content) is available for sale by its owner through Sedo's Domain Marketplace. Any offer you submit is binding for 7 days. All quoted prices are final prices. The domain web-sun.com is for sale. Make an offer on this domain You are not the highest bidder!
(You can read this article in English.) Ruby の開発版にパイプライン演算子(pipeline operator)が試験的に導入されましたが、いろいろあってプチ炎上になっています(チケット)。 せっかくの機会なので、パイプライン演算子の歴史を調べてみました。付け焼き刃の調査なので、間違ってたら教えてください。 パイプライン演算子とは こんな感じのものです。 x |> f |> g |> h # h(g(f(x))) と同じ意味 h(g(f(x))) という関数適用の式は、関数が呼ばれる順序(f→g→h)と、プログラムの字面上の順序(h→g→f)が逆でわかりにくいとされます。この問題は、特に、関数が大きくなったときに顕著になります。 wonderful_process_h( marvelous_process_g( fantastic_process
Perlの食えない事情 より おっと、そうです、Perlには演算子が多すぎるのでした。せっかくの機会なので、Perlの演算子を紹介します。 ビーナス演算子: 0+, +0 数値として評価してくれます。意外とよく見かけますね。 なぜこの演算子を使う必要があるのかというと、Perlは文字列と数値を明確に区別できないからです。scalarを文字列として解釈するならば文字列として、 print 0+ '10'; #=> 10 print 0+ '123b'; #=> 123 print '1.2e3' +0; #=> 1200 print [] +0; #=> 4303367864 ちなみに、文字列として評価するときにはこのようにするとかっこいいと言われています。 $obj.q(); 一見メソッド呼び出しのように見えますが $obj . ''; と等価です。 ベビーカー演算子: @{[ ]} 文字
デスク配線がスッキリ。Ankerの全部入り12 in 1モニタースタンドが突然8,250円OFFされてた #Amazonセール
検索演算子と呼ばれる単語や記号を使用して、Gmail の検索結果を絞り込むことができます。また、複数の演算子を組み合わせて検索結果をさらに絞り込むこともできます。 検索演算子を使用する Gmail にアクセスします。 検索ボックスに検索演算子を入力します。 ヒント: 検索演算子を使用して検索を行った後に、その検索結果を使用して、メールに適用するフィルタを設定することができます。 クエリの一部に数字を使用する場合は、スペースまたはハイフン(-)で数字を分割できます。ピリオド(.)は小数点を表します。たとえば、「01.2047-100」は「01.2047」と「100」の 2 つの数字とみなされます。 説明 検索演算子
概要 C++17ではbool型に対する前置および後置のoperator ++を削除する。 bool型に対する前置および後置のoperator ++とはC++98の時点で非推奨になっていた機能である。 具体的にどのような働きをするのかというと、以下のように値をtrueに書き換える機能をもつ。 #include <iostream> int main() { bool b = false; const bool b1 = ++b; std::cout << std::boolalpha << b1 << std::endl; // => true const bool b2 = ++b; std::cout << std::boolalpha << b2 << std::endl; // => true }
結果は順にtrue、true、falseです。 これがPHP7までの非厳密な比較(等価)演算子だったわけですが、まあおかしいよねってことで、この挙動がPHP8.0で変更になることになりました。 よもや今さら基本中の基本である比較演算子の動作を弄ってくるとは思わなかったぞ。 以下はSaner string to number comparisonsの日本語訳です。 PHP RFC: Saner string to number comparisons Introduction ==やその他の非厳密な比較演算子を用いた文字列と数値の比較は、現在は、文字列を数値にキャストし、その後整数か浮動小数の比較を行っています。 この結果、多数の不可解な結果が得られますが、中でも注目すべきは0 == "foobar"がtrueになることです。 このRFCでは、文字列が実際に数値型文字列である場合にのみ数値型
「演算子のインジェクション」と「SSJI」:NoSQLを使うなら知っておきたいセキュリティの話(1)(1/2 ページ) ここ数年、大量データ処理時の高速性やデータ構造の柔軟性などから、「NoSQL」が注目を集めています。それと同時に、NoSQLを使うアプリケーションに対する攻撃手法も研究されるようになりました。この記事では、NoSQLを使ったアプリケーションの脆弱性と対策について解説します。 注目集める「NoSQL」 ここ数年、NoSQLと呼ばれる種類のデータベースが注目を集めています。NoSQLはSQL言語を使用しないデータベースの総称で、大量データ処理時の高速性やデータ構造の柔軟性などのメリットがあるため、従来のリレーショナルデータベース(RDB)を補完・代替するものとして、大規模なWebアプリケーションなどにおいてNoSQLを採用する事例が増えています。 このような新しい技術が普及し
Kanasan.JS JavaScript 第 5 版読書会 #1 にて delete 演算子の動作が話題に上ったそうです。そこで、それについてちょっとまとめてみようかと思い立ったはいいものの、ずるずると引き伸ばしているうちに年を越してしました。しかし、読書会 #2 の開催も決まり、もうこれ以上引き伸ばしているといつまでたっても書けなさそうなので、いい加減腹をくくって個人的にまとめてみようと思います。 JavaScript の変数 delete 演算子の対象 変数に対する delete 演算子 削除できるプロパティとできないプロパティ 変数の属性 delete 演算子の返り値 JavaScript の変数 delete 演算子の話に移る前に、変数とは何なのかおさらいしておきましょう。JavaScript において、変数とはプロパティの別名です。といっても、すべてのプロパティを変数というわけ
var a = {}, b = [], c = 'hoge', d = new String('hoge'); typeof a; // "object" typeof b; // "object" ← ファッ?! typeof c; // "string" typeof d; // "object" ← ファッ?! Object と Array を区別してくれないとかないわー。new String()使うことないけど、区別しちゃうとかないわー。 ということで以前に自分が日本語訳したJavaScript Gardenにも書いてあった方法を使うと 判別が楽になるんじゃないかと。 function is(type, obj) { var clas = Object.prototype.toString.call(obj).slice(8, -1); return obj !== undefin
JavaScript における new 演算子の動作は大まかにいって以下のとおりである。(new F() とした場合。) 新しいオブジェクトを作る。 1 で作ったオブジェクトの [[Prototype]] 内部プロパティ (__proto__ プロパティ) に F.prototype の値を設定する。 F.prototype の値がオブジェクトでないのなら代わりに Object.prototype の値を設定する。 F を呼び出す。このとき this の値は 1 で作ったオブジェクトとし、引数には new 演算子とともに使われた引数をそのまま用いる。 3 の返り値がオブジェクトならそれを返す。そうでなければ 1 で作ったオブジェクトを返す。 ここで「オブジェクトである」というのはプリミティブ値 (文字列、数値、真偽値、undefined 、null) ではないということだ。new Stri
Google 検索に様々な検索演算子(オペレーター)があるように、Twitter検索にも多くの演算子が用意されています。 あまり知られていないかもしれないので、ここで簡単に紹介しておきます。これらのオペレーターを使いこなすことで、もっと効率的に世界の今を知ることができるかもしれません。(これらはTwitterのサイドバーにある検索窓からでも利用できるものです。) 1. OR 検索 2個以上の単語のうちいずれかを含むつぶやきを検索したいときは「OR」を使います。たとえば「インフルエンザ」または「タミフル」を含むつぶやきを検索したいときは、 インフルエンザ OR タミフル と検索します。 2. フレーズ検索 ウェブの検索エンジンと同じように、2個以上の単語をダブルクォーテーションで括ると、それらの単語が語順を含めそのフレーズのまま現れるつぶやきを検索できます。たとえば "listening t
ただし、種別は以下の通りです。 prefix (前置演算子) …… もとの式の手前に何個でもつけられる演算子。 例: -~-~x postfix (後置演算子) …… もとの式の直後に何個でもつけられる演算子。 例: x.foo()`bar`[0] postfix once …… もとの式の直後に1個だけつけられる演算子。 例: x++ は可能だが x++-- はパースされない。 逆に ++--x はパースされるが、構文とは別のルールで禁止される。 (後述) infixL …… 中置演算子で左結合 (演算子の優先度が同じ場合は左側にあるほうが優先される) 例: 0.1 + 1.0 - 1.0 は (0.1 + 1.0) - 1.0 になる infixR …… 中置演算子で左結合 (演算子の優先度が同じ場合は右側にあるほうが優先される) 例: 2 ** 2 ** 3 は 2 ** (2 **
これを待ち望んでいた人も多いと思います。 ついに、メディアクエリで比較演算子(>=, <=)を使用できるようになります! 幅が400px以上の場合、@media (min-width: 400px){}と定義していましたが、@media (width >= 400px){}と記述できます。 比較演算子だと、400pxを含む「以上」というのも分かりやすいですね。 New syntax for range media queries in Chrome 104 by Rachel Andrew 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様のライセンスに基づいて翻訳しています。 Chrome 104 メディアクエリの範囲指定の新しい構文 メディアクエリの範囲指定で、比較演算子を使用できる Chrome 104 メディアクエリの範囲指定の新しい構文 メディアクエリはレ
条件演算子とは? 条件演算子とは、よく見るアレのことである。 bool b = true; string s = b ? "真" : "偽" ; // ここで出てくる ? と : が条件演算子 // ? の左が真であれば : の左を返し、 // ? の左が偽であれば : の右を返す。 // この場合 b が true なので (b ? "真" : "偽") は "真" を返す 右結合と左結合 んで、右結合、左結合というのは、同じ優先度の演算子が並んだ場合、それを右からまとめていくか左からまとめていくかと言うルールの話である。 // 左結合の例 int sub = 10 - a - b - c; // 左結合なので、以下の順番で解釈される // int sub = (((10 - a) - b) - c); // 右結合の例 x = y = z = 10; // 右結合なので、以下の順番で解
プログラマが気を付けることの1つは条件式に記述するときの演算子ですよね。&& じゃなくて || って書いてしまった。とか <= にすべきところを < だけにしちゃったとか。 法律の条文にも私がぶち当たった演算子があります。それが"または"です。 "または" って本当にORですか?何言ってんだ?当たり前やろ!と思うかもしれません。 結論から言うと法律の"または"(又は) はあなたが想像する"OR"じゃないんです… 私は最初のころよくわかっていませんでした。先生に聞いても質問の意図が分かってもらえなかったし、Google先生に聞くとそのものズバリな回答もあったのですが、なんだかモヤモヤした結論でした。 法律の条文で"または"が出てきたらそれはXORです。もうこれが今回の記事のすべてなんでここで終わってもいいんですがちょっと説明します。 ORは一般的に論理和と呼ばれ、XORは排他的論理和と呼ばれ
$user = null; echo $user->address->country ?? ''; PHPのプロパティは元よりnull安全なので、存在しないプロパティだろうがnullだろうがプリミティブ型だろうがいきなりプロパティを取り出せます。 取れない場合はE_NOTICEが発生しますが、??を使えば黙殺できます。 しかしメソッドはだめです。 echo $user->getAddress()->getCountry() ?? ''; // Fatal error: Call to a member function getAddress() // 1 if (method_exists($user, 'getAddress')) { if (method_exists($user->getAddress(), 'getCountry')) { echo $user->getAddres
何度か書いているけど、整理的な意味で。今後は「このエントリ参照」にするつもりで書いてみる。 文字列連結から見るシステム内で扱う型について - 日々常々 Javaプログラマであるかを見分ける10の質問 に答えてみる - 日々常々 String の連結ネタの続き - 日々常々 前書き Stringなんてboxed primitive*1でもないただのクラスのくせに、中途半端に贔屓されて*2てムカつく*3し、その中途半端ぶり*4がなお腹立たしい……。そして +演算子 で連結して問題が起こるような状況、つまりそんな長々と文字列連結したいような場合は、きっと他の適した型がある。StringBuilderじゃなく、もっと別の何か。業務要件で文字列を組み立てる目的を考えれば、たぶんテンプレート的なものに落ち着くんじゃ無かろうか。ライブラリ的な所でなら逐次書き出し等になるような。どちらにせよ文字列の組み立
C・C++・Java・Perl などのプログラミング言語では、条件演算子として三項演算子?:が用意されている。条件演算子の書き方として、以下のような説明がされることが多い。 condition ? true-expression : false-expression この説明は、以下のプログラムと同じ程度、間違っている。 #include <stdio.h> main( ){printf ("hel" "lo, world\n" );} 条件演算子は、正しくは以下のように書く。 condition ? true-expression : false-expression 使い方の例を示す。 compare = obj1 == null ? obj2 == null ? 0 : -1 : obj2 == null ? 1 : obj1.toString().compareTo(obj2.to
Goには「なぜ三項演算子がないの?」という意見を時々見かけます。言語開発側の意見と僕の見解をまとめていきますー。 FAQ その回答はGoのFAQに明瞭に書かれています。 Goに?:演算子がないのはなぜですか? Goには3項テスト操作がありません。 同じ結果を得るには、次を使用できます。 Goに?:がない理由は、言語の設計者が、操作が頻繁に使用されて不可解な複雑な式を作成するのを見ていたためです。 if-else形式は、長くなりますが、間違いなく明確です。 言語に必要な条件制御フロー構造は1つだけです。 ネストを許す GoもPythonもif-elseが文であり、式として扱えない方針を採りました。式として扱えないということは、一定の構文でのみ記述が可能ということです。三項演算子はその性質上式として扱えることになります。 式として扱える場合なにが書けるようになるのかというと、各項や条件に式が書
前回、おとうさんにもわかるYコンビネータ!(絵解き解説編) - よくわかりませんというエントリで、Yコンビネータ(不動点演算子)と再帰の絵解き解説をしました。 Yコンビネータ自身は、結局のところ再帰を産み出してくれるだけです。関数(正確にはλという単純な文字列変換ルール)だけで出来て、プログラミングに関するいろんな原理の研究を可能にするのが凄い訳です。その辺のさわりを、きしださんが解説されています。しかし、単なる再帰なら、実際のプログラミングではYコンビネータなんて使わなくても出来ます。 じゃあ、Yコンビネータとか不動点とかは、偉い学者さんとかが研究に使えばいいもので、普通のプログラマには何の意味もないモノなのでしょうか? というわけで、今回はポジティブに、Yコンビネータや不動点で出てくる考え方を、理論だけじゃなく、実際のプログラミングに応用する例を見てみましょう。 今回、プログラムの例を
Googleアラート使ってますか?今はニュースアプリがあるので、Googleアラート自体を知らないって人も多そうですね。ただ、ニュースアプリの情報は必ずしも最新というわけではありません。ましてや、自分が欲しい情報以外にもコンテンツを受け取らないといけないので、情報収集の効率は高いとは言えません。 そこで登場するのが、今回ご紹介するGoogleアラートです。Googleアラートなら、一度キーワードを登録するだけで、自動で自分が欲しい情報を収集してくれます。Googleアラートの設定と使い方を、ちょっとだけ工夫するだけで、もはや検索すら不要になります。今回はそんなGoogleアラートの便利な使い方をサクッと解説したいと思います。 そもそもGoogleアラートって何? Googleアラートの基本的な使い方 頻度 その都度 1日1回以下 週1回以下 ソース 言語と地域 件数 配信先 ワンポイント!
findコマンドは、-type f や -name ‘hoge’ などの様々な条件を使うことが出来ますが 加えて AND や OR や NOT の論理演算子も使うことができます 今までテキトーに使ってたので復習しました AND文は評価式を -and または -a で結合します まず、動作確認用に以下のようにファイルを配置します $ tree . |-- dark-chaos |-- dark-neutral |-- dark-row |-- light-chaos |-- light-neutral |-- light-row |-- neutral-chaos |-- neutral-neutral `-- neutral-row 動作確認してみましょう $ find . -name '*light*' -and -name '*row*' ./light-row ファイル名に ‘lig
MySQLの演算子や関数について説明します。 なお、個人的に必要無いと思うものについては省略しています(笑)。 MySQL5.0.16対応 最初に MySQLでは、数値⇔文字列の変換は自動的に行われます。 SELECT 100 + '200' -> 300 SELECT 100 < '200' -> 1 (TRUE) SELECT 100 < '22' -> 0 (FALSE) 比較演算子 比較演算の結果は、1(TRUE) / 0(FALSE) / NULL のいずれかになります。 例を挙げます。 SELECT 1 = 1 -> 1 SELECT 1 = 3 -> 0 SELECT 1 = NULL -> NULL SELECT NULL = NULL -> NULL 最後の結果に注意して下さい。 どのデータベースにも共通して言えることですが、NULLという値は 特別な意味を持ちます。 N
皆さまこんばんは。今回から数回のあいだは、久しぶりに統計的因果推論ネタについて書いていきたいと思います。 今回の具体的なテーマは「Judea Pearlのdo演算子」になります。マニアックです。 このテーマについては自分でも完全に理解しているわけでは全くないので、「解説」というよりも「半可通が書いた公開勉強メモ」というかんじになりますが、その旨ご了承いただければ幸いです。 (*例によって今回もまためちゃくちゃ長いエントリーとなりますが、何卒よろしくお願いいたします。また、間違いなどがありましたらその旨ご指摘いただければ大変幸甚でございます>本物の識者の方々) まえおき:Judea Pearlって誰すか? はい。ではそもそもその「Judea Pearlって誰すか?」というところから書いていきたいと思います。 結論から言うと私もよく知りません。ですが、周辺的手がかりからヒューリスティックに判断
初心者がRubyの基礎を覚えたところで他人のコードを読むようになると、*args や map(&:to_s) のような謎の記法がでてきます。 この手の記法は名前がわからないとググラビリティが低くなるため、人によってはつまづきとなることが多いようです。 尋ねられることがたまにありますので、この機会にRails開発でよく使われるものを中心にまとめてみます。 引数 *args 変数名の冒頭に*(アスタリスク)が付いているもので、「可変長引数」または「splat引数」とかいいます。 引数を複数個設定でき、さらにメソッド内部で引数を配列として受け取ることができます。 def splatter(*args) p args end splatter('foo') # => ['foo'] splatter('foo', 'bar', 'baz') # => ['foo', 'bar', 'baz'] d
特定の文字列がある行から、別の特定の文字列がある行までを抽出したいということがよくあります。 これgrep等を使うと苦労する話なんですが、flip-flop演算子を使ったPerlのone-linerで可能です。 例えば昨日の記事ではgit help commitの中から--no-edit/オプションの説明を抽出しました。 これは--no-editという文字列が出てくるところから空行までを抽出すれば良い。これは以下のようにすれば可能です。 $ git help commit | perl -nle 'print if /--no-edit/ ... /^\s*$/' 解説自体に空行が混じるケースでは以下のようにすれば良いでしょう。 この例では、--cleanupという文字列が出現してから、次のオプション(-文字列形式)が出るまでを抽出しています。 $ git help commit | pe
console.log(+[]); // 0 console.log(+[3]); // 3 console.log(+[null]); // 0 console.log(+[undefined]); // 0 console.log(+["3"]); // 3 console.log(+[1,2]); // NaN console.log(+[true]); // NaN console.log(+[false]); // NaN なぜこのような処理になるのか、JavaScriptの仕様書(ECMA Script Specification 5th)から説明してみましょう。 まず最初、単項+演算子(Unary + Operator)を評価する際に、ToNumberを呼び出すのは前述したとおりです。仕様書の(11.4.6)に書かれています。ではToNumberとはどのような処理でしょうか。
まずはtypeof演算子について。JavaScript Gardenというウェブページがありまして。こういう一文がありまして。 The typeof operator (together with instanceof) is probably the biggest design flaw of JavaScript, as it is near of being completely broken. http://bonsaiden.github.com/JavaScript-Garden/#typeof 訳)http://efcl.info/adiary/Javascript/JavaScriptGarden#k95p17 要するにtypeof演算子は「ヒャッハーtypeof演算子ぶっ壊れてるぜー」ってことらしい。理由が下記の表。 [表1] Value Class Type - "f
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く