これは公開用で、もう一つイラストAC バージョンがあります
メイドの幽霊 一般向けなので、幽霊の表現としては押さえています。公開用は、けっこうお遊び入りです。もっとやっても良かった感ありますが、人物を一色で作ってぼかして透明化して立たせても良かったかも。今度やってみよう・・・ これ作るために作ったパーツもイラストAC でフリーダウンロードです。
廃屋背景
木のテーブルとメイド
木のテーブル
|
2016年06月28日
DAZ3D : メイドの幽霊
イラストAC : 最近のおすすめ壁紙 / DAZ3D / DAZStudio
壁紙はわりと作りやすいジャンルで、ささっと作ったもののほうが構図的には良かったりします。ただ、いつも困るのが背景なので、作り置きの背景を沢山作っておくのがいいんですね。でも、そんな時間あったら、人物創りますよねぇ・・・普通。 デスクトップアイコンの都合があるので、全体的には暗く作ってます。( 全て 1600x1200 です )女拳士 この背景は、Glitterato ですねぇ。
都市を守る少女
ドラゴンと戦う女性剣士
戦う女性剣士 ドラゴンと戦う女性剣士 の部分取り出しです。
睨む女 どれも、必ずレタッチは行ってます。素のレンダリングはどうしても色のインパクトが薄くでメリハリが無いので、いろいろやります。
宇宙の旅 これに関しては Iray 使用しています。メタリック効果は、とんでも無く凄いので、ロボットや金属の鎧を強調したい場合は Iray が簡単です( 付属のシェーダで全てまかなえる )。背景の山も Iray のシェーダをいろいろ使ってみて雰囲気をいろいろ試しました。 Iray の効果が顕著なのは、以下のイラスト(サンプル)です。
これは、Iray と 3Delight でそれぞれレンダリングしたものを重ねています。Iray は、こういった金属効果は凄いんですが、人体部分の『影』が消えるので、イラストとしての雰囲気が欲しい場合には困ります。なので、それぞれの良い部分の残して( いらない部分はお互いに消す ) 合成します。 無機物のリアルな質感は凄いですが、人物をあまりリアルにしすぎると、なんか魂入らない感が出ます。そりゃあ、後からのレタッチ次第かもしれませんが、素人作業にそんな時間多くかけれませんし。
大阪府自転車条例 : 第十二条(自転車損害賠償保険義務化)及び第十三条が平成二十八年四月一日から施行
正直知らなかったです。自分自身は火災保険の特約として既にかなり前から入っていたので関係無いですが(家族が全て対象で、自転車事故で訴えられたり、重過失の火災で保険が支払われます)、水曜の授業で学生らには確認してあげなければいけません。 これは全て時代の流れです。自治体として、より問題を周知しようというのが目的であって、個人がどのような保険に入っているかを管理する事は不可能なので、『罰則はありません』 Q4自転車保険の加入義務違反で罰則等はありますか自転車保険への加入を義務化していますが、罰則は設けておりません。これは、罰則を設けるためには、保険加入について確認を行わなければなりませんが、自転車事故を補償する保険には、自動車保険や火災保険、傷害保険の特約で付帯する保険等、加入者が本人ではなく家族が契約しているものなど、加入者それぞれの保険加入を証明することが困難なためです。 さらに、自転車には車両を登録するシステムがなく、車両番号がない場合もあるため、車体を特定し、罰則の対象を確認することが困難なため、罰則は設けていません。http://www.pref.osaka.lg.jp/dorokankyo/osakajitensha/ 個人に対する罰則云々では無く、第13条における『自転車小売業者』に対する取り決めのほうが大きいです。何と言っても、一般の小売業者はこういった行政はまじめに守らないと商売できませんですし。 それと、いまだに知らない人も沢山存在するでしょうから、周りでこれだけはっきり情報が存在すれば、良い方向へ向くはずです。 ほんの4年前くらい 自分が火災保険入ろうと思った時ですが、当時『火災共済』に個人賠償責任特約が無く、普通の火災保険に入った経緯があります( 既に火災共済は入ってましたが、共済は特約が無かったので家財のみに切り替えました ) 当時まだ、大きな自転車事故のケースが発生してなかったような気かします。元々は、重過失の火災でも保険が支払われるように入ったもので、『訴えられた時』に有効だと認識しています。他にも、お店でものを壊してしまった時も有効だったはずで、保険の担当者の方が漫画イラストのパンフレットで説明してくれた記憶があります。 思うに、どこでも火災保険は入ってると思うので、ちょっと足すだけで、最高1億くらいの補償がされるはずです。
『ダイニング』 : イラストAC / DAZ3D / DAZStudio
『ダイニング』関連で4枚ほどイラストが溜まったので、まとめたいと思います。イラストとしては簡単な部類ではありますが、それだけにカメラの位置やライトを全体的に明るい環境光を使ったりと結局時間のかかるものです。 また、環境光を使うと急にレンダリング時間が長くなるのです。リビングダイニングの部屋背景 : 1200x960 窓の外は透過にできるのですが、背景用として作ったので窓の外は夜を想定して JPG のみです。
リビングダイニングの部屋風景 : 1200x960 JPG と PNG があり、PNG は窓部分が透過になっています。JPG は、実写の風景を加工して嵌め込んでいます。奥の電灯の傘が本来は濃い赤だったのですが、目的としとするイラストに合わないので調整しました。
真夜中のリビングダイニングの妖精 : 1200x960 JPG のみのファンタジーイラストですが、同じ部屋を使っています。背景の惑星は Lunarcell で作成したものです。
ダイニング : 1600x1200 最近作ったものなので、サイズが 1600x1200 です。窓の外は、3D のドームを利用しています。あと、ダイニングでは無いのですが、同系の部屋の中の風景である『寝室』もあります。
夜の寝室 : 1200x900 この部屋は、他にバスルームとかもあるのでもっと増やしたいと思っています。が、レンダリングがめちゃめちゃ長い・・・んです。早く、グラフィックボード買わないといけませんね。
2016年06月27日
DAZ3D : Aiko6 + Tears of the Gods( for Genesis 3 )
衣装は、Genesis3 の、とても良く出来たおすすめのアーマーです。ただ、オリジナル感が超台無しになる、頭部の羽は、Opacity で非表示になっています。そうすると、かなりかっこよくなるのでお勧めですね。また、この雰囲気に Aiko6 独特の目ゃメークがうまく映えています。 目変えると相当雰囲気変わるし、頭部のヘルメットも髪の毛だけでは、キャラが立たない気がとてもします。
▼ イラストAC にアップした同一キャラ
不敵な笑みを浮かべる少女戦士 (1) : 1000x1200
不敵な笑みを浮かべる少女戦士 (2) : 1000x1200
不敵な笑みを浮かべる少女戦士 (3) : 1000x1200
不敵な笑みを浮かべる少女戦士 (4) : 1200x1000 ▼ 今日の追加作成
大きくしすぎたので、肩に毛がささってたり、ヘルメットを毛が突き抜けたりしてたので、手作業で修正しました。
Android 5.1(API 22) と Android 4.4(API 19) でのそれぞれの DatePicker ダイアログの扱い
Android 5.1(API 22) で DatePicker ダイアログを使用するには、テーマにスタイルを設定する必要があります。何もしないで呼び出すと、大きなカレンダーが表示されて変更できません。DatePickerDialog のコンストラクタで定義したスタイル指定する方法もありますが、テーマに全て設定するほうが簡単です。
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <!-- コントロール用 --> <item name="android:datePickerStyle">@style/MyDatePicker</item> <!-- ダイアログ用 --> <item name="android:dialogTheme">@style/MyDialogTheme</item> </style> <!-- コントロール用 --> <style name="MyDatePicker" parent="android:Widget.Material.DatePicker"> <item name="android:datePickerMode">spinner</item> </style> <!-- ダイアログ用 --> <style name="MyDialogTheme" parent="android:Theme.Material.Light.Dialog"> <item name="android:datePickerStyle">@style/MyDatePicker</item> </style> </resources>
しかし、この追加されたスタイルは、コントロールもダイアログも Android 4.4(API 19) では使用できないので Android 4.4(API 19) でテストする時はコメントにする必要があります。 実行処理
package lightbox.june.datepickercontrol; import android.app.DatePickerDialog; import android.app.Dialog; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.DatePicker; import java.util.Calendar; public class MainActivity extends AppCompatActivity { private Calendar calendar; private int year; private int monthOfYear; private int dayOfMonth; private DatePicker dp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dp = (DatePicker) MainActivity.this.findViewById(R.id.datePicker); // ******************************** // 今日の日付 // ******************************** calendar = Calendar.getInstance(); year = calendar.get(Calendar.YEAR); monthOfYear = calendar.get(Calendar.MONTH); dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // ****************************** // ボタン1 // Spinner // ****************************** MainActivity.this.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // ******************************** // Spinner DatePicker ダイアログの処理 // ******************************** DatePickerDialog spinnerDatePicker; spinnerDatePicker = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Log.i("lightbox", String.format("%d-%d-%d",year,(monthOfYear+1),dayOfMonth ) ); } }, year, monthOfYear, dayOfMonth); // 表示前に日付を設定する時の日付の変更方法 spinnerDatePicker.getDatePicker().updateDate(year, monthOfYear, dayOfMonth); spinnerDatePicker.show(); // ******************************** // Spinner DatePicker コントロールの処理 // ******************************** dp.setSpinnersShown(true); dp.setCalendarViewShown(false); Log.i("lightbox", String.format("%d/%d/%d", dp.getYear(),(dp.getMonth()+1),dp.getDayOfMonth() ) ); } }); // ****************************** // ボタン2 // CalendarView // ****************************** MainActivity.this.findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // ******************************** // CalendarView DatePicker ダイアログの処理 // ******************************** DatePickerDialog CalendarView; CalendarView = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Log.i("lightbox", String.format("%d-%d-%d",year,(monthOfYear+1),dayOfMonth ) ); } }, year, monthOfYear, dayOfMonth); // 表示前に日付を設定 // 表示前に日付を設定する時の日付の変更方法 CalendarView.getDatePicker().updateDate(year, monthOfYear, dayOfMonth); // 表示方法の変更 CalendarView.getDatePicker().setSpinnersShown(false); CalendarView.getDatePicker().setCalendarViewShown(true); CalendarView.show(); // ******************************** // CalendarView DatePicker コントロールの処理 // ******************************** dp.setSpinnersShown(false); dp.setCalendarViewShown(true); Log.i("lightbox", String.format("%d/%d/%d", dp.getYear(),(dp.getMonth()+1),dp.getDayOfMonth() ) ); } }); // ****************************** // ボタン3 // Spinner DialogFragment // Spinner + CalendarView // ****************************** MainActivity.this.findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // ******************************** // ダイアログ・フラグメント // ******************************** DialogFragment newFragment = new DatePickerFragment(); newFragment.show(getSupportFragmentManager(), "datePicker"); // ******************************** // Spinner + CalendarView // DatePicker コントロールの処理 // ******************************** DatePicker dp = (DatePicker) MainActivity.this.findViewById(R.id.datePicker); dp.setSpinnersShown(true); dp.setCalendarViewShown(true); Log.i("lightbox", String.format("%d/%d/%d", dp.getYear(),(dp.getMonth()+1),dp.getDayOfMonth() ) ); } }); } // ****************************** // DialogFragment // ****************************** public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // 初期値を DatePicker コントロールより取得 DatePicker dp = (DatePicker) DatePickerFragment.this.getActivity().findViewById(R.id.datePicker); int year = dp.getYear(); int month = dp.getMonth(); int day = dp.getDayOfMonth(); return new DatePickerDialog(getActivity(), this, year, month, day); } public void onDateSet(DatePicker view, int year, int month, int day) { Log.i("lightbox", String.format("%d-%d-%d",year,(month+1),day ) ); } } }
3つ目のボタンでは、DialogFragment を使用しており、初期値として DatePicker コントロールの値を使用しています。 Android Deveroper : DialogFragment for a date picker ※ 全てのソースコード
Android 5.1(API 22) と Android 4.4(API 19) でのそれぞれの DatePicker コントロールの扱い
手持ちの Android が 5.1 なら何も考えなくて良いのですが、実機テストをする為に Android 4.4 を Min SDK に設定しています。この状態で、DatePicker コントロールを貼り付けると以下のようになります。
そして、プレビューを API 19 に変更すると以下のようになります。
実際、実機で実行するとその通りに Spinner 状態で表示され、setSpinnersShown と setCalendarViewShown で変更すると、表示も変わってくれます。
![]()
![]()
しかし、Android5.1(API 22)では、setSpinnersShown と setCalendarViewShown は動作してくれません。初期表示はカレンダー状態になります。( 月の変更の方法が良くわかりません )
そして、setSpinnersShown と setCalendarViewShown を動作させるには、スタイルを定義して DatePicker コントロール に設定してやる必要があります。ただ、これをする場合 Android 4.4(API 19) では、動作しないので Min SDK を変更する必要が出てきてしまいます。( 当然ですが、デバイス選択で実機が Gray out するので実機には転送できなくなります )
![]()
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="MyDatePicker" parent="android:Widget.Material.DatePicker"> <item name="android:datePickerMode">spinner</item> </style> </resources>
![]()
メインテーマに以下のように設定しておけば、DatePicker コントロールにスタイルを設定する必要はありません
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:datePickerStyle">@style/MyDatePicker</item> </style> <style name="MyDatePicker" parent="android:Widget.Material.DatePicker"> <item name="android:datePickerMode">spinner</item> </style> </resources>
タグ:android
2016年06月17日
LIXIL INAX に 30年前の便器を買い替えた。排水管が長いので、大洗浄8L 仕様に変更してもらって、止水栓のメータで計ったら 9L 流れた。そういうもんか ???
あまり深く考えずに便器を交換したわけです。30年前のものをずっと使って来ていたので、最近の便器の常識とか全く知らなくって、たまたま、タイミング的に『アクアセラミック』という新製品を買うことになった上に、結構な金額の買い物なので、いろいろ興奮もしてましたし。 節水型なんていう意識が全く無かったです 後からインターネットで詳細を調べて、イマドキは 5L で大を流すという事にとても不安を覚えました。 YHBC-ZA10H + YDT-ZA180H のメーカー詳細 『節水型』というキーワードに気が付いたのは、施工業者が作業終わって帰る時の簡単な説明に出てきた時です。その時、過去の古い便器で節水しようとタンクの中にペットボトルを入れて、排水が詰まりかけた記憶が蘇ったわけです。 「うち、排水管長いんで、あまり流れないと困るんですよ」 と、施工業者に問いかけました。すると、業者さんはタンクの中をチラっと見ただけで 「MAX です」 と言い放ったわけです。 施工業者が知らなかった事実 そもそも、カタログ上大洗浄は 5L で、小洗浄は3.8Lなわけです。施工業者は、この便器が 8L 仕様に変更できることを知らなかったのです。 (PDF)ECO6、ECO5 便器の洗浄水量を大洗浄8L( 小洗浄6L) にする方法 この PDF は、施工業者が帰った後に疑問に思って調べたらすぐ出て来たものです。これ以外にも、排水管が 10メートルを超える場合には、5L では問題が出るという情報も見つけました。 便器の水量を上げる方法( トイレリフォーム専門店 ) そこで、販売店のほうに電話をかけて、施工業者がこの事実を知らないようだという事実と最後のやりとりを説明してもう一度調整に来てもらうように頼みました。 買った人はもらえない『施工説明書』というもの 再びやって来た施工業者は、メーカーに問い合わせて『施工説明書』の4ページに書いてあると言われた事を私に説明してくれました。そして、帰りにその説明書をいただきました。読んでみると、施工後のチェック項目(水漏れ・溜水面の点検)が書いてあるので、『施工説明書』はもらったほうが吉です。 メーカーに PDF であるのも確認しました。 ちゃんと増量できたかは、目視でもはっきりしていましたが、調整前にタンクがいっぱいになるまでの時間を計ってあったので比べました。結果、かなり増えていたので調整は成功です。 この時、正確な量はわからなかったというか、計る方法に気が付かなかったわけで、あとから計って結構びっくりするわけではあります。 というか、『何故』5L が標準なのか メーカの 8L に関する必要性に対する説明は、『一部の地域では、便器の洗浄水量が大洗浄8L以上に規定されている場合があります』という理由です。ですから、5L で問題無いという見解なわけです。 しかし、調べてみると実際に詰まってしまうというトラブルの記事をみつけたのですが、この記事からは二つの大きなことを教訓として得る事ができます。 節水トイレの盲点 結論から言うと、この当事者の方のケースは、施工業者が 小と大を反対にセットしてしまった事にあります(初歩的な単なる取り付けミス)。よって、ここからの教訓の二つはこうです。 1) 節水型の 大 で普通に流す事ができる 2) 節水型の 小 では詰まってしまう ここからいろんな事実を知りました。もっとさらに調べたわけで、やはり無知は罪悪だと痛感しました。知らないとイザという時にはとても苦労をしてしまうのは間違い無いようです。 イマどきの節水型とは トラブルに合われた方のメーカーは TOTO ですが、INAX も同様イマドキの便器では節水型が当たり前で、5L であっても10メートル以上流れる事を試験済みの製品なわけです。(逆に10メートル超えた場合の対応が皆無のようでどうかとは思いますが) 一般的な家庭ではほぼ問題は出ないで 5L で大を流す事ができるようになっています。海外では、水が貴重なので、逆に15L も使うわけなはいかないのです。その量が海外では厳しく決められているそうです。 何故 5L で流す事ができるかは、企業秘密かもしれませんが、一般的には『渦』を使って汚物をうまく流す技術のようです。 でも、3.8L だと詰まる仕様である事は認識しなくてはいけません 知らないで、タンクの中に節水用のなにかを入れると詰まります。また、大のつもりで小を使ってしまうと詰まります( 個人の認識レベルでレバーの向きと大・小 が逆の場合もある )。なにせ、ギリギリの技術のせめぎあいの間での水量なので、ちょっとした間違いで大きなトラブルになるかもしれません。 ウチは、排水が 10メートル超えてるし、曲がってる場所が最低でも2箇所あるし、8L でやっと安心です。小でも、節水時の大より多いですし。 で、実際計ったら・・・ 大で 9L、小で 7.5L でした。これはちょっとなぁ・・・・。メーカーの節水を前面に出してるぶんの誤差にしては大きいと思うんですが。 実際に 1.5L のペットボトルに溜めて水量 1.5 と確かめてから、大と小を流しました。
2016年06月12日
WenMoney に 1,633円あったので、PayPal から 311円 足して ロリポップの ライトプランに一ヶ月ぶん申し込んだ
▼ 初期費用が 1,500円。一ヶ月ぶん 300円。消費税 144円で、合計 1,944円です。学校で学生に WEBサイトをテストさせたいので、良く使っても2ヶ月程度で解約すると思います。最初はフリーのレンタルサーバを考えたのですが、メール処理とかもテストさせてあげたいので、一時レンタルする事にしました。 とは言うものの、初期費用の事を失念していて、『1,944円・・・』と一瞬ためらいましたが、決済の方法に『おさいぽ』という専用のシステムがあって、そこの入金方法に WebMoney があって、自分のウォレットに 1,633円 の使い道の無いものがある事に気づいたので契約しました。 足りないぶんは、WebMoney に追加入金しようかと思って久しぶりに見に行ったら、インターネットバンキングでの入金ができないようになっていました。なんか、もーーー、いろいろ面倒です。
じゃあ、仕方無いので PayPal で追加 311円 しました。イザと言う時の PayPal です。海外で買い物するなら必須ですね。つっても DAZ3D 絡み以外では殆ど使った事は無いんですけれど。 ロリポップのシステムに興味津々 ユーザページのパスワードと、FTP のパスワードが別々に設定できるので、学生に使わせるのはとても都合がいいです。ライトプランなんで、データベースは一つですが、phpMyAdmin も自動的に使えるようになります。このへんは『さくらインターネット』も使っていますが、業界としては当然のサービス内容でしょう。
まあ、しばらく学生には遊んでもらいましょう。 FTPSサーバについて SFTP では無いです。FTP の拡張仕様です でも、セキュアです。 (さくらインターネットは、SFTP ですけれど。)
メール容量 どうも、1メールアドレスで2ギガまで固定で使えるようです。さくらインターネットでは個別に容量設定できるんですが、まあ、あんまり使うものでも無いので比べても仕方無いかもしれません。 ( 1つのサーバー契約で利用できるメールボックス容量の合計はライトで50GB ) アカウント数は、全プランで1アカウント10個と、少なめです。独自ドメインを契約すると無制限になるようですけれど、10個で普通は十分です。 WEBメール画面 なんか、ちょっと子供用みたいな UI です。
※ ロリポおじさんはいらない気がする
2016年06月11日
Google Maps API の ジオコーディング サービスで、住所から緯度・経度の取得
久しぶりに調べたら、インターネットでは古い V2 の情報ばかりだったので。 Google の 日本語ドキュメントページ(ジオコーディング サービス) ▲ のページにそのままのサンプルがあるので、以下のようなソースコードでテストしました API の読み込みにAPIキーを省略しています ( API キーは自分専用のを取得して指定します )
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> <script src="https://maps.googleapis.com/maps/api/js"></script> <script> var lat = 34.7013233; var lng = 135.4966954; var geocoder = new google.maps.Geocoder(); var map; $(function(){ $("#geo_action").on("click",function(){ geocoder.geocode( {'address': $("#address").val()}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); // lat と lng console.log(results[0].geometry.location.lat(),results[0].geometry.location.lng()); } else { alert("Geocode が失敗しました : " + status); } }); }); }); function loadMap(doc,obj_str,a,b,c) { var latlng = new google.maps.LatLng(a,b); var myOptions = { zoom: c, center: latlng, mapTypeControlOptions: { mapTypeIds: [ google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.SATELLITE ], style: google.maps.MapTypeControlStyle.DROPDOWN_MENU }, mapTypeId: google.maps.MapTypeId.HYBRID, scaleControl: true }; map = new google.maps.Map(doc.getElementById(obj_str),myOptions); } google.maps.event.addDomListener(window, 'load', function () { loadMap(document,"target_area",lat,lng,15); }); </script> 住所 <input type="text" id="address" style='margin-bottom:10px;width:450px;'> <input type="button" id="geo_action" value="実行"> <div id='target_area' style='width: 600px; height: 480px'></div>
API キー無しでも動作しますが、console ではその旨のワーニングが出るので、将来的には動作しなくなる可能性はあります。Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keysそもそも、Google の API は課金制で、相当数の利用があった場合は支払いの必要性が出て来る為、Google では API キーを元に連絡するというプロセスの為に API が必要です。 一般ユーザが使用する程度では、課金対象になる事はありませんが、認識は必要でしょう。
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。 Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。 また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。 ※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです 対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。※ エキスパートモードで表示しています アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります
<% if:page_name eq 'archive' -%> アーカイブページでのみ表示される内容 <% /if %> <% if:page_name eq 'category' -%> カテゴリページでのみ表示される内容 <% /if %> <% if:page_name eq 'tag' -%> タグページでのみ表示される内容 <% /if %>この記述は、以下の場所で使用します![]()
|