2022/1/13をもって お客様がご利用中のブラウザ (Internet Explorer) のサポートを終了いたしました。 (詳細はこちら) クックパッドが推奨する環境ではないため、正しく表示されないことがあります。 Microsoft Edge や Google Chrome をご利用ください。 (Microsoft Edgeでクックパッドにログインできない場合はこちら)
【材料】2人用 A:スープ(完成スープ量1リットル程度) 骨付きチキンレッグ(2本)、スライス生にんにく(3片)、スライス生姜(3g)、ローリエ(2枚)、トマトピューレ(40g)、 清酒(100cc,食塩無添加のもの、・・・料理酒は×。)、セロリ(1/4本程度) B:ペースト サラダ油(適量)、クミンシード(小さじ1)、みじん切り玉ねぎ(中1個分)、みじん切り生姜(3g)、 みじん切りにんにく(3g)、クミンパウダー(小さじ2)、コリアンダーパウダー(小さじ2) C:具材 ジャガイモ(中2個)、人参(1本)、オクラ(4本)、レンコン(2カット)、ピーマン(1個)、カボチャ(くし切り2切れ) ゆで卵(1個) ※ご飯を炊くのを忘れずに!!水を気持ち少なめにするとgoodです。 D:仕上げ調理用(※1人前(360cc)ずつ調整する) カイエンペッパー(少々)、ナンプラー(小さじ1)、砂糖(小さじ
2020年8月31日(月)をもちまして、nanapiに関わるすべてのサービスは終了いたしました。 nanapiは、2009年のサービス開始より「みんなで作る暮らしのレシピ」という考えのもと、ユーザーの皆さまに生活に関する様々な「ハウツー」を投稿していただく投稿型ハウツーサービスとして運営してまいりました。 約11年間にわたって皆さまからご支援をいただきサービスを継続できたこと、nanapi編集部一同、心より御礼申し上げます。 掲載されていたコンテンツなどのnanapiについてのお問い合わせは、nanapi@supership.jp までお願いいたします。 長きに渡りnanapiを応援してくださり、本当にありがとうございました。
描画領域の横幅によって適用スタイルを分ける方法 レスポンシブWebデザインは、閲覧者が利用している端末の画面サイズに応じて適用スタイルを変化させることで実現します。変化させるのはCSSだけなので、HTMLは共通です。そのため、端末の種類別にページを分割する必要はなく、単一のページだけであらゆる端末向けのデザインを提供できます。 上図の左側のように描画領域の横幅が広い場合には、段組を作るスタイルを適用することで広い横幅を有効に活用します。上図の右側のように閲覧領域の横幅が狭い場合には、段組を解除するスタイルを適用することで狭い横幅でも見やすさが維持できるようにします。 CSS3のメディアクエリでレスポンシブWebデザインを作る レスポンシブWebデザインは、CSS3で追加されたメディアクエリ(Media Queries)という仕組みを利用して作ります。このメディアクエリを使うと、指定した条件
CSS の position プロパティの使い方を覚えると、画像と画像を重ねる、画像と文字を重ねる、というのが簡単にできるようになります。 画像編集ツールで加工してもよいのですが、CSS で表現すると画像の上に表示されているテキストを検索エンジンが認識してくれるので SEO 効果が期待できる、というメリットがありますね。 それでは position:relative と position:absolute の使い方を見ていきましょう。 position プロパティの使い方基本 positon プロパティで聞いたことがあるのは「相対配置」と「絶対配置」という言葉だと思います。 何となくイメージはできるものの、検索して解説を読んでもイマイチわからず…という状態ではないでしょうか。 position プロパティで使える値をおさらいしておきましょう。 static
令和からの働き方について -TownSoft- 元「傲慢SE日記」で、しばらく放置していました。 2020年からはこれからの働き方などについて書いて行こうかと思います。 はじめに フリーランスになる前に知っておくと良い事の記事が好評だったので、技術者に絞った記事をブログ限定で書きます。 (と言いながら、要望があればQiitaへ転記するかもしれません。) この記事のタイトルは汎用的に使えると思いますが、僕がフリーランスになって知った内容を書いているので偏っている部分もあるかもしれません。 フリーランスになってから覚えていっても十分で問題が無いこともあります。しかし、事前に覚えておくと良い事は多いでしょう。 この記事の対象者は企業に常駐開発して定期的にお金が入る働き方を望む人向けに書いてます。 (後述するSES契約を結ぶ方を対象にしてます。) ※良ければ事前にフリーランスになる前に知っておくと
TOPjQuery jQueryでページ読み込み中にローディング画面を表示する方法 jQueryでページ読み込み中にローディング画面を表示する方法 公開日:2015.11.20 更新日:2020.05.19 jQuery, ローディング jQueryでローディング画面を実装しました。 全てのページの内容が読み込まれたらローディング画面が非表示になる仕様です。 2GRAVITY様の方法を参考にさせていただいています。 jQueryを使わずにjavaScriptで実装するプラグインはこちら デモページ 実装方法 html ロード画面とロード後に表示させたい要素を個別に括っておきます。 <div id="loader-bg"> <div id="loader"> <img src="img-loading.gif" width="80" height="80" alt="Now Loading.
CSS(スタイルシート)でfont-sizeを指定するとき、pxを使わない方がいいと聞いたことがあります。 ですが、pxで指定しないとなると、今度はemと%が出てきて、どれがいいんだ?といつもよくわからないまま使っていました。 なので、どれがいいのか?そもそもこの単位たちは何なのか?復習も兼ねて調べてみました! 目次 ・なぜ「px」で指定しない方がいいと言われているの? ・font-sizeにおけるpx、em、%の簡単な用語説明 ※一部修正・削除(2016年12月11日) ・px、em、%の違いは、絶対?相対? ・IEライクなfont-sizeの指定方法 ・古いIEを気にしない、スマホサイトは「rem」がおすすめ ※追記(2014年10月1日) なぜ「px」で指定しない方がいいと言われているの? むかしむかし「IE」で文字の拡大ができない問題 ブラウザには今見ているWebサイトを拡大できる
はじめに Qiitaをご覧になっているエンジニアのみなさん、正規表現は使いこなせてますか? 正規表現が使えるととっても便利ですよね! あれ?そちらの方、「ぼく、正規表現ようわからへん・・・」って小さくなってませんか?? 大丈夫です!そんなあなたのために、この記事を書きました。 知識ゼロからでも正規表現を学べるようにやさしく説明しているので、とりあえずこの記事を最後まで読んでみてください。 今は \d{2,5}[-(]\d{1,4}[-)]\d{4} が謎の呪文にしか見えなくても、最後まで読めばきっと意味がわかるようになっているはずです! 対象となる読者 本記事は正規表現の予備知識が全くない「正規表現初心者」を対象としています。 正規表現は便利だってよく聞くけど、意味不明な呪文にしか見えなくてなんか怖い 正規表現を勉強しようと何度か頑張ったけど、結局よくわからなくて実務で活用できていない と
はじめに この記事は、アプリケーション開発におけるUI設計の、画面遷移図について個人的に考察したものです。画面遷移図を作る上で、現状どのような選択肢があるかをまとめています。正直調べ足りないところも多々ありますので、内容が偏っていたり間違ってる可能性があります。参考にする場合はご注意ください。 画面遷移図の役割 画面遷移図とは、画面とその移り変わりを図にしたものです。画面同士を矢印などでつなぎ、矢印の方向に画面が遷移することを表したりします。 最近はUI設計の成果物として、実際に画面遷移の操作をできるモックアップの開発も盛んになっています。しかし、それはそれで良いものですが、画面とその相互関係を一覧できる画面遷移図は、また別な価値のある資料です。画面遷移図を作ること、そして作り方を検討して改善していくことは、アプリケーションの設計において重要ではないかと思います。 画面遷移図の種類 画面遷
CSSのfont-sizeが%とかemとかremとかvwで指定されてると、ビビっちゃう君と僕を救う2分HTMLCSSHTML5CSS3 ーーーーーーーーー 追記 2020年10/15 この歳になるとこういう記事のアプトプット怖いですね。。 とりあえず周り見てると、こうやってる人多いです html,body{ font-size:62.5%; } って書いてあげて そうすると 1.0rem が 10pxになるみたい。 そんで例えば24pxにしたい場合は2.4remって指定してあげるみたい。 以上。 ーーーーーーーーー いまだにレスポンシブ怖い、、、、。 なぜなら%とかemとかremのフォントサイズ指定があるから。。。 これらをなんとなくでしてる人。 途中で引き継いだ案件とかでpx以外が指定されててビビってしまった 僕とあなたへ捧げます。 😭 大前提 CSSのフォントサイズ指定方法は次の2つ
専門的な情報を、立場の違う人に「分かるように説明する」のは難しいものです。このブログは「技術屋が説明書や提案書を分かりやすく書く」ために役に立つ情報をお届けします。 こんにちは。ドキュメント・コンサルタントの開米瑞浩です。 今回は、専門的な知識経験を持った専門家の技術解説をリライトする事例をお見せしましょう。題材がSQLによるRDBアクセスの話なので、SQLに関する基本知識を持った人向きの内容です。 背景は、RDBのプロフェッショナルである生島勘富さんから、セミナーや雑誌連載企画に関するご相談を先日来いただいていることで、生島さんの承諾を得てここでその中の1つを紹介します。 まず、元ネタはこちら ↓ FROM句とWHERE句 - SQLer 生島勘富 の日記 http://d.hatena.ne.jp/Sikushima/20100612/1276311628 SQL文の中で使われる FR
2017年1月27日追記 Googleのアクセス解析を見たら、僕が書いた記事の中で、意外にもこの記事が一番アクセス数が多いです。 全然「いいね」や「ストック」もされてませんが、この記事だけで月間2,000ページビュー以上あります。 おそらく、Qiitaユーザーでもない通りすがりの方が見てくれているのかと思います。 今まで覚書のように要点のみ書いていましたが、アクセスする方も多いので、より詳説に書き直しました。 この記事を読んでもわからないことがあれば、コメントください。 そもそもPOSTやGETって何? POSTやGETについて理解していない方は、下記が参考になります。 【PHP超入門】HTTP(GET・POST)について チェックボックスを配列にするには? HTML側で name を記述するときに [] を最後に付けると配列になります。 下記のように food[] のようにします。 <h
ImagesLoaded アニメーションを多様するようなWebページを作っていると「画像が読み込まれるのが遅くてうまくいかない!」、「画像がちゃんと読み込まれてから関数を実行させたい!」といった場面にぶち当たることが出て来きます。 そんなときに便利なのが「ImagesLoaded」!非常に簡単な記述で、要望を満たしてくれます。 必要なもの 公式ページがあるのでそちらから必要ファイルをダウンロードしてきます。 1つしかありません! <script src="js/imagesloaded.pkgd.min.js" type="text/javascript"></script> 使い方 使い方も至極単純です。通常のJSで使う場合のほかに、jQueryなどの書き方もあります。 //通常の書き方 imagesLoaded( '#container', function() {/*実行させたい処理
高機能なスライドショーを実装するためのjQueryベースのプラグインと言えば、「FlexSlider」「CarouFredSel」「bxSlider」などが有名ですが、今後これらのプラグインに代わって定番になるであろう、秀逸なスクリプトが公開されていました。 はじめに。[flickity]と名付けられたコンテンツスライダーです。 他のスクリプトに代わって台頭するであろう、幾つかの理由があります。 ポイントは以下の点。 レスポンシヴ対応。モバイル端末のタッチやフリック入力に対応。スクリプト単体でも動く。jQueryに依存しない。デフォルトで[imagesLoaded]との併用が可能。設定にはHTML5のデータ属性を利用することも可能。スクリプト一式をダウンロードしてサイトに組み込み、任意のhtmlを記述するだけで動く点は初心者の方にも優しい仕様ですね。 また設定にHTML5のデータ属性を利用
プログラミング学習サービスやら、ペットサロン予約サービス、風俗予約サービスなど色々とやっている「かずきち」です。 ◾️その他Qiita記事 エンジニアで稼ぐために大切な20のコト ウェブカツ生を雇わない?転職できない?著作権無断使用の炎上から1年を経て思うところをぶっちゃける。 テックキャンプをウェブカツ!! 顧問が徹底レビューしてぶった切ってみた ■運営サービス一部 http://crazy-wp.com/ フリーランスエンジニアを育成するオンライン最大級のプログラミングスクール「ウェブカツ」 http://webukatu.com/ ■プログラミングスクール「ウェブカツ」の出版本 「小学生からでもプログラミングを楽しく学べる漫画作りたいなー」と思い立ち、外注してウェブカツで漫画本を作りました。KADOKAWAさんより出版しています。 はたらくプログラミング 完全版 (コミックエッセイ)
python × 134 javascript × 53 python3 × 43 c++ × 32 linux × 30 html × 27 c × 24 java × 22 c# × 20 android × 18 vscode × 16 google-apps-script × 16 typescript × 16 ruby × 15 windows × 15 ruby-on-rails × 14 pandas × 14 swift × 13 php × 13 mysql × 13 css × 13 postgresql × 12 ios × 11 bash × 11 shell × 11 macos × 10 docker × 10 r × 10 rust × 10 aws × 9 ubuntu × 9 アルゴリズム × 9 laravel × 9 正規表現 × 9 network
前書き まだ 「ファイルアップロードの例外処理はこれぐらいしないと気が済まない」 をご覧になっていない方は先にそちらからどうぞ。 タイトルの通り、ディレクトリ作成を許可してユーザーにファイルをアップロードさせたいときのためのスクリプトです。今回は以下の条件のもと行ってみます。 ファイル名はそのまま使用する 許可するファイル形式を JPEG PNG GIF のみに制限する ファイル名またはディレクトリ名に使われる文字を正規表現 [\w.-] にマッチするもののみに制限する スクリプトとして実行可能な *.php *.cgi *.rb *.py にマッチするファイル名のものは禁止する (トロイの木馬対策) ディレクトリを10階層までに制限する . で始まるまたは終わる「ファイル」「2文字以上のディレクトリ」は許可しない (ディレクトリトラバーサル対策) 絶対パスによるディレクトリ指定は許可しな
主に経験談。 PHP初心者が初めて自分で何かするとか業務で何かするとかいうレベルを想定。 準備 PHP7.0を選べ PHP5.5は2016/07/10にサポート期限が切れた。 2016/07/10時点では、今からサーバ構築するならPHP7.0を選択すべきだ。 新規開発なら、もうPHP7.0を使ってもいいだろう。速いし。 使用予定のフレームワークがPHP7に対応していない等の理由があるならば、PHP5.6を選択する余地もあるだろう。 5.6と7.0以外のバージョンは、現時点ではそもそも選択肢に入れるべきではない。 HHVMとかは理解ってる人が選ぶものだから、ここを見てるような人は選択しなくていいぞ。 クラウドではない方のレンタルサーバにありがちなCentOSは未だにPHP5.3がデフォルトだが、最低限セキュリティフィックスのバックポートはなされているので、一応はそのまま使っても問題ない。 た
忙しい人向け Q. PDO::FETCH_ASSOCでフェッチするとき,キーを整数連番じゃなくてidにする方法は? A. PDO::FETCH_UNIQUEを組み合わせる. $sql = "SELECT id, * FROM people WHERE gender = 'female'"; $rows = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE); var_dump($rows); /* [ 3 => ['id' => '3', 'name' => 'Lucy', 'gender' => 'female'], 5 => ['id' => '5', 'name' => 'Mary', 'gender' => 'female'], ] */
【2021/10/15 追記】 この記事は更新が停止されています。PHP を分かった気になって書いていた不正確な内容が多いため,過去の情報として参考程度にご覧ください。また,完成にたどり着けなかったことをお詫びします。原則的には,公式マニュアルの参照をおすすめします。 前書きとか ターゲット層は? 最低限 HTML についてある程度理解をされている方が対象です。 XHTML や CSS についての理解もあった方が望ましいと思います。 C言語 などの基本的なプログラミング言語の経験もあれば幾分か理解がラクになるでしょう。なお、本講座では XHTML5 の書き方で統一することにします。以下に有用な参考サイトを紹介します。 XHTML5 移行メモ http://kanow.jp/web/xhtml5-memo.xhtml HTMLクイックリファレンス http://www.htmq.com/ W
正常系は上手く動くし問題ない!と思ってもケースによっては危なかったり あんまりよくない書き方ってあると思います。 そういうような控えたほうががいいような書き方をケース別にまとめたものです。 まばらには書かれているんですが、一つの場所にはまとまってないのでメモがてら。 ==での比較 違う言語から戻ってくると間違って書いてしまいがちな判定。 問題点 == の場合は 型の相互変換をかけてから比較するので 意図しない比較が行われる可能性がある PHP: 型の相互変換 - Manual コード例と解説 以下のようなコードがあるとします。
以下のサイトに移行しました。 qiita.com
クライアントからのリクエストに対してすぐに応答せず溜めておき、何らかのタイミングを見計らって応答する技術。 Comet - Wikipedia 例えばチャットなんかで使うと、相手が発言したタイミングでレスポンスが返ってくるので、リアルタイムに会話が出来たりする訳です。 ※あくまでも実装の一例なので、このままでは利用シーンがかなり限定される事をご留意下さい。 注意事項 以下の実装方法は、知識的なコストがあまり必要ない替わりに、サーバー的なコストを多く消費します。 共有レンタルサーバーなんかで使うと、アカウント制限・停止などの処置がとられる場合があるので、共有で使うスペースなどでの使用は避け、専用サーバーや自前のサーバーなどで使用して下さい。 Comet動作の流れ 大まかな流れはこんな感じです。 Ajax(XMLHttpRequest)を利用してサーバー(PHP)にリクエストを送る リクエスト
この記事は,日経ソフトウエア2007年1月号,連載「簡単実装で学ぶWeb技術2006」の第7回「Comet――プッシュ型のWebアプリケーションを作る」の再録です。記事は執筆時の情報に基づいており,現在では異なる場合があります。 こんにちは,結城浩です。 今回は,サーバーからデータをプッシュするタイプのWebアプリケーションを作成する技法の「Comet」を紹介します。簡単なチャット・プログラムを通してCometの仕組みを学びましょう。 Cometとは 通常のWebアプリケーションは,クライアント(Webブラウザ)から送られてくるリクエストを受け取って動作します。つまり,WebアプリケーションはユーザーがWeb上のリンクをたどったり,ボタンを押したりすることをきっかけに動くのです。ここで,動きの主導権はクライアント側にあります。クライアントがサーバーから情報を「引き出す」ことによって動作する
今回は、jQueryで子要素を取得する方法を3つに分けて説明します。 直下の子要素を取得する.children() 要素内の全ての子要素を取得します。children('セレクタ')のように、セレクタを引数に渡すことで子要素を絞り込むこともできます。 (例1)#parentの子要素の中から、imgタグのみ取得する HTML <div id="parent"> <p>テキスト1</p> <p>テキスト2</p> <p>テキスト3</p> <img src="sample.png" /></div>
JavascriptやjQueryを書いていると、「この処理がちゃんと終わってから、こっちの処理を始めたい!」って場面に結構遭遇するのではないかと思います。特にアニメーションを作っているときによくあるのではないでしょうか。 コールバック関数を設定出来る処理なら簡単なのですが、それがないものも結構あったりします。僕が困ったのは.html()や.ajax()でした。なんかいい解決策は無いかなーとググってみたところ.when().done()という処理の仕方が良さげだったので使ってみたらばっちりでした。 .when()には先に終わらせたい処理を書く ざっくりとした説明の仕方をすると、.when()には先に完了させたい処理をまとめて書いておきます。例えば、“横に移動したら、フェードアウトする”みたいな事をしたい場合、“横に移動したら”の部分を.when()の中には書きます。 (まあ、そんな簡単な動
としてみたところ、 フェードアウトせずにそのまま消えてしまった。 ちょっと調べてみると、処理を待つキューに入る処理と入らない処理があるとのこと。 エフェクト系は概ね入るようだけど、remove()はキューに入らない。 キューに入れるには.queue()を使う。
HTMLで特定の要素を全て取得して回したい場合はJavaScriptなどで繰り返し処理をしますが、jQueryを使った場合の方法をまとめます。 対象としてはこのようなHTMLの場合です。 <div class="comment">コメント1</div> <div class="comment">コメント2</div> <div class="comment">コメント3</div> ... .each()メソッド jQueryで繰り返しといえばeach()メソッドです。基本的な構文は以下の通り。 $('セレクタ').each(function(index, element){ 〜 }); 第1引数には各要素のインデックス番号が、第2引数には繰り返し処理中の要素が参照されます。2つの引数はどちらも省略可能です。このメソッドを使えば要素数分、繰り返して指定した関数を実行してくれるわけですね。簡
PHPでセッションを破棄する方法について、きちんと解説されたものが見つからなかったので書いておく。 まず、PHPでセッションを破棄する方法自体はPHPのマニュアルの載っている。↓の部分だ。 <?php // セッション変数を全て解除する $_SESSION = array(); // セッションを切断するにはセッションクッキーも削除する。 // Note: セッション情報だけでなくセッションを破壊する。 if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // 最終的に、セッションを破壊する session_destroy(); ?> 問題は、このコードについてまともな説明がされていないことだ。よくわからないままに使っている人も多いように思える。例えば「PHP
更新日: 2017年3月14日公開日: 2015年12月6日ゼロから始めるJavaScript講座Vol23 Ajaxとは "CodeCampus"はオンラインプログラミングスクール No.1のCodeCampが運営するプログラミング未経験の方のための学習メディアです CodeCampとは?(受講生体験記) 「エンジニアは女性のキャリアとして魅力的」未経験からの転職体験記リモートワーク×多拠点居住の新しい生き方を実現する。元バレエダンサーの挑戦普通の文系大学生/営業職が、エンジニアへ転職し起業するまで成長の記録 ゼロから始めるJavaScript講座 AjaxとはWebページの仕組み GoogleやYahooなどを代表とした無数にあるWebページは、それぞれの企業が管理しているサーバ(PC)のファイルをブラウザで見ています。 例えばhttp://User名.lesson.codecamp.
必要ならどうぞ。 デモ jQueryでフォームの値を取得する方法をまとめ – jsdo.it – Share JavaScript, HTML5 and CSS jQueryでフォームの値を取得する方法をまとめ – jsdo.it – share JavaScript, HTML5 and CSS 共通:要素の探し方 input要素なんかにid振っちゃうのが一番なんだけど、属性セレクターを使うと楽な場合があります。つまり[name=xxx]で検索するやり方。 <form id="my-form"> <input type="text" name="my-text" value="This is text." /> </form>
今回は、正規表現における否定条件の記述方法と否定先読みについて説明します。 否定的先読みとは ?! で始まる正規表現を括弧 () で括ることにより、指定した文字列を含まないという条件(否定的先読み)でマッチングを行うことができます。また、否定的先読みの前後に別のパターンをつなげて記述することも可能です。 否定的先読みを使用した例 下記の例では否定的先読み(?!~)の前後に文頭を示す ^ と文末を示す $ をつなげて行を検索するようにしています。 〜を含まない 「abc」という文字列を含まない行にマッチする。
ナビゲーションやリストを水平に並べると、なぜか少し隙間が生まれてしまうことがあります。今回はこの現象の解決方法をいくつか紹介したいと思います。 結構簡単な方法なので、知っている人も多いと思いますが、もし知らない人がいれば、ちょっとは役に立つかと思います。基本的にはfloatで解決すれば良いと思いますが、floatを使うと都合が悪くなる場合などもあると思うので(width指定とか、センタリングとか)、そんなときのためにどうぞ。 個人的にメモしておいたものを、WEBにUPして管理しておきたいという意味もあり、今回記事にしています。 元となるソース HTML <ul> <li>バナナ</li> <li>リンゴ</li> <li>ミカン</li> </ul> CSS ul { margin:0; padding:0; list-style:none; } ul li { display: inli
予備知識 スーパーグローバル変数とは? 「スーパーグローバル変数って何?」って感じの駆け出しPHPプログラマのために念のためマニュアルへのリンクを記載しておきます.全然知らない人は軽く読んでおいてください. PHP Manual - 変数のスコープ PHP Manual - スーパーグローバル HTTPとは? リクエストヘッダー・レスポンスヘッダー と聞いてピンと来ない人はまず下記サイトにて予習をお願いします.細かいことは覚える必要は無いので,大雑把に「ヘッダーとはどんなものか」ということを理解してください. Qiita - 【PHP超入門】HTTP(GET・POST)について Qiita - 【PHP超入門】Cookieとセッションについて @7968さんによるQiitaの記事です.右も左もわからない人はまずこれで. とほほのWWW入門 - HTTP入門 最初の記事をもう少し体系的にまと
予備知識 スーパーグローバル変数とは? 「スーパーグローバル変数って何?」って感じの駆け出しPHPプログラマのために念のためマニュアルへのリンクを記載しておきます.全然知らない人は軽く読んでおいてください. PHP Manual - 変数のスコープ PHP Manual - スーパーグローバル HTTPとは? リクエストヘッダー・レスポンスヘッダー と聞いてピンと来ない人はまず下記サイトにて予習をお願いします.細かいことは覚える必要は無いので,大雑把に「ヘッダーとはどんなものか」ということを理解してください. Qiita - 【PHP超入門】HTTP(GET・POST)について Qiita - 【PHP超入門】Cookieとセッションについて @7968さんによるQiitaの記事です.右も左もわからない人はまずこれで. とほほのWWW入門 - HTTP入門 最初の記事をもう少し体系的にまと
どうも、もう更新が月一にあるかないかのペースですが頑張って更新しています。ビザ申請のための書類作成やフリーランスの仕事などバタバタして書く時間をまったく作れませんでした。幸運なことにアクセスは記事を書いてなくても伸び続けているので良かったです。 今回はjQueryを使用して要素を消す際にどのような方法があるかをご紹介いたします。 jQueryで要素を消す際に使用するメソッドは色々ありますが違いはわかっていますか? それぞれに特徴がありますので理解した上で使用する事で制作時間を削るだけでなくメンテナンスする際も楽になります。hide(),fadeOut(),css(),addClass()をサンプルコード付きで紹介しています。 .hide()
jQueryの要素の表示・非表示を判定する方法を紹介します。 1.基本 jQueryでは、要素の表示・非表示のためのメソッドとして、show()とhide()が提供されています。 show()は指定した要素を表示します。 $('#foo').show(); hide()は指定した要素を非表示にします。 $('#foo').hide(); が、表示・非表示を判定する方法として、isShow()やisHide()、isVisible()などは提供されていません。 2.css('display')で判定する show()はdisplayプロパティ「block」、hide()はdisplayプロパティを「none」にするので、これを判定に利用します。 if ($('#foo').css('display') == 'block') { // 表示されている場合の処理 } else { // 非表示
PHPを使ってランダムな文字列、セキュリティ用の文字列(認証用のトークン)を生成する方法をまとめています。 ランダムな文字列を生成 ランダムな文字列を生成する場合、uniqid関数を使うと良いです。 uniqid関数 uniqid関数は、マイクロ秒単位の現在時刻にもとづいたユニークなIDを生成する関数です。 引数を指定しない場合、「538545fca0b35」のような13文字の文字列が生成されます(16進数の文字(「0~9」と「a~f」)が返されるので、16の13乗通りの文字列が生成される)。 また、引数(例えば「id」)を指定すると、「id538546573c183」のような接頭辞+13文字の文字列が生成されます。 <?php //マイクロ秒単位にもとづいたユニークIDを生成 echo uniqid(); echo uniqid("id"); //接頭辞の付加 ?>
今回はCSSのdisplayプロパティをマスターしましょう。少し分かりづらい内容ではありますが、Webサイトを作るためには必ず理解しておく必要があります。
はじめに テキストボックスの変更を検知したくてイベントの挙動を調べたりしたのでメモ。 change, keypress, keyupの挙動まとめ キー操作したときにどんなイベントが発生するのかは日本語入力時に発生するキーイベントのテストを使って確認させていただきました。 ポイント changeはフォーカスが外れたときに発生する keypressは全角やdelete,backspaceを入力しても発生しない keyupはカーソル移動や全角・半角の切り替えなどすべてのキー操作を拾ってしまう change changeイベントを使うと変更を検知できます。
正規表現はフォームのバリデーションなどでよく使うことがありますが、忘れてしまうのでメモ。 DEMO 半角数字が含まれる
毎回調べ直すのでメモ。 JavaScriptによる下記文字列チェックサンプルです。 /** 文字列チェック @param input String チェック対象文字列 @param charType String チェック種別 ・"zenkaku" : 全角文字(ひらがな・カタカナ・漢字 etc.) ・"hiragana" : 全角ひらがな ・"katakana" : 全角カタカナ ・"alphanumeric" : 半角英数字(大文字・小文字) ・"numeric" : 半角数字 ・"alphabetic" : 半角英字(大文字・小文字) ・"upper-alphabetic" : 半角英字(大文字のみ) ・"lower-alphabetic" : 半角英字(小文字のみ) @return Boolean チェック結果OKかどうか true : チェックOK(引数に指定した種別の文字列のみ
はじめに 「英数記号あり(大文字小文字の区別なし)で、かつ8文字以上」の正規表現 の内容と重複しますが、言語ごとに最適化したものもまとめておきます。但しあまり知らない言語もあるので、誤りなどありましたら指摘お願いします。 留意した点 行 JavaScriptでは、マルチラインモードを指定しない限り ^ $ がそれぞれ先頭と末尾を表す。\A \z はそもそも存在しない。 Rubyでは、デフォルトでマルチラインモードなので、^ $ はそれぞれ行頭と行末にマッチしてしまう。これでは正規表現が意味を為さないので、先頭と末尾にマッチする \A \z を使用する。 PHPではRubyほど深刻ではないが、$ が末尾または改行からの末尾にマッチしてしまうので、改行を含まない \z を使用する。 RubyやPHPの \z は、Pythonにおいては \Z に相当する。 パターン修飾子 JavaScriptや
正規表現(jquery)を利用した入力チェックを紹介します。 正規表現は、文字が一致しているのか、していないかを判定する機能です。 応用としてフォームで入力された文字が条件と一致、不一致をチェックし、 ユーザーに正しい入力を促す方法です。 if文(条件文)を主に使っていきます。 if文についてはこちらを参考にしてください。 【Javascriptの条件文】 http://www.rsch.tuis.ac.jp/~mizutani/online/javascript/condition.html 今回、紹介する例は、チェックするタイミングを入力後に設定します(フォーカスを外したとき)。 $("input[name='hoge']").blur(function(){ if(条件){ //実行内容 } }); 【入力が空の場合】 $("input[name='hoge']").blur(fun
jQueryとPHPでAJAX通信を行う基本。 以下はjQueryの$.ajaxでデータをphpに渡し、php側でデータを処理して再びjQueryで受け取る処理の雛形です。 例として、ボタンをクリックするとインプット欄の日付を取得してphpに渡し、phpは渡された日付のデータをjQuery側に返すというプログラムを書いてみます。 jQuery側 <input type='date' name='date'> <button>呼び出し</button> <script> jQuery(function($){ $('button').click(function(){ var day = $('input[name=date]').val();//インプット欄の日付を取得 $.ajax({ type: 'POST', dataType:'json', url:'api.php', data:
※このエントリは、Arata Kojima/NPO法人しゃらく さんが公開しているわかりやすい技術文章の書き方の改変です。 このページは、プログラムやコードなどを書く方々のために、分かりやすいプログラムを書くためにはどうすればよいのかについて説明しています。 1. 自分が伝えたいこと・訴えたいことを誤解しないように相手に読んでもらうにはどうするべきか。 2. プログラムを書くにあたって知っておくべきルールは何か。 3. プログラムを書く前にどのような手順を踏めば、分かりやすいプログラムを作れるか。 などについて参考にしていただければ幸いです。 プログラムを書く前に プログラムを書く前に次のことをしっかりとイメージしておく。 何を書くのか。 書こうとしている物は正確に何であるのか。 仮定して良い、必ず成り立つ前提(状況/状態)は何か。 成り立つ事が単に多いだけ/今はたまたま成り立っている、と
この内容には私も全面的に賛成で、クラスやフィールド、メソッド、名前空間など、とにかく文字として表れる名前には、必ず、例外なく、正しく誤解のない命名を徹底することが非常に重要だ。 http://blog.livedoor.jp/lalha/archives/50261226.html 先のエントリは、danさん*1やlalhaさんにまで言及いただき大変光栄で、なにより多くの人に読んでもらえた。多謝。 一方で、自分で読み直すと「先のエントリ」は、いくぶん観念的でいまいちよく分からないところもあるかなと思った。というわけで、より実践に結びつきやすいように、「何に気をつければいいのか」「どういう考え方でコードを書けばいいのか」を書いてみる。 lalhaさんがエントリで強調したかったという (1) 適当に書いたコードは後でとても大きな被害をもたらす可能性が高い への包括的な対策であり、 (2) たく
(Wikipediaより) ハンガリアン記法のメリット 論理型であるbFlagと、文字列型であるsNameが bFlag + sName となっていれば誤りであることがわかる。 型の記述が2文字程度で済むので、変数名が短く済む。 ハンガリアン記法のデメリット 暗黙の型変換ができない。変数の型を変更するごとに変数名まで変更しなくてはならず、命名法に添って名前を付けるのが面倒。 (同じユーザーIDでも使い方によってはsUserid、iUseridなど) キャメル記法 文字のラインが凸凹になる様をラクダのこぶになぞらえてキャメル記法と名付けられた。 大文字小文字を区別する言語と区別しない言語があるので使う場合は全体を統一すること。 先頭の文字を大文字にするか小文字にするかで2つのパターンがある。 アッパーキャメルケースまたはパスカルケース(1単語目から大文字) 悪い例 $userparamete
以前から、「Webサイトを制作をしたいけど、何から勉強したらいいの?」という質問をよく頂いていました。私が Web制作を勉強し始めた頃に比べると、最近はたくさん情報がありすぎて何から始めればいいのか迷う人も多いみたい …。なので今回は、Webサイトを作るのに必要な知識を簡単にまとめてみました。 最近本だなを整理していて、もう読まなくなった Web制作系の本を片付けたりしてみました。ずーっと前、Webサイトってどうやって作るんだろうってところから始まって、用語もよく分からないまま色んな本を読んだりした頃を思い出します …。 Webサイトは HTML っていうものでできていて、CSS っていうもので、見た目をデザインしていくのかぁ … っていうことさえ、あの頃の私にとっては新しい発見だったなぁ … なんて思ったりしました。 最近では HTML5 とか CSS3 とか、私が勉強し出した頃に比べる
こんにちは、ディレクターのせりなです。 どのパソコン、どのスマートフォンで見ても同じフォント(書体)で表示してくれて 種類も豊富、使い方も簡単といいところばかりのGoogle webフォント。 そのGoogle webフォントから、独断と偏見でおすすめり30選をまとめてみたので 暇つぶし程度に見て行ってくださいなー!!! 目次 1. 無機質で今っぽい細めゴシック 2. ひょろっとした脱力系フォント 3. スタイリッシュな王道Webフォント 4. 意識高い系女子のための、意識高い系Webフォント 5. お菓子の包装紙にありそうなsweets系Webフォント 6. 古書に出てきそうなアンティーク書体 7. スケッチみたいな温もりのあるWebフォント 8. 手書きのサインみたいなゆるゆる系のWebフォント 9. 今にも物語がはじまりそうなWebフォント 10. 遊び心いっぱいの個性派Webフォン
関数のエントリポイント コンパイラは、コンパイル時に各関数のエントリポイントを作成します プログラムの実効時に関数が呼び出されると、実行制御はこのエントリポイントに移行します エントリポイントは、言わば関数のアドレスです アドレスであるということはポインタ変数をもつことができます 関数ポインタは、アドレスを格納する関数と同じ戻り値の型のポインタ変数を用意します 仮引数がある場合は、続けて仮引数も指定します 宣言時には、優先順位の関係から必ずポインタ名に ( ) をつけます 型 (*変数名) (仮引数); 関数のエントリポイントをポインタに格納すれば、このポインタから関数を呼び出せます こうすることで、間接参照で関数を呼び出しすることができるのです #include <stdio.h> void func(void); int main() { void (*po)() = func; po
Webサイト制作の一連の流れをまとめてみました。クライアント向けにまとめたものを少し手直ししてのせています。新人Web担当者さんや、新人ディレクターさんの参考になるかなと。 なるべく難しい言葉を使わず、理解しやすいよう平易な言葉で書いております。 ※流れや手順は制作会社によって違うのですが、概要はつかめるかなと思います。 目次と流れ 1. サイトのコンセプトを考える 2. 競合他社からクライアントのお店や商品を選んでもらうためのポイント(強み)を整理する 3. そのサイトで一番伝えたい内容を決める 4. お客さんが必要とする3以外の情報や、クライアントの伝えたい情報をまとめる 5. サイト更新は誰がするのかを決める 6. 想定使用デバイス(PCやスマートフォンなど)を決める 7. サイトの周知・宣伝方法を考える 8. ページの設計図をつくる 9. サイト制作にかかわる必要な素材を準備する
作成:2014/01/6 更新:2014/11/01 Webデザイン > Web制作において、Webデザイナーに関係するものを職種別にまとめました。会社によって分け方は違うと思います。今回は参考サイトとスライドを掲載しています。 エンジニア速報は Twitter の@commteで配信しています。 もくじ アートディレクター 1.アクセシビリティ 2.ユーザビリティ 3.UX(ユーザーエクスペリエンス) 4.IA(情報アーキテクチャ) 5.画面設計(ワイヤーフレーム) 6.進行管理 Webデザイナー 7.レイアウト・フォントの知識 8.配色 9.Illustratorの使い方 10.Photoshopの使い方 11.バナー作成 12.ボタン作成 フロントエンドエンジニア 13.HTML5 14.CSS3/Sass 15.javascript 16.jQuery 17.WordPressテー
実務でよく使うhtml,css,jsの小技をつらつらと紹介します。 ※2/11のスクーの授業中で使った資料です。 https://schoo.jp/class/1776 【オシャレCSS編】 1. transformを使って要素を変形させるワザ 2. transitionを使い、CSSだけで簡単なアニメーションを行うワザ 3. keyframesを使ってCSSだけで複雑なアニメーションを行うワザ 4. 矢印アイコンをcssだけで表現するワザ 5. アイコンをアニメーションさせるワザ 6. CSSプロパティ”filter”で画像を加工するワザ 【地味だけど使えるワザ編】 7. 今どきの、要素を上下中央寄せにするワザ 8.「flexbox」で要素を自由自在に整列させるワザ 9. Windowsでwebfontをちょっとマシに見せるワザ 10. ア
ここで得た言葉を元に配色を組み立てていくことになるので重要な部分です。 伝えたいイメージは多くの場合、「明るい」「可愛い」「落ち着いた」などの形容詞で表現されることが多いです。 ただ、言葉から連想されるものは人により誤差がありますので、 参考となるサイトや、商品など具体的にイメージしてるものも挙げてもらうと良いです。 下記はGoogleの画像検索「高級」の結果です。人によって抱くイメージは様々です。 「○○のような高級感」と具体的に伝えてもらうと良いです。 2.調査 競合となる他社サイトの配色を調査し、それらと同じような配色になることは避けます。 ただし同業の全てのサイトと被らないようにするのは無理があるので、 商圏内で競合となる他社のみを比較対象とします。 また、既にクライアントが名刺やパンフレット、フライヤー、ノベルティやなどを制作していたら見せてもらったり、 店舗であれば外観・内装の
mk-mode.com Linux, Debian, IT, Server, PG, Ruby, Rails, Python, C++, Fortran, PC, MariaDB, math, GIS, etc... ここ最近、連立方程式を「ガウス・ジョルダン法」や「ガウス・ジョルダン(ピボット選択)法」で解くアルゴリズムを C++ で実装したことを紹介しました。 C++ - 連立方程式解法(ガウス・ジョルダン法)! C++ - 連立方程式解法(ガウス・ジョルダン(ピボット選択)法)! 今回は、連立方程式を「ガウスの消去法」で解くアルゴリズムを C++ で実装してみました。 以下、簡単な説明と C++ ソースコードの紹介です。 0. 前提条件 Linux Mint 14 Nadia (64bit) での作業を想定。 g++ (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.
エラーになってしまうSQL例SELECT T1.社員名 FROM 社員マスタ T1 WHERE T1.社員コード IN (1,2,3,4, ... 999,1000,1001) --IN句の中で1000個以上指定 SQL IN句をEXISTS句に変換する方法で紹介したように、EXISTS句に書き換えられる場合は書き換えてしまうのが一番簡単な対処法ですが、例えばIN句の中身が定数だったして、どうしてもIN句を使わなければならない場合は、1000件ずつOR条件で区切って指定する方法があります。 SELECT T1.社員名 FROM 社員マスタ T1 WHERE --OR条件で1000件ずつ区切って指定する T1.社員コード IN (1,2,3, ... 999,1000) --1000個だけ指定 OR T1.社員コード IN (1001,1002,1003, ... 1999,2000) --
Oracle® 非公式 SQL, PL/SQL & DBA's リファレンス SQL 入門 Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 SQL 入門、SQL 関数、擬似列、SQL Tips SQL 入門 テーブルを作るデータベース概要 データベースの基本的なことOracle とはSQL のマニュアルを入手するSQL*Plus の使い方テーブルの定義、プライマリキーの定義テーブルの削除とその取り消しテーブル定義の変更(列の追加、列の変更)主キー・プライマリキーの追加、変更、削除SQL の種類(DDL , DML , DCL) SQL 基本INSERTSELECTUPDATEDEL
データベースの「正規化」を学んで間もない頃に実際のデータベース設計をやってみて、悩んだことをお話をしたいと思います。 理想と現実の壁にぶち当たる 下記の属性を持つ「売上ファイル」を考えてみます。 売上ファイル ---------------- 売上日 顧客名 住所 担当者名 商品名 単価 数量これを第3正規形にすると、こんな感じになります。 売上テーブル ---------------- 売上コード 売上日 顧客コード 売上明細テーブル ---------------- 売上コード 商品コード 数量 顧客マスタ ---------- 顧客コード 顧客名 住所 担当者名 商品マスタ ---------- 商品コード 商品名 単価ところが、このままでは商品マスタの単価が変更されると、売上金額が変わってしまいます。そこで、売上明細テーブルにも「単価」列を追加し、売上日時点の単価を設定するようにし
では、今回もはじめていきましょう! DB(データベース)とは 今回からはSQLへの道題して、DB周りを勉強しSQLを学びましょうという内容でお送りします。DB、DBって当たり前のように会話が出てくるようになるので、業務で会話についていけるように勉強していきましょう。 DB(DataBase:データベース)とは、データの集まりです。以下のようなアイコンで表現されたりします。 データファイルが整理整頓されて格納されていて、DBMS(データベース管理システム)によって管理されています。 DBとDBMSをまとめてデータベースシステムという。 DBMSで管理されるデータとしては、大きく分けて以下の3つで構成されています。 データ・ファイル ログ・ファイル コントロール・ファイル 難しい言葉がたくさん出てきますが、最終的にはデータの集まりだと認識してくれればいいと思います。 データベースは基本的に以下
JavaScriptでは選択した要素に対して、プロパティ(innerHTML等)の値を設定したり、addEventListener()により監視するイベントを設定したりと書き方がバラバラでした。 jQueryでは基本的に「$(セレクタ).メソッド(引数)」と同じ書き方で指定できます。 文章だけは理解が難しいと思いますので、実際にjQueryに利用したプログラムをお手本に従い作成してみましょう。 ファイル名: jquery.html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>jQuery</title> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <script> function add_element
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
堅牢なお問い合わせフォームを作ることになり、規定書に Cookie には secure 属性を指定してねとありました。secure 属性なんて初めて聞いたので、ちょっと調べてみたところ、secure 属性以外にも expires 属性とかいろいろありますけど、知ってるやと思ったらこれも危険に繋がるみたい。 secure 属性って何 これを指定すると HTTPS の通信時のみクッキーを送信します。逆に指定しなければ HTTPS の時に作った Cookie が HTTP の時に見ることができてしまい、盗聴されることに繋がりますね。 expires 属性って何 クッキーの有効期限を指定するものなんですが、指定しなければブラウザを閉じたときは Cookie は破棄になるんですが、有効期限を指定した場合に危険があるみたいです。 この属性が指定されていなければ,ブラウザを起動していないユーザーが被害に
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
<p> …… ひとつの段落(パラグラフ)であることを表す <hr> …… テーマや話題の区切りを表す <pre> …… 半角スペースや改行をそのまま表示する <blockquote> …… 引用・転載セクションであることを表す <ol> …… 順序のあるリストを表示する <ul> …… 順序のないリストを表示する <li> …… リストの項目を記述する <dl> …… 定義・説明リストを表す <dt> …… 定義・説明される言葉を表す <dd> …… 定義用語や言葉の説明をする <figure> …… 図表であることを示す <figcaption> …… 図表のキャプションを示す <div> ……ひとかたまりの範囲として定義する <main> …… メインコンテンツであることを示す <a> …… ハイパーリンクを指定する <em> …… 強勢する(アクセントを付ける)箇所を表す <stro
diary writing / freddie boy 企画書にはじまりプレゼン資料や営業資料、はたまたWebサイトまで。ビジネスにおいて文章を活用するシーンはたくさんあります。その良し悪しによって、成果が大きく異なることも。 そこでこちらでは、文章の基本をまとめました。実際に文章を作成する際や、作成した文章を活用する場合などに、参考としていただければと思います。 文章を書く前に メモがあれば文章はスラスラ書ける 文章は構成で8割きまる 見出しで文章を読みやすくする 読者を意識すると文章は伝わりやすくなる 文章のコツ 「一文一意」で文章をシンプルに 漢字とひらがなのベストバランスとは 書き出しを工夫して読ませる文章を書く 結論から書けば文章はわかりやすくなる 論理的な文章を書くために 論理的な文章とは 論理的な文章を書くためのテクニック①演繹法 論理的な文章を書くためのテクニック②帰納法
jQuery はどのようにすれば使えるのでしょうか? これはとても簡単です。 jQuery をダウンロードしてきて、 HTML の <script src="..." タグで取り込めば OK です。 ひとことで言えばこれだけなのですが、もう少し具体的にどこからどれをダウンロードしてきて、どれを取り込むか説明しましょう。 jQuery の入手方法 jQuery は jQuery のオフィシャルサイト (http://jquery.com/) から入手できます。 が、私のおすすめは jQuery UI (http://jqueryui.com/) をダウンロードして、それに付属の jQuery を取り込むことです。 jQuery UI というのは名前の通り jQuery をベースとして利用した UI ライブラリです。 最初は jQuery のコア機能だけを利用するつもりでも、 今時いつリッチな
基本的に、サーバーと正常な通信をしている場合は、statusの値が「200」なのでこれと条件分岐するのが良いでしょう。さらに、「readyState」と「status」は別々に条件分岐するよりも同時に確認する方が効率的です! xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { //データ取得処理を書く } }; このように「&&」で一緒に確認できることも合わせて覚えておきましょう! 「GET」で通信する方法 この章では、実際にAjaxを使ってGET通信を行う方法について見ていきましょう! 基本的なGET通信のプログラム作成からデータの取得までを学んでいきます。 「GET」によるAjax通信のサンプル例 「XMLHttpRequest」を使ったAjax通信では、主に「G
プロジェクトNo.19:チャットアプリ JQueryで結構簡単にAjaxが使えるということで、 せっかくなら非同期通信のメリットを活かせるリアルタイムな簡易チャットを作ってみた。 Ajaxとは Asynchronous JavaScript + XMLの略で非同期通信をするための技術です。 簡単に言うと、 ページの遷移なしでページ内の要素を変更できる サーバーにデータを送受信できる 前者だけだとjavascriptだけでもできますが、サーバー処理をかまして最新のデータを表示できるというところに大きなメリットがあります。 例えば、Twitterなんかのプラグインを見ると、リアルタイムにタイムラインが画面遷移せずに表示されるのがわかるかと思います。 GoogleMapでは画面をドラッグしたりズームする度に画像データ(?)を読み込むことで、必要なデータのみをユーザに表示しています。 これらはAj
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 前書き より一般化したものについては 「ファイルアップロードの例外処理はこれぐらいしないと気が済まない」 を参照。ここではそれを元に画像ファイルに限定して、いくつかのパターンで例を構成してみる。また、フォームの送信と受信を同一ファイルで行うとする。 1. exif_imagetype 関数を用いてチェックを行う これは、画像に関するMIMEタイプを整数として返す関数である。finfoクラスが使えない環境においても統一的にこちらの関数は使えるはず。但し、画像の形式を判別するために必要なだけのバイト数を読み込めない場合にエラーを発生するので、 エラー制御演算子 @ を用いて抑制する必要がある。以前ここでは getimagesize 関数を
ここまでPHPでファイルのアップロードやフォルダ内のファイル一覧表示などを記事を書いてきましたが、その処理を利用して画像ファイルのアップロードと削除の方法を記事にしようかと思います。 PHPでは画像をアップロードとか削除は割と頻繁にある処理だと思います。 メインとなるPHPで画像をアップロードと削除するプログラムを載せます。ただしファイルが選択されていない場合、チェックボックスにチェックが入っていない場合の「選択されていません」というような文言やリロード対策などの処理などは省いています。 PHPで画像ファイルのアップロードの処理 画像をアップロードする流れ 全体の流れは割りと基本的な事ですが、下記のような流れにしてみたいと思います。 画像ファイル名が日本語かどうか調べ、日本語の場合はエラー表示する 画像ファイルの拡張子を調べjpg/gif/pngのみアップロードできるようにチェックする 画
filter_input関数ってなに? (HTMLフォームのinputタグなどから)外部変数を受け取り、フィルタリングする関数。 一般的には、ユーザが入力した値などが妥当であるか調べたりするのに使います。 利点 通常フォームなどから値を受けとるとき、以下のように書くと思います。 $id = $_GET['id']; $name = $_POST['name']; しかし、値が入っていなかったり、上手く渡っていなかった場合、Notice: Undefined index なんかが発生します。早い話エラーですね。 そのためissetを使用し、値が入っているか確認する必要性があります。 <?php if (!isset($_POST['name'])) { $name = null; } elseif (!is_string($_POST['name'])) { $name = false; }
PHPで数値なのかをチェックする方法はis_numeric()での判定とpreg_match()を使った正規表現での判定が多いですが、それぞれ判定がゆるかったり、処理が多少重いなど特長があります。 数値型しかtrue判定しない厳密な関数や、数値判定に特化した関数など、4パターンご紹介します。 使いたい目的にあったものをチョイスしていきましょう。 それでは、それぞれの関数で型ごとにどのような判定になるか見ていきましょう。
ファイルから情報を読み込み、それをセッションに保存し、他のweb上のページでも表示できるようにしたいです。 ある学年の1組の生徒の情報がファイルに保存されています。 $cntが生徒の出席番号を表します。 一人一人の生徒が6つの情報をもっており、その生徒30人分のセッションを作りたいです。 他のページで $_SESSION['first'][$cnt]['name']; //出席番号1番の名前が入っている $_SESSION['first'][$cnt]['name']; //出席番号2番の名前が入っている $_SESSION['first'][$cnt]['name']; //出席番号3番の名前が入っている と表示するとファイルから読み込んだ、名前が入っているようにしたいです。 配列の書き方を変えてみたりしたのですが、うまくいきません。 どうやら、30人分の生徒の情報があったら、一番最後の
Udemy で講座の販売を開始しました! Udemy で「プログラミング学習の心得&HTTPの基礎」の動画講座を公開しました。 特別に 85% OFFのクーポンを発行します。 通常価格 10,800 円が 1,800 円で購入できます。 動画内でも説明していますが、初心者・初学者向けの内容です。 事前に自分の知りたい内容・興味のある内容か確認してからご購入ください。 挫折した人が教える PHP プログラミングシリーズ Vol.1『学習の歩き方』 はじめに Webアプリケーションを作るときに名前空間という機能がよく利用されています。 便利な機能なので、理解しておきましょう。 この記事は、関数ぐらいまでの知識がある方が対象です。 クラスの基礎(プロパティやメソッド)知識があると尚よいです。 クラスのプロパティやメソッドについて理解していない方は、下記の該当箇所をご覧ください。 Qiita -【
Udemy で講座の販売を開始しました! Udemy で「プログラミング学習の心得&HTTPの基礎」の動画講座を公開しました。 特別に 85% OFFのクーポンを発行します。 通常価格 10,800 円が 1,800 円で購入できます。 動画内でも説明していますが、初心者・初学者向けの内容です。 事前に自分の知りたい内容・興味のある内容か確認してからご購入ください。 挫折した人が教える PHP プログラミングシリーズ Vol.1『学習の歩き方』 はじめに 変数と関数の基礎はわかり、クラスも何となく聞いたことがある超初心者向けです。 長いですが、変数と関数しかわからなくても、読めばクラス、例外処理、PDOについて何となくわかるようになると思います。 それ以上の方は、読む必要はないと思います。 時間の無駄ですwww PHPでデータベースを利用するには、PDOを理解する必要があります。 PDOを
とすると、$_FILESが array(1) { ["file"]=> array(5) { ["name"]=> array(2) { [0]=> string(16) "filename1.jpg" [1]=> string(16) "filename2.jpg" } ["type"]=> array(2) { [0]=> string(10) "image/jpeg" [1]=> string(10) "image/jpeg" } ["tmp_name"]=> array(2) { [0]=> string(14) "/tmp/phpD4efB1" [1]=> string(14) "/tmp/phppUztkd" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(
Udemy で講座の販売を開始しました! Udemy で「プログラミング学習の心得&HTTPの基礎」の動画講座を公開しました。 特別に 85% OFFのクーポンを発行します。 通常価格 10,800 円が 1,800 円で購入できます。 動画内でも説明していますが、初心者・初学者向けの内容です。 事前に自分の知りたい内容・興味のある内容か確認してからご購入ください。 挫折した人が教える PHP プログラミングシリーズ Vol.1『学習の歩き方』 はじめに 変数と関数の基礎はわかり、クラスも何となく聞いたことがある超初心者向けです。 長いですが、変数と関数しかわからなくても、読めばクラス、例外処理、PDOについて何となくわかるようになると思います。 それ以上の方は、読む必要はないと思います。 時間の無駄ですwww PHPでデータベースを利用するには、PDOを理解する必要があります。 PDOを
<?php // こう書くよりも $aaa = isset( $_GET["aaa"] ) ? $_GET["aaa"] : null; $bbb = isset( $_POST["bbb"] ) ? $_POST["bbb"] : null; // こう書くほうがよいとのこと $aaa = filter_input( INPUT_GET, "aaa" ); $bbb = filter_input( INPUT_POST, "bbb" ); Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can d
【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 脆弱性について 参考リンク PHPにおけるファイルアップロードの脆弱性CVE-2011-2202 PHP 5.4.1リリースのポイント 上記に対する補足説明 PHP 5.4.1以降 PHP 5.3.11以降 どちらかを満たしているならば,脆弱性は(今のところ)無い.どちらも満たしていないと, $_FILES 変数の構造を崩す攻撃 ../ をファイル名に含めて送信する攻撃 (ディレクトリトラバーサル) の何れか,もしくは両方の脆弱性を所持していることになるので要注意. 脆弱性対策と注意事項 $_FILES Corruption 対策 改竄されたフォームからの複数ファイル配列送信対策 脆弱性が修正された環境でも 改竄フォーム対策 も兼ねて
PHP学習を始め3カ月がたち、簡単なphpのコードやSQL文を扱える様になってきました。 その中で、あれ!?となってしまいがちな処理に画像のアップロードがあります。 今回は初心者がつまづきやすい画像をアップロードする際の 代表的なエラーとその対応をまとめました。 今回はサンプルファイルとデータベーステーブルを作成し実際にこのエラーを粉砕していきます。 テストファイルの作成 まずは今回テストするために作成したファイル構成から 今回はfile_uploadというサンプルファイルの中に を作成しています。 sample.phpには画像ファイルのアップロードに必要な formタグ move_uploaded_file INSERT文 を書いています。 このコードからスタートして実際にデータベースに上げることができる様に エラーを解消していきます。 ブラウザはこのように表示されます。 なおデータベー
概要 PHPを用いMySQLへ画像保存し今度はそのMySQLに保存された画像データを表示する際に とか とか とかで画像表示ができなくなってしまいました。 これを解決するためのポイントを備忘録としてメモしておきます。 実施環境 PHP/5.2.4 DB/MySQL 事前準備 http://d.hatena.ne.jp/steel-plate/20070910/1201454906 こちらを大変参考にさせていただきました。ありがとうございました。 いい感じに実装させていざ画像出力!!! .......... 解決策1 PHPファイルをUTF-8(BOM無し)で保存する UTF-8にはBOM有りとBOM無しがあります。 BOM有のままファイルを保存してMySQLのデータベースに画像データのバイナリを保存すると画像の最初3バイトに 画像としてふさわしくない情報が追加されるみたいです。 http:
「安全なウェブサイトの作り方」は、IPAが届出(*1)を受けた脆弱性関連情報を基に、届出件数の多かった脆弱性や攻撃による影響度が大きい脆弱性を取り上げ、ウェブサイト開発者や運営者が適切なセキュリティを考慮したウェブサイトを作成するための資料です。 「安全なウェブサイトの作り方」改訂第7版の内容 第1章では、「ウェブアプリケーションのセキュリティ実装」として、SQLインジェクション 、OSコマンド・インジェクション やクロスサイト・スクリプティング 等11種類の脆弱性を取り上げ、それぞれの脆弱性で発生しうる脅威や特に注意が必要なウェブサイトの特徴等を解説し、脆弱性の原因そのものをなくす根本的な解決策、攻撃による影響の低減を期待できる対策を示しています。 第2章では、「ウェブサイトの安全性向上のための取り組み」として、ウェブサーバの運用に関する対策やウェブサイトにおけるパスワードの取扱いに関す
SEOにおいてタグはとても重要な意味を持つ。正しく使えば、検索エンジンにウェブページの主要テーマを正しく伝える事が出来るからだ。事実、タグの使い方を改善しただけで、検索順位がアップした経験を何度もしている。 タグの中には、titleやh1のようにSEO順位に直接影響する重要なタグもあれば、そうではないものもある。だからと言って、重要ではないタグを軽視しても良いという事でない。 重要度の低いタグであっても、いい加減に使えば、HTML文書の意味合いが変わってしまい、ウェブページの主要テーマが検索エンジンに正確に伝わらない。結果として、検索順位に影響する。 大切な事は、どんなタグであっても適切に使用し、正しいHTML文書構造を作り、検索エンジンにウェブページの主要テーマを正確に伝える事だ。 そこで、今回はタグの重要度だけでなく、正しい使い方も紹介する。 最重要 1. titleタグ titleは
【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 予備知識 PHPはフォームから送信された値などをコード実行開始に自動的に変数として使えるようにしてくれる非常に便利なプログラミング言語です.しかし,それをそのまま用いるとエラーが発生したり,脆弱性になってしまったりするケースがたくさんあります.使う前には適当なチェック処理が必要です. どういった変数が対象になるか 以下に挙げられた変数は,ユーザーが勝手に値や構造を書き換えたり,送信をそもそも行わずにアクセスしたりすることが可能な信用できない変数だと思ってください.例え,ラジオボタンで選択肢を限定していたり,隠し要素として埋め込んでいたりしたとしても,これに該当してしまいます.
JavaScript はクライアント側で実行されるオブジェクト指向型のスクリプト言語です。 JavaScript を用いることで、動的にWebページの内容を書き換えたりフォームに入力された内容をクライアント側でチェックしたりできます。ここでは JavaScript の使い方として JavaScript のプログラミングの方法をサンプルを用いて解説していきます。
【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース
今まで mysql... 系を使用していましたが、PHP5.5以降は非推奨となり、将来的には削除される予定らしいので、PDOの使用に変更しようと思い、まとめてみました。 プリペアドステートメントでINSERTすると安全に値を渡せるとか、結構便利みたい。 Manualとか色々読んだけど、分かりにくい言葉が多かったので、自分なりに解釈を書いています。 PDOとかプリペアドステートメントの説明 こっちのページに詳しく書いています。 言葉の意味分からんわー。みたいな時は是非読んでみてください。 PDOでMySQLを色々やる。 まずメソッドや引数をちょっとまとめました。 今後増やしていこうと思っています。 メソッドや引数 内容
はじめに ご使用上の注意 (1) 主な更新履歴 (24) 管理者へのメール (1) 自己紹介 (1) 基本編 用語集 (82) Webページ作成入門 (7) 逆引きリファレンス (32) フォーマット HTML (400) HTML5 (7) XHTML (1) MathML (1) DTD (1) JSON (1) SVG (1) VML (1) GIF (1) CSV (1) セマンティック・ウェブ (1) CSS CSS (ABC順)(719) Bootstrap (61) Less (1) Sass (1) Tailwind CSS (1) CSSフレームワーク (1) リセットCSS (1) プログラミング言語 JavaScript (39) TypeScript (1) Java (25) Perl (4) PHP (14) Ruby (11) Python (13) Go (
当サイトは、フリー素材配布サイトです。ラスタライズされた画像(jpgやgif、psdなどの一般的な画像形式)ではなく、ベクター形式で作成した画像を多く含んでいます。素材としては使い勝手の良くないラスター形式の画像ではなく、ベクター形式で作成した画像を公開しているので、必要とされている方にとっては、大変重宝していただけるのではないでしょうか。 また、ベクター形式の性質上、拡大して印刷しても画質が荒れないため、加工・編集をせず、単に版下としての利用も可能と考え、PDFファイルのデータも並べてご用意しております。したがって、デザイン用途の方以外にもご利用の機会があると思います。それぞれ思いつくままの方法で、自由に当サイトの素材をご利用下さい。 イメージ的には、勝手にダウンロードしてもらって、勝手に使ってもらう位の感じにしたいのですが、若干の禁止・注意事項の規定がありますので、念のため、ご利用規約
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く