このブックの問題数: 8 問 →単語帳を見る 勉強している人(完了した人): 1 人 (1 人) 勉強(プレイ)回数: 12 回 おすすめブック LPIC level1 7 (11 words) LPIC level1 16 (12 words) LPIC level1 33 (11 words) IT Glossary (39 words) ccna 基礎 (8 words) ccna 基礎 (13 words)
このブックの問題数: 8 問 →単語帳を見る 勉強している人(完了した人): 1 人 (1 人) 勉強(プレイ)回数: 12 回 おすすめブック LPIC level1 7 (11 words) LPIC level1 16 (12 words) LPIC level1 33 (11 words) IT Glossary (39 words) ccna 基礎 (8 words) ccna 基礎 (13 words)
extract_html_content.php <?php error_reporting(E_ALL & ~E_NOTICE); /** * ブログサイトの本文のみを抽出する関数ファイル */ /** * HTMLの本文ブロックを抽出 * * div td center区切りで抽出 * 文字数と区切り文字数をベーススコアとして算出 * 前半のブロックほどスコアが高くなるように計算 * description属性との編集距離を考慮し、スコアに強く反映 * 複数ブロックをクラスタ化し、クラスタ間で比較 * * @param string $html HTMLソース * @return string 本文ブロック(標準出力) */ function get_html_content( $html ){ $decay_factor = 0.8; // 減衰係数(小さいほど先頭に近いブロックのス
빅데이터 개념 부터 시작해서 빅데이터 분석 플랫폼의 출현(hadoop)과 스파크의 등장배경까지 풀어서 작성된 spark 소개 자료 입니다. 스파크는 RDD에 대한 개념과 spark SQL 라이브러리에 대한 자료가 조금 자세히 설명 되어있습니다. (텅스텐엔진, 카탈리스트 옵티마이져에 대한 간략한 설명이 있습니다.) 마지막에는 간단한 설치 및 interactive 분석 실습자료가 포함되어 있습니다. 원본 ppt 를 공개해 두었으니 언제 어디서든 필요에 따라 변형하여 사용하시되 출처만 잘 남겨주시면 감사드리겠습니다. 다른 슬라이드나, 블로그에서 사용된 그림과 참고한 자료들은 작게 출처를 표시해두었는데, 본 ppt의 초기버전을 작성하면서 찾았던 일부 자료들은 출처가 불분명한 상태입니다. 자료 출처를 알려주시면 반영
今度は CLUTO を試してみた話を書こうと思っていたのですけど、あまりふくらみそうにないので、保留。 オンライン学習(逐次学習)に興味があるので、まずは Perceptron 周辺を勉強し始めてます。 が、その前に動くものをさわっておこうということで、岡野原さんのオンライン機械学習ライブラリをちょっぴり試してみました。 oll プロジェクトページ(日本語) ビルド Linux なら ./configure & make でOK。 Windows の場合 oll.hpp の先頭のどこかに #include <algorithm> を追加すれば VC++ でもコンパイルできました。 サンプルデータ サンプルデータには、プロジェクトページにも実験としてあがっている news20.binary をまずは使ってみることにしましょう。 「シャッフルし、15000例の訓練データと4996例のテストデー
Perceptron の実装とか見ると、ものすごく簡単なので、本当にこれで学習できちゃうの? と不安になってしまいました(苦笑)。 こういうときは、実際にパーセプトロンが計算しているとおりに、紙と鉛筆で計算してみて、期待する結果が出てくることを確認してみたくなります。 参照する教科書は「パターン認識と機械学習・上」(PRML) の「 4.1.7 パーセプトロンアルゴリズム」。 短い節です。必要最低限のことを一通り書いてある感じかな。 計算に用いるサンプルですが、手で計算できる規模でないといけないので、論理演算の AND を試してみることにします。 簡単に勉強 ちゃんとした説明は PRML などを見て欲しいですが、とても簡単にまとめます。 2値の線形識別モデルは、N 次元空間内を (N-1) 次元の超平面(決定面)で分割することで、入力ベクトル x から得られる特徴ベクトル φ(x) が2つ
2021年02月25日15:54 カテゴリ 平成31年度春期 基本情報技術者試験・午後・問8・解説 平成31年度春期 基本情報技術者試験・午後・問8 ハフマン符号化を用いた文字列圧縮に関する次の記述を読んで~ 目次 設問1 設問2 設問3 設問1 (a) 表1と同じものもまず作ります。文字列がABBBBBBBCCCDDなので、 A:1B:7C:3D:2 ハフマン木の作り方に沿うと、①と②で、1次元配列を用意して値をいれる{1,7,3,2}③で、値の小さいやつ2つを取り出して、配列の最後に入れるから{1,7,3,2,3} 3 | |-----| 1 2 で、1,2は親が作れたので、無いと仮定して{7,3,3}でもっかいやって、{7,3,3,6}となり、 6 | ------- | | 3 3 | |-----| 1 2 3,3は親が作れたので、無
問題 美しいプログラムを書く(脱添字職人編) では添字が多用され読み難くなっているソースコードのリファクタリングを通して 美しいプログラムを書くためのポイントをいくつか紹介しました。 そこでは 「何をするか」を基準にプログラムを書きましょう。 「どうやるか」が前面に出たプログラムは意図を把握し難くなります。添字や明示的なループの使用は避けましょう。「どうやるか」が前面に出てきてしまいます。 今時のプログラミング言語ならば便利な構文やライブラリ関数があるので、 添字やループを使わずとも「何をするか」を基準にプログラムが書き易くなっています。 ということを述べました。 確かにごもっともな主張ではありますが、経験値の少ない人からすれば 「そんなことを言われてもどんなライブラリ関数があってどういう場面で使えるのかリファレンスを読んでもよく分からないし……」 ということはよくあります。 という訳で、
俺の名はケンヤ。難事件をいくつも迷宮入りさせたニート。しかし ある時謎の組織に入社し薬を飲まされ身体が縮んで Braian になっちゃった。 「面白いコードと読みやすいコードは違う」 「コードは理解しやすくなければいけない」 「コードは他人が最短で理解できるコードでなければならない」 「コードは短い方がいいが、"理解するまでにかかる時間"を短くするほうが大切」 名前に情報を詰め込む 明確な単語を選ぶ 例えばGetではなく、状況に応じてFetchやDownloadなどを使う. tmpやretvarなどの汎用的な名前をさける ただし、明確な理由があれば話は別。 具体的な名前を使って、物事を詳細に説明する ServerCanStart()よりもCanListenOnPort()のほうが明確だ。 変数名に大切な情報を追加する ミリ秒を表す変数名には、後ろにmsをつける。これからエスケープが必要な変
欲しいデータを手に入れる。―インターネットを1つの巨大なデータベースとして使おう。 本書の目的は、インターネットを「1つの巨大なデータベース」として扱い、「Webデータ」として活用できるようになることです。Web上のデータを使用する上での基礎知識を解説し、インターネットを1つの巨大なデータベースとして扱うための技術を紹介します。Webスクレイピングはその代表的な技術ですが、より簡単な方法もありますのでそちらも紹介します。データの基礎知識やプログラミング技術について、代表的なライセンスや著作権を交えながら語り尽くします。 「Part 1: Webスクレイピングを試す」でLibraHack 事件の概要と論点、Webデータ活用の注意点を紹介。Pythonを使ったWebスクレイピングを実際に試します。 「Part 2:データの基礎知識を理解する」で、データの定義や標準的なデータ形式、保存方法を紹介
ただし、503 や 429 を返すのは 2~3 日程度までにすべきです。それを超えてしまうと、Google がサイトをクロールする頻度がいずれ少なくなってきます。 クロール頻度設定 ...
前回はWebサイトをクロールするところまで書いたので、 次は取得したページを解析して、必要な情報を抜き出します。 必要な情報を抜き出すには、 nokogiriというライブラリを使えばいいみたいです。 使い方は簡単で、 nokogiriライブラリを使えるようにする require 'nokogiri' anemoneで取ってきたpageのHTMLデータをnokogiriオブジェクトに変換する doc = Nokogiri::HTML.parse(page.body.toutf8) doc.xpathメソッドで欲しい情報を抜き出す rank = item.xpath("//div[1]").text これだけです。 これならすぐできると思い、 さっそく本に書かれた内容を写して実行してみたんですが、 実行結果が本に載っているものと違う・・・。 どうやらamazonのWebサイトが少し変わったよう
Rubyで読書メーターをスクレイピング Rubyで読書メーターをスクレイピングしたい 読書系SNSの読書メーターを利用しています。 読書メーター - あなたの読書量をグラフで管理 ユーザー間のコミュニケーションも活発で、お気に入り・お気に入られ(Twitterでいうフォロー・フォロワーの関係)のユーザーとどのくらい同じ本を読んでいるか(このことを共読と呼んでいます)、なんて話題で盛り上がったりしてます。 ユーザー毎のマイページでそういう情報は確認できますが、数字は日々変化しますし、何十人、何百人といると楽な方法が欲しくなります。 あるお気に入りユーザーの方がPerlで共読数などを一括取得するスクリプトを書かれていて、以前それをいただいたんですが、自分の環境ではうまく動かなかったのでどうせなら自分が勉強中のRubyで同じものを書いちまえ、ということで書いてみました。 共読解析ツールのソースコ
はてなブックマークの RSS を Ruby で取得していたのですが、この頃 503 エラーが出るようになってしまい正しく取得出来ません。 どなたか原因をご存知の方、あるいは RSS を取得出来る方法をご存知の方はいらっしゃいますか? irb(main):001:0> require 'open-uri' => true irb(main):002:0> open 'http://b.hatena.ne.jp/search?tag=ruby&mode=rss' OpenURI::HTTPError: 503 Service Temporarily Unavailable from /Users/****/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open-uri.rb:358:in `open_http' from /Users/****/.rbenv/ver
先日、日曜数学会というイベントに招待いただき、LTをしてきました。趣味で数学をやっているひと(=日曜数学者)が集まって、お酒を飲みながら研究を共有する会です。 他の参加者のスライド 二次形式と素数で遊ぼう レムニスケートのお話 図形の分割・合成パズルの話 どんな話をしてきたか 「線形代数という概念が存在しない退屈な世界」というタイトルで、前半は線形代数を再学習しようとした経緯を、後半は実際に勉強したときの話をしました。 基本的な内容は「数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路」というQiita記事の劣化版で、ここに書いてあることを実践したら良かったよ!という共有になります。 再学習の経緯 WEBサービスを作っているとレコメンドやラベル分類といった機械学習をやりたくなります。 ちょっとした実装ならライブラリとサンプルコードに乗っかれば簡単にできます。 しかし、がっ
概要 Enokilog(エノキログ)というサービスをリリースしました。 勉強がてらシンプルなRailsアプリを作りました。 どんなサービスか 学習の進捗を記録するサービスです。 調整さんみたいなテーブルビューで学習の記録や共有ができます。 名前の由来は以下の通りです。 榎(えのき)という樹木は、江戸時代、幕府によって一里ごとに植えられました。 旅人が木陰で休憩したり、距離を把握できるようにするためです。 Enoki Logは、榎が茂る一里塚のようなWEBアプリを目指して開発されました。 ユーザーが日々の学習を記録して、一歩ずつ前進するお手伝いをします。 どうやって使うのか 登録 Enokilogにアクセス。 メールアドレスとパスワードでユーザー登録。 作成 新しい学習記録を作成。 タイトルや利用教材などを記入⇒作成完了ボタン。 学習終了日に向けてマイルストーンを記入。 更新 実際の進捗を○
概要 IPAの応用情報技術者試験(平成26年/秋試験)に合格しました。 仕事をしながら3週間で合格できたので、勉強法など知見を共有します。 平成27年度【春期】【秋期】 応用情報技術者 合格教本 (情報処理技術者試験) 作者: 大滝みや子,岡嶋裕史出版社/メーカー: 技術評論社発売日: 2014/12/13メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る どのような資格か IPAのサイトでは、対象像を「高度IT人材となるために必要な応用的知識・技能をもち、高度IT人材としての方向性を確立した者」としています。 難易度としては、「ITパスポート」<「基本情報技術者」<「応用情報技術者」<「高度区分」(システムアーキテクトや情報セキュリティスペシャリストなど)という位置付けです。 要するに情報技術に関する幅広い知識を持っていることを証明するための資格試験ということです。
概要 Courseraというオンライン学習サイトで公開されているMachineLearningコースを修了しました。 もくじ どんな講座か 講座のアジェンダ なぜ受講したか 受講した感想 あると望ましい事前知識 はまりどころ 最後に どんな講座か 機械学習の主要なアルゴリズムを直感的に理解して、実際にプログラミングできるように教えてくれます。また、実装前にどのアルゴリズムを使うべきかの判断、テストとチューニングの方法、大量データの並列処理といった付帯トピックも言及されます。 講師はStanford UniversityのAndrew Ng(呉恩達)氏で、Googleの人工ニューロン研究プロジェクト発起人や百度の首席科学者として知られています。実際にこんな風にやっていますよ!という話を交えるので、画一的で教科書的な解説よりも聴きやすいと感じました。 ボリュームは結構重いです。「講義および4択
1.授業の構成や詳細な内容が期待通りのものかを確認する 授業に登録した後、最初にしなくてはならないことは、その授業の内容が自分の期待に沿ったものかどうかを確認することです。 授業の登録画面で授業の概要を事前にチェックすることが出来ますので、登録した後で勉強したかったことと食い違いがあるということはあまり無いと思います。しかし、実際に受講してみて、期待していた項目については触れられなかったり、仮にその項目についての授業があっても知りたい内容まで深入りしなかったりする可能性があります。 また、修了証の発行は有料となりますので、発行登録後に期待通りの内容でなかったということだけは避けなくてはなりません。 受講前に確認することをオススメします。 さて、授業の内容の確認方法ですが、各授業のページの左にメニューバーがありますので、「シラバス(syllabus)」をクリックしてください。多くの場合、ここ
2023/10/03 · この記事では、『 Coursera(コーセラ)』というオンライン学習サイトの魅力と使い方を解説しました。 『コーセラ』の魅力から、料金プランや登録方法、 ...
大晦日・お正月2日と、Courseraの機械学習コースに取り組んで全11週のうち3週目まで終えたので、振り返りつつオススメしてみます。 経緯 こんな記事を投稿したら、 2015年振り返り 反省 機械学習周りを(再)学習 → オーディオブックで「人工知能は人間を超えるか」を聴いて良書っぷりに感動した程度 @koher さんからCourseraの機械学習コースを勧めていただき、ちょうどまとまった時間確保出来るタイミングだったので取り組んでみました。 @_mono おそらくご存知だとは思いますが、機械学習は Coursera の Machine Learning のコース(日本語字幕あり)がとても良かったですよ。もっと高度な内容を勉強されたいということかもですが。 https://t.co/1d3VM9hbwg — koher (@koher) December 30, 2015 今期の開講期間
Coursera | Degrees, Certificates, & Free Online Courses Start, switch, or advance your career with more than 5,800 courses, Professional Certificates, and degrees from world-class universities and companies.
ちょっと予告とは違う更新だけど。。 深層学習(Deep Learning)というものを知り、いろいろ調べて勉強したりした一年 紆余曲折がありつつも、Pythonを初めて扱い深層学習以外の機械学習全般に興味を持った 今取り組んでいることは、「機械学習を基礎から身につけ、pythonで実装していく力を身につける。」 ある程度参考書やサイトを漁った結果、自分なりのベストプラクティスが固まりつつある(前もこんなこと言った) このブログは息抜き程度の備忘録の位置づけにしたいので、技術ブログではないことをあやふやな記述の免罪符にしたい わりとまじで。切実に。 機械学習のベストプラクティス(今現在) 数学の事前準備 さすがに微分積分と行列、確率はある程度必要になる。 個人的に行列の微分が苦手。現役の学生なので覚えてるが、 一切を忘れてしまったという方は数学の参考書で数式慣れしたほうがいいかも 超初心者
Amazonで商品情報や検索結果を返してくれるProduct Advertising APIについてですが、なぜか503エラーが10%位の確率で発生します。 初期状態で1秒1回まで、1時間に2000回の制限までとのことですが、これを守っても、それどころか数時間空けても503エラーが一定確率で出てきます。 RubyでAmazon ECSを使用しているのですが、もはやエラー前提で以下のように処理しています。(運用上はエラー処理をもっと厳密にやったほうが良いでしょう) retry_count = 0 begin Amazon::Ecs.item_lookup(...) rescue retry_count += 1 if retry_count < 5 sleep(5) retry else return false end end 他のブログ等を見ても同様にエラーが発生しているようですし、現状
概要 ProductAdvertisingAPIはAmazonアソシエイトが提供するAPIサービスです APIの利用にはDeveloper登録が必要で、APIを使うとオリジナルの広告内容を作ったりすることができます で、今回APIを実行していたら Service returned HTTP response code 503 なるエラーが返ってきてうまく結果が取得できない現象が発生したのでその対処方法をご紹介します 環境準備 Java over 1.7 Product Advertision API 2011-07-27 対処方法 公式のドキュメントを調べてみたら以下を発見しました https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?ErrorNumbers.html 上記に
EDWIN(エドウィン). ジーンズ 503 レギュラーストレート デニムパンツ 日本製 E50313 メンズ · 4.35つ星のうち4.3 (85). タイムセール. ¥9,000¥9,000.
はじめに Knex.jsは、JavaScript用のSQL Query Builderで、Bookshelf.jsというORマッパーの基幹モジュールでもあります。Promiseベースで実装されており、トランザクションなども綺麗に書くことができます。Node.jsだけでなく、ブラウザでも使うことができるそうでかなり興味あるのですが、今回はそっちには触れずに置いときます。 Node.jsからRDBMSを使おうとすると、pgだとかmysqlだとか、各データベースシステムに対応したライブラリを使うことになると思います。しかし、これらのライブラリだけでアプリケーションを作ろうとすると、各操作ごとのSQL文をハードコードしなければいけなかったり、スキーマの変更だとかも手動だったり、変なところで時間をとられてしまい開発どころの話ではありません。 ORマッパーは嫌いではないのですが、もともとSQLを使って
この記事では、これから初めてMacを使って開発を始める人を対象に、初歩的な開発用ツールのインストールや、便利なパッケージ管理ツール関連をまとめて紹介したいと思います。 Xcode とにもかくにも、Xcodeを入れなければMacの開発環境構築は始まりません。やるべきことは次の三つです。 ・Apple Developer登録(Apple Developerの"メンバーセンター"から) ・AppストアからXcodeをダウンロード ・Xcode command line toolsをインストール 参考 Mac での Xcode コマンド ライン ツールのインストール MavericksでCommand Line Tools for Xcodeをインストールする Homebrew Homebrewは、Mac上で開発用ソフトウェアなどの導入プロセスを簡単にしてくれるパッケージ管理ツールです。え、Mac
この前、研究室の先生に教えてもらったAdobe製のJavaScriptデバッガTheseusがかなり便利なのでご紹介します。 Theseusとは Theseusは、AdobeとMITの共同研究から生まれたJavaScriptのデバッガです(→学会論文)。ChromeとNode.jsの上で動きます。具体的に何をしてくれるのかをざっくり言うと、関数のコールを追跡して、BracketsというAdobe製のエディタに下画像のような感じで表示してくれます。 Theseusのすごいところは、コールバックの実行まで追跡してくれることです。もちろん、エラーが起きた箇所もすぐに見ることができます。また、デバッグをするとき、気になる箇所にconsole.logを挟むことがあると思いますが、Theseusを使えばその必要もありません。関数の横に表示されているコール回数をクリックすれば、その関数の実行ログを表示し
NokogiriとNattoについて Rubyを使ってWebページの解析がしたいときは、NokogiriとNattoというgemが非常に便利です。 Nokogiriは、xml/htmlの解析モジュールで、libxml2が入ってないとインストールがうまくいきません。Xcodeにくっついてくるlibxml2はちょっと古いらしいので、homebrewで入れ直すのもアリかもしれません。 参考:nokogiriとlibxml2とhomebrew Nattoは、形態素解析エンジンのMeCabをrubyから使うためのインタフェースです。MeCabがインストールされていることが前提になりますので、homebrewなどでインストールしてください。 参考:rubyのmecabバインディングnattoを使う #coding:utf-8 require 'nokogiri' require 'open-uri'
2021/02/13 · いつものようにopen-uriでhtmlを取得してNokogiriでパースして最初のtd要素のテキストを取得して先頭と末尾の空白文字を除去したものを出力するスクリプト ...
日課となっているアクセス解析を見ていたら503エラー関連のキーワードで検索して当サイトに来ている方が多い事が分かりました。 これは、直近1カ月分のデータですが、service temporarily unavailableで検索する人は、ページに表示された英語が良く分からずに、コピペしているケースが多いのでしょうね。 確かにこのページを見て意味がわかる人は少ないのかもしれません。私も初めてこの画面を見たら間違いなくservice temporarily unavailableで検索しますね。ちなみに、service temporarily unavailableを日本語に訳すと「一時的にサービスを提供することができません」という事になるかと思います。 503エラーの原因と回避策 503エラーはサーバーやサービスが利用できない時に表示されるエラーです。 アクセスが集中している データ転送量が
Twitter CPIのTwitterアカウントでは、サイト、サーバー管理者のための重要なセキュリティ情報や、サイト運営者のためのヒント、お得なキャンペーン情報をお知らせしています。 Follow @cpiadjp Tweets by cpiadjp 掲載内容について、当社は情報の掲載には細心の注意を払っておりますが、完全性などについて保証を行うものではありませんので予めご了承ください。 掲載されている情報をご利用いただいた際に、損害が発生・誘発した場合や、情報自体の真偽性・合法性・道徳性・著作権の許諾等について問題が発生した場合などについて、当社は一切の責任を負いません。掲載されている情報を利用したサイト製作については、ご自身の責任において行ってください。
はじめに Webサービスやアプリを企画したり、立ち上げたりする際にプロトタイピングツールや、ExcelやPowerpoint、Illustraterなどを駆使した謎のファイルで画面遷移図を描くことがある。 こういう図を元に仕様を決めて行って、サービスを作っていくのは以下の点で困る。 画面遷移図が保守されない。 書くのが非常に面倒くさい ユーザーのモチベーションの流れが追いづらく、見た目ばかりに注目してしまうものになりがち マシンリーダブル(ソフトウェアで構造を取り出せない)でない。 このような欠点があってどうにも扱いづらい。 そんなわけで、markdown風のテキストから簡単に画面遷移図を描けないかなとコンパイラを作成し、次にそれをインタラクティブに編集できるエディタを作成した。 UI Flows図について 画面遷移図的なものを書く際に、僕が個人的につかっていた表現方法として、UI Flo
はじめに 関数型プログラミングとオブジェクト指向の抜き差しならない関係について整理して考えるという記事がkenokabeさんという方が挙げていて、拙著の 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡について言及があったので、補考として挙げておく。 暗黙的状態と明示的状態 これまで、関数を「わかりやすくきれいに書く方法」とオブジェクト指向が「どのようにして生まれてきたか」について話してきた。 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 一見、それぞれ関係ないように思うかもしれないが、実は大きなテーマでつながっている。 『それは「状態」をどのように取り扱い単純化するか。』ということだ。そして、これがいわゆる関数型プログラミングとオブジェクト指
あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし
【img via Message error 404 by CyboRoZ】 インターネットを徘徊していると時折遭遇する「500 Internal Server Error」や「404 Not Found」。他人のサイトであればまだしも、自分自身のサイトであれば最低でもこれらが何を意味するかを把握している必要がある。 今後のためにも各種ステータスエラー(403・404・500・503)の意味を調べてみたので載せておく! 比較的見る機会の多いステータスエラーは把握しておこう! サイト運営者としては内容はもちろんのこと、取るべき対処方法やチェックすべき箇所を把握している必要がある。まずはそれぞれのステータスエラーに紐付いて表示されるメッセージを確認しておこう! ステータスエラー番号 エラーの意味
はてなブックマークの新着エントリを取得する API を、以下のように PHP の file_get_contents() を使って叩いていたのですが、この間久しぶりにこのプログラムを実行してみたら 503 エラーが返ってくるようになっていました。 $url = 'http://b.hatena.ne.jp/entrylist/json?url=' . rawurlencode('http://example.com'); $jsonp = file_get_contents($url); 実行結果「503 Service Temporarily Unavailable」が返ってきています。 PHP Warning: file_get_contents(http://b.hatena.ne.jp/entrylist/json?url=http%3A%2F%2Fexapmle.com): fa
(この記事は2022年9月29日に更新されました) こんにちは。 京都のWebプランニング会社「ウェブライダー」の松尾です。 某社のレンタルサーバーからCPIのサーバーに乗り換えたことがきっかけで、このコラムを書かせていただく機会を得ました。 現在、ウェブライダーでは、CPIの専用サーバーと共用サーバーのふたつを借り、さまざまなWebサイトを運営しています。 さて、このコラムでは、Web集客を成功させるためのレンタルサーバーの選び方について、いろいろな視点からお話ししていきます。 今回は、Webサイトにアクセスが殺到した際、ページが見られなくなる「503エラー」についてのお話です。 あなたはどこかのWebサイトを見ようとした際、「503 Service Unavailable」「Service Temporarily Unavailable」などのエラーメッセージが表示されているのを見たこ
developer.mozilla.org › ... › HTTP › HTTP レスポンスステータスコード 2023/11/08 · 一般的な原因は、サーバーがメンテナンス中のために停止していることや、過負荷状態になっていることです。このレスポンスは、一時的な条件に使用する必要 ...
次期プロダクトでReact.jsを使ってみようと思っていて、その設計をどうすれば良いのかと試行錯誤した結果、それなりにイケてる結論に辿り着いたので、そのメモ書きです。 作ってみれば、Fluxとはこういうことか!というのがわかります。(若干アレンジはされてると思うけど。) それまで漠然と「ふーん、なるほどね。。」みたいな感じでなんとなくしか理解してなかったFluxが実は超画期的なパラダイムシフトであったことに気がついて結構衝撃を受けています。(^^; ちなみにプログラミングの文脈でeと言ったらまず思いつくのがEventかExceptionのどちらかだと思うけど、この場合はもちろんEventのことです。 すべてがExceptionになるのなら、即刻使うのを止めた方が良い。(^^; Fluxとは Fluxの説明では必ずと言って良いほど参照される図なので見たことある人も多いと思うけど、こういうアー
api-first-specにBadRequestを一気にテストする機能を追加したので、その紹介です。 api-first-specって? WebAPIの定義をjsで記述して、それをそのままテストにも使ってしまおうという試みです。詳細はこちらに書きました。 BadRequestとは? WebAPIに対する不正なリクエストメッセージのことです。 例えば、APIの仕様としてユーザ名は6文字以上、32文字以下と規定してあったとします。 この場合、5文字以下や33文字以上のユーザ名を送りつけてくるリクエストはBadRequestです。 仕様としてそれはやるんじゃない!と明記されている事項に違反しているのでBadRequestと呼ばれます。 BadRequestに対するサーバ側の対処方法はいろいろなやり方がありますが、一番シンプルで正当な方法はHTTPレスポンスのステータスコードとして400を返すこ
「400 Bad Request」は、不正な構文、無効なリクエストメッセージフレーミング、または不正なリクエストルーティングのために、サーバーがクライアントによって送信されたリクエストを処理できなかったことを示すHTTPステータスコードです。
Perlの正規表現、 \G の項目がどうにも分からん! だって末尾に /g をつけたら最後まで検索しちゃうんでしょ? $html =~ s/\G\s*<h[1-6]>/<span class="dekamoji">/g; みたいなのが何の意味があるのさ? ↑つい二時間前まではこう思ってた。 でも、それは大きなミステイクだった。 \Gもまた、正規表現の能力を単なるマッチや置換から大幅にパワーアップさせてくれる要素だったんだ。 勘違いの始まりは、正規表現を学べば誰もが目にする s///g からだった。 $mojiretsu =~ s/hogehoge/fugafuga/g; とすると、検索文字列 $mojiretsu 中のすべての hogehoge を fugafuga に置換する。 でも、それだけだとあまりよい理解じゃなかったんだ。 s///g と似た形をしている、 m//g というコンテキ
自分にはもう必要ないかもと思いながら積読状態だった Linux標準教科書 を読みました。 以外と知らないこともあり勉強になりました。 基礎大事。 shellのデバッグ(sh -x) : 9.8 デバッグ(P.177) 新人の頃shellを書きまくって、print debugしまくってた自分に教えてあげたい。 例として分かりにくいかもしれませんが、 -x をつけて実行すると コマンドや変数の中身を表示しながら実行してくれます。 sampleとしては若干見にくいかもしれないですが $ cat samle.sh while true do echo "Continue? (y/n)" read input case $input in n) break ;; y) continue ;; *) echo "Please input y or n." ;; esac done これを -x 付きで
タグの管理にmbleigh/acts-as-taggable-on を使っています。 非常に使いやすくて重宝しているのですが、一部のタグのみ他のテーブルと関連づけしたかったので 拡張してみました。 やりたいこと schema.rb acts-as-taggable-on を使うと以下のようなテーブルが作成されます。 create_table "tags", force: :cascade do |t| t.string "name" t.integer "taggings_count", default: 0 t.index ["name"], name: "index_tags_on_name", unique: true end データとしては以下のような感じです。 id=1,2 はカテゴリーですが、id=3 は人物です。 別途、人物を管理するpeopleテーブルを保有しているとすると
Rails 5 の新機能おさらいしとこうと思ってググって以下のスライドを見ていたところ 思っていたよりも変更があってショック受けていたら、Rails 5.1 の資料でした。 フライングしちゃった気分だわ。 まだリリースされていないので、ご参考程度に。 Rails 5.1: upcoming features // Speaker Deck 気になるところ tagが便利になる New syntax for tag helpers i.e. tag.br instead of tag('br') #25195 by marekkirejczyk · Pull Request #25543 · rails/rails tag 使ったことなかったですが、content_tag も tag で代用できるようです。 気持ち少し短く書けます。 # before tag(:br, nil, true) <
違うアプローチを試して少しはまってしまいましたが、 とても簡単に association も考慮して検索することができました。 Ransack 賢いなぁ。 例 以下は、title と description と tag の like検索になります。 query = { title_or_description_or_tags_name_cont: "ケーキ"} q = Article.published.ransack(query) q.result(distinct: true) SELECT DISTINCT "articles".* FROM "articles" LEFT OUTER JOIN "taggings" ON "taggings"."taggable_id" = "articles"."id" AND "taggings"."context" = ? AND "tagg
実はGoogle Analytics のview 設定を行うだけで、サイト内検索キーワードのtrackingが出来てしまいます。 サイト内検索を設定して検索データを確認する 設定方法 管理 > ビューの設定 より 「サイト内検索のトラッキング」をオンにして、クエリパラメータを設定するだけです。 先日、Ransackで検索を実装し、 RansackのURLを変更を行いました。 これにより、以下のようにクエリがシンプルになりました。 # before ?utf8=✓&q%5Btitle_or_description_cont%5D=test # after ?q=test ですので、GAのクエリパラメータ設定に「q」を入れるだけで良いです。 POSTは? GETベースの検索であれば上記のようにパラメータ設定するだけです。 ヘルプにも記載されていますが、POSTベースの場合はurlに付与するか、
タイトルは大げさです。割と当たり前の話です。 ハードディスクの整理中にRailscastsのメモが出てきまして 懐かしいなぁ、 Ryan Bates(@rbates)さん 元気かなぁと Twitterを覗いてみたところ How to write a Git commit message: http://t.co/D31dVh1lks— Ryan Bates (@rbates) 2015, 7月 28 なかなか興味深い記事をtweetされていました。 Git の commit messageに 規律をもたらそうぜ、ってのは どうやら日本人だけじゃないようです。 元記事( How to Write a Git Commit Message ) Introduction 著者の過去と現在のcommit logを対比しています。 一貫して、この緑と赤の対比が見やすいので、記事も読みやすいです。 ま
近年導入された新しい機能を中心に、いろいろ試した結果をメモします † 最近の正規表現 (PCRE) はいろいろ拡張されていて、以前では考えられなかったほど高機能になっています ・・・ ということを最近になって知ったので、近年(?)導入された新しい機能を中心に、いろいろ試した結果をメモしました。 http://docs.ruby-lang.org/ja/1.9.3/doc/spec=2fregexp.html ここを見ながら、ruby 1.9.3 および ruby 2.1.5 で検証しました。 この2つのバージョン間で、結果に差異は無かったようです??? と Qiita で書いた ところ、 @riocampos さん: 正規表現エンジンは、Ruby 1.9系だと鬼車、2.0系以降だと鬼雲が使われています。 違いとして顕著なのは、 Unicode 文字プロパティに関しての部分だと思いますので、
正規表現オブジェクトの生成 1. //でくくる ex) re1 = /Ruby/ 2. Regexp.new() ex) re2 = Regexp.new("Ruby") 3. %r を使う ex) re3 = %r(/Ruby/) ★正規表現に/を含んだ文字列を指定したい場合便利 正規表現のマッチング 正規表現 =~ 文字列 マッチングした場合はマッチングした文字が何文字目かを、 マッチングしない場合はnilを返す。 ex) 1. /Ruby/ =~ "aaRuby" #=> 2 2. /Ruby/ =~ "Java" #=> nil 正規表現のパターン ^ 行頭 $ 行末 [] または ex) /[AB]/ AまたはB [^] 〜以外 ex) /[^AB]/ A,B以外 . 任意の1文字 \s 空白文字 \d 0-9までの数字 \w 英数字 \A 文字列の先頭 \z 文字列の末尾 \メ
オプション. /pat/という正規表現の直後に以下のアルファベットを置くことで、正規表現にオプションを指定することができます。 /pat/i 大文字小文字を無視する; /pat/m ...
2024/03/26 · 実用的な正規表現のパターンを習得したい; Rubyでの高度な正規表現のテクニックを学びたい; デバッグやエラー解決のための正規表現のテスト方法を理解 ...
正規表現による文字列とのマッチングは「=~」演算子で行います。Rubyのマッチングではデフォルトでは欲張りマッチングです。 マッチした場合は、マッチした文字列中の場所の先頭インデックスを返します。また、マッチした部分や前後の文字列を取り出すことができます irb(main):001:0> r = /[A-Za-z]\d/ #1文字目が英字、2文字目が数字の正規表現 => /[A-Za-z]\d/ irb(main):002:0> p r =~ "abc123" #正規表現でマッチング 2 => 2 irb(main):003:0> p $& #マッチした文字列 "c1" => "c1" irb(main):004:0> p $` #マッチした文字列の前の文字列 "ab" => "ab" irb(main):005:0> p $'
正規表現にはいくつかの修飾子が用意されています。ここれでは Ruby の正規表現で利用可能な修飾子の種類と指定方法について解説します。
本記事について 本記事では、正規表現を用いて文字列操作が出来るようになることを目的にします。正規表現を使ったことがない人でも分かりやすいように書いたつもりです。 具体的には、Stringクラスのメソッドsub、gsub、matchメソッドが登場し、その中で正規表現を使っていきます。 なお、本記事の作成にあたって、 Rubyリファレンス(String) RubyのString/Regexpクラスによる強力な文字列操作/正規表現 等を参考にしています。 それでは、早速みていきたいと思います。 正規表現を使う Regexpクラス Rubyで正規表現を扱うためのクラスはRegexpクラスです。(Regexp = Regular Expression) このRegexpクラスを用いながら、正規表現を行っていきます。 そもそも、正規表現を用いる理由は以下です。 ある文字列が特定のパターンを持っているか
[edit] 要約 正規表現のクラス。正規表現のリテラルはスラッシュで囲んだ形式で記述します。 /^this is regexp/ Regexp.new(string) を使って正規表現オブジェクトを動的に生成することもできます。 str = "this is regexp" rp1 = Regexp.new("^this is regexp") p rp1 =~ str # => 0 p Regexp.last_match[0] # => "this is regexp" Ruby 3.0.0 から正規表現リテラルは freeze されるようになりました。 p /abc/.frozen? # => true p /a#{42}bc/.frozen? # => true p Regexp.new('abc').frozen? # => false 正規表現 や リテラル/正規表現リテラル
正規表現 ... 正規表現(regular expression)は文字列のパターンを記述するための言語です。また、この言語で記述されたパターンも正規表現と呼びます。 正規表現を用いると、 ...
docs.ruby-lang.org › ... › ライブラリ一覧 › 組み込みライブラリ › Stringクラス この文字列が評価される時点ではまだ正規表現マッチが行われておらず、 $1 がセットされていないからです。 また、gsub では「\」が部分文字列との置き換えという特別 ...
小さなことですが… 複数の文字パターンを置換する gsubで複数の文字を置換したい場合、メソッドチェーン?で 置換文字数分gsubを呼ばなきゃならんと思っとりました。 "hogeはfugaです。".gsub("hoge", "私").gsub("fuga", "男") #=> "私は男です。" 実は置換する対象をハッシュで渡せるとはつゆ知らず… 参照:gsub, gsub! (String) - Rubyリファレンス ruby1.9〜 "hogeはfugaです。".gsub(/hoge|fuga/, "hoge" => "私", "fuga" => "男") #=> "私は男です。" 第1引数で渡した正規表現に該当する文字を、第2引数のパターンにそって 置換してくれるようです。 でもなんかもっと素直に書ける方法がありそうな気がするが。 後方参照する場合 正規表現を使った場合、括弧で囲んだ部
[edit] dynamic include: JSON::Generator::GeneratorMethods::String (by json) dynamic extend: JSON::Generator::GeneratorMethods::String::Extend (by json) 要約 文字列のクラスです。ヌル文字を含む任意のバイト列を扱うことができます。文字列の長さにはメモリ容量以外の制限はありません。 文字列は通常、文字列リテラルを使って生成します。以下に文字列リテラルの例をいくつか示します。 文字列リテラルの例 'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効) "string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効) %q(str\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デ
gsub(pattern, replace) -> String[permalink][rdoc][edit] 文字列中で pattern にマッチする部分全てを文字列 replace で置き換えた文字列を生成して返します。 置換文字列 replace 中の \& と \0 はマッチした部分文字列に、 \1 ... \9 は n 番目の括弧の内容に置き換えられます。置換文字列内では \`、\'、\+ も使えます。これらは $`、$'、$+ に対応します。 [PARAM] pattern: 置き換える文字列のパターンを表す文字列か正規表現。文字列を指定した場合は全く同じ文字列にだけマッチする [PARAM] replace: pattern で指定した文字列と置き換える文字列 例 p 'abcdefg'.gsub(/def/, '!!') # => "abc!!g" p 'abcabc'.g
docs.ruby-lang.org › ... › ライブラリ一覧 › 組み込みライブラリ › Stringクラス 文字列中で pattern にマッチした部分を順番にブロックに渡し、その実行結果で置き換えた文字列を生成して返します。ブロックなしの場合と違い、ブロックの中からは ...
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く