読者です 読者をやめる 読者になる 読者になる

コンパイラかく語りき

文系新卒プログラマーのメモ

cpp 日本語文字列についてメモ

C++

言語100本ノックに挑んだら、いきなりつまづいてしまった www.cl.ecei.tohoku.ac.jp "パトカー"の出力ができていないさそう。なにやら文字化けが表示される。ひょっとしたら文字コード周りの問題か…? マルチバイト文字列とワイド文字列 そもそも、cppの文字…

Python3で標準入出力(競技プログラミング用)

最近Pythonデビューをした者です。 手始めに競技プログラミングで素振りをしようかなと。まずは入出力のお勉強。 単純な入出力 gistd81cb35385f34d5b0e127a5b4dfc85ff 入力の型 gistca87e0960b731deba07e1ff0c7d5782e 1行データの分割 gistafc68ac34d7db66f…

C++ 文字列が全て同じ文字で構成されているかどうか調べる

C++

std::string::find_first_not_of を使う。 string::find_first_not_of - C++ Reference find_first_not_ofは指定した文字以外が最初に見つかった位置を返す。 指定の文字が見つからなかった場合はstring::nposを返すので、nposと比較(==)することで「文字…

WebStormのターミナルで、rvmのPATHが通っていなかった

すみません、ひょっとしたらWebStorm関係ないかもしれません。少なくとも、自分のWebStorm環境で発生したので便宜的に「WebStormのターミナルで、rvmのPATHが通っていなかった」となりました。 発端 いつものようにrails開発を始めようとしたところ、 $ rail…

nodebrew install でsyntax errorが出たら、nodebrew install-binaryを試す

nodebrew install したら、syntax errorが出てインストールに失敗した。 hasen.hatenablog.com Pythonのバージョンが違うのかなと思って調べてみたら、確かに3系を使っていた。 ところがpyenvで2系に戻してみても、install時にsyntax error。結果は変わらず…

Qiitaの"俺たちはJavaScriptの非同期処理とどう付き合っていけば良いのだろうか"をやってみる

非同期周りにまだ慣れてない感じがあったので、素振りです。 こちらの記事をただただ写経しました。 qiita.com 書いたコードはこちらに。 github.com Promiseにまだまだ慣れていないなと感じたので、改めて噛み砕いてQiitaに投稿しました。 qiita.com

Qiitaの"Node.jsのOAuthを使ってGoogleDriveAPIを叩いてみた"をやってみる

ちょっと仕事で必要になったので、練習。 参考: qiita.com

【JSer向け】ローカルで生のRethinkDBを触る

RethinkDBについて。

webpackはどのように動いているのか(3)

webpackの仕組みについて、見ていきます。 前回↓ chuckwebtips.hatenablog.com 前回は、webpackがexportやmodule.exportsをどのように変換するかについて見てみました。 今回は、モジュールのimportやrequireがどのように処理されるかを見てみます。 まず、…

webpackはどのように動いているのか(2)

引き続き、webpackの仕組みについて見ていきます。 chuckwebtips.hatenablog.com 前回書いたコードはこちらでした。 // gist.github.com 本当に単純な定数定義ですね。 実際の開発では、JavaScriptはモジュール単位で書くのが基本だと思います。なので、まず…

webpackはどのように動いているのか(1)

ずっとWebpackのソースコードを読んだり、仕組みを知りたかったのですが、時間がなくてやれずにいました。 今日からはWebpackの仕組みについて、ちょっとずつ探っていこうと思います。何度かに分けて書きますが、記事が溜まってきたらQiitaにでもまとめます…

001 UIKit - 014 UIImageViewの画像の回転/拡縮/反転

iOS開発のお勉強。今回は画像周りについて。 教材:014 UIImageViewの画像の回転/拡縮/反転 - Swift Docs できたもの 画像がいろんな形式で表示されています。 書いたコード // gist.github.com 学び UIViewImageのtransformに対して、CGAffineTransformMake…

001 UIKit - 013 UITabBarControllerでタブの表示

iOSのお勉強。今日はタブです。 教材:013 UITabBarControllerでタブの表示 - Swift Docs できたもの 画面下の方にタブが2つあります。デフォルトでは、Featuredが選択されている状態です。 ここでHistroyをタップすると、 画面が切り替わります。 書いたコ…

001 UIKit - 012 UINavigationControllerの表示

iOS開発のお勉強。 教材:012 UINavigationControllerの表示 - Swift Docs UINavigationControllerについて。 今回、はじめて、複数ページを実装しました。こんなに簡単にできるとは。。 UINavigationは複数ページのナビゲーションであって、複数のページは…

Relayアプリケーションに、routerを導入する

RelayでSPAを作っています。前回までで、ひとまず形には為りました。 chuckwebtips.hatenablog.com ただ、現在の状態だと1つのページしかありません。 (求人一覧が表示されている状態) 求人をクリックしたら、求人の詳細画面にうつる。みたいな処理をReac…

001 UIKit - 011 UIPickerViewで値の選択

iOS開発のお勉強。今日はUIPickerViewについて。 教材→011 UIPickerViewで値の選択 - Swift Docs こんなやつができました。↓ 学び いつぞやのUITableと同じく、データソースメソッド、デリゲートメソッドが必要だった。 書いたコード // gist.github.com

JS開発環境の構築(5)Relayのインテグレーション

引き続き、JSでつくるアプリケーション。 前回までで、開発環境の構築と、GraphQLの導入が済みました。 chuckwebtips.hatenablog.com chuckwebtips.hatenablog.com 今回は、ReactとGraphQLを上手いことつなぐための、Relayを導入していきます。今回は量が多…

001 UIKit - 010 UIAlertControllerでアラートを表示

iOS開発のお勉強。今日はアラートについて。 教材→010 UIAlertControllerでアラートを表示 - Swift Docs 学んだこと まず、UIAlertControllerのインスタンスを作成する。そのインスタンスに対して、UIAlertActionのインスタンスを追加していく。 UIAlertCont…

001 UIKit - 008 UILocalNotificationの表示

引き続き、iOS開発のお勉強。 chuckwebtips.hatenablog.com 今回は、ノーティフィケーションについて。 今までは、アプリの画面のUIまわりを触っていたので、今回はじめてアプリの外側に飛び出した感じがあります。 学び UIUserNotificationSettingsでノーテ…

001 UIKit - 007 UIFontで文字を装飾

iOS開発において、viewControllerから文字を装飾する方法について。 教材↓ 007 UIFontで文字を装飾 - Swift Docs 基本的にはUIFontクラスになんでも入ってる。 UIFont - iPhoneアプリ開発の虎の巻 書いたコード // gist.github.com こんな風に表示される。

001 UIKit - 006 UITableViewでテーブルを表示

引き続き、iOS開発のお勉強。 今日はTableについて。正しくは、UITableViewですね。 006 UITableViewでテーブルを表示 - Swift Docs 学び まず、コードを書き終えたときにこんなエラーが出た。 syufuxsyufu.blog.fc2.com 焦ったけど、単に必要なメソッドが定…

001 UIKit - 005 UIImageViewで画像を表示

iOS開発のお勉強 005 UIImageViewで画像を表示 - Swift Docs 学び 画像の表示には、UIImageViewを使います。 今回のレッスンで気になったのは、self.view.boundsについて。 いつもの、self.view.frameとは違うのか。。?? ちょうど良いQiitaが。 qiita.com …

GraphQLをCLI実行

GraphQLの基本的なシンタックス・文法を学びました。 chuckwebtips.hatenablog.com そして、スキーマ定義についても学びました。 chuckwebtips.hatenablog.com chuckwebtips.hatenablog.com 今回は、CLIで実行する方法について。 教材はこちら。 https://lea…

GraphQLのスキーマ定義(ミューテーション編)

前回は、GraphQLでスキーマ定義をする方法について、書きました。 chuckwebtips.hatenablog.com 今回は、前回書き漏らしたミューテーションについて。 教材はこちら。 https://learngraphql.com/basics/defining-mutations 写経。 // gist.github.com ほぼク…

GraphQLスキーマ定義について学んだ

前回はGraphQLで基本的なシンタックスと文法を学びました。 chuckwebtips.hatenablog.com 今回は、GraphQLのスキーマ定義について。 教材は↓です。 https://learngraphql.com/basics/defining-queries JSで書いていくのですが、フィールドを入れ子にしていく…

GraphQLの基本的なシンタックス・文法を学んだ

GraphQL、ずっと気になっていたのですが、Relayを使いたいのでここらで触ってみました。 使った教材は、以下のサイト。 https://learngraphql.com/basics/introduction そして、以下が写経になります。 // // gist.github.com gist.github.com GraphQLいいで…

01 UIKit - 003 UIButtonでいろいろなボタンを表示

今日やったやつ。 003 UIButtonでいろいろなボタンを表示 - Swift Docs 学び UIButtonクラス、というか、UIContorolerクラスには様々な便利なメソッドやプロパティが用意されている。 iOS開発全般に言えそうだけど、Storyboardを使わずに開発する場合、これ…

いまさらnpmのfetchパッケージをつかってみた

まず、これを読みました。 qiita.com fetchなんてものがあるんですね。Podcastや勉強会でも耳にするので、実際に使ってみました。 fetchの種類 fetchにはいくつかの種類があるそうで。 まず、ネイティブのfetch。つまり、ブラウザが実装しているwindow.fetch…

001 UIKit - 004 UITextFieldで文字を入力

iOS開発のお勉強。 今日はこれ。テキストフィールドですね。 004 UITextFieldで文字を入力 - Swift Docs 学び いきなりデリゲートという知識が現れた。どうやら、SwiftTourで飛ばしてしまった、プロトコルの項にあったっぽい?? ここでは、あまり深く詮索せ…

iOS開発30本ノック 1本目+2本目

swift、というかiOS開発の練習を引き続きしています。 今日始めた教材がこちら。 https://sites.google.com/a/gclue.jp/swift-docs/ 30くらいのレッスンがあります。このレッスンの特徴として、storyboardを使わないみたいです。 XCodeの操作にまだ慣れてい…

JS開発環境の構築(4)GraphQLのインテグレーション

前回までで、JSの開発環境が整いました。 chuckwebtips.hatenablog.com ビューライブラリにReact.jsを、サーバサイドにExpressを、そして開発環境のサポートにはWebpackを利用しています。 今回は、ReactのうえにRelayを載せていきます。 Relayとは最近話題…

JS開発環境の構築(3) Expressを利用した、Reactのサーバサイドレンダリング

JSでつくる開発環境のつづきです。 chuckwebtips.hatenablog.com 今回は、Reactをサーバサイドレンダリングできるようにします。主にExpressを利用して実現するのですが、そこらへんは以下の記事に書いたとおりです。 chuckwebtips.hatenablog.com ↑のとおり…

JS開発環境の構築(2) WebpackローカルサーバのHMR起動

↓のつづき。 chuckwebtips.hatenablog.com 今回は、スムーズに開発が進むように、WebpackのHMR(HotModuleReplacement)をオンにします。 以前、QiitaにPostしたこの記事では、CLIから実行することが推奨されていました。 qiita.com ただし、今回はコンフィ…

JS開発環境の構築(1)

つくるやつ React, Webpack, Express, Relay, GraphQLあたりをつかった何か。 内容はあまり重要ではなくて、ひとまずぜんぶJSだけで作ってみたい。 ただし、以下の記事でも書かれているように、必要ないものをどんどん盛り込むのは違うと思う。 medium.com …

ElmでHttpリクエスト

Elm

Elmのお勉強です。 公式の以下のチュートリアルの写経になります。 HTTP · An Introduction to Elm 書いたコードがこちら。 // gist.github.com 以下、学んだこと。 HttpはEffectsの1つ。 他のEffectsと同様、直接実行するのではなく、”Elmに実行させる” Ta…

React + Webpack + Expressで初めてのサーバサイドレンダリング

すみません、こちらの記事に完全にお世話になりました。 サーバーサイドReactをwebpackを使って最小構成で試す (ES6 & TypeScript) - Namiking.net 以下、すべて写経のメモになります。 いつものクライアントレンダリング まずは、HTML。 gistacfad61f44971…

Elm Architecture イントロダクション(Form編)

Elm

Elmでinputの入力を監視しつつ、軽いバリデーションを行うコードです。 公式リンクはこちら。 Forms · An Introduction to Elm 関連するドキュメントは以下のとおり。 input: いわゆるInputタグ。 http://package.elm-lang.org/packages/elm-lang/html/1.0.0…

【Python3】内包表記で生成したリストをjoinしたりスライス反転したり

Python初心者です。 考えてみれば当然なんですが、初心者的には感動したのでメモ。内包表記で生成したリストをごにょごにょする方法。 発端はこちらの競技プログラミングの問題。 abc004.contest.atcoder.jp 4x4の盤状の入力が与えられるので、180度回転して…

【Python】内包表記で2重ネストリストの平坦化

Python初心者です。 前回、多重ループを含む内包表記について整理してみました。 chuckwebtips.hatenablog.com ただ、前回は、内包表記の中での多重ループは、それぞれ値のやり取りをしませんでした。 と言ってもピンと来ないですよね。 コードの例を示しま…

【Python】リスト内包表記 x 多重ループ

Python初心者です。 内包表記、とっても便利ですね。ただ、内包表記の中で多重ループすると頭が混乱してしまうので、ちょっと整理します。 まずは2重ループについて。以下にコード例を貼ります。 gist03b6f1b907bd5c0e8c3bb3bee3657bb1 なるほど。 最初のfor…

【Python】zip関数と内包表記の組み合わせが強力

Pythonを使い始めて、2週間ほど経ちました。 Pythonはシンプルに書けるという点では、非常に面白い言語だと思います。 今日は、zip関数と内包表記の組み合わせが良いなと思ったのでメモ。 zip関数 リストのタプルを、タプルのリストにしてくれます。 giste9…

【Python】スライスを使って文字列の反転

スライスのステップにマイナス1を指定することで、反転を実現できる。 gist461498121a069c59cf4e82eb64e19f99

【Python3】配列に指定した要素が含まれているかチェック

リストの中に指定した要素が含まれているかチェックす方法。 in, not in 演算子を使うと実現できる。 gistbe4c8e35bbfd9ebf9f0f04b3f1c1760c 複数の要素から、1つでも含まれているかチェックしたい場合は、以下のように書ける。 gist9b7fc51c0603e463acb008…

【Python3】リストから最大値と最小値を取得する

max, minを使う。 gistba3a8f54670245545d26af5cc20b4a9f リスト関数ではなく汎用関数なので、引数にはタプルなども指定可。

FirebaseのCodelabをやってみた。(前半)

最近話題のBaaSであるFirebaseのCodelabをやってみましたので、メモ。 Codelabは、チュートリアルみたい意味ですかね。 www.publickey1.jp Firebaseとは Web, iOS, Android開発に対応したBaasとのこと。 firebase.google.com 単なる開発ツールではなく、アナ…

【Python】XX桁以下の時に0で詰める

たぶん、2,3系共通。いわゆる数値のフォーマットというやつです。 %かformat関数を使えばいいみたいです。format関数の方が新しいっぽいですね。 gist693a7537361017d82b71e046a74a981c (追記) 上記の方法は、広く書式を指定するというものでした。 単純に…

【Python3】reduce関数とラムダで、簡潔リスト操作

Python入門者です。Python3で、reduceとlambdaを使えばリスト操作が簡潔になるな~と気づいたのでメモ。 reduceとは リストの要素すべてを参考にして、最終的に1つの値を得る処理です。 qiita.com 例 以下の例では、1,2,3,4を参考にして、それぞれを足しあわ…

【Python】入出力 入門

Pythonに入門しました。 chuckwebtips.hatenablog.com 基本的なシンタックスを知ったので、次は入出力について。 下記のポストを読みました。 qiita.com 手元のPython3で実行すると、うまく動かない…。 どうやら、Python2向けの記事みたい…?? というわけで…

【Ruby】要素数と要素が与えられ、そこから最小値を返すワンライナー

タイトルの通り。 競技プログラミングを解いていて、ワンライナーで書きたくて試行錯誤したのでメモ。 d.hatena.ne.jp 問題はこんな感じ。 まず、要素数が与えられる。そのあとに要素数回、要素が与えられる。最小の要素を表示せよ。 abc005.contest.atcoder…

【Node.js】querystringとはなんなのか

Node.jsの話。querystringというデフォルトのモジュールを知ったのでメモ。 公式Doc : Query String Node.js v6.1.0 Manual & Documentation クエリ文字列とは そもそも。query string(クエリ文字列)とは? e-words.jp URLの末尾に付くアレですね。キーバ…