プログラミングいちねんせい

プログラミング歴ゼロの初心者がもがくサイトです

Zennに移行しました

以降の記事はZennに投稿します

勉強のためのDocker環境作り(仮)

Nginx, PHP(Laravel), MySQL, phpMyAdmin ディレクトリ構成は下図です ディレクトリ構成 それぞれのコンテナでDockerfileを利用しています。adminerからphpMyAdminに変更したのはadminerの軽さを体験して満足したことと記事の多さでphpMyAdminが圧勝したから…

DockerでLaravel環境を作るのは難しい

他人の記事でDockerでLaravel環境を作るという内容の日付が2021年とわりと新しかったので同じ手順で試したところ記事の途中から違う結果が出始め失敗。他の記事でも失敗。環境を作るのにかなり手間がかかりました。 ルートディレクトリ よく見かける記事の内…

Git initすると128エラーが登場

dockerのファイル構成をgitで管理したくなりSourceTreeでリポジトリを作成するとエラーコード128のfatal: detected dubious ownership in repositoryというエラーが表示されました。他にも細かく表示されていましたが要約すると「君は怪しいな。だって、オー…

勉強再開

【追記】このDocker-composeは現在使っていません。 久しぶりにプログラミングを再開したんですが何もかもを忘れてしまいました。とりあえずDockerで環境構築するところから始めようとしたわけですがdocker-composeの書き方すら失念。しかし、数年前と違うと…

スコープ定義演算子の挙動

PHP

前々回の記事で「初学者を悩ませるPHPの演算子と仲良くなろう」を書きました。 javacurry.hatenablog.jp このときはスコープ定義演算子である::はインスタンス化しなくてもメソッドやプロパティにアクセスできると思っていたのですが、検証してみたところ正…

「さわって学ぶクラウドインフラ docker基礎からのコンテナ構築」レビュー

購入した経緯 Docker を利用しようとネットで検索していましたが、どうしても基礎の部分がないがしろになってしまい docker-compose や Dockerfile のコピペに頼っていました。そのため望んでいる Apache+PHP+MySQL ではなく Nginx+PHP+PostgreSQL の記事を…

初学者を悩ませるPHPの演算子と仲良くなろう

演算子について プログラムのなかに頻出する->, ::, =>と仲良くできていますか?私はなんとなくわかったような感覚で接していましたが、PHP と MySQL を勉強していくなかで出てきたPDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTIONの存在が奇妙すぎて調べずには…

「プログラミング初学者にとって難しいと感じるところ」の対処法です

前回のあらすじ 前回「プログラミング初学者にとって難しいと感じるところ」という記事を書きました。あるあるとまでは言えないものの、初学者にとっては経験したことのある内容だったと思います。そこで今回は私なりの対処法を書きます。私自身もまだまだ初…

プログラミング初学者にとって難しいと感じるところ

プログラミングは難しいです。書籍を読んで、動画を観て、頭を悩ませて、手を動かして。それでも、なかなか上達感は味わえません。今日はプログラミングがなぜ難しいと感じるのか。初学者目線で書いてみたいと思います。 私のプログラミングスキル 数年に1度…

PHPのスコープ

以下はDBに接続してデータを表示するときの例外処理ですが$pdoをスコープの外から呼び出せることに気づかず頭が混乱しました。JAVA や JavaScript では無理だったような気がする。PHP は問題なく呼び出せるので query を使った関数の引数として使えました。…

PHP の勉強をはじめました

PHP

文字列の連結は + ではなく . を使う シングルクォーテーションとダブルクォーテーションは扱いが違う 変数は $ を使う 連想配列を foreach で取り出す $fruits = [ 'apple' => 'りんご', 'grape' => 'ぶどう', 'lemon' => 'レモン', 'tomato' => 'トマト', …

DockerでApach+PHP+MySQLの環境構築までの道 3

前回の「DockerでApach+PHP+MySQLの環境構築までの道 2」では PHP から MySQL の接続がどうやっても上手くいかず途方に暮れていました。 javacurry.hatenablog.jp やれることはやったので teratail に相談しました。すると、諸先輩方から回答を得ることがで…

DockerでApach+PHP+MySQLの環境構築までの道 2

前回のあらすじ 前回の「DockerでApach+PHP+MySQLの環境構築までの道 1」では MySQL の文字化けに頭を悩まされました。 javacurry.hatenablog.jp 問題の解決には至らず Dockerfile で権限の644を与えました。 FROM mysql:8.0 COPY ./my.cnf /etc/mysql/conf.…

DockerでApach+PHP+MySQLの環境構築までの道 1

とりあえず勉強のためのApache+PHP+MySQLの環境構築を1つのゴールとします。まずはDockerfileとdocker-composeを使ってMySQL単体を起動し日本語入力が動作することを目指します。 現在の問題点 MySQLが日本語入力を受け付けない。日本語を入力すると文字が消…

Dockerが難しい

Docker 使いこなせてますか?私はまだです。「さわって学ぶクラウドインフラ docker基礎からのコンテナ構築」を読んだのですが、まだ理解したとは言えない状態です。LinuxやSQLの勉強をしたくなっったので「ここで Docker の出番だ!」と意気揚々と導入した…

「ほんの一手間で劇的に変わるHTML & CSSとWebデザイン実践講座」のレビュー

すごく久しぶりに更新します。前作の「1冊ですべて身につくHTML & CSSとWebデザイン入門講座」が素晴らしい本だったので購入しました。結論から書くと後悔してます。 良かった点と悪かった点 良かった点 現役Webデザイナーによるテクニックが紹介されている…

ミニプログラム 001

プログラミングに慣れるために簡単なミニプログラムを作ってみました。脳の筋トレですね。第1回目となる今回はランダムに生成された100までの整数を偶数、奇数に振り分けて先に100以上になった方を勝ちとする内容です。 ミニプログラム 001 感想 ミニプログ…

クラスがロードされるときの変数の初期化

JAVAを実行するとクラスがロードされ変数が初期化されます。int x = 0;程度の変数なら意識しなくてもよかったのですが変数に戻り値のあるメソッドが代入されるようなプログラムを書いたことがなかったので、調べものついでにテストしたところ予想とは違う動…

じゃんけんプログラム Ver.2が完成しました

書籍を読んで以前よりは理解が進んだので今回はなにも見ずに作りました。時間がないので、とりあえずサクっと載せます。 じゃんけんプログラム Ver.2 内容 プレイヤーは2人 計3回の勝負で最終的に勝ち数の多い方が勝利 勝ち数が同じならあいこで決着させる …

長期出張が終わりました

6ヶ月の出張を終えました。新規事業の勉強や移行もありますがプログラミングへの興味は尽きていないので、またぼちぼちと触りたいと思います。半年近くプログラミングから離れていたので、また書籍を最初から眺めて遊んでいます。 プライベートでは6ヶ月のあ…

演算子とStringBuilderで文字の連結の速度の違いを測定してみました

前回の続きです。ご存じない方は下記からご覧ください。 System.nanoTime()とSystem.nanoTime() JAVAで速度計測するには代表する2つのメソッドがあるようです。それがSystem.currentTimeMillis()メソッドとSystem.nanoTime()メソッドです。それぞれの違いは…

初めてのコマンドプロンプトからのHello World!

北海道で温泉と魚介を堪能してリフレッシュしました!前回はJDKが期待通りに動かずにエラーが出てしまい途方に暮れた結果Windowsの再インストールを視野に入れたところで終わりました。というわけで続きです。 Windowsの再インストール 友達に聞いたところ「…

コマンドプロンプトからJAVAを実行するのに苦戦しています

コマンドプロンプトからJAVAを実行するのに苦戦しています JAVAの勉強を始めたときに「コマンドプロンプトではなくIDEを使ったほうが効率がいい」という記事を読んだのでEclipseを使っていました。しかし、先日Twitterでアドバイスをいただきました。 javap…

文字列を連結するなら演算子ではなくStringBuilderが推奨されるらしいです

文字の連結といえば+演算子を使ったおなじみの式でしたが、それよりもStringBuilderが推奨されているという噂を聞きつけました。というわけで今回もいろいろ見ていきます。 StringBuilderとは 文字の可変シーケンスです。このクラスは、StringBufferと互換性…

初心者殺しのfor文のネストを解説します

みなさんはfor文と仲良くやっていますか?私は昨日まで喧嘩ばかりしていました。あっちに行ったりこっちに行ったりと縦横無尽に駆け回るfor文がなにを考えているのかわかりませんでした。しかし、ふと目に止まったJAVAの質問の解を自分の手でやってみようと…

サブクラスのフィールドの定義の方法で失敗したのでシェアします

サブクラスのフィールドにアクセスしたらnullと0しか返ってこず足が止まりました。これはプログラミング初心者あるあるかもしれないので警告しておくとフィールドはオーバーライドできません。そう言われるとそんなことわかってると反論があるかもしれません…

これからの勉強方針について

いずれ必要になると思い気分転換にドットインストールのHTMLとCSSのレッスン動画を観終えました。想像以上に楽しいです。更にJavaScriptで動的なコンテンツを作れることも知ってしまいJAVAと同じくらい楽しんでるわけですが、あまり目移りすると時間が足りま…

HTML初心者のためのHTML5のテンプレートとその解説

HTMLを勉強しているときに見つけたHTML5のテンプレートです。HTML5とは現在のWeb制作で標準となっているHTMLのバージョンです。このテンプレートをはてなブログで利用することはないと思いますが私と同じようなHTML初心者はテンプレートの中身を知るだけでも…

コンストラクタのオーバーロードの復習

コンストラクタのオーバーロードの振る舞いを忘れることが多いので復習します。 Personal.java this();は引数が少ないコンストラクタが引数が多いコンストラクタを利用するために使用 コンストラクタはインスタンス化と同時に一度だけ呼び出される thisの引…