コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

C#の感想文

たまには感想文を書こうと思います。

はいさーえいさー僕です。つい先日C#学べるサイト見つけたんでやってみました。

コレ。
f:id:andron:20200116012804p:plain
codeasy.net
なんかググっても情報なかったし、アフィリエイト系のオススメ記事しかないからやってみた記事書くことにしました。んで、僕は例のごとくお金ないマンなので初等コースしかしません。そこから先は君の眼で確かめてくれ!サイト内の独自通貨がウィルスとかいう名称なんで怪しいやつなのかもしれないけども僕はその先には一切踏み込む気はないので君の眼で確かめてくれ!


はい、てなわけでして。Freeコースの内容ですがこんな感じになります。やっているときは全然気にしてなかったけど前のコースを80%終了することで次のコースに進める形式になっているらしいっす。
f:id:andron:20200116015436p:plain
内容としては概ね型の話していた気がします。基本的には標準入出力の取り方と基本文法の確認でおしまいって内容でした。.NET FRAMEWORKとかもカリキュラムにあるけど内容はクイズでした。

んで、読み物だけのものなのかと思ってたんですけど随所に問題あって解くと「熱盛」みたいな「Solved」がもらえる。
f:id:andron:20200116020401p:plain

using System;
namespace MyNameSpace
{
    class MyClass
    {
        static void Main(string[] args)
        {
            // your code here!
            string text = Console.ReadLine();
            Console.WriteLine(text);
        }
    }
}

問題で書くコードは上みたいな感じ。最初の方は出力だけだったり、コンパイルが通るように修正しろみたいな内容だけど、後半は入力もとるのでどこにでも見かけるコードテストみたいな内容になってた。まあ、最初の講座なんでそこまで難しい内容ないですが……。設問はフランクな文章なので解釈にハマったりするとそんな問題でも泥沼化します。時間かかった…………。

codeasy.net
ここの情報によると91個課題があるらしい。通りで仕込みに時間かかるわけだ……。


ちなみに、Visual Studioの方に拡張機能があったりするっぽいです。へー。
f:id:andron:20200116014748p:plain



とまあそんな感じの内容のサイトがあるそうなんですけど、これはどうなんですかね。いいものなんですかね……?

僕はこういうよくわからないのが好き

これだけは伝えておきたかった……。

はい、おはようございます。僕です。今日もよくわからないサイトの紹介でもしようと思います。このブログは別に便利なツールや技術を紹介するとかそういうのでもないのです。そんなわけで本日はよくわからないサイトでも紹介しようと思います。


f:id:andron:20200115133036p:plain
こんなサイトとかどうだろうか……。

サイトはこちら
www.republiquedesmangues.fr
翻訳かけたらマンゴー共和国のウェブサイトって書いてあった。これなんなんですかね…。

ペチピーでスクレイピング

シンプルスクレイピングシリーズ2020

おっす。今日もブログ更新したゾ。我を褒め称えよ。

はい、てなわけで今日はPHP使ってスクレイピングしていきたいと思います。なんで突然そんなことをやるかといえばなんとなくです。RubyとかPythonとかやるよりPHPで色々いじった方が動くもの作るにはいいんでないかという考えからです。んで、今回利用していくツールはこちらになります。
・ファイル
PHP Simple HTML DOM Parser - Browse Files at SourceForge.net
・ミラー:Github
GitHub - simplehtmldom/simplehtmldom: This is a mirror of the Simple HTML DOM Parser at

ちなみにこれ使う理由は僕が借りているレンタル鯖Composerぶっこめないからできるだけファイル数少なめのやつで試そうと思ったからです。AWSみたいなリッチな環境が使えるブルジョワな皆様は参考にしないでくださいね。


使ってみる

近年はどこもかしこも動的サイトになっているからなかなかうまくとれないんだけど、下のサイト(niftyニュース)普通に取得できた。いやーパーサーあればなんとかなるんじゃねとか思ってたけどそういえばそういうのあること失念してたわw
news.nifty.com

まあniftyのニュースのやつは普通に取得できたんでサンプルコード載せておきます*1
f:id:andron:20200114192046p:plain

<?php
include_once('../../simple_html_dom.php');

function scraping_slashdot() {
    $html = file_get_html('https://news.nifty.com/');
    foreach($html->find('.widget_topic_set') as $ranking) {
        $item['title'] = trim($ranking->find('span')[0]->plaintext);
        $item['link'] = trim($ranking->find('a')[0]->href);

        $ret[] = $item;
    }
    
    $html->clear();
    unset($html);

    return $ret;
}

// -----------------------------------------------------------------------------
$ret = scraping_slashdot();
echo '<h1>国内主要ニュース</h1>';
foreach($ret as $v) {
    echo '<ul>';
    echo '<a href="https://news.nifty.com/'.$v['link'].'">'.$v['title'].'</a>';
    echo '</ul>';
}
?>

てな感じで確認できました。

さて、動的サイトはどうやって対応しようかね。フリーのレンタル鯖ってSeleniumとか使えんのかね。これ使えるとわりとやりたい放題できるんだけどどうなんだろう……。まあ色々試行錯誤してみます。

*1:今後仕様が変わって取得できなくなったとしても僕は責任は取りません