yucken の業務上電脳 Tips 日記、なのだよ。-弐式-

いまさら電脳 Tips を書いてみむとして、するなり.元々は広い意味での電脳(コンピュータ)の Tips を書いていたのですが,いつのまにか,解析ツールの「電脳 ruby」の Tips がメインに.‥‥‥で,5 年間放置してたのだけどやはり Tips を書くブログがないと不便なのでふっかちさせたのであります.(・)>

IDL: foreach (制御ブロック)

foreach の要素の順をすぐに忘れてしまうのと、メモランダムに入れていると見つけにくいという理由で、ほんの短い記事ですが独立させました。

Documentation Center [Harris Geospatial Docs Center]

foreach elm, arr [, idx] do begin

endforeach

; elm: 配列 arr の要素, arr: 配列, idx 配列のインデックス

monthlist = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',$
                    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]
dayofmonth = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
foreach monthname, monthlist, im do begin
  ; im is Index for Month
  if( im NE 1 ) then begin
    print, string( monthname + " has", dayofmonth[ im ], " days",$
                       format = '( a, i3, a )' )
  endif else begin
    print, string( monthname + " has", dayofmonth[ im ], " or",$
                       dayofmonth[ im ] + 1, " days",$
                       format = '( a, i3, a, i3, a )' )
  endelse
endforeach; monthname, monthlist, im

; 結果
Jan has 31 days
Feb has 28 or 29 days
Mar has 31 days
Apr has 30 days
May has 31 days
Jun has 30 days
Jul has 31 days
Aug has 31 days
Sep has 30 days
Oct has 31 days
Nov has 30 days
Dec has 31 days

メモランダム on 17th Jul. 2017

Windows7 における TeX

TeXworks をインストールして使っていますが、特に問題なく使えています。下記のサイトの説明が分かりやすいです:

Windows - TeX Live のダウンロードとインストール - LaTeX入門

インストールソースなどはこちらのサイトから:

Installing TeX Live over the Internet - TeX Users Group

国産「地コーラ」・「地清涼飲料水」の話

「コーラってそもそも何味なの?」メーカーに聞いた - デイリーポータルZ:@nifty

木村飲料株式会社

textlintで日本語の自動校正サービスを作ってみた! | それいけ!フロントエンド

この議論の書き方は無意識に身についているものかもしれない:

論文を書くとき毎回悩む人に朗報 - 最難関「Discussion」は、こう書けば大丈夫 | ワイリー・サイエンスカフェ

気になった山火事に関する研究

Airborne measurements of western U.S. wildfire emissions: Comparison with prescribed burning and air quality implications - Liu - 2017 - Journal of Geophysical Research: Atmospheres - Wiley Online Library

間違ってファイルを上書きコピーしたときの対処

今回はおそらく復活不可能です*1。ですが、いろいろ試してみたので今後のためにまとめておきます。

cp -i

まず、cp コマンドが cp -i になっていなかったのが問題。rm は rm -i にしてあったのに。というわけで、~/.bashrc を書き換え

alias cp='cp =i'

Linuxコマンド一覧 [cp]

Windows7 での復活方法

保存版!うっかりファイルを上書き、削除してしまった時の OS 別復元法

今試している方法です。ただし冒頭に書いたように今回は難しそうです。

Linux (私の場合 Ubuntu 14.04) での復活方法

Linuxでext4magicコマンドによる削除・上書きしたファイルのリカバリ | 俺的備忘録 〜なんかいろいろ〜

linux 本来の ext3/4 なデバイスのファイルならこれで OK そうです。

今回は復活できなさそうですが…

失敗の内容は、長くなりすぎたスクリプト (a.pro とします。.pro は IDL のスクリプト類の拡張子) の一部をプロシージャ (b.pro とします。IDL のサブルーチンみたいなもんだと思ってください) として抜き出し、親スクリプト (a_mod.pro とします) から b.pro を読み出すように改造しようとしていたのですが…。

cp a.pro a_mod.pro

をやってしまいました。ターミナルの histroy に残ってたんですね。(最初に cp a.pro a_mod.pro; cp a.pro b.pro してから作業を開始したということです) 幸い、プロシージャ b.pro が無事ですので、その構造 (というか、親スクリプトとやり取りしている変数) から a_mod.pro をどういう風にしたかはかなりの部分想像できるので、そこまで大変ではないです。今回は。作業したのは昨日なのである程度覚えていますし。ただ、処理の位置や統合などの整理しながらやったので、そこが復活困難な部分。まー、来週になったら今の残念感も消えてやり直せることでしょう。

*1:Linux(Ubuntu) にマウントしていた Windows 側のディレクトリの中のファイルを間違って上書きコピー (cp コマンド) してしまったため、少しややこしい

メモランダム on 30th Jun. 2017

大気科学における理想気体状態方程式に関する教科書的文書

http://kishou.u-gakugei.ac.jp/lectures/basic/doc02.pdf 学芸大の教員のどなたか

https://ocw.kyoto-u.ac.jp/ja/06-faculty-of-science-jp/3412000/pdf/physclim3.pdf 里村先生

vim の置換の仕方忘れる (n 回目)

vim - 文字列置換

Excel などの vlookup あいまい検索

VLOOKUP関数【あいまい検索編】--Excel・エクセル

世界の歴史的人口推定に関する研究・ D 論

世界の人口の歴史 なかなかすばらしい。

Aura 衛星の大気観測鉛直範囲

https://disc.gsfc.nasa.gov/Aura/overview/gallery/aura_meas_chart_040527_jww.png

メモランダム on 21st Jun. 2017

はてなブログのデザインのカスタマイズ

基本

はてなブログでタイトルや本文の文字色を変える方法 - マトリョーシカ的日常 読みやすい記事です

はてなブログ各部分の id と class

はてなブログのidとかclassとか - kyabana's blog これは基本的だけど重要な記事

CSS における id と class の違い

スタイルシートの class と id の違いと使い分け [ホームページ作成] All About id はページ内の唯一のものにしか使えない、ことを抑えておけば OK. class は同種のものを一括に設定. よくよく考えると, 英語の読んで字のごとくだったりする. id はアンカーにもなる.

CSS はどこに書くか?

CSSではてなブログをカスタマイズしてみよう - NO TITLE この記事はデザインをいちからつくることが主眼だけど, 用意されたデザインを改造するときに CSS を書く場所も分かりやすく書かれている

CSS フォントの指定法

Font−familyのベストな書き方 2015年版 | それからデザイン スタッフブログ セリフ系・サンセリフ系の「結局どう指定しておけばよいか」を挙げられている

行頭記号を表示する class の作り方 (before::)

::before (:before) - CSS | MDN

入れ子 (子孫) 構造に即した class/id/(HTML タグも) 指定方法

スタイルシート[CSS]/CSSの基本/IDを使った指定 - TAG index

シェルスクリプト (#!/bin/sh) の基本

2 年ぶりにシェルスクリプトを書いたので基本的なことを忘れているのでメモっておきます。自分の書き方ですが、前はもっとスマートに書いていたかもしれません。とりあえず動く書き方ということで:

if 文

if [ $var -ge 10 ]# if のあとの [ ] ブロックの前にはスペースを入れる
then# if, elif の後は改行後に then を入れる.
#でも, 確かここまでワンライナーで書けたはずだが…
# あと, [ ] (ブラケット) 括弧はいらない書き方もあったはず

(elif [ $var -lt 5 ]
 then)
(else)

fi

for 文

実は今回初めて for 文を使いました. 普段は while を使って (たとえば) i = 0, 1, 2, … n の作業をするので

for idx in `seq 0 15`# ここ, [ ] で囲ってもいいような気がするんだけど… 
do# 改行して do を忘れない…ここも for からワンライナーでいけるはず
# idx を変化させる範囲の書き方が `seq ini fin` とか思いもしなかった

done

変数の定義

programdir="/usr/local/bin/"
# = (イコール) の前後はスペースを空けない.
#シングルクオートでも OK かも
program=$programdir"grads"
# 既存変数の代入時には $ を使う. 場面によっては { } (ブレース) 括弧
# が必要とした気がするけど詳細は忘れた. 既存変数以外の文字列部分は
# 上のようにダブルクオートで囲っておけばたぶん大丈夫

$program
#これで, プログラム /usr/local/bin/grads を実行

一行で書く

さっきからワンライナー, ワンライナー言ってましたが, 改行箇所をセミコロン (;-;) で置き換えれば OK ですね‥‥‥違う, (;).

論文の改訂が遅れるときの言い訳 & 期限延長お願いメール資料

つまり、論文改訂遅れてます…

再投稿の締め切りに間に合わないかもしれない場合は - 科学技術論文の専門家:株式会社フォルテ

【ビジネスですぐ使える!】「ヤバい、提出が遅れそう……」そんなとき、あなたの遅れを”つい許してしまう”メールテクニック | RareJob English Lab by レアジョブ英会話