著者アーカイブ 村上

村上 著者:村上

【Xcode】ビルド時の「[プロジェクト名] has conflicting provisioning settings.」エラーの対処法 その2

Xcodeで証明書を設定した際のエラーの対処法について、以前紹介した方法では解決しなかったので、その2の対処法をまとめました。
ちなみに、以前の記事はこちらから。

【Xcode】ビルド時の「[プロジェクト名] has conflicting provisioning settings.」エラーの対処法
https://cpoint-lab.co.jp/article/201805/【xcode】ビルド時の「プロジェクト名-has-conflicting-provisioning-settings-」エ

 

今回参考にさせていただいたサイトはこちらから。
iOSアプリをリリースする際のプロビジョニングの設定
http://chinotsubo.com/ios-provisioning-config/

で、対処法ですが、アプリの Build SettingsCode Signing Identity に設定されている項目を、下記のように変更するだけです。

なお、記事の投稿者いわく、「イマイチなぜこの設定が正しいのかは理解していない」とのこと。
ちなみに、こちらの記事の下には参考にした記事のリンクもあるので、気になる方はぜひ御覧ください。

 

以上、Xcodeの証明書の設定方法その2でした。
前ご紹介した方法でビルドができなかった方は、この方法もお試しください。
なお、私の環境では、実機を接続してのビルド時に失敗するようでした。
…実機の接続・未接続で、設定等が違う箇所があるんでしょうね。

村上 著者:村上

【Android】アプリの画面を縦方向で固定する方法

久しぶりのAndroidネタです。
今回は、端末が横向きになった場合でも、アプリの画面を縦方向に固定する方法について。

 

今回は、こちらのサイトを参考にさせていただきました。

Android縦画面固定 – Qiita
https://qiita.com/yasumodev/items/44f7fd84a58b709a0349

実装方法ですが、2つ方法があり、私が実装したのが、AndroidManifest.xml で指定する方法です。
縦方向で固定したいページのアクティビティに対して、下記を指定します。

android:screenOrientation="portrait"

具体的には、下記のようになります。

<activity
    android:name=".Main.MainActivity"
    android:screenOrientation="portrait"
    android:label="@string/app_name"/>

3行目に、縦方向で固定する指定を追加しています。

なお、横固定にしたい場合は、値を「portrait」から「landscape」に変更します。

 

次に、Activity で指定する方法ですが、こちらは onCreate の中に下記を記入します。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

こちらの方法で横方向で固定したい場合は、引数に ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE を指定します。

 

以上、アプリの画面の向きを固定する方法でした。
iOS だと、チェックボックスの ON/OFF だけで済むので、Android は少しだけ面倒ですね。
また、アクティビティごとでの指定なので、常に縦固定の場合は、すべてのアクティビティに縦固定の指定をしなければ習いので、指定抜けにご注意ください。

村上 著者:村上

【フリー素材】アイコン素材なら商用利用可の「icooon-mono」がおすすめ

絵が描けないので、Webデザイン中に毎回困るのがアイコン素材なのですが…数年前からかなりお世話になっているサイトがこちら。

アイコン素材ダウンロードサイト「icooon-mono」
http://icooon-mono.com/

「icooon-mono」という、フリーのアイコン素材のサイトです。
掲載しているアイコン数は何と6000以上!
また、タイトルにも書きましたが、商用利用も可能なのでかなり助かっています。

 

アイコンの詳細ページはこちら。

見てわかるように、アイコンのサイズが選べ、色も変えることができます。
また、ダウンロードするファイル形式も、PNG、JPG、SVG から選ぶことができます。
…まあ、たいてい選ぶのはPNGですけど。

 

オーソドックスな物から、一体どこで使うんだ?と思うような物まで、かなりの種類を取り揃えているので、きっとぴったりなアイコンが見つかるはず。
が、いかんせん量が多いので、最初は探すのだけでも一苦労かもしれません
時間があるときに、さらっと眺めてみるのもおすすめです。

村上 著者:村上

【MySQL】テーブルのデータをコピーして別のテーブルに挿入する方法

今回も、昨日に引き続き MySQL について。
タイトルにある通り、テーブルのデータをコピーして別のテーブルにデータを挿入する方法です。
使用頻度はあまり高くないかな?

 

今回参考にさせていただいたサイトはこちらから。

表をSELECTして別の表へINSERTする(INSERT ~ SELECT)- SQL Server – Priject Group
https://www.projectgroup.info/tips/SQLServer/SQL/SQL000004.html

なお参考として、記事の下の方に、同じことを Oracle Database で行う方法が書かれたページへのリンクもあります。

で、SQL文はこちら。

INSERT INTO [データ挿入先テーブル名] SELECT * FROM [コピー元テーブル名];

こちらは全カラム&全件をコピーする方法です。
もちろん、SELECT に WHERE をしてして、任意の条件に一致するデータのみを挿入することもできます。
なお、このSQL文はコピー元テーブルとコピー先テーブルの構造が一致していないと失敗するので、注意が必要です。

ですが、下記のように取得するカラムも指定すれば、定義の異なるテーブルにも挿入できます。

INSERT INTO [コピー先テーブル]([カラム1], [カラム2]) SELECT [カラム1], [カラム2] FROM [コピー元テーブル];

なお、カラムを指定するときは、順番にも気を付けてください。

 

以上、テーブルのデータをコピーして、別のテーブルに挿入する方法でした。
INSERT と SELECT が同時に使用されているので、一見難しそうに見えますが、落ち着いてみてみればかなり簡単ですね。
なお、実際に実行する機会があるかどうかは別として、同じテーブルにコピーしたデータを挿入することもできたので、テストデータとかを量産したいときとかに便利そうですね。

村上 著者:村上

【MySQL】指定したカラムにリストと一致する値があるかを調べるIN演算子

そこまで使用頻度が高いわけではないのですが、知っていると便利なのが、今回取り上げる IN演算子。
MySQLのWHEREでデータを抽出する際に、カラムのデータがリストの値のどれかと一致するかを調べられます。
便利なのにたまにしか使わず、そのため毎回構文を忘れて調べているのでまとめ。

 

サンプルコードはこちら。

SELECT * FROM [テーブル名] WHERE [カラム名] IN ([値1],[値2],[値3],…);

通常だと、WHERE [カラム名] = [値1] OR [カラム名] = [値2] … と書きますが、IN演算子を使うと、比較したい値をリストにまとめることができます。
で、このリストの値のどれかと一致したカラムを抽出してくれます。

また、NOT IN と書くこともでき、その場合はリストの中の値のどれとも一致していないデータを抽出してくれます。

 

ということで、MySQLのIN演算子でした。
抽出条件を AND でつなげて書くのって結構面倒だったりするので、同じカラムだったらまとめられていいですね。
また、この書き方なら条件の指定もれも減りそうです。
SQL文は、初心者は苦手意識を持たれる方も多そうですが、是非こういったものを便利に使ってください。

村上 著者:村上

【JavaScript】日付オブジェクト.getMonth()を扱う時の注意点

知らないととことんハマりそうなので、備忘録としてまとめ。
日付オブジェクトから月を取り出すときの注意点についてです。

サンプルコードはこちら。

var today = new Date();
var month = today.getMonth() + 1;

現在の月を取得するならこれだけなのですが、getMonth()メソッドを使ったときの返り値は 0~11 となります。
つまり、「0 = 1月」、「11 = 12月」なんです。
なので、コードにあるように、getMonth()返ってきた値に +1 をする必要があります。
…知らないとここでかなりハマりそうです。

なお、例によって後輩がこの状況に陥り、「今6月なのに、先月の日付が返ってくる!」と悩んでいました。
日付を console.log で出力すると正常で、でも月を取得すると5月だったということだったので、この現象を思い出せました。

 

以上、getMonth()メソッドを使うときの注意点でした。
…正直、「getMonth()」という名前なので、きっちり 1~12の間で値が返ってきてほしいですね。
もしJavaScriptで日付を扱う時に、値がおかしい場合は、まずこのあたりを疑ってみてください。
誰かの参考になれば幸いです。

村上 著者:村上

【Windows】Word保存時に「ディスクの空き容量が不足しているため保存できません」エラー

ちなみに未解決です。

Wordを編集・保存した時に遭遇したエラーで「ディスクの空き容量が不足しているため保存できません」とのこと。
ほかにももう1つファイルを開いていて、そちらは問題なかったのになぜこのファイルだけ…?

検索時にヒットしたページはこちら。

Word で文書を保存するとエラー メッセージが表示される、またはプログラムが応答を停止する
https://support.microsoft.com/ja-jp/help/813997/you-receive-an-error-message-or-the-program-stops-responding-when-you

ですが、結局それらしい解決策は見つけられませんでした。

なお、サイトに掲載されていた解決方法・回避策はこちら。

この問題を解決するには、ディスク ドライブの増設やディスク圧縮ユーティリティの使用により、ディスクの空き領域を増やします。

注: ウイルス対策ソフトウェアが実行中の場合は、それを無効にしてみてください。 これで問題が解決される場合は、ウイルス対策ソフトウェアの製造元に更新プログラムまたは回避策についてお問い合わせください。

・不要なプログラムを終了することによってディスク領域をある程度回復できる場合があります。
他のプログラムを終了してから Windows がページング ファイルのサイズを変更するまでに数分かかることがあります。
・必要のないファイルを削除してディスクの空き領域を増やします。
たとえば、ディスク クリーンアップを実行します。 これを行うには、次の手順を実行します。

 

で、結局一度ファイルを保存せず閉じて、再度開いて修正・保存をしたところ、何事もなかったかのように保存が完了しました。
…謎です。
ということで、原因はさっぱりわかりませんでしたが、なるべくファイルは一度にたくさん開かずに、必要最小限にしようとは思います。

村上 著者:村上

【JavaScript】IEでの「’)’がありません」エラーの原因と対処法

後輩のコードを見ていて発見した Internet Explorer 固有のバグです。
今回遭遇するまで、こんな現象が起きることを知らなかったので、備忘録も兼ねています。

で、コードはこちら。

function checkStr( message = "" ){
    if( message != "" ){
        // 処理
    }
}

一見何の問題もなさそうですし、Google Chrome や Microsoft Edge では問題なく動作しました。
が、どうしてもIEではダメで、「‘)’がありません」というエラーが表示されました。

 

で、対処法ですが、そもそもの原因は関数の引数にデフォルト値を指定したことが原因のようでした。
IEではJavaScriptの関数での引数のデフォルト値の設定には対応していないようですね。
そのため、引数の「message = “”」を 単に「message」に修正すれば問題なく動作しました。

修正後のコードは下記のとおりです。

function checkStr( message ){
    if( message != "" ){
        // 処理
    }
}

1行目の関数の引数のデフォルト値を指定しないように修正しました。

 

以上、IEでの関数エラーの対処法でした。
最初はエラー文を鵜呑みにしてカッコの数があっているかを確認していましたが、原因は全く違いましたね。
たまにこういった見当はずれのエラー文があったりするので、デバッグ作業は難しいです。
今回は思い付きで関数の引数を消してみたら解決したので良かったですね。
同じことでお悩みの方は、是非参考にしてください。

村上 著者:村上

【Excel】セルに入力した値を変えずに値に単位を付ける方法

タイトル通り、Excelでセルに入力した数値などを変えずに、「○○人」や「××円」などの単位を追加する方法です。
例えば下の画像のようにする方法。

表示しているのは「100人」ですが、データ自体は「100」となっています。
これは、単純にセルに単位を入力してしまうと文字列になってしまい、データが扱いにくくなってしまうので、その対策のためです。

以前書いた、日付に曜日を表示する方法とほぼ同じです。

【Excel】日付を曜日付きで表示する方法
https://cpoint-lab.co.jp/article/201804/【excel】日付を曜日付きで表示する方法/

というか、この曜日の表示がその応用かな。

 

方法ですが、まず単位を追加したいセルで右クリックし、メニューからセルの書式設定を選択。

すると下のようなウィンドウが表示されるので、左側のメニューから「ユーザー定義」を選びます。

あとは、画像のように、中央辺りにあるテキストエリアに表示したい形式を指定すればOKです。
私は今回、値の後ろに「人」を追加したかったので、選択肢から数値を表示している項目を選び、その後ろに「”人”」と追加しました。
あとは、OKボタンを押せば完了です。

 

作業としては以上です。
簡単ですね!
ですが、Excelを使い始めたばかりのときは、意外とこの方法を知らなかったりするので、ビギナーさん向けにまとめました。
Excelに苦手意識を持ってしまっている後輩もいるので、初心者の方に、「Excelって難しくないよ」というメッセージが伝わればいいなと思います。

村上 著者:村上

【PHP】文字列を全角←→半角に変換するmb_convert_kana()関数

覚えておくと意外と便利なので、備忘録としてまとめ。
PHPで全角を半角に、もしくはその逆を行う方法です。

今回使う関数は、mb_convert_kana()です。
参考にさせていただいたページはこちら。

PHP関数 – 半角 ⇔ 全角 変換 – mb_convert_kana() – PHP入門のカルマ
https://webkaru.net/php/function-mb-convert-kana/

 

使い方はこちら。

$result = mb_convert_kana([変換したい文字列], [変換方法]);

上記のように指定します。
なお、変換方法は省略が可能で、省略した場合は、KV(=「半角カタカナ」を「全角カタカナ」にし、濁点付きの文字を一文字に変換)になります。
変換方法の一覧は下記のとおりです。

 

オプション 変換内容
r 「全角」英字を「半角」に変換
R 「半角」英字を「全角」に変換
n 「全角」数字を「半角」に変換
N 「半角」数字を「全角」に変換
a 「全角」英数字を「半角」に変換
A 「半角」英数字を「全角」に変換
s 「全角」スペースを「半角」に変換
S 「半角」スペースを「全角」に変換
k 「全角カタカナ」を「半角カタカナ」に変換
K 「半角カタカナ」を「全角カタカナ」に変換
h 「全角ひらがな」を「半角カタカナ」に変換
H 「半角カタカナ」を「全角ひらがな」に変換
c 「全角カタカナ」を「全角ひらがな」に変換
C 「全角ひらがな」を「全角カタカナ」に変換
V 濁点付きの文字を一文字に変換。K、Hと共に使用

よく使いそうなのは、「as」かな?
このオプションでは、英数字とスペースを半角にします。
なお、オプションは複数指定できます。

 

以上、文字列を全角←→半角に変換する方法でした。
全角が入力されては困る項目などでは、少なくとも「askh」あたりを指定しておけば、ある程度は対応できるかと思います。
是非、ご活用ください。