akyのブログ

システムエンジニアもどきの雑記

XAMPPのtomcatを無理やり 7.x → 8.5 にバージョンアップした

はじめに

少し前にQiitaでこんな記事を書いた。
SpringBootプロジェクトをXAMPPのTomcatにデプロイする - Qiita

この時にライブラリを入れ替えたせいでSpringBoot以外がおかしくなり、元々用意されているページやStrutsをビルドしたwarが動かなくなった。
いちいち細かく調査するほどXAMPPにもTomcatにも興味がないので、無理やりバージョンをあげることにした。

準備するモノ

手順

  1. XAMPPのTomcatフォルダ配下を全部消す
  2. .\pleiades\tomcat\8 配下をXAMPPのTomcatフォルダ配下にコピーする

これでXAMPPの配下のcatalina_start.batを実行すればOK…ではあるけどちょっと調整。

catalina_start.batの@echo offの下に1行「chcp 65001」と追加する。
これでコンソールが文字化けしなくなる。

@echo off
chcp 65001
…

あとはlocalhost:8080にブラウザで接続して問題なければOK。

備考

コントロールパネルから起動できなくなったけど、対応方法はあるのかな。 また今度暇な時に調べようかな。

2020年2月の振り返り

はじめに

予想通り2月は失速した。

家事をやらなくなったし、筋トレ、ストレッチをやらなくなった。 平日にコードを書き始めたのがよくなかったかなあ。 あとはEverNoteにも技術以外は記録しなかったのも悪かったかな。

DBスペシャリストの勉強全然してねえ…。

色々反省したいことはあるが改善案はあとで考える。

やったこと

本を読んだ

6冊読み切った。今年に入ってからの合計は10冊。

読み終わった本

途中まで読んだ本

  • 関数実践入門 : 4章の途中
  • デザインパターン入門 : 7章まで
  • プロジェクトマネジメント標準 PMBOK入門 2章途中

リファクタリングを読み切れたのが良かった。 まだ2月だが読書するのはいいがアウトプットしていかないと身につかないと感じた。 しかし、読まなければ始まらないとも思う。 勉強の仕方を考えたい。

言語

  • Kotlinの文法を勉強した
  • TypeScriptの開発環境を作った
  • node.jsを触った

競技プログラミング

全然参加できなかった。 家で競技プログラミングの時間が確保できなかった。

コンテスト参加:1回

コンテスト実績

  • ABC155 : ABC

DBスペシャリストの勉強

ほとんどできなかった。やばい。 申し込みはした。

午前2 :50問

技術系でやったこと

色々触ってみた。 サーバ関連やミドルウェアの導入が多め。けっこうたくさん手を動かせたと思う。

  • AzureにJenkinsをインストールした
  • AzureにSpringBootで作成したアプリをデプロイした
  • Azureにmysqlをインストールした
  • グローバルアドレスの調べ方
  • DockerをAzureのCentOSに導入した
  • PHP(Slim3) + Jquery で 「郵便番号検索サイト」を作った
  • node.jsでプロジェクトを作成した
  • node.jsでテストフレームワークを使ってみた
  • ExpressでWebサーバを作成した
  • Azure App Service でWebページを作った
  • Azure App Service にExpressで作成したプロジェクトをデプロイした
  • Azure App Service にGitHubにあげたソースから自動デプロイできるようにした
  • CentOSApacheをインストールした
  • XAMPPのApacheにSlimをデプロイした
  • 「ゲーマーじゃんけん」をJavaで実装した
  • CentOStomcatをインストールした
  • SpringBootをwarで圧縮できるようにした
  • XAMPPのtomcatにSpringBootをデプロイした
  • IntelliJでクラス図付きのjavadocを出力できるようになった
  • XAMPPのtomcatにSpringBootプロジェクトをデプロイする手順をQiitaにアップした
  • Struts2の環境を作成して、ページを出力してみた

その他

Qiita

6記事書いた。 書くのに時間がかかるが、アウトプットできたことはよかった。 Docker関連は1記事にまとめてもよかったかも。

  • SpringBootプロジェクトをXAMPPのTomcatにデプロイする
  • 5分で作れるWebAPIテストサーバー(自動デプロイも)
  • dockerでCentOSのイメージを使ってみる
  • dockerでHelloWorldする
  • CentOS7にDockerをインストールする
  • WindowsグローバルIPアドレスを確認する方法

健康面

お酒は飲むようになった。平日は飲まないのは継続している。 筋トレさぼりがちだった。 早寝早起きのリズムを崩してしまった。

来月に向けての反省

反省点をあげながら考える。

  • 生活リズムを崩してしまった。
    早寝早起きを心掛けたい。 10時半就寝で6時起きを目標にする。

  • 筋トレさぼりがちだった
    Evernoteに記録しなくなったのが悪かった気がするので、記録する

  • 資格の勉強
    そろそろやらないとヤバい。 1日午後1過去問くらいやりたい。 まず計画を立てる。 他の勉強は1回ストップ。 空き時間はデスぺに突っ込む。 読書もストップする。

  • 資格勉強に対してもやもやしてること

    • Struts2の勉強が中途半端
      画面遷移パターンくらいまではやる。~.do も分かってないし調べる。
    • 競技プログラミング
      できるときは参加する。ただそのための勉強は1回ストップする。
    • Andorid
      基本的にはやらない。気晴らしにやる感じにしておく。気晴らしの最優先。

今月は資格勉強に集中するぜ!頑張る!

2020年1月の振り返り

今年の1月は頑張った。
毎日、やったことをevernoteにつけるようにしたのが良かったかな。

やったこと

本を読んだ

読み終わった本 4冊!読み途中の本 7冊。
最初は一定のペースで読んでいたが、仕事で必要そうで購入し優先度を上げた本や予定では先に読むつもりだったが優先度が下がった本があった。

読み終わった本

  • 達人のDB設計
  • プログラマの数学
  • コーディングを支える
  • うかるDB

途中まで読んだ本

  • 入門コンピュータ科学 : 1章の途中、7章
  • 蟻本 : 2.3まで
  • tcpip : 5.2まで
  • デザインパターン入門 : 1章まで
  • 達人SQL : 1-5まで
  • Android入門 : 6章まで
  • Jenkins入門 : 6章まで

この土日も使ってtcpip、Andoroid入門、Jenkins入門は早めに読み切りたい。
入門コンピュータ科学、達人SQLは今読まなくてもいい気がしてきた…。
蟻本は少しずつでも進めたい。

言語

AtCoderC++入門を進めている。
今は「3.05」まで終わった。
2月に全部終わらせてしまいたい。

競技プログラミング

いいスタートが切れたと思う。
スコアはあまり上がっていないが習慣づけていきたい。

コンテスト参加:6回 過去問:22問

コンテスト実績

DBスペシャリストの勉強

隙間を見つけつつ少しずつやれたと思う。
後半はやっていなかったので、2月は計画的にやるようにしたい。

午前1(応用): 468問 午前2 :127問 午後1:2問

技術系でやったこと

業務でやったことや調べていたことの予習や実践が中心になった。
Azureに触れたのが良かった。

健康面

最後に健康面。
人生で初めて禁酒をした。体がすごく軽くなった。
また月の途中から筋トレを始めた。

禁酒:23日(前半やっていなかった割に頑張った)
プランク:16日
ストレッチ:8日
かかと上げ:7日
スクワット:8日

最後に

今回こういった試みをはじめてやってみて良かった。
記録をつけるようにするとモチベーションの維持ができる。
育児系も記録をつけてみようかな。
1月でハードルを上げすぎてしまった感があるので、来月は手抜きする予定。

2020年の勉強したい技術の目標をたてる

プログラマになって4年が経過したが、自分で何ができるのか何がやりたいのかよくわからなくなっている。
やりたいことを考えまとめてみる。
気が向いたらこの記事を元にフィードバックする。
自分は将来こういうことがしたいんだ!とか大げさなこと書くとやらなくなりそうだから抑えめに。とりあえず今年度どんなことをやりたいか考える。


2020年1月現在興味のある技術

フラットに箇条書きにする。

ざっくりこんな感じ。自分としては意外と出てきた。
1つずつやりたいこと、身に着けたいことと目標を考えていく。


競技プログラミング

今まで

前からやりたいと思っていて、やってはいた。
ただ競技プログラミングは「競技」であるのが分かっていながら、練習も勉強もしていなかった。
今年は勉強をして、Atcoderのスコアを上げていきたい。
今年に入って、現在まででABCに3回参加した。

目標

  • 蟻本を「中級」まで読む。
  • AtCoder に20回参加する。
  • AtCoderのレートを緑にする。
  • AtCoderの過去問のABを全部埋める(AtCoder Problemsで色がつく状態にする)。

C++

今まで

競技プログラミングで主とされているのでやりたいと思い、昨年挑戦した。
しかしVisual Studio が使いづらいのと標準出力から構文がよくわからなくてすぐ辞めてしまった。
競技プログラミングに再挑戦しているのでこちらも勉強して競技プログラミングで使えるようにしたい。
また現在の現場では、Cの経験者が多いのでC系の言語に触れておくことでそのような人たちとも会話できるようにしたい。
今はAtcoderC++入門で勉強中。

目標

参考


数学

今まで

苦手意識を持っているが、業界で文系・理系は関係ないと思っていて勉強していなかった。
競技プログラミングの問題は高校レベルの数学が必要と聞いた。
また競技プログラミングといいながら法則性を見つけ、数式にする必要がある。
そもそもの数学を知らないと勉強の効果が悪いと感じた。
競技プログラミングの勉強をする上で一緒にやっていく。
今年に入って「プログラマの数学」を読んだ。

目標


アルゴリズム

今まで

今まで勉強していなくて、苦手意識をずっと持っている。
競技プログラミングの勉強をする上で一緒にやっていく。

目標

  • 蟻本を「中級」まで読む。
  • 「入門コンピュータ科学」の5章アルゴリズムと8章データ抽象を読む。

Azure

今まで

自分が使っているわけではないが、現場で使っているので勉強したい。
クラウドってなんかすごそうと思い、AWSで去年チュートリアルをやったがまったく身についていない。
Azureって何ができるのかから概要を勉強したいと思っている。
今年に入って、

  • Azureのアカウントを作った
  • VMサーバを作成した

をやった。

目標

  • 「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築」を読む
  • 「Azureテクノロジ入門 2019」を読む
  • Microsoft Azure実践ガイド」を読む
  • 「Azure定番システム設計・実装・運用ガイド」を読む

参考


DB

今まで

設計をやりたいと考えているが、DBのことがよくわからないと自覚したので、学びたいと感じた。
システムで使用するDBの設計方法、考え方など。
作りたいシステムがあった時に、MySQLを用いて、テーブル設計を行い、最適なオプションを考え、サーバへのインストール、データのインポート、エクスポート、リカバリができるようになるのが目標。
まずはDBスペシャリストを取得する。
今年は、達人のDB設計を読み終わり、DBスペシャリストの勉強をしている。

目標

参考


SQL

今まで

SQLをよく覚えていないので。プログラマとして問題だと感じている。
DBの勉強と合わせてこちらも身に着けたい。

目標


サーバ・ネットワーク

今まで

ずっと苦手意識を持っており、何もわからないので基礎知識を身に着けたい。
この知識を身に着けることで何ができるようになるのかよくわからないし、何を勉強すればいいかもよくわかっていない。
今年に入ってから、マスタリングTCPIPを読み始めた。

目標

  • 「マスタリングTCPIP」を読む
  • 「3分間ネットワーク基礎講座」を読む
  • 「インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門」を読む

参考


Docker

今まで

何ができるのかよくわかっていないが、名前をよく聞くので勉強したい。 入門本を買って概要を学びたい。

目標

  • プログラマのためのDocker教科書」を読む
  • 「Docker入門」を読む

参考


Android

今まで

実務で触ることがありそうなので学んでおきたい。
入門本を買ったので、触りながら概要を学びたい。
今年に入ってから、開発環境の構築とチュートリアルをやった。

目標

参考


デザインパターン

今まで

設計をするようになるので学びなおしたい。
システム設計の際に、必要に応じてデザインパターンを使えるようになりたい。

目標


C

今まで

業務で使う予定だが触ったことがないので事前に勉強しておきたい。

目標

ネットで入門サイト調べる。

  • 開発環境の構築
  • 基本構文
  • Windowsのデスクトップアプリの作成
  • DBの接続

Python

今まで

ちゃんとやったことがないのでやってみたい。
ツールとか作れるようになったら便利そう。

目標

  • 「退屈なことはPythonにやらせよう」を読む

関数型プログラミング

今まで

どういったものがあるのか興味がある。

目標


セキュリティ

今まで

今まであまり意識したことがない。知識がないのでベースを作りたい。

目標

  • 情報安全支援士の勉強をする
  • 情報安全支援士を受験する
  • 「暗号技術入門」を読む

上げてみたら身に着けたい技術はけっこうあった。
目標は個数だけにしたら33だが本を読むのが多いので、個数以上に時間がかかりそう。
読んで理解するまで自分に求めずに、とりあえず読み切ることを目標にする。
分からなかったらまた読めばいいしね。

目標全部達成できるように頑張るぞー!

【C++】vectorのソート、逆順ソート

ソートは sort()、 配列を逆順にするのはreverse()を使う。
両方使うと大きい順から並べられる。

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  vector<int> vec = {5, 2, 4, 1, 3};

  // 1, 2, 3, 4, 5
  sort(vec.begin(), vec.end());
  for(int i : vec){
    cout << i << endl;
  }
  
  cout << endl;

  // 5, 4, 3, 2, 1
  reverse(vec.begin(), vec.end());
  for(int i : vec){
    cout << i << endl;
  }
}