【無料】プログラミング質問サイトまとめ【日本・海外】

本稿では、エンジニア向けの技術系Q&Aサイトを紹介します。 1. 日本 1-1. teratail(テラテイル) teratail【テラテイル】|ITエンジニア特化型Q&Aサイト 投稿した質問・回答の削除は原則不可(teratail 投稿の削除ポリシー) 1-2. Qiita(キータ) Qiita 「投稿する」>「質問」>「フォーマットを選択」>「Q&A」 1-3. スタック・オーバーフロー スタック・オーバーフロー Stack Overflowの日本語版 スタック・オーバーフローMeta(スタック・オーバーフローについてのQ&Aサイト) 1-4. クォーラ Quora - 知識を共有し合い、世界を知ろう 技術系じゃない質問もある 2. 海外 2-1. Stack Overflow Stack Overflow 日本語版とアカウントは共通 2-2. Stack Exchange All Sites - Stack Exchange 技術系じゃない質問もある 2-3. Code Project Code Project 2-4. Code Ranch Coderanch, a friendly place for programming greenhorns! 2-5. Reddit Reddit - ソーシャルの新たな中心地 技術系じゃない質問もある 【参考】 Top 11 Alternatives of Stack Overflow Comparison of Q&A sites 技術系メーリングリストで質問するときのパターン・ランゲージ_結城浩

5月 4, 2022

MySQLをHomebrewでインストールしてセキュリティ設定を行う

本稿ではMySQLのインストールからセキュリティ設定までの手順を解説します。 1. 開発環境 macOS Monterey バージョン12.3.1 Homebrew 3.4.10 MySQL 8.0.28 2. 手順 2-1. MySQLのインストール HomebrewでMySQLをインストールします。 $ brew install mysql MySQLがインストールされたことを確認します。 $ brew info mysql brew info - Homebrew Documentation 2-2. MySQLのセキュリティ設定 サーバーを起動します。 $ mysql.server start セキュリティ設定を開始します。 $ mysql_secure_installation 以下の項目の設定を行います。 VALIDATE PASSWORDプラグインの利用確認 rootユーザーのパスワード設定 匿名ユーザーの削除 リモートからrootユーザでログインできないようにする testデータベースの削除 ユーザーの権限に関するテーブルの再読み込み # VALIDATE PASSWORDプラグインの利用確認 VALIDATE PASSWORD COMPONENT can be used to test passwords 省略 Press y|Y for Yes, any other key for No:<Enterを押してスキップ> # rootユーザーのパスワード設定 Please set the password for root here. New password:<パスワードを入力> # 匿名ユーザーの削除 By default, a MySQL installation has an anonymous user, 省略 Remove anonymous users? (Press y|Y for Yes, any other key for No) : <yを入力> # リモートからrootユーザでログインできないようにする Normally, root should only be allowed to connect from 省略 Disallow root login remotely? (Press y|Y for Yes, any other key for No) :<yを入力> # testデータベースの削除 Remove test database and access to it? (Press y|Y for Yes, any other key for No) :<yを入力> # ユーザーの権限に関するテーブルの再読み込み Reload privilege tables now? (Press y|Y for Yes, any other key for No) :<yを入力> MySQL 8.0 リファレンスマニュアル 「mysql_secure_installation」 ...

5月 3, 2022

【IE記法】ER図の書き方

1. IE記法とは ER図の記法の一つ IE記法とIDEFX1記法がメジャー 別名「鳥の足記法」(Crow’s Foot Notation) 明確な規格がない 2. IE記法で使われる図形 2-1. エンティティ エンティティを長方形(角付)で書く エンティティ名を長方形の1段目に書く 2-2. アトリビュート(属性) 属性名を長方形の2段目に書く 主キーは、属性名の前に*を書く 2-3. リレーションシップ(関係) リレーションシップを実線で書く 2-4. カーディナリティ(多重度) カーディナリティとオプショナリティを書く カーディナリティ(cardinality) エンティティから近い方に書く 関連付くインスタンスの最大数を表す オプショナリティ(optionality) エンティティから遠い方に書く 関連付くインスタンスの最小数を表す modalityと言ったりもする 1をmandatory(必須)、0をoptional(任意)と呼ぶ カーディナリティとオプショナリティ 組み合わせ オプショナリティ カーディナリティ Aインスタンス1つに対するBインスタンスの数 (1) 1 1 1 (2) 0 1 0または1 (3) 1 多 1以上 (4) 0 多 0以上 3. IE記法で書いたER図 3-1. 1対1 3-2. 1対多 3-3. 多対多 ...

5月 3, 2022

【Linuxコマンド】grep・egrep・fgrepの違い

本稿では、Linuxのgrep・egrep・fgrepコマンドの違いを解説します。 grep パターンを基本正規表現(BRE:Basic Regular Expression)として扱う egrep パターンを拡張正規表現(ERE:Extended Regular Expression)として扱う grep -Eと同じ fgrep パターンを固定文字列として扱うため、文字列をそのまま検索できる(正規表現を認識しない) grep -Fと同じ 以下のファイルを使用してそれぞれのコマンドの違いを見ていきます。 $ cat check_file file (f|g)ile '\(f\|g\)ile' 1. grep grepで使われるBRE(基本正規表現)では{,},(,),|,+,?を通常の文字列として扱います。 そのため、これらのメタ文字をちゃんとメタ文字として扱うには逆にエスケープが必要です。 $ grep -C 0 '(f|g)ile' check_file (f|g)ile $ grep -C 0 '\(f\|g\)ile' check_file file 1つ目の検索のように(,|,)をエスケープしない場合、BREはこれらのメタ文字を通常の文字列として扱うため、(f|g)ileという文字列を検索します。 2つ目の検索のように(,|,)をエスケープすると、BREはこれらをメタ文字として扱うため、メタ文字の意味通りにfileまたはgileという文字列を検索します。 2. egrep egrepで使われるERE(拡張正規表現)ではメタ文字をそのままメタ文字として扱うため、正規表現を使った検索に向いています。 $ egrep -C 0 '(f|g)ile' check_file file $ egrep -C 0 '\(f\|g\)ile' check_file (f|g)ile 1つ目の検索のように(,|,)をエスケープしない場合、EREはメタ文字の意味通りにfileまたはgileという文字列を検索します。 2つ目の検索のように(,|,)をエスケープすると、EREはこれらのメタ文字を通常の文字列として扱うため、(f|g)ileという文字列を検索します。 3. fgrep fgrepはメタ文字を認識しないため、直接文字列を検索するのに向いています。 $ fgrep -C 0 '(f|g)ile' check_file (f|g)ile $ fgrep -C 0 '\(f\|g\)ile' check_file '\(f\|g\)ile' 1つ目の検索では、fgrepはメタ文字を通常の文字列として扱うため、(f|g)ileという文字列を検索します。 2つ目の検索では、fgrepは\も通常の文字列として扱うため、\(f\|g\)ileという文字列を検索します。 【参考】 What’s Difference Between Grep, Egrep and Fgrep in Linux? Man Page of grep Linuxのコマンドで使われる正規表現の違い

4月 27, 2022

【MySQL】ERROR 1064 (42000)→構文ミスが見つからない→予約語が原因かも

MySQLで構文は絶対正しいはずなのに、ERROR 1064 (42000)が出た時の話です。 解決法 予約語をバッククォートで囲む 1. ERROR 1064 (42000)について ERROR 1064 (42000)は構文エラーです。 以下のようなエラーメッセージが出力されます。 ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near [入力したSQL文の一部] at line 1 解決法としては、基本的にはドキュメントと自分が書いたSQLを見比べて、構文ミスを見つけるだけなんですが… MySQL 8.0 リファレンスマニュアル(SQLステートメント) 2. 構文ミスが見つからない→予約語が原因かも 2-1. エラー発生 以下のSQL文でERROR1064(42000)の構文エラーが発生しました。 mysql> CREATE TABLE order (id INT); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order (id INT)' at line 1 2-2. 解決法 予約語である「order」をバッククォートで囲むことでエラーが解消されました。 ...

4月 8, 2022

Alfredのブックマーク検索機能の使い方

本稿では、macOS用ランチャーアプリAlfredの「ブックマーク検索機能」について、設定方法や使い方を解説していきます。 1. 環境 macOS Monterey バージョン12.2.1 Alfred 4.6.3 2. ブックマーク検索機能とは Alfredの便利な機能の一つに「ブックマーク検索機能」があります。 ブックマークの名前・URL・フォルダ名で検索して、ブックマークしたサイトを開くことができます。 これまではブックマークしたサイトを開くには、以下の3ステップが必要でした。 ブラウザを開く ブックマークを選択 サイトが表示される これが、Alfredの「ブックマーク検索機能」を使うと以下のようになります。 Alfredで検索 サイトが表示される たったの2ステップでブックマークしたサイトを開くことができます。 また、階層構造になったブックマークフォルダの場合も、見たいサイトを一発で開くことができます。 3. 設定方法 設定方法は「Alfredの設定」と「Macの設定」に分かれます。 3-1. Alfredの設定 まずはAlfredの「Web Bookmarks」の設定を行います。 3-1-1. Alfred Preferencesを開く Alfredを起動した状態で、デスクトップ上部のメニューバーからAlfredのアイコンを選択し、「Preferences…」をクリックしてAlfred Preferencesを開きます。 3-1-2. Web Bookmarksを設定する Alfred Preferencesの「Features」→「Web Bookmarks」から各項目の設定を行います。 Sources ブックマークの検索対象とするブラウザを設定する項目です。 SafariとChromeで登録したブックマーク(またはどちらか一方のブックマークのみ)を検索対象に選択できます。 Chromeの場合は、選択したユーザーで登録したブックマークのみが検索対象になります。 Show bookmarks ブックマーク検索時のプレフィックスを設定する項目です。 プレフィックスを指定して検索することで、検索結果にブックマークのみを表示することができます。 【実行例:ブックマークの「PhotoshopVIP」を検索】 プレフィックスを設定していない場合(「in default results」) →PhotoshopVIPだけでなく、Photoshopアプリも検索結果に表示されてしまう。 プレフィックスを設定した場合(「via keyward」で「bm」を設定) →PhotoshopVIPだけが表示される Open Bookmarks ブックマークを表示するブラウザを設定する項目です。 ...

2月 28, 2022

MacBookでシェルをbashやzshに切り替える方法

macOS Catalinaからデフォルトのシェルがbashからzshに変わりました。 「zshに変更したい」「bashに戻したい」などシェルを切り替えたい時があると思います。 本稿では、MacBookでシェルを切り替える方法を紹介します。 1.現在使用中のシェルの確認 % echo $SHELL /bin/zsh 2.使用可能なシェル一覧の確認 % cat /etc/shells # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/dash /bin/ksh /bin/sh /bin/tcsh /bin/zsh 3.シェルの変更 % chsh -s /bin/bash Changing shell for username. Password for username: ユーザーのパスワードを入力します。 ターミナル再起動後、シェルが切り替わります。 エラーの場合 chsh: no changes madeのエラーが出た場合は以下の手順でシェルを変更します。 「システム環境設定」 「ユーザとグループ」 左下の鍵アイコンをクリックしてロック解除 現在のユーザを右クリックして「詳細オプション」 「ログインシェル」を変更 4.設定ファイルの読み込み $ cat .zshrc >> .bashrc $ source ~/.bashrc これで設定ファイルの内容が反映されます。 ...

2月 1, 2022