読者です 読者をやめる 読者になる 読者になる

学習履歴

プログラミングなどの学習履歴

プロトコルスタックにメッセージ送受信依頼の仕組み

データ送受信の仕組みを本で読んだのでそのアウトプットです。 データの送受信の仕組みは以下の4つに分かれています。 ①自分のPC側にソケットを作る ②サーバー側のソケットにつなぐ ③データを送受信する ④ソケットを削除する タイトルにあるプロトコルスタッ…

Exercise: rot13Reader

A Tour Of Goの Exercise: rot13Reader をやってみました。 正直今の自分のレベルでは難しかった。。 改めて自分の力不足に嘆きたくはなりますが、 どうにかこうにか書けた(書けたのか?)と思いますので、 メモとして残しておきます。 以下がコードです。 …

Methods and pointer indirection

タイトルはA Tour og Goにあるタイトルです。 ⇒https://go-tour-jp.appspot.com/methods/6 この章をやったことのメモです。 ページを開いたときは以下のようなコードです。 package main import "fmt" type Vertex struct { X, Y float64} func (v *Vertex) …

wxPythonで簡単なサンプルエディタを作ってみた

まだ完成形ではありませんが、まずは簡単なテキストエディタを 作ってみました。 といってもメモ帳とかそんな形式ではなくSublimeTextのみたいな 新規ファイルタブを増やしていけるような張りぼてを作りました。 テキストエディタを作ってみてまず思ったこと…

Railsチュートリアルを2周目を終了して

久方ぶりの更新です。 つい先日Railsチュートリアルの2周目が終了致しました。 そこから私が気づいたことですが、 個人的にRailsチュートリアルだけでは習熟するのは無理ということでした。 最新のチュートリアルである5.0版は要所要所で演習が出題されるの…

最新のRailsチュートリアルと以前のRailsチュートリアルを比べて

Rails 5.0版をRailsチュートリアル4.2を終了してから2周目としてやり始めました。 railstutorial.jp railstutorial.jp 上側のリンクが4.2版で下側のリンクが5.0版のリンクです。 中身を見るとやることは同じですが、演習を出題してくるタイミングが 異なり…

Windows環境下でVagrantで仮想環境を作って、AWSを設定してデプロイまで①

AWSにRailsアプリをデプロイしようと思い、試していった時の手順をメモとして残します。 環境・・Windows8.1 Windowsなら10が望ましいと思います、というのは最近情報も増えてきているし8.1より設定の方法が簡単だと思います。 ①Vagrant このサイトに載って…

webサーバとアプリサーバの違い

webサーバは翻訳を直で記すと以下のように表現されます。 「webサーバーはユーザーから送られてきた自サイトへのリクエストを受け取り、なんらかの処理を加えるプログラムです。そして、場合によってはあなたのRailsアプリケーションにリクエストを投げます…

electronで実行ファイルを生成するときにwindows環境では注意

Windows環境でElectronで作成した作品の実行ファイルを生成するときに少し躓きました。 ドットインストールではMac環境、他のサイトでも大多数がMac環境で実行ファイルを生成する方法がありましたが肝心のWindowsではどうすればいいのかの情報がめちゃくちゃ…

npmコマンドでvue.jsの環境を作成(Windows)

Node.jsとVue.jsを組み合わせて何か作れればと思い、環境を整えようと思いましたが、少しつまづいてしまったのでその記録を残します。 私の環境はWindows8.1です。 まずNode.jsのインストールですが、最新版ではうまくいきませんでしたので バージョンを5.11…

beautifulsoupでスクレイピングサンプルを作成

pythonのスクレイピングライブラリの一つであるbeautifulsoupを使ってサンプルを作ってみました。 GitHubにあげています⇒ https://github.com/yyyuuuiii/myscraping 基本的にはお目当てのデータがのっているタグまで階層を降りていくというものですが、入れ…

IT用語でなぜこういう名前を付けた?

IT業界にいるとどうしてもなんでこういう名前をつけたのか?と思うことが多々あります。 一番突っ込みたくなったのがcookie(クッキー)です。 ウェブサイトを訪問した際にコンピュータに一時的に保存される情報のこととありますが、お菓子のクッキーと何も関…

自分にとってサーバー関連は難しく感じてしまう

サーバーはPCを触る上で欠かせないものですが、私は正直このサーバー関連やネットワーク関連のことへの理解が乏しく何か難しく感じてしまいます。 共有できたり、HPを閲覧できたり、ファイルなど送ることができたりserveっていう単語から来てるのに給仕とは…

ドラッグアンドドロップの実装で必要な機能

Vue.jsでドラッグアンドドロップの実装をしている時に必要な機能とは何だろうかと考えてみました。 その時にふっと思いましたのがドラッグアンドドロップってクレーンゲームと同じなのではということです。 ドラッグアンドドロップには7つもイベントがありま…

railsチュートリアルの第6章でbcryptをインストールするとき

railsチュートリアル第6章でhas_secure_passwordを使ってパスワードをハッシュ化するのにつかうbcryptというgemがあると思います。 チュートリアルでは gem 'bcrypt', '3.1.7' と記述してbundle installからのbundle exec rake testというコマンドを打つとテ…

アプリとは何かを説明するとき

専門用語を分かりやすく説明することほど難しいものはないと思います。 自分だけが分かっていればいいというならそれはそれで良しと思いますが、 今後のIT業界で求められるのは技術、アイデアの他に技術と知識の継承が挙げられます。 これができる人とできな…

インスタンスについて

プログラミングを習いたてのころインスタンスって何なのって混乱したことを覚えています。 今ならば理解してきましたが、これを初心者の人にどうすれば分かりやすく教えることが出来ると思いますか? 始めたての頃、インスタンスについてググりまくりました…

簡単なExcelマクロで改めて感じたこと

Option Explicit Sub Inp() Dim i As Integer Dim ER As Long ER = Cells(Rows.Count, 9).End(xlUp).Row For i = 1 To ER Cells(i, 12).Value = Mid(Cells(i, 9).Value, 2, 5) Next iEnd Sub 単に数字をそのまま別セルに移して、Mid関数で指定の文字列を 抜…

PostgreSQLでのwhereで絞り込みについて

PostgreSQLでwhere句におけるnullの扱いについて学習したことです。 以下where句の箇所のみ where ACOLUMN = 'A' or ACOLUMN is null ⇒これはOKのケース where ACOLUMN in ('A1', 'A2') or ACOLUMN is null ⇒機能しなかったケース 状況としてはあるカラムに…

ストレングスファインダー

今回はプログラミングとは何も関係ないです。 最近ストレングスファインダーをやってみました。 やってみたら結果は下のような感じです。 それぞれの特徴については以下そのまま抜粋です。 (参考サイト⇒ ストレングスファインダーまとめサイト | SFの使い方…

Java DecimalFormat 0埋め

Javaの開発で数字の前部分を0埋めにするところがあったので、 それを書いていきます。 private static int counter = 0; //10桁になるように0埋めする private static final DecimalFormat ZERO_10 = new DecimalFormat("0000000000"); for(int i = 0; i < 1…

tableタグのtdタグのクラス名が同じの時に特定の列の背景色を変える方法

業務でHTML、JavaScript、Perlを使っていた時に一つ問題が起きました。 HTMLのテーブルで一つの列のみの背景色をある条件を満たすと黄色に染めるというものでした。 普通にコードを書くと簡単ですが、その時のtdタグのクラス名は同じクラス名にしなければな…

オブジェクト指向とは何なのか自分なりに考えてみました

Javaからプログラミングを学び始めてずっとオブジェクト指向って何のことなのか自分なりに考えてきました。 「オブジェクト指向でなぜつくるのか」という本を購入してオブジェクト指向とは何なのか、その答えがみつかればと思いましたが概要についてはあまり…

JavaでのCSV出力でつまんないことでつまづいたこと

JavaでファイルをCSV形式で出力する時にちょっとつまづいたことについてです。客先のビューを参照してデータを整形してCSV形式でファイルを作るというものですが、当然ビューの中にはレコードによって表示する必要がないカラムが出てきます。 何の値も入って…

Javaのstatic

自分はプログラミングはJavaから始めた。 始めたというより会社の方針でOCJP-Silverを取得することを義務付けていたので、 必然的にJavaから始まりました。 正直全く分かりませんでした。 後ほど身をもって知りましたが、プログラミングを始めるならまずはC…

railsチュートリアル1章を終えて

Ruby on railsのチュートリアルを毎日ではないが、時間を作って少しでも進めています。 第1章はGitやBitbucketでのソースのバージョン管理とHerokuによるデプロイの方法でしたが、慣れないうちは色々と迷走しました。 ただデプロイの箇所でHerokuにユーザー…

GraphQLとは

先日にMeteorとApolloについて紹介しましたが、 それらの原動力になっているGraphQLについて復習を兼ねて 話していきたいと思います。 その前にGraphQLと比較に出されるRESTについての問題点を 挙げていきますと、 ・クライアント毎に異なるAPIを用意する必…

substringで末尾側から文字列を抜き取る

Javaでsubstringを使って文字列の末尾側から3文字を抜き出す箇所があったのでそれのメモです。 下のコードは例です。 String a = "abcdefg"; int len = a.length(); a = a.substring(len - 3, len); 関数化すると public static String FromRight(String moj…

MeteorとApollo

先週の土曜日に全然専門ではありませんし、初めて見聞きしたGraphQLのApolloに関する勉強会に参加してきました。 meteor-fan.connpass.com 参加したい勉強会が定員に達していたので消去法で参加してみようと 思いました。 Apolloについて話す前にその前身で…

JavaのMapを別クラスで作成したところ

MapSample.javaというファイルを作成 public class MapSample { Map<String, String> maps = new HashMap<>(); maps.put("A", "あ"); maps.put("B", "い"); maps.put("C", "う"); } Signals.javaというファイルを作成 public class Signals { public static void main(String</string,>…

BigDecimal型

特徴として挙げられているのが、floatやdouble型よりも小数点以下の出力精度が高いことです。 ほとんどの場合だとdouble型で済んでしまいますが、より精度が求められるもの、例えば測量や金融関係など正確な数字を出さなければならないときに勝手に四捨五入…

USBのみで脆弱性、安全性のテスト

www.youtube.com USB Rubber DuckyというUSBが紹介されている動画です。 どういうものかというとペネトレーティングテストを行うためのUSBだそうです。 全て英語での紹介ということなので、日本語での情報が少ない、というかありませんでした。 まずはそもそ…

ブログで情報発信をしてみようと思ったきっかけ

技術関係ではないんですが、私がブログを使って情報発信をしてみようとおもったきっかけをちょっと紹介してみたいと思います。 やってみようと思ったのがSlideShareで堤修一氏のスライドを拝見させていただいたことがきっかけとなりまずは質より量を重視して…

ファイルを取得し、バックアップのルールを決めるスクリプト

いきなりコードです。 /usr/bin/ftp -i -n <<EOF 2>&1 | grep . open 接続先ポート user 接続先ID 接続先パスワード cd / cd テスト用ディレクトリ lcd ローカルディレクトリ名 binary get ファイル名 quit EOF if [$? -ne 0 -o ! -e ディレクトリ名/ファイル名]; t</eof>…

enumの使いどころ

一連の値を列挙していく文法。 初めて見たときは使いどころがよく分かりませんでしたが、 仕事で使って初めてこういうことかという程度にまで 理解しました。 使いどころは要素数が決まっていることで定義の仕方が public enum Judge(){ A("OK"), B("BAD"); …

SQL*Loaderのコントロールファイル書き方の一例

LOAD DATA INFILE 'ファイル名' BADFILE 'ファイル名.bad' CONTINUEIF LAST <> '"' INTO TABLE テーブル名 TRUNCATE FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS( カラム1 DECIMAL EXTERNAL(10), カラム2CHAR(100), カラム3 CH…

SQLiteでする意義

Androidの学習をしていますとDBからデータを取得するというパターンばかりが 目につきます。 私もAndroidは詳しくはないので何となしにSQLiteを普通に使うものなんだなと いう程度にしか思ってませんでした。 つい先日にSQLiteはスマートフォンアプリでSQLit…

改行コードの変換確認

シェルスクリプトを触っていると改行コードを変換する必要があるケースが出てきます。 私の時の場合は対象のCSVファイルをLF(Linuxの改行コード)をCRLF(Windows用の改行コード)に変える必要がありました。 ただしTeraTerm上で確認するしかありませんでしたの…

AndroidのOnClickListenerについて

なんでもそうですが、普段習慣としていること以外に取り組もうとすれば知らないことが当然でてきます。 今回私がAndroidで知らなかったことはOnClickListenerの実装方法が少し変わっているということでした。 ボタンのレイアウトがこんな感じです。 <Button android:layout_height="match_parent" android:layout_width="wrap_content" android:id="@+id/button1" android:layout_weight="1" android:layout_margin="6dp"/> それで</button>…

SQL出力項目を結合

OracleでFunctionを作成するときも仕様で ”カラムデータ”, という風にカラムのデータをダブルクオテーションで囲んでカンマで区切るというものを作成する必要がありました。 もう少し詳しく言うと例えば 0000 のようなデータがカラムにあるとして、 これを "…

SQLのコミットのタイミング

SQLのコミットをするタイミングがまずくて 客先に迷惑をかけた話をします。システムの内容を簡単に言うと、 社内で使う申込者の登録をする管理システムで Perlを使ってCGIを実現するというものでした。 リリース後も機能を追加したり、 不具合がでたから対応…

ログローテーション

ログローテーションについてのメモです。意味はログが無限に増えることを防ぐために、 一定量もしくは期間ごとに古いログを削除した分を新しいログで上書きしていくことです。 コード例は以下です。関数名 5000 5 ログファイル名 5000の箇所はファイルサイズ…

オブジェクト指向イベント参加報告

先日、勉強会に参加してきました。 Rubyを使ってオブジェクト指向を学ぼうというものでした。 私自身はオブジェクト指向についてはほとんど分からない人なので、 何とか理解しようと必死でした。 今回、勉強会の報告を書いていこうと思います。 オブジェクト…

ActiveRecordからのORマッピング

何の気もなしにActiveRecordを使っていましたが、 そもそもActiveRecordとは何のことなのかを調べてみました。 概要としては ”RailsのORマッパー” ということらしいのですが、ORマッパー(オブジェクト関係マッピング)とは 何なのかということですが、 概要を…

Perlコマンドでの文字列の置換

シェルスクリプトでPerlコマンドを使う機会がありました。 Perlの正規表現を使えるのでかなり便利なコマンドでした。 文字列の置換は最初はsedコマンドを使ってみましたが、 なぜか文字列が置換されずにいたのでなぜか調べてみると こちらの記事に原因が書い…

ファイル内の文字列検索

業務以外でLinuxコマンドをほとんど使うことはありませんが、 ファイル内の文字列を検索するときに使ったコマンドを復習していきます。 使ったコマンドが以下のコマンドです。 find [ディレクトリ] -type f -name "検索したいファイル" -print | xargs grep …

文字列の検索と抽出を一度にする関数

Oracle SQL Developerでストアドプロシージャを組んでいて正規表現を使って特定の文字を検索して、 文字を抜き出さなければならない場面がでた。 正規表現は苦手というか見た目が好きでないけど、四の五の言ってられなかった。 やることはCSVファイルのから…