好きな言葉「1 pixel line makes all the difference // 1ピクセルの線がすべてを変える」
私は、普段自分の好きな言葉を目の届くところに置いていたり、書いていたりします。
それは自分を鼓舞するためでもあり、戒めるためでもあり・・・。
そんな言葉が結構溜まってきたので、少しずつ書いていこうと思います。
今日は、「1 pixel line makes all the difference // 1ピクセルの線がすべてを変える」です。
そもそもの出典は不明ですが、数年ほど前に下記のサイトで見かけて、一発で気に入りました。
ピクセルとは
ピクセル(英: pixel)、または画素とは、コンピュータで画像を扱うときの、色情報(色調や階調)を持つ最小単位、最小要素。しばしばピクセルと同一の言葉として使われるドットとは、後者が単なる物理的な点情報であることで区別される。例えばディスプレイにおいて320×240ピクセルの画像を100%表示すれば320×240ドットとなるが、200%表示ならば640×480ドットとなる。
出典:Wikipedia
ここで言うと「ドット」の事ですね。ドットの線の事です。たった1ピクセルの横線や縦線で、ガラリと雰囲気が変わるのです。
魅せられた理由
大体の人に、1ピクセル単位であーだこーだ言うと、「細かい所にこだわって・・・」という顔をされます。
いやいやいや、大事ですよ!?
1ピクセルの線を引くか引かないかで、印象というのは結構変わってきます。
微に入り細を穿つと言いますが、「普段から細かい箇所を注視しておく事により、大きなミスを防ぐことが出来る」訳です。
そんな精神を端的に表す言葉として、また職人っぽい響きも相重なって、この言葉に魅せられているわけです。
とことんこだわる
何でもそうですが、こだわりを持つことは大切です。
言われたままの仕事をして、何が楽しいのか私には分かりません。必ず自分のオリジナリティーを付け足す工夫をしています。
もちろん、そういったオリジナリティーを追加する事が出来る職種というのは限られているわけで、全てこの通りには行かないとは思います。
でも、スーパーで品出しをする際にも「こだわり」を持つことは可能ですし、工場で物を作る際も自分なりのこだわりを持つことも出来ると思います。
こだわって、こだわって、こだわる事が自分を高めていける術だと思うんですね。
こだわるためには、どうするか。
そう、「これでもか、これでもか」と飽くなき探究心と共に、細かい箇所を突き詰めていく訳です。
【雑記】何故日本ではAppleのCarPlayが普及しないのか
iOS 10.2 のバッテリーの減り方は尋常ではない
前々から気にはなっていたのですが、そのうち直るだろうと放置していたのです。
ただ、やはり我慢が出来なくなってきました。
iPhoneのバッテリーが1日持たない!!
ただでさえ、バッテリー持ちが悪いのに、iOS 10.2にアップデートしてからは顕著。
先程も、
「残り 20% です」
という表示が出て、画面ロックを解除し、ホーム画面へ
その時点で残量が「19%」に減り、
Safariを開いた瞬間に
「14%」に減り、
Safariを閉じると
「残り 10% です」と表示されました!
対処方法は?
色々と調べた結果、細々と対応方法を記載しているページもありました。
ただ、それは総当たり的な方法で、どれか一つでも当たればラッキー的な恒久的な解決方法ではなさそうでしたのでスルー。
やはり、ダウングレードを試みるか、改修バージョンが出来るのを待つほうが賢明なようです。
【ASP.NET MVC】【Azure】デプロイ後に「The system cannot find the file specified」エラーが表示される
Azureへデプロイ後、やたらと「The system cannot find the file specified」エラーが頻出して少々困ったのでメモ書きです。
原因が判ればたいした話では無かったんですが・・・。
環境
ASP.NET MVC5 + Azure Web Apps + Azure SQL Server + Entity Framework
エラーメッセージ
The system cannot find the file specified
原因
Entity Framework を利用すると、自動的にLocalDbが作成され、LocalDbに対してのDbContext設定が作成されます。
今回、このContextとは全く別のContextを使用していたので、デフォルトの自動生成されたContextは全く気にもしていませんでした。
ただ、この設定がAzureデプロイ後に「そんな接続先ないやんけ、コラァッ!」と怒っていたようです。
「誤った」対処法
Models > IdentityModels > ApplicationDbContext
こちらにおそらくDefaultConnection の指定があります。
public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext() : base("DefaultConnection") // ここの設定を替える { } // 略 }
上記の箇所を普段使いのDbContextに置き換えると、確かに「The system cannot find the file specified」は出力されなくなりました。
ただ替わりに、下記のエラーが発生します。
'/' アプリケーションでサーバー エラーが発生しました。
エンティティ型 ApplicationUser は、現在のコンテキストのモデルに含まれていません。
英語エラー
The entity type ApplicationUser is not part of the model for the current context
スタックトレース
at System.Data.Entity.Internal.InternalContext.UpdateEntitySetMappingsForType(Type entityType) at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() at System.Data.Entity.Internal.Linq.InternalSet`1.FindAsync(CancellationToken cancellationToken, Object[] keyValues) at System.Data.Entity.DbSet`1.FindAsync(CancellationToken cancellationToken, Object[] keyValues) at System.Data.Entity.DbSet`1.FindAsync(Object[] keyValues) at Microsoft.AspNet.Identity.EntityFramework.UserStore`6.<GetUserAggregateAsync>d__6c.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNet.Identity.TaskExtensions.CultureAwaiter`1.GetResult() at Microsoft.AspNet.Identity.Owin.SecurityStampValidator.<>c__DisplayClass2`3.<<OnValidateIdentity>b__1>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Owin.Security.Cookies.CookieAuthenticationHandler.<AuthenticateCoreAsync>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.<BaseInitializeAsync>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.<Invoke>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2.<Invoke>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2.<Invoke>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2.<Invoke>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.<RunApp>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.<DoFinalWork>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult.End(IAsyncResult ar) at System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
「正しい」対処法
web.config 内の「DefaultConnection」パスを、LocalDbから本番サーバーの設定に変更する。
但し、EntityFrameworkの記述ではなく、従来通りのConnectionStringの記載方法で書く。
参考というか助けとなったサイト様
今の音楽にはニオイがない
https://www.amazon.co.jp/b/ref=sv_dmusic_0?ie=UTF8&node=3589137051www.amazon.co.jp
Amazon Prime ミュージックがヤバい。プライム会員になれば、膨大な数の音楽が聴き放題なんです。
今の時代の子供達が羨ましいと思う反面、少し物悲しさも覚えました。
学生時代の音楽は一生モノ
流行りの曲というものがあります。学生時代に聴いていた曲というのは、何歳になっても「昔を思い出すタイムマシン」の役割を果たしてくれます。思春期に聴いた曲ってなかなか忘れないものです。
もちろん、プライムやLINEミュージックで一生モノの曲に出会う事もあります。何万曲もある曲の中から出会えた奇跡という楽しみ方もあるかもしれませんね。
音楽のニオイ
学生時代は一部の人を除き、お金を自由に使える訳ではありません。そんなお小遣いをやりくりする中で、三千円近くするアルバムCDはなかなかの出費なわけです。
今みたいにアルバムの中の好きな曲を1曲だけ買うという選択は出来ません。
そして、買ったCDの封を開け、CDディスクをトレイに載せ、再生されるまでの数秒間の気持ちの高揚感。
新しいCDには紙ジャケットのニオイがあります。
ダウンロード音楽に慣れきったこの頃、ふと思い出し懐かしくなります。
ジャケットや歌詞カードを目で触れ、新しい紙ジャケットやCDのニオイ、ケースに触れ、耳で音楽を聴く。
音楽を聞くということは、五感のうち、4つを使っていたハズなのに。
今は「聴く」という感覚しか使っていない事に気づきました。
とはいえ、便利な世の中
ダウンロード一つで好きな曲をいつでも、どこでも楽しめるというのは素晴らしいことだと思います。
ただ、数が多すぎる・・・。先程もプライムで何か聴きたい曲がないか探していましたが、数が多すぎて1曲毎にじっくり吟味する事が出来ませんでした。
手軽さは良いことです。私も最近はほとんどiTunesで購入します。
便利になることで、音楽が無味無乾燥な代物になりつつあるのかな、と。
そう思った時、今の時代の子達は便利な反面、楽しみを1つ失っているなー、と思うのです。
さらにもう1つ前のレコード世代は、CDでも寂しさを感じる傾向にあるようです。
やはり、あのでかくて管理が大変で面倒なレコードですが、独特のにおいがあります。
1枚のアルバムを愛おしく何回も何回も、そして傷がいかないように丁寧に大切に聴く。
そういったCDへの敬意というのを、忘れずにいきたいものだと、溢れかえるプライムミュージックの曲たちを眺めながら思い直したのでした。