2年半ぐらいぶり、ミナミヌマエビ
久しぶりに原稿を上げるなら、水槽のネタからで。
大阪府泉南市で採集したミナミヌマエビ(遺伝的な同定はせず、形態学的に)を、熱帯魚水槽に移入して1週間。
「ヒーターを使用し水温を一定に保った水槽内では通年繁殖が可能」とあるので、抱卵が楽しみです。
私の留学期間中水槽を管理してくれたI先生が、熱帯魚の淡水水槽を作ってくれて、black mollyの繁殖など、ほほえましく医局をいやしてくれているのですが、28℃設定の120cm水槽は、LED照射で藍藻、緑藻が増えています。
上部フィルターでろ過装置はあるものの、個体数も多く、コケ対策が必要です。3月5日ミナミヌマエビを別水槽として沈下し、重しとしていれた、水槽内の石を見てみました。
「コケ対策生体として有名なヤマトヌマエビやミナミヌマエビなどがこの藍藻を好んで食べてくれますので水槽内」に入れるとよいとあり、緑藻がついた石をエビ水槽(かご?)に入れています。
4日間で石の頂上を覆っていた藍藻が、食餌により縮小しています。明日にも石を交換できるかもしれません。熱帯魚たちはエビが好物の様でアクリル越しにつついてきます。環境変化に適応できず死んでしまったエビ個体を熱帯魚に与えてみると、4-5匹なら一晩で食べつくすようです。コケ対策として導入したいのに、餌になりそうです。どのようにして、エビと魚を混泳させるかは今後の課題です。
紀の川市の休耕田横の水路で越冬した、マツモ1株を試しに移入しました。水路の泥に根は伸ばしたので、外来種のカホンバの可能性も否定はできません。
いずれにせよ、この環境に適応して生着しそうな感じです。水路には広範囲に繁茂していたので、もし外来種であれば、役所などに対応を確認しなければいけないかもしれません。
泉南市では、数メートル幅の耕作用水路で別の水草を採取して移入しました。
こちらも生着しそうですが、名前がわかりません。
私個人としては和歌山の里山の一部として、水系が再現できるような水槽が夢ですが、今いる熱帯魚たちも愛着もあるので、まずは、水草から環境を整えていこうかと考えています。
https://www.naro.go.jp/publicity_report/publication/files/agriculturalcanal_manual_09.pdf
当直室無線LAN
以前医局内LANの速度を確認いたしました。
http://orlwmu.hatenablog.com/entry/2017/10/07/121837
同じく当直室についても、専用線配下に無線ルータをおき、接続としています。
------ BNRスピードテスト (ダウンロード速度) ------
測定サイト: http://www.musen-lan.com/speed/ Ver5.6001
測定日時: 2019/06/17 20:08:01
回線/ISP/地域:
--------------------------------------------------
1.NTTPC(WebARENA)1: 32.43Mbps (4.04MB/sec)
2.NTTPC(WebARENA)2: 27.76Mbps (3.47MB/sec)
推定転送速度: 32.43Mbps (4.04MB/sec)
早くはないけど、一般に動画ストリーミング程度の負荷なら、0.5Mbpsから25Mbps(Netflix)とか。余裕はないけど、まあ、可能なレベルだと思われます。
自動接続がないと接続が断続的になるという話を聞きましたが、何故かはよくわかりません。
ActiveMailの容量が足りなくなる
大学のウェブメールはActiveMailのサーバを使っています。
定期的に事務よりサーバの個人割り当て容量が足りなくなると通達がきて、いちいちメールを消去しなくてはなりません。
gmailへ転送している関係で、サーバにメールのコピーを残す必要があり、半年に一度程度大掃除となります。100通ごと消去を手作業で行うため、自動化できないか気になっておりました。
自動アーカイブ機能
とやらがあるようです。
https://www.qualitia.co.jp/support/am/2015/02/27_1438.html
ヘルプを見ると、バージョンは、BuildInfo: 6.57.02007946(normal)
と表示されており、要件を満たしていると思われます。
「管理者インタフェースから利用するように設定を行ってから、自動アーカイブコマンドを実行することでご利用が可能です。また、cron に登録することで、期限の過ぎたメールを定期的にアーカイブすることが可能です。
設定の詳細については、管理者マニュアル『5.1 自動アーカイブコマンド』をご参照頂き、設定をお願い致します。
尚、複数 Web サーバ構成の場合で、cron登録を行なう場合は、各サーバで実行する時間をずらしてください。」
もしかしたら、サーバ側でだけ実行できるのでしょうか?
とりあえず、サーバ管理者に問い合わせつつ、ユーザ側でできそうな、filteringをしてみました。2019.5以前のメールをゴミ箱に移すというfilterを作成し、Inboxに適応しました。
しかしメールが多すぎるのか、error code -3で返ってきました。。。
だめかな。。。と思いましたが、reloadすると、ごみ箱に1万8千件が!
empty trashbox!で一撃!
これで、とりあえずは解決しました。あとはcronかどうかです。
GASを使ってやりたいことを探りながら、エラーデバッグ
ときどき、以下のエラーがでてスクリプトが進まないことがあります。
メソッド getEvents(string,object) が見つかりません。(行 15、ファイル「派遣医スケジュール」)
きっと変数がDate属性になっていないからだと思うのですが、指定の方法がわかりません。ときどきできるのもなぜかわからないのですが、まあ、ほかの事をやりながら謎が解けたりするだろうと思って、
1.重複抽出 => アラート
2.月間予定表などのスプレッドシート作成
3.表示カレンダーパターンの切り替え
以上のテーマを考えてみたいと思います。
1. 重複抽出 => アラート 作成
特定の日でおなじ名前のイベントの時間が重複していればダメというもの。
Gsuiteなどにすれば問題にもならないのでしょうが、そういうわけにもいかないので、イベント名に含まれる各医師名の重複を見ることにします。
そろそろ夏休みも終わりますが、結局できたのは、Date属性の宣言と、1週間予定の終了日設定でした。以下、参考にしました。
var startDate = new Date(sheet.getRange('B'+(3)).getValue());
Logger.log(startDate)
var endDate = new Date(startDate);
endDate.setDate(startDate.getDate() + 7);
Logger.log(endDate)
var events = calendar.getEvents(startDate,endDate);
やれやれ、Loggerlogでのエラーデバッグも慣れてきました。
GASでカレンダーイベントをスプレッドシートに二次元配置
スケジュールは月間と週間を作っています。
グーグルカレンダーに入力するところまでは行きましたが、実際人はカレンダーをクリックしません。結局エクセルシートをプリントアウトしたものを見に行くようです。
人の行動を変えるのは不可能のようで、GASを使って、スプレッドシートで一目で流れがわかる表を作らないといけないと考えました。
外勤先ごとに、個別のカレンダーがあり、派遣医の名前をいれたイベントが各日付に入力されています。これをスプレッドシートに書き出すのは、以前できましたが、もう少し整形してみたいと思います。
曜日の決まっているイベントはそのstarttimeを取得してもいいし、event[i]として曜日欄に順に入れもいいと思います。
以下のリファレンスをみると、カレンダー名は
Class Calendar | Apps Script | Google Developers
Class CalendarEvent | Apps Script | Google Developers
getNameで。
nameという変数に入れ込んで、setValueで書き込みました。
次に曜日指定ですが、こればjavascriptの様式にのっとる感じです。
これで、getDayを実行すると、日曜なので、0が返されるのがわかりました。
外勤の曜日に合わせて所定の列に表示させてみます。GASのリファレンスでもinteger: 整数と書いてありました。
Class DateField | Apps Script | Google Developers
// Logs the day of the birthday for contact 'John Doe'
var contacts = ContactsApp.getContactsByName('John Doe');
var birthday = contacts[0].getDates(ContactsApp.Field.BIRTHDAY)[0];
Logger.log(birthday.getDay());
これを見ると、連絡先からもひっぱってこれるようです。
カレンダーのevents[i]から曜日はひっぱれず、startTimeからひっぱります。
大体、完成なんですが、イベントを取得する週の指定をしてみたいと思います。
スプレッドシートで、日曜の日付は入力規則でカレンダーから選ぶ形とし、月曜以降は+1で日を足していき一週間を表示させます。
この初日を
getEvents(new Date('2018/07/22'), new Date('2018/07/29'))
セル指定でいれると、
getRangeでセルを指定したのち、getValue()で値をとり、初日と最終日で範囲を指定しました。
Class CalendarApp | Apps Script | Google Developers
なんとか出来てきました。
学校健診
学会出張 などが病棟、外来スタッフと共有すべきスケジュールだと思われ、カレンダーの整理をしました。