タグ String
人気順 5 users 10 users 100 users 500 users 1000 usersJavaScriptでObjectに空のStringを足すと0になる!?……わけではなかった
ASTをみてみよう この不思議な現象を調査するために、AST(Abstract Syntax Tree: 抽象構文木)の状態を見てみることにしました。ASTはソースコードを構文解析した結果をツリー構造にしたもので、AST Explorerを使うと簡単に見ることができます。 ({}) + "" のAST ({}) + "" のASTをみると、ひとつの ExpressionStateme... 続きを読む
PHPからJavaScriptにデータを受け渡すときに考えること - Qiita
PHPのstringは任意のバイト列を扱えますが、JavaScript/JSONはUnicodeで扱える文字しか扱えません PHPのint / floatはプラットフォーム依存ですが、JavaScriptのnumberは整数と小数を型レベルで区別しません JSONのarrayに対応する型はPHPのarrayのうちリストであるものです PHPは配列(リスト)と連想配列を型レベルで区... 続きを読む
TypeScriptにおける配列の共変性
const animal: Animal = { animal: "string", }; const dog: Dog = { animal: "string", dog: "string", }; いま,Dog <: Animalです. <:という記号は2つの型のあいだに書いて,「左の型が右の型のサブタイプである」と読みます. TypeScriptの型システムは構造的なので,2つのオブジェクトがサブタイプ関係にあるには... 続きを読む
【オブジェクト指向プログラミング】誰のもの?で理解するインターフェース
前置き 背景 オブジェクト指向プログラミングのインターフェースについて、以下のような例で学んだ方は多いのではないでしょうか。 public interface Animal { void bark(); } public class Dog implements Animal { void bark() { System.out.println("ワン"); } } public static void main(String[] args){ Animal ani... 続きを読む
東京大学、Pythonプログラミング無料入門 pandasやJupyterなど幅広い | Ledge.ai
画像は公式サイト(HTML)より 今回は東京大学(東大)が無料公開している、Pythonの初心者にもオススメの教材「Pythonプログラミング入門」を紹介する。SNS上では「ホントいい」「初心者にもわかりやすい」などと評判になっている。 本教材では「Colaboratoryによるノートブックの使い方」「文字列(string)」「条件分... 続きを読む
"型パズル"との付き合い方
まえおき❌ Compiler API、Language Service❌ 難解な型パズルを出題して型マウント取る話❌ 全TSerが型パズルするべきだ♀️ 型パズルと聞いて身構える方に身近に感じてもらいたい どっちが思考コストが高いかHTTPメソッド // ちゃんと渡せばOK const httpMethod: string = 'GET' // 正しくない値を渡してもエラーになって... 続きを読む
TypeScriptを使ってアプリケーションの設定ファイルを書く - その手の平は尻もつかめるさ
アプリケーションの設定ファイルと言えばjsonやyamlなんかで書くことが多いと思うんですが,最近はTypeScriptで設定ファイルを書いております.このような感じ: export interface ApplicationConfig { readonly listenPort: number; readonly timeout: number; readonly apiBaseUrl: string; readonly loggerOptions: Lo... 続きを読む
物理科 素粒子分野の業績事情
人文系の文献の取り扱いとか業績についてちょっとだけ - dlitの殴り書き こちらの記事に賛同したので続いてみます。 確かに異分野の事情をお互いにわかっていたほうがみんな幸せになりますよね。パーマネントや学振の採用とか。 はじめに素粒子分野は大きく分けて 弦理論 (string)現象論 (phenomenology)格子場 (lattice... 続きを読む
Java9、10でStringの+=に副作用があるバグ - きしだのはてな
Java 9、10でStringの+=にバグがあるということがStack OverFlowで報告されていました。 Why does array[idx++]+=”a” increase idx once in Java 8 but twice in Java 9 and 10? - Stack Overflow どういうバグかというと「s[i++] += i + ""」のようなコードが正しく動かな... 続きを読む
Go 言語と React で考える「いい感じなURL設計」入門
Go 言語と React で考える「いい感じなURL設計」入門 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. interface FooterProps { company:string } export class FooterComponent extends React.Component<FooterProps, any... 続きを読む
Object.assignが実装された - JS.next
2015-05-07 Object.assignが実装された ★★☆ ES6 新仕様実装 V8 概要 Object.assignはオブジェクト同士をマージするJSerの誰もが長年追い求めた夢のメソッドである。 使い方 Object.assign( target, ...sources ) 第一引数で渡したオブジェクトに、第二引数以降のオブジェクトが直接持つ、 全ての列挙可能なStringまたはSy... 続きを読む
golang で string を []byte にキャストしてもメモリコピーが走らない方法を考えてみる - Qiita
package main import ( "unsafe" ) type foo struct { k int64 v int64 } func main() { f := &foo{3,4} // unsafe.Pointer() で匿名ポインタにして // uintptr() で演算可能にして // +8 バイト(64bit)足して // unsafe.Pointer で匿名ポインタに戻して... 続きを読む
PHP 5.4 以上でも register_globals を再現するライブラリ MercifulPolluter - Qiita
あらすじ PHP と呼ばれる言語では、かつて register_globals という機能が猛威を奮っていました。簡単に言うと、リクエストパラメータが自動的にグローバル変数にセットされるというものです。 // http://example.com/?foo=123&bar=baz var_dump($_GET['foo'], $_GET['bar']); // string(3) "123" //... 続きを読む
Swiftでの文字列比較におけるUnicode正規化を巡る注意点 - Qiita
Stringの比較は正規化をかけた上で行われる Swiftの文字列比較は,Unicode正規化をかけた上で行われます。 たとえば,次の例をご覧ください。 let gaC = "\u{304C}" // 「が」の結合形 let gaD = "\u{304B}\u{3099}" // 「が」の分解形 // NSString としての文字数(UTF16での文字数)は異なる (gaC as NSStrin... 続きを読む
Goの文字列結合のパフォーマンス - Qiita
Goで文字列結合をする時、通常の+=は遅いから[]byteをappendした方が高速という話があったので、実際にどの程度の差が出るのか検証してみた。 Goでは文字列連結はコストの高い操作 - Qiita テストケース 以下のような9文字*10要素の文字列の配列要素を","で結合し、最後に","を追記するコードを実装した。得たい出力はstringなので、[]byteやbytes.Bufferを使う場... 続きを読む
よく忘れるRubyの基本的記法 - なんじゃくにっき2
2014-08-30 よく忘れるRubyの基本的記法 Ruby かきかけ 個人用メモ。 Symbol Symbolの配列 %i(a b) # [:a, :b] String 1文字 ?a # "a" Array 積集合 [1, 3, 5, 7, 9] & [1, 2, 3, 4, 5] # [1, 3, 5] headとtailに分解 head, *tail = [1, 2, 3] head # ... 続きを読む
Swiftで面倒なJSONの取り扱いをさらに10倍便利にするclass JSON - Qiita
Swiftで面倒なJSONの取り扱いを10倍便利にするSwiftyJSONをもってしても、まだJavaScriptよりも面倒だったのが悔しかったので書きました。 https://github.com/dankogai/swift-json/ Synopsis AnyObjectなSwiftオブジェクトも、こうして JSON Stringにできます。 let obj:[String:AnyObjec... 続きを読む
Java - 10分で基礎をマスターするApache Camel - Qiita
思ってた以上に前回の記事がアクセス多かったので、今回は使い方のほうをご紹介しようかと。 Apache Cmaelとは 前回の記事に書いた Apache Camel (Java)を使うと開発が楽になる7つの理由 ステップ0 > ガチのHelloWorld package test.hello; public class Hello { public static void main(String[]... 続きを読む
直列加算と並列加算でdoubleの足し算の結果が変わる話 - きしだのはてな
Javaに限った話ではないのだけど、Javaで並列加算が気軽にできるようになったので、気に留めておいたほうがいい話。 まず、次のようなコードを動かしてみます。 public static void main(String[] args){ double[] data = { 1.234E80, -1.234E80, 2, 3}; System.out.println(Arrays.stream(d... 続きを読む
我輩、激おこプンプン丸で御座候 - 坊主の日記
2013-11-15 我輩、激おこプンプン丸で御座候 最近やたらとお仕事関連でイライラすることがあったので列挙して問題点を洗い出してみる。 ちなみにお仕事はPHP+MySQL/PosgreSQLなWebサービス。 技術的問題点 ・htmlspecialchars()とmysql_real_escape_string()の違いがわからない技術者が在籍年数が長いという理由で存在する #正直技術者名乗る... 続きを読む
JavaScriptでうっかりやってしまいそうなこと色々 : アシアルブログ
こんにちは、中川です。 今回はJavaScriptで開発していると、うっかりハマってしまうちょっとした罠たちを紹介したいと思います。 JavaScriptでの開発経験者であれば、どれか一度はひっかかったことがあるのではないでしょうか? String ●String#replace()は文字列指定では全部置き換えない 対象文字列を一括して置き換えたいなどでString#replace()を使いますが... 続きを読む
Shibu's Diary: Pythonはなぜ?str.join(seq)なのか?
PythonのAPI設計の中で、たまに思い出したように話題が出てくるのが、配列に入った文字列を結合するメソッド。Pythonではstr.join(iterable)です。他の言語(僕がよく知っているRubyとJavaScript)はArray.join(String)となっています。どちらでもありえる話ですが、個人的にはPythonの方が自然だな、と感じていました。ですが、他の言語の方がいいという... 続きを読む
Java7 Update6 で String クラスがさらにリファクタリングされていました - 地平線に行く
Java | 22:59 | 2012年8月14日に登場した Java SE 7 Update6 で、またしても String クラスがリファクタリングされていました!そこで、そこがどういう風に変わったのかを詳しく調べてみました。 フィールド変数 count と offset が削除されましたStringクラスにあった4つのフィールド変数のうち、count と offset が削除されました。 /... 続きを読む
VPNなどで使われる認証プロトコル「MS-CHAPv2」、クラックされる | スラッシュドット・ジャパン セキュリティ
STRing 曰く、アレゲ人ならきっと読んでるセキュリティホール memoによると、認証プロトコル「MS-CHAPv2」がご臨終とのこと。MS-CHAPv2はVPNの1つであるPPTPなどで一般に使われていますが、「All users and providers of PPTP VPN solutions should immediately start migrating to a differ... 続きを読む
JSX の進化速度が半端ない - 予定は未定Blog版
気に入らない所を直して pull request 投げたら、取り入れられたので、8 日前に書いたエントリが過去のものとなっちゃいました。関数型以前の JSX では、関数型は function(: int): string のように書く必要がありました。これはこれでそのまま使えるのですが、新たに (int) -> string という形式にも対応しました。ちなみに、複数引数はカンマ区切りで (int... 続きを読む