サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
aulta.co.jp
▲こちらの名刺、文字がにじんでいるように見えますか?見えませんか? Chromeだったら、Windowsだったら、macだったら・・・見る端末によってキレイに表示されたりにじんで表示されたり・・・(><) 直接の原因としては、大きめの画像を縮小して表示しているためです。 原寸サイズの画像を用意したら良いのですが、画像は一番大きなのを1枚だけ用意してサイズ違いはcssで調整したほうが効率的です。 そんな時に陥る罠のお話です。 対応方法 2022-01-17 版 img{ /* Windows の Google Chrome でにじむのは諦める */ /* 諦めるといっても許容できないほどではないレベル */ } 下記、2022-01-15版でキレイになった!と思っていたのですが、MacのSafariでだけギザギザになる現象が発覚しました。 で、いろいろ試していたのですが、現状としては何もしな
状況 この記事は、2017年8月のある日の記録です。 “本日”って書いてる個所がありますがこの記事の公開日(8/31)のことではありません。 当サイトはさくらインターネットでVPSをレンタルしてい… サーバー ORA-12154: TNS:could not resolve the connect identifier specified が出る。 2013.06.08 篠原 隆司 状況 1つのOSに、データベースとクライアントを入れてODBCのとき。 slqplusは問題なく、ODBCで ORA-12154 になる。 解決 %ORACLE_HOME% のディレクトリを確認 ・データベース用 dbh…
香川県観音寺市でプログラムを中心にwebサイトやアプリなどシステム開発を行っています。 篠原 隆司(しのはら たかし) 1979年2月生 / facebook / twitter / github 株式会社オルタ ※2016年12月 高松市から観音寺市に移転しました。
Eclipseにて、「ワークスペースをビルド中です」がいつまで経っても終わらない。 の、解決策だけに興味があるかたは、一番最後だけをお読みください。 いつも使ってるパソコンのソフトで問題が発生した。 このソフト自身はもう3年くらい使い続けてる。 とても使いやすく馴染んでる。 それが今日、突然に問題が発生した。 止まる。 止まって何もできなくなった。 終了しようにも、終了すらしてくれない。 無反応。 待てども待てども終了しない。 何をやっても無反応。 あまりやりたくなかったけど、強制的に終了。 で、もう一度、起動する、 で、もう一度、固まる。 。。。 ・・・ ・・・ 強制終了 → 起動 → 即、固まる → 強制終了 → 起動 → ・・・無限ループorz 起動しなおすたびに、思いついたことをやってみるんだけど、どうやっても解決しない。 こんなこと初めて。 今まで起こったことの無い問題。 ネット
ホーム技術情報アプリ開発Xcode[Xcode] _OBJC_CLASS_$_ referenced from: でコンパイルできない。 ソースに問題がないはずなのに、警告が出てコンパイルできないことがあります。 下記のような警告が出た時の対処です。 "_OBJC_CLASS_$_*******", referenced from: objc-class-ref-to-******* in ******* ld: symbol(s) not found collect2: ld returned 1 exit status XCodeの左ツリー「ターゲット」「プロジェクト名」「ソースをコンパイル」に登録されている「*.m」ファイルを確認します。 おそらく、警告で出ているファイル名(.m)がここに入っていないと思います。 念のため、「ターゲット」「プロジェクト名」「バンドルリソースをコピー」
さくらVPSにPHP5.3.3をインストールする方法をご紹介いたします。 さくらVPSにPHP5.3をインストールした経緯 さくらVPSには2つ契約しており、2つ契約しているうちの1つには、PHP5.3.3を無事インストールでき、後日契約したもうひとつも同じように5.3.3にアップグレードしていたところ、何を勘違いしたか5.3.4rc1を入れてしまっていたのです。 ミスというか勘違いというか・・・。 それで、rcといえどもそんなに問題は無いだろうとそのまま運用を続けていたわけですが、「なんだかおかしい?」と確定的ではないのだけど感覚的に嫌な予感がするので、PHP5.3.3にしようと思った次第です。 さくらVPSにはデフォルトで、CentOSが入っており、PHPは5.1.6が標準で入っています。 ですがですね。 PHP5.1.6って中途半端・・。 使えない。。。 なにが使えないってクロージャ
サーバ作りました。 タイトルどおり、vmware player3をインストールし、 vine linux 5 をインストール。 まずは、vmware player 3のハマリどころ。 なにはともあれってんで、ファイルのダウンロード。 ・・・ の前に、ユーザー登録を求められます。 vmwareにサインアップしてください。 で、認証メールが送られてくるのですが、遅い! 結構かかります。 「Account successfully created」 ってタイトルのメールが送られてきますが、これ間違い。 訳すと「アカウントの作成に成功した!」です。 つまり、認証メールじゃなくって、タイトル通りの意味のメールです。 だから、ここにあるURLをクリックしまくっても意味なしです。 「Activate your VMware Player Download」 ってタイトルのメールが送られてくるまで待ちます
香川県観音寺市にて ホームページ制作・システム開発を 行っている株式会社オルタです。 自社にてWebサービスの企画・開発・運用を行っております。そこから得られたデータを研究・分析し、サービス運営の経験から得られた確かなノウハウを蓄積しております。専門書や情報サイトなどに掲載されるよりも早く入手したノウハウを活用することでお客様のお手伝いをいたします。 制作実績 お問合せはこちら
PHPでXML形式のテキストデータを連想配列にする関数を作りました。 PHPでXMLを配列にするものは既に存在します。 PHPで、XML形式のテキストデータを、連想配列にするというと、似たようなものとしてこういうのがありますね。 PEARのXML_Unserializerxml2array はい。そういうわけで、実は既にあるんです。 既にあるのに、同じようなものを作る。 こういう行為を「車輪の再発明」なんて言ったりします。 PHPでXMLを配列にするものは既に存在するけど・・・ とはいえ、今回作ったのには、やはり理由がありまして、 その、 なんていうか、メンドクサイじゃないですか? ↑ であげた既存のものを使っていらっしゃるかたはいるでしょうか? ご存知のない方は、Googleで軽く調べて頂ければと思うのですが、なんだかややこしくないですか? XMLを連想配列にしたいだけなのに。 で、PH
skypeのプラグインをインストールしていると、webページ内に電話番号があったときに、良い感じで表記を変えてくれます。 で、どうにかならないかなーと検索していると、やはり、と言いますか、あちこちで『どうにもならない』といった声しか見当たらなかったようなので、どうにかしてみました。 web制作する人でも、skypeを入れていない人は気がつきようがないと思いますので、実は、ユーザーさんとこではおかしく表示されているって事態があるかもしれません。 どういう意味かよく分からない方は、まず、下記のリンクをご覧になってみてください。 ブラウザでskypeが電話番号を変える問題 skypeのプラグインが入っていると、こんな感じで電話番号の部分が勝手に変えられてしまいます。 Gogle検索 => ブラウザ skype 電話番号 表示 インストール後の電話番号表示の変更について skypeのアドオンで、電
PHPでサイト構築する上での、弊社のソースコードの一部をさらしてみようと思います。 直接お会いさせて頂いた方には、お話の中で触れていたりするのですが、弊社ライブラリの「ppjQuery」。 ppjQueyrを使うと、次のような感じで書くことができるようになります。 コントローラ.php (共通処理) // ppjQuery の xhtmlクラスをnew $x = $_G_XHTML = new ppjQueryXhtml(); // domを作成し、head、bodyを作成 // @タグ名と書くことで、内部的に // document.createElement(タグ名) します。 $_G_XHTML ->createDom() ->setOutputFormat(false) ->append($_G_XHTML->q('@head')) ->append($_G_XHTML->q('@
昨日、[Utility.php] 携帯電話を判別する。IPアドレスから。 で、コードを掲載したのだけど、やっぱり気に入らない箇所があるので、書き直した。 昨日の記事と重複する内容は省略するので、昨日の記事と合わせてお読み下さい。 変更した箇所 IPアドレス帯域を手動更新してたのを、各webサイトから自動取得するようにした 生成するPHPコードをスリム化した。(263行→188行に) テストコードを追加した。 PHPコードを生成するコードをclass化した。(※) (※) システムに組み込んで本格的に使う箇所じゃないので、わざわざclassにする必要もないと思う。ブログに掲載するために、public と private の関係(functionのスコープ)なんかを明示したかっただけなので。 下記のコードを実行するとこのように出力されます。 生成された【 isMobile 】関数を、お使いのシ
phpMyAdminの自動ログアウト時間を延長(設定)する方法をご案内します。 phpMyAdminのログアウト時間変更対象バージョン 手元のphpMyAdminのバージョンが、3.2.3 なので、本エントリの対象は、phpMyAdmin3.2.3と致しますが、バージョン番号が近ければ設定ファイルの構成もそんなに変わらないので、たぶん使えると思います。 phpMyAdminのログアウト時間変更を記述するファイル phpMyAdminルート直下の「config.inc.php」に追記します。 phpMyAdminのログアウト時間変更を記述する内容 config.inc.phpの末尾に追記します。 //~ //ここより上は、元々記述されている内容 //~ // ▼ここから追記 ini_set( 'session.gc_maxlifetime', ($cfg['LoginCookieValidi
※例によって、答えだけ知りたい方は、下のほうのコードまで読み飛ばしてください。 現在、EC-CUBEというオープンソースのショッピングカートシステムを利用してショッピングサイトの構築を行っております。 そこで問題になってきたのが、やはり・・・というべきか、Smartyが使われている点。 人によっては使いやすいのかもしれませんが、なんといっても自由度が低いことが難点の1つ。 特に、EC-CUBEのようなオープンソースのシステムで、Smartyを使われてしまってはオープンソースの利点の1つである「カスタマイズ性能」が著しく劣化する。 それなら、「EC-CUBEを使うな」と言われるかもしれませんが、Smartyであってもそれを補うだけのメリットがあるのもEC-CUBE。 だからEC-CUBEを使うことはやめないと思う。 (もちろん時間と予算が許すなら自作したいが) さて、私が疑問に思うことはみん
PHPで、携帯電話からの判別をします。 偽装が可能なユーザーエージェントじゃなくって、リモートホストのIPアドレスで判別。 今、会員制のサイトを作ってまして・・・ 携帯電話各社は、携帯電話1つ1つに固有の端末IDを用意してくれているから、それをキーに会員認証をしようと思ったのです。でも、PCなどから端末IDを偽装できないこともないのよね。 ってことで、リモートホストが、docomoかYahooかauかってそこまで判別して、その上で端末IDを使おうって魂胆。 さて、ここから、PHPコードを書くんだけど、そのまえに・・・ 携帯電話を判別するための各社のIPアドレス帯域 docomoのIPアドレス帯域 YahooのIPアドレス帯域 auのIPアドレス帯域 これらのページから、HTMLを解析して自動でIPアドレス帯域の更新処理を作るなんて面倒。。。 なので、IPアドレス帯域の変更などが発表された時
フォトショップで、レイヤーごとにファイルを出力します。 ちなみに、下の画像をご確認ください。 こんな感じにレイヤーを分けています。 1つのレイヤー = 1つのボタン画像 となっています。 これを、一気にレイヤーごとにファイルに保存していくスクリプトの紹介です。 レイヤー別に出力できるファイルの種類 表示状態のレイヤーを、レイヤー単位でファイルに出力します。 出力画像形式 PSD, PNG, BMP, JPG に対応しています。 レイヤー別にファイルに書き出す実行方法 対象のファイルを開き、「ファイル」→「スクリプト」→「参照」から 本ファイルを選択してください。 最初に、保存先を聞かれますので、ルートからのパスを入力してフォルダを選択してください。 次に、どの出力形式で出力するかダイアログが出てきます。 目的の形式が出るまで「キャンセル」を選択し、目的の形式の時「OK」をクリックしてくださ
twitterを利用するにあたって、フォローの管理を少しだけ楽にするグリモンを配布いたします。 もともと私が、個人的に使っていたグリモンを公開してみようと思います。 どうして、こんなグリモンを使っているのかというと、フォロー返しの時に、デフォルトではちょっと見づらかったからです。 例えば・・・ せっかくフォロー頂いていても、最後に投稿したのが数ヶ月前だと、最近は使っていないのかな?と思って、フォロー返しはしなかったり、英語でしか投稿していない人からフォローがあったりなんかすると、私は読めないので、フォロー返しはしなかったり。 むやみやたらにフォロー返しをしていると私のタイムラインが大変になるので、少しだけの脳内フィルターを付けています。 基本的には、日本語で最近の発言がある方からのフォローであれば、フォローするようにしています。 twitterでフォロー一覧ページをもっと見やすくするグリモ
たとえば、登録フォームの「名前」欄とか・・・。 ユーザーが入力した文字に、記号や見えない文字など、適さない文字が含まれているかチェックします。 つまり・・・「ひらがな」「カタカナ」「漢字」「アルファベット」「数字」 これらの文字は許可するが、それ以外の文字が1つでも含まれていたら許可したくない場面。 /* * 引数のテキストが、 * - 半角英数字 * - 全角カタカナ * - 全角ひらがな * - 漢字 * これら以外の文字を含むか確認。 * true : 含む * false : 含まない */ function checkAlfNumKanaKanji($text){ return (preg_match('/[^a-zA-Z0-9ぁ-ん一-龠ァ-ヴー]/u', $text)); } こんな感じです。 次のように使います。 // UTF-8の前提です。 mb_regex_encodi
※解決方法だけ知りたい方は、下のソースコードのとこだけみてください。 現在、EC-CUBEを使ってショッピングサイトを構築しております。 で、普通に売買するだけのショッピングサイトくらいなら、自分で作ってるし、ノウハウもあるんだけどポイント機能とか、複雑な支払方法、発送方法なんかに対応させようと思ったら、事前に調べることがたくさんあって、とてもじゃないけど、時間的にも厳しいので、オープンソースのものを探していました。 PHPで動く、オープンソースのショッピングサイトというと「osCommerce」とか「Zen Cart」が有名ですよね。 私も最初、この2つを考えていました。 だけど、事前調査の結果、いろいろと不安が出てきて、どうにかならないものかなぁとまた探し始めました。 そこで見つけたのが、EC-CUBEです。 EC-CUBEは、日本製。 EC-CUBEの開発も活発に動いているようだ。
(※2009/07/23 22:24 gzip圧縮対応のためのコードを追加しました) PHPでサイトマップを作成するclassを作りました。 Googleサイトマップです。 PC版、モバイル版、どちらも対応しています。 気合入れて作ったので、コメントもバッチシ、ここであーだこーだ言うよりも、ソース読んだほうが早いかも。 コメントに出力例もコード例も書いているし・・・。 サイトマップインデックスファイルを作るので、Googleさんに登録するサイトマップURLは1つだけでOKです。 登録URLがどんなに増えても、PCとモバイルと混ざってても、Googleさんに登録するサイトマップURLは1つだけでOKです。 デフォルトでは、/sitemap.xml がサイトマップインデックスファイルです。 これをGoogleさんに登録するだけでOKです。 (gzipしてたら、/sitemap.xml.gz で
先日、[PHP] コーディング規約で、ZendとPEARの標準コーディング規約を紹介し、この規約に従ってプログラムを書いていこうと言いました。 定数を宣言する際には、クラスのメンバとして "const" で定義しなければなりません。"define" によるグローバル定数の宣言も可能ですが、お勧めしません。 Zendの規約[B.3.5. 定数]より引用 Zendには、こんなふうに書かれています。まぁ禁止しているわけじゃなく、”お勧めしません”ですが。 ってか、Zendのコーディング規約って、classであることを前提に書かれてますよね。 一方、PEARのコーディング規約には、defineでの命名規則が書かれてあります。 で、define()は、使っていいの?ダメなの? 例えば、ユーザー情報クラスなどで、性別を男:0,女:1として表現するケースなど、定数にしておくと読みやすいコードになります。
さて、.htaccessでwebサイトへのアクセスを全てキャッチして、 Transfer.phpで、Controller.phpに処理を渡すところまでやってきました。 いよいよPHP-MVCについて本題に突入か!というところなのですが、その前に・・・ webサーバのディレクトリをどのように構築するか確認しておきましょう。 hoge [D] ∟ server_dependence.php [F] ∟ public_html [D] | ∟ .htaccess [F] | ∟ Transfer.php [F] ∟ program [D] ∟ Controller.php [F] ∟ Utility.php [F] ∟ class [D] ∟ cache [D] | ∟ session [D] ∟ MV_… [D] ∟ M_common [D] ∟ V_common [D] ※ [D] = di
MVCを実現するために、まずは、アクセスを全て、Controllerに持っていく必要があります。 http://example.com/ http://example.com/hoge.html http://example.com/hoge/fuga.html これらのどのURIでアクセスされた時でも、プログラム処理は必ず Controller から始まるようにします。 では、詳しく書いていく前に、処理の流れを先に書いておこうと思います。 webサイトにアクセスが来る ↓ 全てのアクセスを .htaccess により、 PHPファイル【Transfer】に処理を渡す ↓ PHPファイル【Transfer】 から、 PHPファイル【Controller】 に処理を渡す ↓ PHPファイル【Controller】 で、URIに応じて、PHPファイル【Model】を呼び出す ↓ PHPファイル
シートの追加 $excel->createSheet(); アクティブなシートを変更 $excel->setActiveSheetIndex(0); シート名を変更する $sheet-setTitle(‘シー…
Utility.phpに記述しておきたいfunctionを掲載していきます。 記事中【 C_ 】 で始まるコードは定数です。server_dependence.phpを参照してください。 GET, POST, COOKIE を安全に取得するfunction() GET, POST, COOKIEを取得するとき、$_GET['hoge'] のように取得しますが、 echo $_GET['hoge']; のように、そのまま出力したり保存やコマンドの一部として使用することは、セキュリティの問題上望ましくありません。 ※ スーパーグローバル変数を取得してみるfunction で、本記事の補足をしております。 以下で紹介するfunction()ではこういった問題を解消し、安全な形で外部変数を取得します。 説明は、コードの下に続きます。 /* * GET, POST, COOKIE 外部変数を取得 *
Utility.phpに記述しておきたいfunctionを掲載しています。 今回は、プログラムの実行時間を調べる方法と合わせて、Utility.phpに記述しておきたい【現在の時間を取得するfunction()】を紹介いたします。 PHPに限らず、プログラムには次のような特徴があります。 【同じ結果を得るためでも、コードの記述方法は無数にある】 ってことです。 現実の世界で例えてみると、大阪から東京に移動するために、「電車で行く」「新幹線で行く」「寝台電車でいく」「深夜バスで行く」「飛行機で行く」など、お財布と時間を天秤にかけて自分にとってベストな方法を用いることになるかと思います。 ただ、「東京に行く」って目的を達成するだけでも、これだけの方法があるわけです。 同じようにプログラムにも、【目的を達成する方法】は無数に用意されています。 そもそもwebのシステムを作るなら、PHPじゃなく、
プログラム系の記事を書いている方なら、記事中にコードを記述することがあります。 そんなとき、<pre>で囲ってコードを書いたりします?? なんだか読みづらいから、コメントにcssを適用させちゃったりして・・・ 実は、ついさっきまでの私がそうでした。 <pre> <span class="comment">// ここはコメント</span> $hoge = $fuga; </pre> こんな具合に・・・。 ふと思い立って探してみれば、やはりあるものですね。 インストールしたプラグインは、【SyntaxHighlighter 1.1.1】です。 http://wordpress.org/extend/plugins/syntaxhighlighter/ こちらの、右上のオレンジ色の部分【Download】をクリックするとダウンロードできます。 ちなみに、WordPress用となっています。 イ
include などでファイルを参照するとき、 ../hoge.php と書くと、”今いる場所を基準”として相対的な位置にあるファイルを探すことになります。この書き方を【相対パス】と呼びます。 ところで、”今いる場所を基準”とするわけですが、今いる場所ってどこでしょうか? それは、プログラムが開始するPHPファイルのディレクトリです。 コード中で、 includeやrequireを多用していると、どのPHPファイルを基準とした相対パスなのか分からなくなってきます。さらに、includeした中で、includeしてたりすると、相対パスだけではどうにもならなくなります。 相対パスの反対が、【絶対パス】です。絶対パスは、 /home/hoge/public_html/fuga.php のように、パスを省略しない書き方で、絶対パスで示されるファイルは確実にそのファイルを指す事になります。 コンピュ
PHP5で、XMLをDOMで扱おうとしたら・・・じゃなくって調べようとしたら、イマイチな検索結果が多くて難航したのでメモしときます。 ちなみに、なにに【難航】したのかってはなし。 PHPのXMLのDOM操作って、PHP4系とPHP5系で、かなり違っているということ。 これが何を意味するのかっていうと・・・ Googleさんの指し示す結果が、PHP4を対象にしたものであったり、PHP5を対象にしたものであったり、ごちゃまぜになってて、どれが本物なのか分からなくなるから。 ということで、PHP5でのXMLのDOM出力。 やろうとしていること データをXML形式でエクスポートする。 ファイル名は、export.xml とする。 PHP5で動作する。 <?php $filename = 'export.xml'; // ファイル名 $dom = new DomDocument('1.0'); //
次のページ
このページを最初にブックマークしてみませんか?
『システム開発・ホームページ制作の株式会社オルタ | 株式会社オルタ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く