おひとりさまプログラミング

無料で学べるブログラミング学習サイト

インフラエンジニアにとって役立つプログラミングスキルの一例

インフラエンジニアにとって、プログラミングスキルを身につけることは非常に重要です。プログラミングは、インフラエンジニアが自分たちの仕事を効率的に行うためのツールの1つであり、業務を効率化し、自動化することができます。ここでは、インフラエンジニアが役立つプログラミングについて解説します。

 

Python

Pythonは、インフラエンジニアが自動化スクリプトを書くために最もよく使われる言語です。Pythonは簡単に学べ、多くのライブラリがあるため、自動化ツールの作成に適しています。また、Pythonはネットワーク、サーバ、ストレージなどのインフラストラクチャに関するタスクを処理することができます。

 

Bash

Bashは、Linuxシステム管理に欠かせないスクリプト言語です。Bashシェルスクリプト言語で、Linuxシステム上のタスクを自動化することができます。Bashスクリプトは、システム管理者が様々なタスクを自動化するために使用されます。

 

Ansible

Ansibleは、自動化ツールの1つであり、インフラストラクチャの設定、管理、デプロイメントなどのタスクを自動化するために使用されます。Ansibleは、Python言語で開発されており、自動化プロセスをより簡単かつ迅速に実行することができます。

 

Git

Gitは、ソフトウェア開発において、ソースコードの管理に使用されるバージョン管理ツールです。インフラエンジニアは、システム設定の管理にもGitを使用することができます。Gitを使用することで、設定変更を簡単に追跡し、バージョン管理を行うことができます。

 

PowerShell

PowerShellは、Windowsシステム上で動作するスクリプト言語で、Windowsシステムのタスクを自動化するために使用されます。PowerShellは、Microsoftが開発したものであり、システム管理者がWindowsサーバーを管理するために非常に便利なツールです。

 

以上が、インフラエンジニアに役立つプログラミング言語の一例です。

Excel VBA講座【初級編】サンプル問題|For Next文を用いた判定プログラム

f:id:sayo0425tan:20210131191242p:plain

Excel VBA初級編のサンプル問題です。

今回用意した問題は、For Next文(その中にIFの条件式も追加)を用いた判定プログラムになります。

受験者の得点が表記されていない箇所があります。全てが表記されずに判定ボタンを押すとエラーメッセージが出力され、全て表記されると「合格」「不合格」を結果欄に表示させるプログラムになります。


f:id:sayo0425tan:20210131195545p:plain
【 初心者から財務プロまで 】エクセルで学ぶビジネス・シミュレーション講座 マスターコース

ではVBEを開いて下さい。
プログラムは標準モジュールに記載します。

Sub 合否判定()

    ' C2からC11のセルで、未記入("")がないかチェック。
    ' あったら"セルが未記入です"とMagBoxで表示する。

    Dim row As Long  '行を示す変数   
    For row = 2 To 11
      If Cells(row, 3) = "" Then
        MsgBox "C" & row & "セルが未記入です" & vbCrLf & "処理を中断します"
        Exit Sub
      End If
    Next row

End Sub

得点の入力箇所はC2からC11のセル。
C列は固定にして、行数が2行目から11行目まで変化するので、行数は変数に。
For文で変数rowを2から11まで代入し、For文の中身の処理をループさせる処理。
""で空白を表し、条件にあてはまれば、つまり空白であればメッセージが出力される処理になります。


空白でない条件がクリアされると次の処理に移ります。

Sub 合否判定()

    ' C2からC11のセルで、未記入("")がないかチェック。
    ' あったら"セルが未記入です"とMagBoxで表示する。

    Dim row As Long  '行を示す変数   
    For row = 2 To 11
      If Cells(row, 3) = "" Then
        MsgBox "C" & row & "セルが未記入です" & vbCrLf & "処理を中断します"
        Exit Sub
      End If
    Next row

    ' C2からC11のセルの値が70以上ならD列のセルに"合格"
    ' そうでないならD列のセルに"不合格"
    
    For row = 2 To 11
      If Cells(row, 3) >= 70 Then
        Cells(row, 4) = "合格"
      Else
        Cells(row, 4) = "不合格"
      End If
    Next row

End Sub

If Cells(row, 3) >= 70 Then ⇒70以上ならば
Cells(row, 4) = "合格" ⇒合格
Else ⇒70以上でなければ
Cells(row, 4) = "不合格" ⇒不合格

プログラムの記述は以上になります。


あとはボタンの配置です。

f:id:sayo0425tan:20210131222311p:plain

f:id:sayo0425tan:20210131222451p:plain

ボタンは適当な大きなに指定します。

f:id:sayo0425tan:20210131222710p:plain
「合否判定」を指定してOKをクリックします。
あとはボタンの名称を変更すれば完了になります。

以上になります。これからも問題は追加していく予定です。宜しくお願いします。

f:id:sayo0425tan:20210131195545p:plain
【 初心者から財務プロまで 】エクセルで学ぶビジネス・シミュレーション講座 マスターコース

Python講座|第1回 【Pygame】サンプルゲーム|クリックで画像をランダム表示

Pythonをこれから学ばれる初心者の方には、Pygameを使った学習から始める事を推奨したいと思います。

私の講座はYouTubeと一緒に学べるよう作成しております。こちらのブログでは、動画で紹介できなかったところの補足説明、さらにソースコードを貼りつけておりますので、コピーして実際の動きを確認していただければと考えております。

まずは画面にキャラクターを配置

f:id:sayo0425tan:20201028212550j:plain

エディタソフトで下記を記述し、ファイルの拡張子は「py」で保存して下さい。

fox = Actor("fox")
#Actor で画像ファイル名を宣言し、変数foxに代入
def draw():
	#画面に絵を描く(表示)draw()という関数を定義
    screen.clear()
    #画面表示をきれいに 今はこういうものがある程度で
    fox.draw()
    #変数foxに入れられたファイル画像を呼び出し表示
def replace_fox():
	#絵の位置を置き換える関数 replace_foxという関数を定義
	fox.x = 400
	#x座標の位置
	fox.y = 500
	#y座標の位置
 
replace_fox()

f:id:sayo0425tan:20201028213106j:plain

ターミナルソフトに pgzrun と入力した後、作成したファイルのパスの入力を行い、実行しましょう。これで画像が表示されます。YouTubeで紹介したものはこちらになります。


Python入門講座2020|第4回【Pygame】画像の表示と配置位置を変更

画像のランダム表示

それではここからゲーム性を持たせて学んでいきましょう。画像がクリックされたら、また別の箇所に画像がランダムに配置されるものを作ります。

#狐がクリックされたら「ナイスですね!」
#間違えてクリックしたら「惜しい!また挑戦してね!」と表示
#クリックするたび、狐が移動してゲーム再開
 
from random import randint
#randomモジュールからimportしてくる
 
fox = Actor("fox")
#Actor で画像ファイル名を宣言し、変数foxに代入
def draw():
	#画面に絵を描く(表示)draw()という関数を定義
    screen.clear()
    #画面表示をきれいに 今はこういうものがある程度で
    fox.draw()
    #変数foxに入れられたファイル画像を呼び出し表示
def replace_fox():
	#絵の位置を置き換える関数 replace_foxという関数を定義
	#fox.x = 400
	#x座標の位置
	#fox.y = 500
	#y座標の位置
 
 
	fox.x = randint(10, 500)
	fox.y = randint(10, 500)
 
def on_mouse_down(pos):
#クリックされたら → on_mouse_down() ビルトイン関数
#pos → ボタンが押されたときのマウス・ポインタの位置を示す
	if fox.collidepoint(pos):
		print("ナイスですね!")
		replace_fox()
	else:
		print("惜しい!また挑戦してね!")
		replace_fox()
 
replace_fox()
    #replace_fox()で呼び出し、表示させる

別ファイルで作ってもいいですし、初めに画像の配置を記述したソースコードのファイルに上書きしてもらっても構いません。ターミナルソフトから上記のようにコマンド実行してみましょう。クリックする度に、ターミナルソフトに文字が表示されます。


Python入門講座2020|第5回【Pygame】簡易ゲーム「クリックでランダムに画像の配置を変えてみる」

Ruby on Rails講座|第2回 Bootstrap4の導入とテンプレートでログイン画面を作成

第2回ではBootstrap4の導入と、Bootstrapテンプレートを採用してのログイン画面を作成します。まずは動画をご覧になりながら、Bootstrap4を導入して下さい。


Ruby on Rails 講座2019|第2回 Bootstrap4を導入してトップページを編集

Bootstrapテンプレートでログイン画面作成

まずは練習でbootstrapが使えるか試します。

views/home/top.html.erbにどこでもいいので
下記ソースコードを貼り付けてボタンが表示されるかどうか確認してみます。表示されることが確認できたら消してください。

bootstrapの部品を入れて表示させて見ます。
例:ボタン サイトはこちら
Buttons · Bootstrap


f:id:sayo0425tan:20201028201147j:plain

<button type="button" class="btn btn-info">Info</button>


次にbootstrapのサンプルページをマネて作ります。
signinというテンプレートを今回は使用します。
サンプルページはこちら
Examples · Bootstrap

f:id:sayo0425tan:20201028201517j:plain

ソースページを全コピーし、top.html.erbに貼り付け
貼り付けたソースページを整えていきます。
f:id:sayo0425tan:20201028201603j:plain
WEBブラウザSafari
開発→ページのソースを表示で
ソースコードをコピーできます。

BootstrapテンプレートのCSSを編集

画像を/app/assets/images/ に配置

画像のパスを src=”/assets/cow.png” にする

f:id:sayo0425tan:20201028201835p:plain

元のコード

<img class="mb-4" src="/docs/4.3/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">

変更後のコード

<img class="mb-4" src="/assets/cow.png" alt="" width="72" height="72">
CSSを編集する

Railsスタイルシート
app/assets/stylesheetsの中の
home.scssを編集する。

ソースコードを開き、signin.cssの中身を
home.scssへ全部コピー

f:id:sayo0425tan:20201028203407j:plain


元のコード

<link href="signin.css" rel="stylesheet">

変更後のコード

<link href="/assets/home.scss" rel="stylesheet">

f:id:sayo0425tan:20201028211456j:plain

これで完成です。
動画でも解説してますので
分かりづらい点ありましたらご確認下さい。


Ruby on Rails 講座2020|第3回 Bootstrapテンプレートでログイン画面を作成

Ruby on Rails講座|第1回 Railsインストール「初心者もエラーメッセージに対処してみよう」

プログラミング初心者にとって最初の難関となってくるのが環境構築となりますでしょうか。プログラミングはエラーメッセージの対処が必要になってきます。


私も今回新しいMacPCにRailsをインストールしたわけですが、先人の方々がネットに書き記した内容そのままに入力しても、やはりと言いましょうかエラーメッセージが返ってきて、思う通りにいかないわけで・・・


なので参考にさせていただいた記事を元にエラーメッセージの対処法をyoutube動画と当ブログに書き起こしておきます。動画とブログ合わせてご覧下さい。


Ruby on Rails 講座2019|第1回 Rails6 インストール【エラーメッセージ対処】

bash_profileの設定
 
echo 'export PATH="~/.rbenv/shims:/usr/local/bin:$PATH"' >> ~/.bash_profile
 
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
 
source ~/.bash_profile

エラーその1:bootsnap
`require’: cannot load such file — bootsnap/setup (LoadError)

Gemfileに
gem ‘bootsnap’, require: false
こちらの記述を行って下さい。


エラーその2:インストールしたはずのRailsが起動しない
Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails

rbenv rehash
こちらのコマンド入力後、rails -vを入力。
rails server(rails s)を再度入力。


エラーその3:webpacker
install Error: No such file or directory @ rb_sysopen – /Users/:::/:::/app/config/webpacker.yml (RuntimeError)

Rails6ではwebpackerが標準となっており、開発環境にyarnのインストールが必要となっております。

brew install yarn
rails webpacker:install

こちらを入力しておきましょう。


無事インストールできましたでしょうか
使用したコマンドラインにつきましては、参考記事のものをご覧いただければと思います。

子供向けプログラミングのおもちゃ|初めて学習にオススメのロボット教材

皆さん、こんにちは。

しょうとく(@syoucha0107)と申します。

 

こちらの記事では、幼児・子供向けのプログラミング教材を探しておられる方にオススメの教材をお伝えしていきます。ダンボールでロボットを組み立て、スマホタブレットを使用して学べる教材です。

 

おもちゃ屋に行ってみたけど
やっぱり高い

近所の賢いお友達はプログラミング教室に通い始めた。自分の子供にも、いち早くプログラミングを学ばせてあげたい。しかし、子供はプログラミングにまるで関心がない。ゲームはもっぱらプレイする専門。

どうすれば、プログラミングに関心を持ってくれるのか・・・。一緒におもちゃ屋に行ったタイミングで勧めてみようと思ったけれども、プログラミングを学ぶおもちゃはそれなりのお値段がして、初めてやらせるにはちょっとなと、踏み留まってしまった経験ないですか?

数万円のおもちゃを買ってあげたところで、子供がそもそもにしてプログラミングに興味を示さないかもしれない・・・。無理やりプログラミング教室に通わせるのもどうかと思う。

 

あなた自身もプログラミングに
苦手意識ありませんか? 

おそらく小学生または中学生の頃、一度はプログラミングに触れたことがあるかと思います。私が最初に触れたのは、中学の技術の授業の時に学んだC言語でした。あの文字の羅列にウンザリ。それを幼稚園や小学生から自分の子供に学ばせるのか・・・。

自分の子供があんなものに興味を示すはずがない・・・。

私もそう思います。これからご紹介するロボット教材はパソコンに向かって文字を入力するものではありませんのでご安心ください。

 

スマホタブレット
簡単なタッチ操作

このロボットは、スマホタブレットを使用して学習することができます。一つ例をあげてみます。

「3回、手を振る動作を命令する」

プログラミングに少し触れた経験のある方は見覚えがあるかと思いますが、その動作は「For文」を使ってそれを記述することができます。

その記述のやり方がこのロボットにおいては・・・

指で画面をタッチしての操作。
動画をそのまま真似るだけでもOK。 f:id:sayo0425tan:20200826214239j:plain 
function(一連の動作を入れる箱だと思ってください)に一連の命令手順を指でなぞって入れることができます。for(黄色の1と書かれたところ)という部品を間に入れ、数値をタップして3にする。操作はとっても簡単。f:id:sayo0425tan:20200826214415j:plain

 

構文を書くのでなく
まずはプログラミング感覚を養うことから

いきなり構文(ソースコード)を描くところから学習すると挫折してまうリスクが高くなると私は考えております。まずはこの簡単なタッチ操作でプログラミングに触れさせ、楽しいものだという感覚を身につけてあげる。

もしこの考えに共感していただけるのでしたら、一度このプログラミング教材をお子さんにオススメしてはいかがでしょうか。

youtu.be

子供も大人も楽しめるプログラミング教育教材【embot】プログラミングおもちゃ

JavaScript講座|第1回 「ボタンを押すとランダムに画像が表示させる」

皆さん、こんにちは。

しょうとく(@syoucha0107)と申します。

第1回目では「ボタンを押すとランダムに画像が表示させる」をテーマにその作り方をご紹介します。

まずは動画をご覧下さい。

youtu.be

動画で使用したソースコードはこちらになります。

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <div id="target"></div>
    <input type="button" value="動物のイラストを変える" id="bt"/>
    <script language="javascript" type="text/javascript">
    var target = document.getElementById( 'target' );
    var bt = document.getElementById( 'bt' );
    bt.addEventListener( 'click', function( e ) {
        var imglist = [
    "images/cow.png",
    "images/chick.png",
    "images/duck.png",
    "images/monkey.png",
    "images/pig.png",
    "images/penguin.png"
    ];
    var selectnum = Math.floor(Math.random() * imglist.length);
    var element = '<img src="' + imglist[ selectnum ] + '" alt="" />';
    target.innerHTML = element;
     }, false );
    </script>
</body>
</html>

一連のソースコードを見ただけで分かる方は、使える箇所だけコピーしていただくとして、どういう流れで書かれたものなのか解説が欲しいという方は以下の文章をお読みいただければと思います。

ボタンと画像の位置を決める

<!-- ボタンを表示 id="bt"でタグ付け-->
<!-- 後にボタンが押されたらという命令を与えるのにタグが必要-->
<input type="button" value="動物のイラストを変える" id="bt"/>choose a code language

<!-- ボタンの上にイラストを配置させる -->
<div id="target"></div>

JavaScriptタグを用意

<!-- javascriptはscriptタグ内に書く -->
<script language="javascript" type="text/javascript">
 
</script>

ボタンと画像のidタグを入れる変数を用意

<!-- 画像のタグ id=target 変数target に代入-->
var target = document.getElementById( 'target' );
<!-- ボタンのタグ id=bt 変数targetに代入-->
var bt = document.getElementById( 'bt' );

ボタンをクリックした後の動作を記述するメソッドを用意

<!-- ボタン(タグ id=bt)をクリックした後の動きを書く -->
bt.addEventListener( 'click', function( e ) {


 }, false );

用意した全ての画像を変数に代入

var imglist = [
    "images/cow.png",
    "images/chick.png",
    "images/duck.png",
    "images/monkey.png",
    "images/pig.png",
    "images/penguin.png"
    ];

ランダムな整数を発生させて画像を選ばせ、変数に代入

<!-- ランダムに選ばれたイラスト画像を変数selectnum に入れる -->
var selectnum = Math.floor(Math.random() * imglist.length);

imgタグにして、さらに変数に代入

<!-- ランダムに選ばれたイラスト画像を-->
<!-- imgタグにして、変数elementに代入-->
var element = '<img src="' + imglist[ selectnum ] + '" alt="" />';

div id=”target”がimgタグに置き換わるようにする

<!-- id="target"のdivタグに-->
<!-- imgタグの入った変数elementの値を入れる-->
target.innerHTML = element;

はい、いかかでしたでしょうか。
動画と合わせて学んで下さいね。
それではまたごきげんよう〜。