サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.softel.co.jp
問題 MySQL5.1.23以降は、RENAME DATABASE が廃止されたみたいなんですけど、データベースの名前を変えるにはどうするのが良いですか。 答え RENAME TABLE は可能なので、以下のような方法がある。 例)dbxxxx を dbyyyy にリネームする /* 移動先を作成 */ CREATE DATABASE dbyyyy; /* 移動先にテーブルを移動 */ RENAME TABLE dbxxxx.table1 TO dbyyyy.table1, dbxxxx.table2 TO dbyyyy.table2, dbxxxx.table3 TO dbyyyy.table3, ... ...(以下必要なだけ); /* 移動元を削除 */ DROP DATABASE dbxxxx;
問題 ・子要素にマウスが乗ったら、親要素の色を変えたい。 ・buttonの中の子要素がクリックされたときに、buttonがクリックされたことにしてほしい(ボタンの特定の位置だけクリック可能にしたい)。 やっぱりJavaScriptがいりますか? 答え CSSでできます。 pointer-eventsプロパティでできます。 pointer-eventsは、要素に対するホバーやクリックなどのマウスイベントをキャンセルできるプロパティです。 pointer-events: auto; /* 初期値。通常通りホバーやクリックのイベントを受け取る */ pointer-events: none; /* イベントを受け取りません */ pointer-eventsプロパティは一般的なブラウザではほぼ使用可能。IEは11以降で使用可能です。 例1)親要素:hover を特定の子要素にマウスが乗った時に適
問題 vue-routerで画面遷移しようとしたら、エラーが出ます。 router.push('/hoge') router.push('/hoge') Uncaught (in promise) e {_name: "NavigationDuplicated", name: "NavigationDuplicated", message: "Navigating to current location ("/hoge") is not allowed", stack: "Error ...(略) 答え 現在すでに /hoge にいる状態で、 /hoge に移動しようとするとエラーになる。 router.push、router.replace は、ナビゲーションの成功時と失敗時のコールバックを引数で指定することができ、3.1以降は、コールバックが省略されると、Promiseを戻すようになっ
問題 CentS6のサポートが終了して、yumでパッケージのupdateやインストールができなくなりました。 もう無理ですか。 答え まだいける。 yumリポジトリの設定ファイルを編集。 vi /etc/yum.repos.d/CentOS-Base.repo mirrorlist の行はコメントアウト。 :%s/^mirrorlist/#mirrorlist/g #baseurl=http://mirror.centos.org/ の行を baseurl=http://vault.centos.org/ に変更。 :%s/^#baseurl/baseurl/g :%s/mirror.centos.org/vault.centos.org/g こんな風になっているところを [base] name=CentOS-$releasever - Base mirrorlist=http://mir
問題 今、10GBぐらいあるダンプファイルをMySQLのデータベースにリストアしているんだけど、 いったいいつ頃終わるんでしょうね? 答え1 私がよく触るある環境では1GBあたり2分ぐらいかかります。 そんな感じで、いつも作業するときに、時間を気にする癖をつけておくとよいです。 SSDとHDD、物理サーバーとクラウド環境などで違うと思うので、日ごろから気にしておくのが良いです。 答え2 ダンプを投入するMySQLが、バイナリログが出力される設定になっていたら、バイナリログの容量が目安になります。 MySQLのダンプファイルはSQLのテキストデータで、バイナリログも実行されたSQLが書かれていくので、投入が終わるころには、バイナリログがだいたいダンプファイルの容量分増えます。 15分でバイナリログが5GB増えていたら、10GBのダンプが入り終わるのはあと15分、トータルで30分ぐらいかなと予
問題 CentOS7にclamAVをインストールして、ファイルのウイルススキャンなどをしたいです。 答え 半年前確認したときとは少し様子が違う気がしたので改めてメモ。 インストール yum install clamav clamav-update clamd 以下も依存関係でついてきます。 clamav-filesystem pcre2 clamav-lib 設定 vim /etc/clamd.d/scan.conf 8行目「Example」をコメントアウトしようと思ったら、すでにされてるのでそのまま。 ログは「LogSyslog yes」になっているのでそのままでも /var/log/messages に出力される。 別のファイルに出力したい場合は、「LogFile」などの項目を設定する。 ユーザーをコメントアウトするとrootで動作する。 # User clamscan もしくは Us
問題 webpackとかLaravelなしで vue+vuex+vue-routerできないですか。 答え htmlファイル1個と、jsファイル1個で、小さなSPA(Single Page Application)っぽいことをしてみる。 ファイル構成は以下のみ。 . |-- index.html `-- app.js vue, vuex, vue-router はCDNから読み込めばOK(もちろんローカルにダウンロードして使ってもOK)。 jsはhtmlの中に <script>~</script> で書いても構わないけど、一応分けた。 HTML(index.html) SPAでよく見る <div id=”app”></div> しかないHTML。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta nam
問題 phpからファイル /tmp/foo/bar.log にfile_put_contents()しているのですが、全然書き込みできません。 [18-Jan-2020 02:02:21 UTC] PHP Warning: file_put_contents(/tmp/foo/bar.log): failed to open stream: No such file or directory in /xxx/yyy/zzz.php on line 75 手動でファイルを作るとちゃんと作成されるのですが… 答え CentOS6以前は問題なかったのに、CentOS7、CentOS8などに移行するとこの問題に遭遇するパターンが多いかと思います。 CentOS7、CentOS8 では、systemdが採用されています。 systemdに登録したサービスには、/tmp 直下や /var/tmp 直下
問題 特定のブラウザのみにスタイルシートを適用したいです。 IE10、IE11では条件付きコメントが効かないので別な方法が必要なのですが。 答え それぞれ以下のようにすると可能。 IEのみに適用 @media all and (-ms-high-contrast: none) { /* ここに書く */ span { color:#c00; } } Firefoxのみに適用 @-moz-document url-prefix() { /* ここに書く */ span { color:#0c0; } } Chromeのみに適用 @media screen and (-webkit-min-device-pixel-ratio:0) { /* ここに書く */ span { color:#00c; } } Safariのみに適用 ::-webkit-full-page-media, :futu
問題 ファイルの内容の種類を、マジックナンバーをを見て判定したい。 (フォーマット識別子、マジックバイト) 答え 自作するとこんな感じ。 <?php function gazoHantei($filename) { //先頭数文字を取得する.巨大なファイルでも先頭だけ見る. $magic = file_get_contents($filename, false, null, 0, 12); $type = ''; if (strpos($magic, 'GIF') === 0) { //GIF87a,GIF89a $type = 'GIF'; } else if (strpos($magic, "\x89" . 'PNG') === 0) { $type = 'PNG'; } else if (strpos($magic, "\xFF\xD8") === 0) { //FF D8 DD E
問題 CentOS5がメンテナンス終了で、参照していた yumリポジトリが使えなくなっていますが、 もう yum update できないですか。 答え http://mirror.centos.org/centos/ などを見ると、5のディレクトリはありますが、 中を見ると、http://mirror.centos.org/centos/5/readme しかおいてなくて、 http://vault.centos.org/を見るといいよ!と書かれている。 /etc/yum.repos.d/CentOS-Base.repo を編集して 以下のような記述は削除(コメントアウト)して、 mirrorlist=~~ baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ 以下のようにする。 #mirrorlist=~~ #
問題 Windows10の仮想デスクトップはキーボードで操作できるの? 答え ショートカットキーは以下の通り。 新しいデスクトップ = Win + Ctrl + D デスクトップ閉じる = Win + Ctrl + F4 デスクトップ切り替え = Win + Ctrl + → デスクトップ切り替え = Win + Ctrl + ← タスクビュー = Win + Tab Windows10の方は、 Win + Ctrl + D 押して、 Win + Tab 押すと、 仮想デスクトップが見えます。
問題 ヘッダ固定(position:fixed)のデザインの時などでは、ページ内リンクの移動位置を調整しないと、固定表示したヘッダに肝心の移動先が隠されてしまうのですが、回避する方法はないでしょうか。 答え(1) CSSだけで対応する方法がある。 上に余白を入れて、ネガティブマージンで見た目上はキャンセルすると、ページ内リンクでの移動先を少し上にすることができる。 a.anchor { display: block; padding-top: 70px; margin-top: -70px; } <div> <a href="#anc1">id=anc1に移動するページ内リンク</a> </div> ... ... <div> <!-- ページ内リンクの移動先 --> <a id="anc1" class="anchor"></a> <h1>移動先のコンテンツ</h1> <p>移動先のコン
手順はこちらの記事からの引用です。 http://piro791.blog.so-net.ne.jp/2009-03-05 同じように試してみて、できました。 swap領域の確認 現状のswap領域について確認するには /proc/swapsを見る。 [root@test-server1 ~]# cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 2096472 2091628 -1 /dev/sda2に、およそ2GBのswap領域が作成されている。で、この2GBの領域をもうじき使い切りそうな勢いである。 swapを追加する方法としては、上記のように、ディスクにswap用のパーティションを作成する方法と、通常のファイルシステムの上にswap用のファイルを作成し、それをあたかもswap専用の領域として使わせ
var num = 123; String(num); // "123" num.toString(10); // "123" num.toFixed() // "123" num + ''; // "123" '' + num; // "123" var num = 123.45678; String(num); // "123.45678" num.toString(10); // "123.45678" num.toFixed() // "123" num + ''; // "123.45678" '' + num; // "123.45678" var num = -9999999123.45678; String(num); // "-9999999123.45678" num.toString(10); // "-9999999123.45678" num.toFixed()
問題 2020年2月にアップデートが予定されている「Google Chrome 80」より、CookieのSameSite属性を未設定時の挙動変更がアナウンスされています。 この挙動変更により、WebサイトのCookieの使用方法によっては、外部サイトとの画面連携が正しく行えなくなる可能性があります。 外部サイトからの画面連携する処理フローにて、画面連携時(外部サイトからPOSTメソッドで遷移してくるとき)にログイン状態等の情報が取得できなくなる可能性があります。 セッションCookie発行時に、SameSite=None; Secure を付与しないといけないらしいのですが、どうしたらよいでしょうか。 答え php7.3以降 php7.3からは、setcooike関数、session_set_cookie_params関数で、samesite属性を設定できるようになりました。可能ならばそ
問題 スクリプトを書いて source に渡すと実行可能です。 shやbashに渡しても実行が可能です。 何が違うのですか。 答え スクリプトを実行するという点では、以下は同じです。 ./test.sh (実行権限を付与して) sh test.sh bash test.sh source test.sh 違う点は、上の3つは新たな子プロセスを生成して実行するものであり、soruceの場合は現在のシェルで実行するものである点です。 例えば上の test.sh が変数を定義するスクリプトだった時、bash に渡して実行しても現在のシェルに変数は定義されません。 sourceで実行すると定義されます。 $ cat test.sh X=123 $ bash ./test.sh $ echo $X ← 何も定義されていない $ source ./test.sh $ echo $X 123 ← スクリ
問題 引数リストは作ったのですが、xargsって、1つずつ処理、1つずつ複数のコマンドで処理ってできますか。 答え 1つずつ渡す $ ls | xargs -L 1 echo a.txt b.txt c.txt 2つずつ渡す $ ls | xargs -L 2 echo a.txt b.txt c.txt 1つずつ渡す $ ls | xargs -l echo a.txt b.txt c.txt 1つずつ渡す。{} で渡して、渡した先で使い方は調整したい。(-I を使うと -L 1 が自動的に指定される) $ ls | xargs -I {} echo {} a.txt b.txt c.txt 1つずつ渡す。{} で渡して、渡した先で使い方は調整したい。(-i は -I {} と同じ) $ ls | xargs -i echo {} a.txt b.txt c.txt $ ls | xar
問題 text/plainなメールだけでなくて、htmlメールや添付ファイル付きのメールを解析して処理するのですが、 multipartなメールってパートの入れ子はせいぜい何階層ぐらいを想定しておけばいいですか? 答え 関連RFC 2822, 2045, 2046, 2047, 2557 マルチパートなメールは、単純に「テキストパートですよ」「HTMLパートですよ」「添付画像ですよ」とフラットに並んでいるわけではない。 multipart にもよくあるものでも以下のような種類がある。 multipart/alternative(内容の同じテキストメールとHTMLメールのように、形式は違っても内容は同じものを示す) multipart/mixed(個々のパートはそれぞれ異なるものであることを示す) multipart/related(関連するものを示す) 以下のような状況は普通に発生するので
問題 このApacheは、preforkとworker、どっちで動いているか確認できますか。 <IfModule prefork.c> と <IfModule worker.c> どっちが適用されているか確認したいんですけど。 答え 以下のようなコマンドで確認することができる。 # httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.c # apachectl -l Compiled in modules: core.c prefork.c http_core.c mod_so.c 以下でもよい # httpd -V Server version: Apache/2.2.15 (Unix) Server built: Oct 16 2014 14:48:21 Server's Module Magic Numb
問題 複合キーのテーブルで、以下のようなSQLがものすごい時間をかけているのを見かけました。 UPDATE xxxx SET xxx_flag = 1 WHERE (order_no = '20180921-00123704' AND row_no = '2') OR (order_no = '20180922-00102730' AND row_no = '3') OR (order_no = '20190423-00152822' AND row_no = '1') OR … OR … OR … 以下2,3万行続く order_no と row_no で primary key を指定してはいますが、とても遅い。 そんなものですか? 答え この手の条件は、ORの件数によって実行計画が変わるようです。 ある200万行あるテーブルの場合、 条件が1個ならprimary key 使用。 OR
Google Charts を利用してQRコードを作成できるフォームです QRコードに埋め込みたいURL、テキストを入力してください http://www.softel.co.jp/ 幅(px) / 高さ(px) / 文字コード QRコードを作成する 結果(URLとQRコード画像) 結果がここに表示されます ガイド ・通常は、文字コードはUTF-8のままでかまいません(特にURLなど英数字しかない場合)。 ・日本語を含むテキストをフィーチャーフォンで文字化けしないで読み取りたい場合は、文字コードにShift_JISを選択するとよいことが多いです。 参考 Google Chart Tools: Infographics (Deprecated)
問題 JavaScriptに全角スペースが入っているのを見つけたのですが、エラーも何も問題が発生していないです。 そんなもんなんですか。 //↓ifの後ろに全角スペースが! if (a > 0) { } 答え JavaScriptの仕様(ECMAScript 5.1の仕様)によると、以下の文字がホワイトスペースとして定義されている。 Table 2 — Whitespace Characters
問題 MySQLでは、文字列の比較で、空白の有無って無視されるの? 答え MySQLでは、比較演算子 = を使ったとき、後続の空白は無視される仕様。 いずれかの標準演算子(= や <> など。LIKE は含まない)を使用してケース非依存文字列を比較する場合、後続の空白(スペース、タブ、改行復帰)は無視されます。(4.1のマニュアルより) ‘aスペーススペース’ = ‘a’ は true になる。 mysql> select 'a ' = 'a', ' a ' = ' a ', ' a ' = ' a ', 'a ' like 'a', ' a ' like ' a ', ' a ' like ' a ' \G *************************** 1. row *************************** 'a ' = 'a': 1 ' a ' = ' a ':
問題 adminerは以前sqliteが使えたと思うのですが、今は使えないのですか? 答え 今はそのままアクセスしても使えないようになっている。 (ログインなしでファイルのパスだけ指定すればアクセス可能なのは危険ということでしょうか。) 以下のように別のファイルを作って、少しphpを書いて、本体をincludeすると使えます。 <?php // adminer_object を定義 function adminer_object() { include_once "plugin.php"; include_once "login-password-less.php"; return new AdminerPlugin(array( new AdminerLoginPasswordLess(password_hash("YOUR_PASSWORD_HERE", PASSWORD_DEFAUL
問題 find して xargs に渡す方式でコマンドを実行したいのですが、 スペースを含むファイル名があると「そのようなファイルやディレクトリはありません(No such file or directory)」と言われてしまいます。 どうしたらよいですか。 答え find が -print すると、ファイル名が改行区切りになり、xargs は空白や改行を区切り文字として認識する。 find と xargs の区切り文字をヌル文字にしてやると、空白を含むファイル名が分割されないようになる。 find には -print0 、xargs には -0 または –null を指定する。 例) find . -name *.log -print0 | xargs -0 grep 'hoge' findは-print0でヌル文字区切りで出力し、xargsは-0でヌル文字を区切り文字として処理する。
問題 www.example.com も example.com も、CNAMEレコードで xxx.example.jp を設定したいけど、できますか? wwwありのサブドメインもwwwなしのネイキッドドメインも同じWebサイトを表示したいとき wordpress.com や jimdo などの外部サービスに、wwwありなしどちらも向けたいとき などに 答え 基本 – @にCNAMEはダメ RFC 1912 に、以下のようにある。 2.4 CNAME record A CNAME record is not allowed to coexist with any other data. (CNAMEレコードは他のデータと共存できません) NS、A、MX、TXT 何も設定できなくなるので、@(wwwなし)に、CNAMEは設定できない。 お名前.comやAmazonRoute53などのDNSの
問題 .htaccessであるディレクトリのIP制限をしたいんだけど、その中でも特定のディレクトリはアクセス制限したくないとき、どうしたらいい? 答え 1、上の階層は、基本的にIP制限をかける /hoge/fuga/.htaccess order deny,allow deny from all allow from 192.0.2.123 allow from 210.196.222.88/29 2、特定のディレクトリだけIP制限を解除する /hoge/fuga/特定の/ディレクトリ/.htaccess <Files "*"> allow from all </Files> この1行だけでもよい allow from all .htaccess ファイルを2つ作らないといといけないのは、そもそも .htaccess がディレクトリごとの設定ファイルだし、.htaccessでは<Direc
問題 CSSで文字が斜体になりません! 答え メイリオではならないそうです。 https://www.microsoft.com/typography/fonts/family.aspx?FID=323 font-style:italic; を指定しても、斜めにならないです。 なお、英数字だけはイタリックになるので、日本語、半角英数字が混在していると、まっすぐだったり斜体になったりが混在します。 斜体用フォントを表示させるのではなく、単純に斜めに変形するのであれば CSSのtransform で可能。 CSS .transform-italic { -webkit-transform: skewX(-15deg); -moz-transform: skewX(-15deg); -o-transform: skewX(-15deg); transform: skewX(-15deg); -m
次のページ
このページを最初にブックマークしてみませんか?
『一緒に日本一を目指す仲間募集!|株式会社ソフテル』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く