スキップしてメイン コンテンツに移動

プログラミングの第一歩?

RSSリーダーはオワコン...だなんて話題をよく見かけるけど、
ニュースやブログ、はたまたSNSなどの欲しい情報を
なんでもかんでも登録しておくと
情報が更新されると、パソコンやスマホに
いち早く通知してくれるので、
オレ的には欠かせない存在(笑)
本当に必要な情報に絞れるし、
SNSのように余計な情報に触れなくて良い分、
気持ちが楽?
しかも、新しい情報が出たら通知してくれるから、
探しに行かなくても良いので楽?

そんなRSS更新情報にこだわって
臨床工学技士のアンテナ」だなんて
アンテナサイトを拵えてみた

...だけど、
プログラムの知識を持たなかったので
外部のRSS Feed(更新情報)サービス(もちろん無料)を利用して、
ウェブサイトにコピペして表示させていた(笑)
...しかし、
掲載サイトが100を超えたあたりから
外部サービスのサーバで対応できなくなって
エラーが頻発(無料だからか?:苦笑)

半分以上、更新表示されなくなり
ウェブサイトとして更新するのも恥ずかしいほど
使い物にならなくなった(汗)

そこで、RSS FEEDを自作してみようと
今まで逃げ回っていたプログラミングに挑戦!?

イヤイヤイヤ...
いきなりは難しんで、
ググって、同じことやっている方のやり方をコピペ
...じゃなくて、参考にさせてもらって
チョイ改造を加えてみた(笑)

Googleアカウントを持っているなら
Google Apps Script(GAS)を使うと簡単できちゃうんだよね

GASとは、
Googleが提供する、Webアプリを開発するプログラミング言語で
有名なJava Script(JS)がベースとなっている
GASを勉強したら、JSの勉強にもなるかもね(笑)

Google特有のサービス
Gmailやマップ、カレンダー
ドキュメント(Wordみたいなもの)や
スプレットシート(Excelみたいなもの)
等々...と連携させると、
いろんなことが自動化できるそうな!?

...で早速、以下のサイトにアクセス
https://script.google.com/home

「+新規スクリプト」よりコードを打ってみた(汗)


[コード.gs]

1   function doGet() {
2   return HtmlService
3   .createTemplateFromFile('index')
4   .evaluate();
5   }
6
7   function getRss() {
8   // フィードのURL
9   var feedURL = "https://feed43.com/xxxxxxxxxxxxxxxx.xml";
10  var response = UrlFetchApp.fetch(feedURL);
11  var xml = XmlService.parse(response.getContentText());
12
13  var items = xml.getRootElement().getChildren('channel')[0].getChildren('item');
14
15  var articles = [];
16  for(var i = 0; i < items.length; i++) { 17  var title = items[i].getChild("title").getText(); 18  var url = items[i].getChild("link").getText();
19  articles.push({title: title, url: url});
20  }
21  
22  return articles;
23  }


これをHTMLに落とす...Feedボタンなども付け加えてみた(汗)
[Index.html]

1   <!DOCTYPE html>
2   <html>
3   <head>
4   <base target="_top"></base>
5   <style type="text/css">
6
7   li {
8   padding-top:10px;
9   padding-left :0px;
10  list-style-type: square;
11  color: #AAAAAA;
12  border-bottom: dotted 1px #AAAAAA;
13  }
14
15  </style>
16  </head>
17  <body>
18  <a class="RSS Feed" href="https://feed43.com/xxxxxxxxxxxxxxxx.xml" target="_blank"><img alt="RSS Feed" height="20" src="https://images-fe.ssl-images-amazon.com/images/I/318pS6vsuxL.png" width="20" /></a>
19  <a class="Feedly" href="https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Ffeed43.com%2Fxxxxxxxxxxxxxxxx.xml" target="blank"><img 20="" alt="follow us in feedly" height="20" id="feedlyFollow" src="http://s3.feedly.com/img/follows/feedly-follow-square-volume_2x.png" width="20" /></a>
20  <a class="Inoreader" href="https://www.inoreader.com/?add_feed=https://feed43.com/xxxxxxxxxxxxxxxx.xml" target="_blank"><img alt="follow us in inoreder" height="20" id="inoreaderFollow" src="https://jds-blog.net/wp-content/uploads/2018/11/inoreader-1.jpg" width="20" /></a>
21
22  <ul id="things">23
<li>Loading...</li>
24  </ul>
25
26  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
27  <script>
28  // The code in this function runs when the page is loaded.
29  $(function() {
30  google.script.run.withSuccessHandler(showThings)
31  .getRss();
32  });
33
34  function showThings(things) {
35  var list = $('#things');
36  list.empty();
37  for (var i = 0; i < things.length; i++) {
38  list.append('<li>' + '<a href="' + things[i].url + '">' +things[i].title + '</a></li>
');
39  }
40  }
41  </script>
42  </body>
43  </html>


あとは、保存→公開で
ウェブアプリケーションのURLを
サイトにコピペするだけ!?

意外と簡単だった(笑)
これを、100を超える全てのサイトを置き換えるのに
丸1週間かかった(休日はほぼ返上で:汗)

だけど、外部サービス使ってたときと比べ
エラーは皆無
動作もかなり快適になったよ(嬉)

GASを活用したら、
ウェブアプリ以外にも
いろんなことができそうだね...

SLACKのようなスタッフ間の連絡ツールや勤怠管理、
災害時の情報ツール、
クラウド型の医療情報システムなんかも作れるかも?

夢は広がるね(笑)

前スレで脱Google!とか偉そうなこと言ってたのに
これじゃ抜けるどころか、Google様々だな(苦笑)

その前にGAS(JS)について
もう少し勉強するとします(苦笑)

コメント

このブログの人気の投稿

[Ubuntu 12.04 LTS]無線LANの設定【備忘録】

所有している2台のPCのうち1台は少々型古なノートPC 無線LANを内蔵しているので、使わない手はないかな... ただし親機も型古で、接続状況があまりよくない 使用中に切断されることもシバシバ... 最近はもっぱらPLCを使って有線LANにしているが、 せっかくなのでUbuntuでの無線LANの接続方法もご紹介しときます まずは我が家の無線環境をご紹介 ノートPCのスペックは... 【型式】 hp Compaq nw8440 【CPU】 インテル® Core™2 Duo プロセッサ T5500、1.66 GHz、667MHz FSB 【メモリ】 1024MB PC2-5300 DDR2-SDRAM 【HDD】 Serial ATA 80GB内蔵、7200rpm 【無線LAN】 Broadcom® 4311BG(IEEE802.11b/g、WiFi準拠) 【無線セキュリティ】 64/128bit WEP、WPA、WPA2、hardware-accelerated AES、802.1x authentication types EAP-TLS、EAP-TTLS、PEAP-GTC、PEAP-MSCHAPv2、LEAP、EAP-FAST、EAP-SIM

ダイアライザの種類を増やす

以前、 エセon-line HDF を行なっていた際、 ダイアライザは必ず高効率・高透水性のものを選定 結果、全てⅣ型、Ⅴ型のポリスルフォン(PS)系のみとなった 当時、使用していた銘柄は FDY-GW(PEPA)、VPS-HA(PS)、FX-S(PS)、APS-SA(PS、2.5㎡のみ)くらい 膜面積を変えて使い分け、 全てのダイアライザで必要に応じてon-line HDFを施していた 昨年、on-line HDFが認可され、 同時にヘモダイアフィルタも発売され、 エセon-line HDFを続けるのはマズイだろうということになり、 本当に必要な(適応のある)患者以外はHDへ移行することに その際に採用したのがAPS-EXだったが、これもPS

今更だけど生食プライミング再考①自己満足のうんちく ┐( -"-)┌マタクダラナイコトヲ...

今更シリーズ(笑) 当院は生食プライミングです... 1,300mL製剤のうち1,000mL使用 (残り300mLは返血用) 改めてプライミングの目的を再確認 透析医療事故防止のための標準的透析操作マニュアル には... 「ダイアライザと血液回路内の微小な塵, 膜の保護剤, 充填液および空気を洗浄除去し, 治療が開始できる状態にすることを目的とする」 ...とある とどのつまり、 血液回路内および人工腎臓(ダイアライザー)の 洗浄、気泡除去、充填...ってことね [洗浄] 滅菌残渣物、膜や回路材質からの溶出物、膜保護剤(グリセリンなど)、充填液(ウェットタイプの場合)の除去 [気泡除去] 気泡の患者体内流入および血液凝血の防止 [充填] 血液置換の際の溶血防止(生理的浸透圧溶液)、エアトラップチャンバの適切な液面調整 ...ってとこかな? 効果的な洗浄は、プライミング液の量を増やすことだろうけど、 コストや手間を考えた場合、 オンラインHDF専用機のような全自動装置で、 透析液でも使わなきゃ無理だろうね(苦笑)