好きな人でも友達でも、相手と「もっと仲良くなりたい!」と思った時は、「自己開示」をしていくことがとても効果的です。自己開示の心理テクニックを使って、上手に相手との心の距離を縮めましょう。「自己開示」は自分を知ってもらうため「自己開示」とは、簡単に言うと「相手より先に、自分の情報を相手に伝える」ということです。相手について知りたいこと、例えば「好きな食べ物」だったら、「私はチョコが好きなんだけど、あなたは?」というように、先に自分の情報を相手に知らせていきます。そうすることで、言われた相手は「話してくれたんだから、こちらも話さなくちゃ悪いな」と感じ、「自分はポテトチップスが好きなんだ」と自分のプライベートを話してくれます。さらに今度は、「自分はこんなにプライベートなことを打ち明けているんだから、自分はこの人を信用しているんだ」という気持ちになっていくのです。これは、相手の情報を知ることが目的であっても、同時に「自分のことを知ってもらう」簡単な方法として、親密度をアップしたいときにはとても有効な方法なのです。重すぎる「自己開示」は避ける注意したいのは相手にとって聞くと負担になるような「重たい話」を簡単に打ち明けてしまうこと。「実は前の職場でうつ病になっちゃって・・・」など、あなたの印象をガラリと変えてしまうような深い話は、信頼関係ができていない状態で打ち明けられても相手は引いてしまいます。最初は好きな食べ物や趣味など話しやすい話題を選び、少しずつ距離を近づけていきましょう。人は、無意識に「自分と似たものを好む」ので、あなたと自分の間に共通点が多いと分かれば、相手も自然と心を開いていくものです。相手について知ることも大切ですが、より良い関係を築くには同時に自分のことも知ってもらうことが欠かせません。「自己開示」を上手に使って、信頼のある間柄を目指してくださいね。
2016年12月02日~自己分析の前にやる大胆行動!〜 日本人に一番欠けているものが自己分析をする能力です。本来の長所を取り戻したり、自分の弱点や悩みを克服するためには冷静に自分と向かい合い、深く自己分析をしなければなりません。 自分の祖父母達や父母や自分自身の物心がついてからこれまでの人世の出来事、歴史、学科の得意不得意、好き嫌い、人間関係の好き嫌い、コンプレックスの有無、何が原因でトラウマになったのか、それをどういう見方や考え方を工夫し、変えてみることで克服していくか等々。 長所短所を消去法で書き並べてゆくのです。面白いくらい自分の良さが発見出来るようになります。自信がつきます。まず自分を理解してやりましょう。
2016年11月24日~成長、飛躍のコツはまず自己分析〜 「灯台元暗し」と昔から言われるように、自分を知ることはとても大切です。自分をわからなければ欠点も克服できないばかりか長所も伸ばせず、成長/飛躍することも進むこともできないからです。まずは、感情を取り除いて冷静になり自己分析をして長所と短所に点数をつけてみる。その上で欠点は努力し克服、伸びる長所は活かせ進むべき道筋も方向も目的もわかるというもの。合わせて、自分のコンプレックスの源も過去を逆のぼり原因追及をして見極める。そして様々な方向から考え方を変えたりして具体的に問題を解決するよう努力してください。自分自身で克服するには、手間も時間も心労も伴いますが、確実にやっているうちに冷静な自分に自信がつきます。「自分が嫌い」と嘆く若者が多くなりました。嘆いても一円の得にもなりません。まずは自分自身と冷静に向かい合って、自分を知る。それが実は人生修行の大切な第一歩なのです。 ※美輪明宏公式サイト「美輪明宏 麗人だより」より美輪明宏公式サイト「美輪明宏 麗人だより」美輪明宏の公式サイト「美輪明宏 麗人だより」では、お悩み相談コーナーや、独自の視点で様々なテーマについて語る「こんにゃく話」など会員の皆様に優しく上品に生き抜いていただくヒントを365日毎日更新しています。[caption id="attachment_3597" align="aligncenter" width="100"]美輪明宏[/caption] *美輪明宏が皆様から寄せられたお悩みにお答えしています。 ◆結婚していないことをバカにされる30歳、結婚していません。特に自分ではそれがおかしなことでもないと思っています。それなりに、恋愛を経験しました。しかし、結婚した会社の後輩から、人前でバカにされたり、お局様扱いを受けて、しんどい思いをしています。どのように考えを切り替えればいいのでしょうか。 ◆不安になって彼にやきもちをやいてしまう私はお付き合いしてる人がいます。でも浮気をしてるのじゃないか?元カノとまだ、会ってるのじゃないか?と、不安になり勝手な妄想をしてしまい、半端じゃないやきもちをやいて不満をぶつけてしまいます。どっしりと構えることができません。自分に自信がありません。こんな時どうすればいいでしょう? ◆男女のお付き合いにはテクニックが必要か?男女のお付き合いは駆け引きなどテクニックが必要なのでしょうか。よく雑誌やネット上にも掲載されており、確かに私の周りを見渡してもそういうことが出来る女性が結婚しています。私はそうした駆け引きは男性に失礼な気がして出来ず、悲しくも未だに独身です。やはり、私の考えは誤っているのでしょうか。何をもって『愛』というのか分からなくなっています。
2016年10月20日TBSのドラマ『せいせいするほど、愛してる』に出演していた、女優の武井咲さん。ドラマ内のあるシーンで武井さんの手がアップになる場面があり、このとき“指毛”が処理されていなかったことで視聴者の関心を集めることになりました。多くの女性がムダ毛の処理を行っていると思いますが、普段あまり意識することのない“指毛”が生えていることは果たしてNGなのでしょうか?女性に指毛があるというイメージがあまりないという人も多いようで、せっかくネイルなどでキレイにしていても、指毛があることで魅力を失ってしまうこともあります。今回は、指毛に対する男性の声を紹介し、正しい処理方法について見ていきたいと思います。●女性の“指毛”に対する男性意見『そもそも女性の指をそんなにまじまじと見ることがないですからね。言われると気になるかもしれないけど、あっても別に引きませんよ 』(30代男性/自営業)『それはもちろんキレイな手の方がいいですよ。濃いとおっさん臭さを感じてしまうかも』(40代男性/営業)『僕は結構女性の手がキレイか気になります。指毛がそのままになってたら、あまり美意識の高くない人なのかな と思います』(20代男性/大学生)●指毛の正しい処理方法3選●(1)かみそり指の毛は生えている範囲も狭く、毛自体も柔らかいため、市販のかみそりで自分で処理するのが一番手軽でしょう。費用も最小限におさえられ、腕などを剃るときにまとめて行えば手間もかかりません 。ただし、簡単とはいえ皮膚に負担をかけるものですから、処理するときにはクリームやジェルを使って慎重に行うようにしましょう。●(2)除毛クリーム指毛が濃いと、かみそりの処理だけでは黒いプツプツが残ってしまうこともあります。よりつるつる感を求めるのであれば、除毛クリームを使うのもいいでしょう。気になる部分に塗って数分待つだけできれいな処理が期待でき、さらにかみそりで剃ったときのように毛穴が目立つこともありません 。人によっては刺激になることもあるため、使用する前にはパッチテストを行うようにしましょう。●(3)レーザー脱毛見た目や手間を考えると、短期間でキレイにすることが可能なレーザー脱毛もオススメです。費用がかかり痛みもありますが、脱毛の仕上がりやキレイな状態を維持する手間などを考えると、最も満足感が得られる処理 と言えるでしょう。指毛に悩んでおり、予算が許すのであればぜひ検討してみてください。----------男女問わず脱毛を行う人が増えている現代。ムダ毛が目立ってしまうことは多くなったと言えるのかもしれません。せっかくのオシャレを台無しにしてしまわないよう、指毛のケアにも意識を向けてみてはいかがでしょうか。●文章/パピマミ編集部
2016年10月06日デリケートゾーンのムダ毛って処理していますか?海外に比べ、日本女性のアンダーヘアへの意識は低いと言われていますよね。やらなきゃいけないのかな・・・とは思うものの、どうやって処理したらいいのか分からないという人が多いのではないでしょうか。そこで今回は、正しいアンダーヘアの処理方法をご紹介します。■☆ほかのムダ毛処理と同じ方法でいいの?腕や脚のムダ毛を処理する場合、カミソリやシェーバーを使いますよね。アンダーヘアも、同じように処理している人が多いようです。この方法は手軽ではあるものの、すぐにまた伸びてきてしまう、処理した後の毛がチクチクしてかゆくなるといったデメリットがあります。■☆チクチクしないヒートカッターがおすすめ処理したあとのチクチクが気になるという人には、ヒートカッターがおすすめです。ヒートカッターとは、熱線によって毛を切断するアイテム。切断面が丸くなるのでチクチク感はありませんし、肌への負担も少なくなります。■☆Vラインだけでも処理しようアンダーヘアの処理に欠かせないワードは「V.I.O」です。Vはビキニライン、Iは陰部周辺、そしてOは肛門周辺のことを指します。いままで全く処理をしていないという人も、まずはVラインの処理だけでも挑戦してみてください。Vラインは目に見えるので処理しやすく、肌を傷つけるリスクもありません。水着や下着からムダ毛が飛び出て彼にゲンメツされる・・・、なんてことを回避できますよ。IラインやOラインについては自分で処理するのは少し難しいので、サロンに相談するのもおすすめです。■☆前後のケアを忘れずに処理の前後はしっかりお肌のケアをしましょう。日焼けの直後や生理のときは避け、処理前にホットタオルなどで肌を柔らかくしておくことをおすすめします。またケア後はローションなどで肌を潤してください。冷えたタオルで肌をクールダウンさせてあげるとより理想的です。■☆ムダ毛処理で、自分の体に自信が持てるかも!彼と一緒に過ごしたり、友人と旅行に行ったり。肌を見せる機会ってけっこうありますよね。自分の体に自信が持てるよう、しっかりとケアするようにしてください(杉浦みなみ/ライター)(ハウコレ編集部)
2016年10月02日腕や脚を出すことの多い夏と比べると、ムダ毛の処理をおろそかにしてしまいがちなこの季節。若いころは1本ずつ抜いていたり、エステで脱毛していたりという人もいると思いますが、子どもがいるとムダ毛の処理に長い時間をかけにくいですよね。そこで、なるべく手間のかからない処理方法を提案します。■どこでも使える電気シェーバーもっとも手軽なのは、カミソリでそる方法です。最近の女性用カミソリには、ヘッドが動いて肌にフィットするものや、保湿剤入りの石けんと一体化したものなど、低価格でも使いやすい製品が多数あります。カミソリ負けなどのトラブルがなく、お風呂で2、3日に1度処理できるなら、この方法で十分かもしれません。もちろん処理後は、ダメージを受けた肌を乳液や保湿クリームなどでしっかりケアする必要があります。ただ、小さな子どもがいる場合、いっしょにお風呂に入ることも多く、カミソリを使っての処理は現実的ではありません。「では一体、いつそればいいの?」と悩んでいるママも多いことでしょう。そこでおすすめなのが、女性向けのボディ用電気シェーバーです。細かい性能は製品によって異なりますが、通常は、カミソリより安全性が高く、肌への刺激も少ないものが多いです。石けんやボディソープをつけてそる必要がなく、いつでもどこでも使えるのが大きな魅力です。高価なものもありますが、主流は2000円前後と、価格もお手ごろ。カミソリ派の女性は、出産を機に電気シェーバーの購入を検討してもいいでしょう。■脱色なら使用頻度が少なくて済む処理の回数をできるだけ減らしたいという人は、腕や足のムダ毛処理に脱色クリームを使ってみてはいかがでしょうか。カミソリやシェーバーでそるのとはちがって毛がなくなるわけではありませんが、産毛のような金色になるので、目立ちにくくなります。色のもち具合には個人差があり、1ヶ月ほどもつ人もいれば、1週間で黒い毛が目立ってきてしまうという人も。それでも、2、3日に1度の処理が必要なカミソリやシェーバーよりは、使用頻度が少なくてすみます。■あえて処理しない「脱色した後の自然な仕上がりは好きだけど、脱色クリームで肌が荒れる」という人もいることでしょう。カミソリや電気シェーバーを使うにしても、肌への刺激は避けられません。そもそも、体に毛が生えているのは自然なこと。ワキの毛は処理するとしても、腕や脚に関しては、あえて除毛、脱色などの肌に負担のかかる処理はせず、堂々と毛を生やしたままにするのもひとつの方法です。その場合は、市販の抑毛ローションを日常のケアに取りいれてみるのもいいでしょう。抑毛ローションは長く使いつづけることで、ムダ毛が少しずつ薄くなることが期待できるそう。また、一般的に、保湿成分や肌にいい美容成分が含まれているため、ボディローション代わりにも使えます。カミソリやシェーバーでの処理後に、抑毛ローションでケアをするのもおすすめ。こうして少しでもムダ毛の濃さや伸びる速度がおさえられれば、処理の回数や手間を減らせるかもしれません。
2016年10月01日自己満足という言葉は、多くの人が知っているように、あまり良い意味で使われません。自分で自分に酔っているとか、自分のことを客観的に見ることができない子供だとか、そういうニュアンスがついてまわる言葉です。でも、自己満足を大切すれば、恋は長続きします。今回は、そういうお話をしたいと思います。■■ちゃんと褒めていますか?自己満足を大切にすれば恋は長続きをするという時の「自己満足」とは、小さな達成感を自分で感じるということです。たとえば、彼に手料理を作ってあげて、彼が美味しく食べてくれた場合、その料理がたとえ下手なものだと自分でわかっていても、自己満足しちゃえばいいのです。あるいは、彼とタイミングよくLINEで会話ができたとき、自分の会話のセンスやリズムに、自己満足しちゃえばいいのです。つまり、小さいことに達成感を覚えて、自分で自分のこと褒めることができる女子というのは、恋が長続きする傾向にあるということです。■■ちゃんと好きになっていますか?世の中には、ものすごくたくさんの「自分で自分を好きになる方法」があります。自分の過去に執着しないとか、過去のつらかったことを忘れましょうとか、どうやったらそういうことができるのか不思議に思うようなテクニックも、その中にはあります。比較的、誰もがすぐにできるテクニックといえば、この自己満足です。毎日、いくつもの小さなことに、自己満足を覚えれば、少しずつ自分で自分のことが好きになってきます。そういうあなたのことを、彼はかわいいと思って、さらに愛してくれるでしょう。自分で自分のことを大切にしている人は、誰が見てもチャーミングだし、かわいいし、人に大切にされるものです。***彼と一緒に撮った写メが、すごく上手に撮れたとか、今朝はばっちりメイクができたとか、そういう些細なことでもかまわないのです。小さなことに自己満足を覚えていれば、恋は長続きします。■■もっと酔ってみるといいです恋が長続きしない人は、どこかで呼吸が浅いんですね。小さいことにすぐイラッとしたり、彼が言った言葉を必要以上にネガティブに捉えてみたり・・・・・・要するに感情のフィールドが浅くて狭いわけです。浅くて狭い感情のフィールドを、深くて広いものにしようと思えば、まずは自己満足です。 1つの小さな自己満足が、彼との付き合いを1日分、長くしてくれます。感覚的にはそう捉えておくといいでしょう。100個の小さな自己満足で、 100日間、彼との付き合いが長くなります。毎日小さな自己満足を覚えて、それが365個になれば、 1年、彼との付き合いが長くなります。2年も3年もおなじ彼と付き合っている人は、なぜそんなに長く付き合えるんだろうと、不思議に思っている人もいるかもしれませんが、そのからくりは、小さな自己満足の積み重ねにあります。***自己満足って、冒頭にも書いたように、自分に酔っている状態とあまり変わりはありません。でも、それでいいんです。自分で歌った歌に自分で酔いしれているうちに、少しずつ自分のことが好きになってきて、その歌を聴いた彼は、あなたのことをもっと愛してくれるようになります。恋の不思議です。(ひとみしょう/ライター)(ハウコレ編集部)(吉木千沙都/モデル)(柳内良仁/カメラマン)
2016年09月16日ムダ毛の処理に追われ、毎日あくせくしている女性は少なくないはず。ムダ毛のないツルツルのお肌は、男性にとっても魅力的です。でも、本当に正しい方法で処理できていますか?「処理後に肌がカサカサになってしまう」「だんだん黒ずんできた」「赤くなってしまった」などの肌トラブルは、男性からするとちょっと・・・なんてことにもなりかねません。正しい処理の仕方を学んで、モテ肌を目指しちゃいましょう!■☆カミソリで剃ると毛が太くなるってホント?カミソリは、家庭で手軽に行えるムダ毛の処理法。「カミソリで剃るとだんだん毛が濃くなる」と心配している方もいるかもしれませんが、そのようなことはありません。毛は先細りに生えていますが、カミソリで剃った場合、カットした太い断面のまま生えてきます。実は、濃くなったように見えるだけで、実際の太さは変わっていないのです。ただ、肌に刃物を当てるので、間違った方法だと肌を傷めてしまう可能性も・・・。■☆敏感肌には、ワセリンがおすすめ!お風呂場で、処理を行っている人も多いことでしょう。でも、何もつけないでいきなり剃るのはNGです。皮膚の角質まで削れてしまいますよ。専用のシェービング用クリームを使うとスムーズに剃れますが、必要な皮脂も取り去ってしまうことも・・・。お肌の敏感な方には、ワセリンを使うのがおすすめです。ワセリンは、皮膚の表面に油の膜を張ってくれます。お肌を保護しながら処理できるので、乾燥も防げますよ!■☆アフターケアも抜かりなく!剃る際には、お肌を傷めないように毛の流れに沿ってやさしく剃ってください。また意外と怠りがちですが、重要なのは剃った後のケア。処理後にヒリヒリしたりや赤みが出ていたら、カミソリ負けしてしている証拠。濡れたタオルをあてて、炎症を落ち着かせましょう。その後は、保湿剤でしっかりうるおいを与えることが大切です。大豆イソフラボンやパパイン酵素など、抑毛効果のある成分が配合された抑毛ローションがおすすめです!■☆生理中のムダ毛処理はNG!どんなに剃っても生えてくるムダ毛は、毎日でも処理したくなりますよね?でも、あまりにも処理のひん度が高いと、肌へのダメージが大きくなります。できるだけ回数を減らすように心がけましょう。とくに生理中は、抵抗力が落ちてお肌も敏感になっています。この時期は、カミソリに限らずムダ毛処理を避けるのが無難。また、カミソリ自体のケアも大切です。切れ味の悪いカミソリは、肌を傷める原因に・・・。使用後は洗い流してしっかりと水分をふき取り、乾燥した場所で保管してくださいね。■☆正しく処理して、モテ肌を目指そう!自宅でカミソリを使ってムダ毛処理を行う場合は、剃る前や剃った後のケアも重要です。正しいケアをマスターして、トラブル知らずのモテ肌を目指しましょう!(ハッピーピアノ/ライター)(ハウコレ編集部)
2016年09月13日足や腕など目立つ場所から、お腹・背中など普段は目立たない場所まで、濃いムダ毛に悩んでいる女性は多いのではないでしょうか。処理をするにも手間や肌への負担などを考えると、何が良いのか悩みますよね。今回はムダ毛の処理方法とそれぞれのメリット・デメリットについて解説します。■脱毛エステ近年、比較的低価格で脱毛をスタートできるエステサロンが増えていることから、自己処理と平行して通っている方も多いのではないでしょうか。脱毛エステの場合、永久脱毛のメニューもあるため、施術期間が終わると日々のムダ毛処理の手間を減らせるのでとってもうれしですよね。シェービング回数も減るので、肌への負担も少なくすることができます。デメリットは自己処理と比較すると費用がかかること、何度も店舗へ通い続けなくてはいけないことなどが挙げられます。■家庭用脱毛器家庭用脱毛器は、脱毛エステに通う手間もお金もかけずに自宅でケアできる点がメリットです。忙しい方や思うようにエステサロンの予約がとれない方におすすめです。デメリットとしては、手の届かない箇所の処理には向いていないことと、商品によっては消耗品の費用がかかることなどがあります。■シェービング・毛抜きカミソリや毛抜きでの処理は、自己処理をされている方の中でも多数派なのではないでしょうか。一番のメリットは何と言っても、お金をかけずに自宅で処理できるという手軽さでしょう。一方でシェービングは肌の表面も一緒に削ってまったり、毛抜きにおいては毛穴の黒ずみの原因になったりと、肌に負担がかかってしまう点がデメリットですよね。■脱毛クリーム脱毛クリームは、肌に直接クリームを塗ることで、ムダ毛を薬剤で溶かす方法です。費用が比較的安い点や、シェービングよりも生えてくるまでに時間がかかる点、塗って洗い流すだけで毛が溶けて流れていくという手軽さがメリットとしてあげられます。デメリットは、商品の成分によっては肌に負担がかかったり、人によってはアレルギー反応を起こしてしまうケースがあることでしょう。■費用・手軽さ・肌への負担・・・あなたは何を優先する?ご紹介したとおり、当然それぞれの処理方法にメリット・デメリットは存在します。費用や手軽さ、肌への負担など、比較すべきポイントはさまざまあるので、何を重要視するかの優先順位を決めて選ぶと良いでしょう。(はる/ライター)(ハウコレ編集部)
2016年08月29日夏といえば、浴衣に水着!いつもよりお肌がみえる部分が広がって、どこか色っぽい雰囲気に。彼との夏デートに向けて、ムダ毛もキレイに処理しておかないと。ところで、うなじのムダ毛は、きちんとお手入れできていますか?最近再ブームのお団子ヘアの際にもにもうなじのケアは必須ですよね。今回は、そのムダ毛の処理方法についてご紹介します。しっかりお手入れしたいならプロに任せるうなじは、自分では全くみえない未知のゾーン。だからこそ、お手入れをサボったまま浴衣や水着を着た日には、とんでもないことに!特に浴衣は、キレイなうなじをみせることで色っぽさが強調されるもの。手先が不器用で、セルフでは厳しいなら、プロにお任せしましょう。最近は脱毛サロンなどでも、うなじコースが設けられており、値段も3,000円前後で施術を受けられるようになっています。脱毛サロンへの抵抗があるなら、美容院や理容院で、髪の毛だけでなく、うなじのお手入れもお願いしておくといいかも。時間は30分程度なので、用事と用事の合間にサロンへ駆け込めば、あっという間にキレイなうなじへと大変身できちゃいますよ!MW字型が理想的他のパーツと同じく、うなじにも理想の形が存在しています。ズバリ、それは「MW字型」。舞妓さんのうなじを想像すると分かりやすいかも。MW字型は名称から推察できるように、耳の後ろから首の中心にかけて大きなW字、背骨の真上でM字を描くようにうなじを揃えると、キレイにみえるといわれています。もちろん、着物や浴衣を着るなら、このMW字型が理想的。必ずしもこの形にする必要はありませんが、浴衣を着るなら、MW字型を意識してお手入れするといいでしょう。セルフで行う場合は…セルフで行う場合は、後ろの状態まで確認できるように「三面鏡」は必ず用意しましょう。あとは電動のシェーバーと保湿ケアの際に使用するワセリンなどの保湿クリームも揃えておきます。まず、首の後ろからシェーバーを当てていき、余分な体毛を取り除きましょう。鏡で確認しながら剃り残しがないように注意します。シェーバーで剃るときは毛の流れに沿って剃るといいですよ。あとは、首の後ろだけでなく、両サイドのみみたぶの後ろから首にかけてのラインもキレイにしておきます。一通り、剃った後は保湿クリームを塗って、赤みがある場合は冷たいタオルでクールダウンしましょう。出典:weheartitより水着や浴衣を着た時、お団子ヘアをした時に、真正面からの姿は美しくても、後ろがボサボサだと、それだけで台無しに…。おそらく彼はあなたが思っている以上に細かい部分をみています。彼から指摘される前に、うなじはキレイにしておきましょう!まだ今なら、次のデートにも間に合いますよ♪
2016年07月16日半袖やショートパンツなど洋服のを出が多くなるこの季節、気に始めるのが“全身のムダ毛”です。しかし、間違えた自己処理では肌に負担がかかってしまいます。そこで今回は正しい方法についてご紹介していきます。普段どんな方法でムダ毛を処理していますか?出典:weheartitよりムダ毛を処理する方法は色々とあり、カミソリ、毛抜き、除毛クリームなど用途に合わせて選ぶことができます。そこで注意して欲しいのが、肌へのダメージ。どれも肌に全く負担をかけずに使用できるわけではないので、間違えた処理方法は肌荒れや黒ずみの原因になりかねません。ムダ毛処理の「間違えていること」&「正しい使い方」カミソリ(全身)×素肌にそのままカミソリを当てて処理→肌への負担が大きくただれてしまう場合も。×入浴中に行う処理→皮膚がふやけてしまっているため必要な角質まで剥がれてしまう。×ボディーソープを使って剃る→カミソリの滑りが良くなるのでよいと思われがちですが、ボディーソープには汚れを落とす成分が入っています。なので、肌の油分を奪った状態で剃っていることになり乾燥の原因に。○専用のシェービングクリームやワセリンを塗ってから剃る→肌の潤いをなるべく残したまま、スムーズに剃ることができます。○ケアした後は化粧水とクリームで保湿→カミソリで肌の表面がダメージを受けて乾燥しやすくなっているので、しっかりと保湿を行うことが重要です。毛抜き(脇、眉)×汗などかいている状態で抜く→皮膚の汚れが毛を抜いた箇所から入り込み、肌トラブルの原因に。×化粧ポーチなどに入れている毛抜きをそのまま使う→雑菌がついている場合もあるので、アルコール除菌か煮沸消毒を行ってから使用しましょう。○お風呂上がりに行う→皮膚が柔らかくなっている状態なので、痛みをすこし和らげて抜きやすくなります。○処理が終わったら肌を冷やす→肌をクールダウンさせ、毛穴を引き締めてくれます。除毛クリーム(腕、脚)×いきなりクリームを肌に塗る→除毛クリームは刺激が強く、肌に合っているか確かめずに使用するのは危険です。必ずパッチテストを行いましょう。×しっかりと除毛するために規定の放置時間をオーバー→刺激が強いので、肌が荒れてしまう原因に。規定時間をしっかりと守りましょう。これで海やプールも楽しめそう♪出典:weheartitより間違えているケアはありませんでしたか?肌をきれいにしようとして、逆に肌が汚くなってしまっては夏服も楽しめません。しっかりと正しいケアを行い、今年の夏はツルツルボディで海やプールを満喫してくださいね。出典:weheartitより
2016年06月19日こんにちは。心理食育インストラクターのSAYURIです。このところ、“自己肯定感”を高める子育てが話題になっていますが、果たして子育てをする側の自己肯定感はどうでしょう?心理食育インストラクターとして、 さまざまなイベントやセミナーにてお母さんたちと接する中で、筆者がよくする質問があります。それは、「あなたは親として何点ですか?」というもの。それに対する答えは、30点という低いものから80点、90点と高得点を口にする方までさまざま。実はこの採点は採点結果ではなく、その採点法に大きな落とし穴がある のです。今回は、子どもの自己肯定感を高めるために必要な、親自身の自己肯定感の高め方を心理学からひもといていきたいと思います。●日本人は減点法がお好き!?筆者が先の質問のあと、必ず問いかけるのがその採点法。ほとんどのお母さんは「あまり一緒に遊んであげられないからマイナス○点」「家事がちゃんとできないからマイナス○点」というように減点法で採点されています。この考え方のまま、いくら子どもの自己肯定感を高めようとしても、親自身が“できていない部分” に視点が向いているので、子どもに対する声かけもつい、「あとちょっとで○○だね」「惜しかったね」となってしまいます。その後、ハッと気が付き「でも大丈夫だよ」と付け加えたところで、子どもには「惜しかったね」が刷り込まれていきます。たとえばテストで85点を取れた場合。「すごいね!85点も取れたね!」は自己肯定感を高める褒め方ですね。しかしその後につい「あと15点で……」と言ってしまうケースが非常に多く見られます。すると子どもの中には「あと15点足りない」とできていない部分が刷り込まれてしまいます。これが原動力になる場合もありますが、自己肯定感という面からみるとマイナスに。心理学でいう『刷り込み』とは『インプリンティング』とも言われ、幼少時の刷り込みは大人になってからも大きな影響を及ぼす と言われています。●親自身が“できていること”に視点を向けましょうよく、よその子と比較して「まだオムツが取れていない」「上手に自分で食べられない」「私のやり方が間違っているの?」とできていない部分ばかりを見て自己嫌悪に陥るお母さんがいます。しかし、3か月前、半年前と比べてみたらできることがたくさん増えている のではないでしょうか?子どもの成長はよその子と比べるのではなく、3か月前、半年前のお子さんと比べて見るようにすると、自然とできている部分、成長した部分に視線が向きます。そしてお母さん自身も、たとえば歩けるようになった子どものお世話ができるようになった、手づかみでも自分で食べる子どものお世話ができるようになった。こんなふうに子どもと一緒にできることが増えていることに気持ちを向けていきましょう。“育児”は“育自”とも書かれるように、子どもの成長と同じように必ずお母さんも成長しています。お母さん自身が自らを“減点法”ではなく“加点法”で評価するクセをつけることで、自然に子どもにかける言葉が変わり子どもの自己肯定感も高まっていくことでしょう。●ライター/SAYURI(心理食育インストラクター)
2016年06月16日パナソニックはこのほど、全国の男女を対象に実施した「女性のムダ毛処理に関する意識調査」の結果を発表した。同調査は2月17日~18日、20~50代の女性490名、20~30代の男性250名を対象にインターネットで実施したもの。男性に「恋人にしたい女性の職業」を聞いたところ、最も多い回答は「看護師」(38.2%)、2位は「幼稚園教諭、保育士」(34.2%)、3位は「受付」(30.6%)だった。一方、「ムダ毛がボサボサでも気にしなく、意識が低い方だと思う」と回答した女性を職業別に見たところ、最も回答率が高かった職業は「看護師」(11.4%)だった。男性が恋人にしたい職業の1位であるにもかかわらず、ムダ毛処理意識は低いことが明らかになった。次点には、「保育士・幼稚園教諭」(5.7%)、「薬剤師」(4.3%)が続いている。脱毛について「意識が高い方だと思う / 高めの方だと思う」と回答した割合が最も高い職業は「秘書業務」(37.1%)だった。次いで、「薬剤師」(25.8%)、「受付業務」「看護師」(同率24.3%)という結果となっている。続いて、ムダ毛の処理方法を選ぶ際の基準について聞いた。その結果、ムダ毛処理に対する意識が高い「秘書業務」は、「肌への負担」「仕上がりがきれいであること」「必要頻度」「時間に縛られない」「手軽さ」といった項目において、他の職業の女性より重視していることがわかった。ここから、忙しい合間にもムダ毛処理をおろそかにしない姿勢がうかがえる。異性からモテる方だと思うか尋ねたところ、ムダ毛処理に対する意識が高い「秘書業務」の52.5%が「モテる方だと思う」と回答した。一方、男性が恋人にしたい職業1位の「看護師」の中で「モテる方だと思う」と答えた人の割合は25.7%だった。続いて、女性のムダ毛で最も気になる部位を男性に聞いたところ、「脇」(18.4%)を抑え、「口まわり(ひげ)」(25.6%)が最も多かった。一方で、女性は「脇」に対するムダ毛処理の意識は非常に高く、68.0%近くが「常にムダ毛処理を心がけている」と回答。しかし顔まわりのムダ毛に関しては、56.1%が「うぶ毛程度なら放置しても良い」「毛の処理をしなくてもよい部位だと思う」と答えており、ムダ毛に対する男女の意識差が浮き彫りとなっている。なお、資生堂が実施した「汗のニオイについての調査」では、汗のニオイが気になりやすい女性の職業を知ることができる。
2016年05月19日4月から新年度。新しい職場で働き始めた人もいるんじゃないかな。進学、就職、転職といろいろ人生の節目はあるけれど、その度に知らない人とのかかわりがスタートするよね。自分にとって初対面の相手ってことは、相手から見てもあなたは初対面。ということは、ステキな男性との出会いのチャンス。「ちょっと自信がない」という人はこの機会に自己分析をしてみよう。なにも就職活動中の学生だけのものじゃない。自分の魅力を引き立てて愛され女子になりたいなら知っておいて損はない、正しい自己分析のコツを見ていくよ。■1.自己分析=なにげないことと思わない美容師や看護師になるには特別な資格が必要だってみんな知ってるけど、自己分析にそんな高度なスキルがいると思っている人はあまりいない。普通の大学生だってみんな自己分析をやってるもんね。だから自分なりのやり方でいきなり始めちゃいがちで、そうすると間違った自己分析になってしまうの。もちろん、失敗したらそれを修正して少しずつ本来の道に戻っていけばいい。でも、自己分析という作業の難しさを意識しないままでいると、自分が間違っていることにも気づかないままどんどん変な方向にそれていっちゃうんだ。気づいて軌道修正するためには、いまやっていることがどういうことなのかを一度認識し直してみるのがいいんだね。■2.ダメ出ししない自己分析は難しいといっても、「難しいからできない」になったらもったいない。難しいから失敗はするかもしれないけど、それを修正しながらやっていけばだいじょうぶだよ。自己分析でみんながよくやりがちな失敗は、自分にダメ出しばかりすること。どんな人にも良いところも良くないところもあるのに、わざわざ自分の悪い点ばかり探し出して「自分がいかにダメな人間か」を書き連ねちゃう。これをしちゃうと、せっかく自己分析をしたのに、自分の魅力を引き立てるどころか以前よりも魅力が減ってしまうんだ。自分の粗探しではなくプラス・ポジティブな要素に着目してみよう。■3.感情を抑える自己分析の「分析」って、日常の会話ではあまり出てこない固い言葉だよね。普段私たちは人間的に自然な感情に従って生活しているけど、こと自己分析に関してはいつもの感情的な部分から離れたほうがいいんだ。たとえば「自分は何をやってもうまくいかない」みたいに感じている人は、いくら粗探しはいけないと言われてもつい自分にダメ出しばかりしちゃう。あくまでも“自己”分析なんだから人と比べなくていいんだよ。自分の中でどうかっていうのがポイント。自分が得意なことを探すときも、人より得意なことじゃなく、自分の中で苦手ではないことならそれでいいってことだね。「どうせ何もない」と諦めたくなる感情を抑えて、できるだけたくさん探してみよう。■4.自己分析だけで終わらない正しい自己分析をしたら、その結果を見て正しい自己評価をしてみよう。自分への悪口や粗探しではなく、自分の魅力を知るためにした自己分析。プラス・ポジティブな要素があることを高く評価するのが大切だよ。「私いいね!」と思えたら最高だけど、そこまで思えなかったとしても「私ダメじゃないね!」で十分。そして「私ダメじゃないね!」なら意外とたくさんあるってことを自覚してね。思ったよりも悪くない現状を理解し、「私けっこういいね!」と思うことが、ほんの少しの心の余裕を生み出すんだ。だれかの役に立ったり、誰かに好意を持たれたり、そういう自分の魅力につながっていくよ。■羽林由鶴からのメッセージ完璧な人間だけが魅力的なんじゃない。「この程度じゃダメだ」「こんな内容ではダメだ」と自分で勝手にあきらめちゃったらもったいないよ。あなたの思う「この程度」「こんな内容」を必要としてる人はいるからね。自分の得意なことが相手の苦手なこと、自分の簡単なことが相手の難しいこと、自分の好きなことが相手の嫌いなことなら、今のあなたのままで十分に魅力を感じてもらえるんだ。正しい自己分析と、その先の正しい自己評価さえできれば、「私にも魅力がある」と自分を信じるきっかけが見つかる。これこそがまさに、あなたが元々持っている魅力をますます引き立て愛され女子になる方法なんだね。(羽林由鶴/ライター)(ハウコレ編集部)(伊東亜梨沙/モデル)(柳内良仁/カメラマン)
2016年04月28日【ママからのご相談】ある日、夫の実家から電話があり「借金が返せないから自己破産することにした」とあっけらかんと言われてしまいました。確かに、夫の実家には夫の父が作った大きな借金があります。私たち夫婦も幼い子ども2人を抱えていて余裕がなく、 義実家に仕送りなどは一切していませんでした。今回も義母は「あなたたちに迷惑はかけないから」と言っていますが、自己破産すると義実家や私たち家族にどういった影響があるのでしょうか?●A. 自己破産する人の親族というだけで、法律上悪影響を受けることはありません。ご相談ありがとうございます。アディーレ法律事務所弁護士の正木裕美です。夫の父が自己破産と聞いて大変驚かれたことでしょう。“自己破産”に対しては、一般的に受け入れにくい人が少なくない印象があります。しかし、皆さんが思っているよりも意外とデメリットは少なく、人生を立て直すための有効な手段の一つ なんですよ。●自己破産とはどういうことですか?自己破産とは、借金の返済ができない状態であることを裁判所に認めてもらい、法律上借金の支払義務を免れる制度です。自己破産をすると、免責といいますが、原則として借金の返済義務がなくなります (法律上、税金や養育費など一部免責されないものもあります)。ただ、99万円を超える現金や時価20万円を超える高価な財産(東京地方裁判所の場合)は処分されてしまうので、たとえば持ち家は手放さなければいけません。また、お舅さんが大きな借金を作った経緯はわかりませせんが、浪費等の免責不許可事由というものがあり、事情によっては免責が認められないこと もありますので、個別にご相談いただくとよいと思います。●戸籍に載る、選挙権がなくなるなどの噂は本当ですか?自己破産にはたくさんの噂がまことしやかにささやかれていますよね。でも、そもそも戸籍に載ったり、選挙権がなくなることはないんです。家具・家財道具や電化製品もすべて差し押さえられてしまうと思っている方もいますが、必要最低限の家財道具は差押禁止とされ、高額でない限り原則としてそのまま使うことができます 。破産手続中には海外旅行が制限されることがありますが、手続終了後は制限されることもないですし、破産する本人へのデメリットはみなさんが思っているより小さいのではないでしょうか。高額な財産が処分されてしまうこと以外のデメリットとしては、次のようなものがあります。まず、自己破産すると、信用情報機関に登録されるので(いわゆるブラックリスト)、当分のあいだ新しくクレジットカードを作ったり、ローンやキャッシングをしたりすることはできなくなります。また、破産手続中も働くこと自体は制限されませんが、破産手続が終わるまで一定の職種に就くことが制限される資格制限があります。いわゆる士業(弁護士・税理士等)、警備員、生命保険募集人、保険代理店、パチンコ店等の店長(風俗営業法の営業所管理者)、宅地建物取引主任者などが対象となっていて、場合によっては退職を余儀なくされるケース がありますので注意しましょう。さらに、自己破産をすると、官報という国が発行している機関紙に名前と住所が載ります。みなさんも官報を逐一チェックはしていないですよね。私も弁護士になるまでちゃんと見たことはありませんでした。通常、金融機関等を除いて一般の人が官報をチェックをすることはまれなので、周りに自己破産をしたことを知られる可能性はあまり高くはないと考えられます。●家族に影響はないのでしょうか?では、ご家族に影響があるかというと、自己破産する人の家族、親族というだけで法律上悪影響を受けることはありません。ただ、破産する人の債務の保証人になっていると、貸主から借金を払うよう請求されてしまうので、同時に自己破産する必要 があったり、逆に自分の借金のために保証人になってもらっていた人が破産をすると、別の保証人を立てるよう言われてしまったりする可能性 はありますね。また、今回はお舅さんとは同居されていませんが、自己破産では高額な財産は処分されてしまいますので、破産する家族名義の持家に住んでいる場合、そのままでは住み続けることができず、引っ越ししなければいけないという事実上の影響はあります。もし、今後もその家に住み続けたいときは買い取る必要がありますので、事前に家族で話し合っておくことが大切でしょう。日々の生活を律し、安易に借金をすべきでないのはもちろんです。でも、自己破産は人生の終わりではありません。金銭的にも心理的にも負担を軽くし、人生をリスタートする一つの方法です。借金の整理には、自己破産以外にも任意整理や民事再生といった方法もあり、それぞれに最も適した手段を選ぶことが大切です。借金でお困りのとき、まずは弁護士にご相談くださいね。●ライター/正木裕美(アディーレ法律事務所:愛知県弁護士会所属)
2016年04月17日グレープシティは、高度な画像処理を行うコンポーネント「LEADTOOLS」の最新バージョン「LEADTOOLS 19.0J」を4月8日に発売すると発表した。「LEADTOOLS」は、イメージスキャナやFAXなどと連携する企業内システム、医療機器と連携した画像診断システム、バーコードを用いた流通システムなど、画像を扱うさまざまなシステムに採用されている画像処理コンポーネント。今回のバージョンアップでは、LEADTOOLSの製品構成を全体的に見直し、画像処理に最適な「Imaging Pro」、画像のほか文書処理もできる「Document Imaging」、医療システム向けの「Medical Imaging」のタイプの3ファミリーに大別。各ファミリーはさらに機能別のエディションで構成され、開発規模や用途に合わせて適切なLEADTOOLSを選択できるよう整備されている。これに合わせてWebサイトやロゴも一新している。機能面でもそれぞれ強化を図られている。DocumentImagingファミリーでは、ExcelやWord、PowerPointなどのドキュメントファイルやCAD形式、PDF、ePUBなどのファイルを解析し、別形式のファイルに変換できる「ファイルコンバータ」と、これらのファイルを直接表示できる「ドキュメントビューワ」を追加したほか、OCRの認識精度も向上している。医療システム向けのMedical Imagingファミリーでは、医療システム間の情報交換の国際規格であるHL7に対応した。さらに、すべての製品群でWindows 10およびVisual Studio 2015をサポートするなど新しい環境でも利用できるようになった。
2016年03月31日東陽テクニカは2月23日、PSPと提携し、クラウド上で胸部X線骨組織透過処理および経時差分処理を行うサービス「CirA-S BS」を開始すると発表した。新サービスでは、PSPのクラウドプラットフォームを利用して胸部X線画像を専用端末に取り込んでクラウド上の画像処理システムにアップロードすると、東陽テクニカの画像処理ソリューション「ClearRead」シリーズを使用して各種処理を施した画像がダウンロード可能になる。従来院内の専用画像処理サーバーで実施していた、骨組織透過処理および経時差分処理をクラウドを利用して1検査毎に行うことができるため、低コスト化を実現し、検査数が比較的少ない小規模医療施設などでも気軽に利用可能だとする。料金体系は基本料金に利用料金(画層処理1件あたり数百円を想定)を加算した月額制で、今春よりサービスを開始する予定。
2016年02月23日○SIMT実行のメモリアクセスGPUは、Single InstructionでMultiple Thread方式であるので、複数のデータの処理を行う。入力オペランドをレジスタファイルから読み、演算を行って結果をレジスタファイルに書き込む命令の場合は、スレッドごとにレジスタがあるので、並列に実行することに問題はない。しかし、レジスタに格納されているデータをアドレスとして使ってメモリをアクセスする場合は、一般的には、スレッドごとに異なるアドレスにアクセスする必要がでてくる。このとき、32スレッドがアクセスするアドレスがどのようになっているかでメモリアクセスの効率が変わってくる。図3-43は、32スレッドのアクセスを1回で処理できるケースを図示したもので、一番上の図は128バイト境界から32スレッドが連続のアドレスをアクセスするというケースである。この場合は、各スレッドのデータサイズは4バイトであるので、32スレッドすべてのアクセスが128バイトの範囲に収まる。連続アドレスでなくとも、32スレッドのアクセスが1つの128バイトのラインに収まっている場合も、1回で処理ができる。また、Loadの場合は、すべてのアクセスが同一アドレスのデータを読む場合も、全スレッドに同じデータを送ればよいので問題はない。複数のスレッドが同じアドレスに書き込みを行う場合も1回で処理できるが、どのスレッドの書き込みデータが書かれるかは不定というのが一般的である。図3-44は1回のメモリアクセスだけでは処理できず、複数回のメモリアクセスが必要となるケースである。128バイトの連続アドレスのアクセスでも、スタートするアドレスが128バイト境界にアラインされていない場合は、上側の図のように、連続した2つのラインのアクセスが必要になる。また、下側の図のようにアクセス先がばらばらで3つ、あるいはそれ以上のラインへのアクセスが必要になるケースも発生する。このように複数回のメモリアクセスが必要になるケースでは、NVIDIAは2回目以降のアクセスを「リプレイ(Replay)」と呼んでいる。リプレイが必要になると、メモリアクセスの回数が増えるため、その分、命令の実行時間が長くなる。なお、レジスタに格納されたデータが違えば、アドレスのばらばら具合は異なるので、同じプログラムでもリプレイの回数も異なってくる。最悪、全部が別々の128バイトブロックに分かれてしまうと、最初のアクセス+31回のリプレイが必要になり、メモリアクセスに非常に長い時間が掛かるということも起こる。これらの複数回のアクセスの順序や、2つのアクセスの間に他のメモリアクセスが入らないことなどは保証されないのが一般的である。
2016年02月19日テクマトリックスは1月25日、同社が複数のECモールに展開している複数ネットショップの受注及び在庫管理を一元的に処理できるというSaaS業務支援システムである「楽楽バックオフィス」が、ジャックス・ペイメント・ソリューションズが運営する後払い決済サービスである「アトディーネ」と4月1日から連携を開始すると発表した。EC事業者は受注の取りこぼしを減少させるために、購入者の選択肢拡大の施策として決済方法を増やすことを検討するが、決済方法を増やすことで受注処理業務が煩雑化してしまい、業務負荷が高まるといった側面があった。今回のシステム連携により、楽楽バックオフィスを利用するEC事業者は決済処理の業務負荷を高めることなく、新しい決済方法としてアトディーネを導入可能になるという。なお、両者はAPIにより連携し、後払い決済を利用した受注データの決済処理業務の自動化と効率化を実現するとしている。
2016年01月26日一般的に、メール・クライアントは長い間使い続けると、処理速度が落ちると言われている。そこで本稿では、マイクロソフトの「 Microsoft Outlook 」のメール機能の処理速度をアップするための簡単な5つの方法を紹介しよう。○(1)受信トレイを整理する受信トレイにメールが多数あると、サーバとの同期に時間がかかり、処理が遅くなっている可能性がある。大抵の古いメールは日常的にアクセスする必要がないにもかかわらず、受信トレイに置いておくと、Outlookはいつもそれらを読み込むことになる。そこで、「不要なメールをサーバからローカルに移動する」「定期的にはアクセスしないけど削除したくないアイテムをエクスポートする」「不要なメールをアーカイブする」といったことを行えば、読み込みの時間を短縮できる。Outlook 2010/2013で、任意のフォルダを自動でアーカイブするには、対象のフォルダを右クリックして、[古いアイテムの整理]タブをクリックし、移動する時期や移動先のファイル名を設定すればよい。削除済みアイテムのフォルダを空にすることも読み込みの時間の短縮につながるはずだ。○(2)アイテムの並べ替えを工夫するOutlook でフォルダ内のアイテムを並べ替える時にかかる時間は、基準にするフィールドで変わる。マイクロソフトによると、連絡先は、名前を基準にすると最も短時間で並べ替えが終わり、メッセージは受信日または件名で並べ替えると最も短時間で終わるという。また、タスク一覧は、完了したタスクを非表示にすると応答が速くなることがあるので、未完了のタスクのみを表示するようにするのも手だ。○(3)アドインを削除/無効にするOutlookには、「Uber」で配車を手配したり、誤送信を防止したり、機能を拡張するためのアドインが用意されているが、アドインが原因でパフォーマンスが落ちている可能性がある。アドインがパフォーマンス低下の原因であるかどうかを確認するには、Ctrl キーを押して、セーフモードでOutlookを起動すればよい。セーフ モードでは、すべてのCOM アドインおよび Exchange Server クライアント拡張機能が無効になる。もし、アドインに問題がありそうな場合は、不要なアドイン不要なアドインを削除または無効にしてみよう。Outlookのアドインの設定は、[ツール] の [セキュリティ センター]-[アドイン] から確認できる。[管理]ボックスから[COMアドイン]、「設定」をクリックすると、COMアドインが表示されるので、無効にしたいアドインのチェックを外せばよい。○(4).PSTファイルを圧縮するOutlookのメール、連絡先、予定、仕事、メモ、履歴は、.PSTファイルと呼ばれるローカルの個人用フォルダかサーバ上のメールボックスに保存される。.PSTファイルはOutlookを使えば使うほどサイズが増え、処理速度が遅くなる。.PSTファイルはアイテムを削除してもその分だけ小さくなるとは限らないので、サイズを小さくしたい場合は手動で行う必要がある。.PSTファイルの圧縮は、[アカウント設定] の[データ ファイル] タブで行う。ここで、圧縮するデータ ファイルをクリックし、[設定] 、[今すぐ圧縮] をクリックすると、処理が始まる。○(5)RSSフィードを無効にするOutlookでは、Webサイトの更新情報の配信が受けられるRSSフィードを追加できる。RSSフィードは一定の間隔で自動的に同期するため、Outlookの処理を阻害することがある。つまり、RSSフィードを無効にすることで、Outlookの起動をスピードアップできる可能性があるというわけだ。RSSフィードの同期を無効にするには、[オプション]-[詳細設定] -[RSS フィード] で、各項目をオフにすればよい。以上、Outlookの起動・動作を妨げていると思われる要因を紹介してきた。Outlookを使っていて処理速度に満足していない場合は、上記の対策をぜひ試してみていただきたい。
2016年01月19日今回はマルチスレッドについて扱います。マルチスレッドは、簡単に言ってしまえば複数の処理を「並列」に進めることができるものです。マルチスレッドの反対がシングルスレッドであり、これは複数の処理を順番に進めていくものです。逆に言えば、ある処理が終わるまでは次の処理を実施することはできません。マルチスレッドおよびシングルスレッドの“スレッド”は「プログラムの実行単位」のことで、名前からわかるようにマルチスレッドはプログラムをマルチな実行単位で実行します。今回の流れとしては、まず最初にプログラムの実行時間の測定手法について学びます。これを理解していないとマルチスレッドを使った高速化がどれほど効果的なものか理解しづらいためです。次にさまざまな処理にかかる遅延がどれほどのものかについて学びます。それらの基礎ができたうえで、シングルスレッドの問題点について、その次にマルチスレッドがどのようにその問題を克服するかについて扱います。そして実際にPythonでどのようについてマルチスレッドを使うかを学び、最後にマルチスレッド特有の問題点について学びます。なお、今回も内容が多くなっため前後編に分けます。今回は簡単なマルチスレッドの使い方、次回は発展内容となります。○プログラム速度の測定方法マルチスレッドを使うメリットのひとつに遅延(実行速度が遅い)の問題を回避できる可能性があるというものがあります。ただ単にマルチスレッドの使い方の説明をするよりも、実際にプログラムの速度を計測しながらどのようにして処理速度が向上するかを体験してもらいたいと考えています。そのため、まず最初にプログラムの実行速度の計測方法について扱います。なお、速度の測定をきちんと実施したい場合は、今回扱うような簡易的な方法ではなく、専用のきちんとしたパッケージを使ったほうがいいかもしれません。今回利用する測定方法は簡単に言うと、現在の時刻を取得処理先の時刻と現在の時刻の差分を取得という方法で行います。このようにすることで、上記の「処理」にかかった時間が測定できます。現在の時刻の取得方法はtimeモジュールのtime()関数を使います。簡単にですが、サンプルを試してみましょう。import timetime_before = time.time()time.sleep(5)time_after = time.time()time_elapsed = time_after - time_beforeprint(time_elapsed)最初なので少し冗長に書いていますが、それほど難しくないですね。上記だとtime.sleep()関数で5秒間わざとスリープさせて、その実行速度を求めています。これを実行すると私の環境では以下のようになりました。# python test.py5.00498509407スリープした5秒だけでなく、「時間の取得処理やその他」にかかる時間も含まれますので、ジャスト5秒にはなっていません。まぁ、だいたい5秒なのでOKでしょう。今後はこの方法で時間の測定をしていきます。○さまざまな処理の速度と遅延先程はsleep関数の実行速度を計測しました。ほかの処理はこれほど簡単に実行時間を推測することはできませんが、プログラムの処理速度はその処理内容に応じてかかる時間にある程度の傾向があります。マルチスレッドを使う場合は、この推測される処理時間に意識を配る必要があるので、簡単にではありますが、さまざまな処理の実行速度を計測してみたいと思います。まず、今回の遅延測定のコードのベースとなる「何も遅い原因のないプログラム」の測定をしてみます。import timesum_value = 0current_time = time.time()for i in range(0, 10000):Noneprint(time.time() - current_time)ループ分の中がNone(処理をしない)となっているので、ただ単にループを回しているだけです。この実効速度は以下のようになりました。# python test.py0.0005049705505370.5ミリ秒ですね。次にループ処理の中で合計値sum_valueを求める処理を書いてみます。要するに足し算にかかる処理時間が追加されます。import timesum_value = 0current_time = time.time()for i in range(0, 10000):sum_value += iprint(time.time() - current_time)Noneだったところが変わっていますが、それ以外はまったく同じです。この実行速度は0.000903129577637となっているので、約1ミリ秒と処理にかかる時間はオリジナルの2倍程度になっています。次にprint文で合計値を出力するようにしてみます。これは「画面への出力処理」にかかる時間が追加されるということです。import timesum_value = 0current_time = time.time()for i in range(0, 10000):sum_value += iprint(sum_value)print(time.time() - current_time)この実行速度は私の環境では0.027067899704となりました。オリジナルのループするだけのコードに比べると処理時間が約54倍となっています。足し算に比べて処理時間が一気に跳ね上がりましたね。ここまでをまとめると、以下のようなことがわかります。足し算は速度が早いprint文による画面出力は遅いこの処理速度の違いはなんだと思いますか? 答えは簡単で、足し算は「CPUとメモリ」の処理であり、print文は「画面出力というIO処理」というところです。Pythonで処理を書く場合、その実効速度は以下の図のような傾向があります。Pythonで書いても直接Cで実行される場合とインタプリタで解釈されて実行される場合があります。前者のほうが当然速いのですが、どういう場合にCが走るかを知っていないと使いこなせないので、初心者はそこまで両者を区別する必要がないです。ただ、図の青色の処理は主にCPUとメモリだけで実行されるのに対して、オレンジの処理は「より低速であるほかの装置」が関わってくるので実行時間がガクンと落ちるということは知っておく必要があります。print文も画面出力が関わってくるので、実行速度が落ちたのですね。さて、次はディスクアクセスをさせてみます。なお、私の環境はSSDなのですが、HDDだと実行速度がこれよりも大幅に落ちる可能性があります。また、ディスクアクセスは最適化が走りやすい処理内容なので、同じコードでもPythonのバージョンやOSによっても処理速度が大きく変わる可能性があります。プログラムは以下のようになります。まず、ファイルをオープンして、そこにループで連続で追記を行い、最後にクローズをするというコードです。import timesum_value = 0current_time = time.time()f = open(’/Users/yuichi/Desktop/a.txt’, ’a’)for i in range(0, 10000):sum_value += if.write(str(sum_value) + ’\n’)f.close()print(time.time() - current_time)この実行速度は先程のprint文よりも早く、0.00518202781677となりました。ループ内での足し算だけのコードに比べ、6倍ほどの実行時間がかかっているものの、print文よりかはだいぶ速いですね。ただ、先に言ったようにSSDではなくHDDだともっと速度が遅くなる可能性が高いです。これはSSDがランダムアクセスに強いのに対して、HDDは回転するディスクと移動するヘッダという構成なので、飛び飛びのデータを読んだり書いたりする動作が遅いためです(おそらく書き込み処理は最適化でバッファリングされると思うので、今回のような使い方ならHDDでもそれほど遅くない気がします)。なお、ファイルのオープン・クローズをfor文の中で行うと実行時間は0.567183971405となりました。ここから「ファイルに書き込む処理」よりも「ファイルのオープン・クローズ処理」のほうがずいぶん時間がかかることがわかりますね。こういうように速度を検証すると書き込むたびにオープン・クローズするよりも、オープンしたファイルに連続で書き込むほうがよいということがわかってくると思います。検証は大事です。次に機器外へのネットワークを経由したアクセスを試してみます。具体的には外にデータを送ったり、取ってきたりといった処理です。Pythonだと普通はTCP/IPネットワークの利用だけがこれに該当すると思います。サンプルコードはさまざまな有名なWebサイトのトップページのHTMLを取得するというものです。import time, urllib2current_time = time.time()urls = [’’, ’’, ’’]for url in urls:response = urllib2.urlopen(url)html = response.read()print(time.time() - current_time)urllib2というライブラリを使って、指定されたページを開いてHTMLを取得しています。この実行速度は私の環境(携帯の回線)では0.623227119446となりました。たった3ループするだけで0.6 秒かかっていますね。1万ループさせるまでもなく低速なことがわかります。ある程度察しはつくかと思いますが、なぜこれほど処理に時間がかかるかは次に述べます。○マルチスレッドの基本今までの話を通して、処理によってかかる時間に違いがあることがわかりました。問題なのはネットワークアクセスのような「時間がかかる処理」を順に実施すると、合計の処理時間が長くなってしまうことでした。先ほどのHTML取得の例は以下の図のようなイメージです。ただ、よく考えてみてください。あるサイトからHTMLを取得する際に、そのリクエストをするホスト(Pythonを動かしているPC)は何をするかというと以下のとおりです。リクエストをするレスポンスを待つレスポンスを受ける2番目の処理は上記図の「HTTP Request (1) + サーバー処理(2) + HTTP Response (3) 」となります。この間はただ待っているだけですので、要するにPythonのプログラムを動かしているホストは「時間だけ使っているが何もしていない」状態です。3つのサイトからHTMLを取得するということは、その何もしない待ち状態の処理を3回繰り返します。この時間の無駄遣いは、ある程度は解消できます。どうせ待つのであれば、以下の図のように連続で並列にリクエストをしてしまえばよいのです。そうすると処理時間は「各処理(HTML取得)の合計値」ではなく、「最長となった処理の時間」となります。これを実現するのがマルチスレッドと呼ばれる機能です。マルチスレッドを使うことで、本来はプログラムが待ちになってしまう箇所で別の処理を実行することが可能なため、CPU の計算資源をより有効に活用することができます。これはなにも計算資源の節約のためではなく、アプリケーションやサービスのユーザビリティの向上やレスポンス時間の短縮にも利用することができます。少し説明をします。たとえばあるGUIのプログラムがあるとしましょう。もしこれがマルチスレッドを使わずに動いていたとすれば、ある重たい処理をGUIで実行すると、その間はほかの処理が停止してしまいます。GUIの操作を受け付けられなくなり、見た目のアップデートもされなくなるのでアプリケーションがフリーズしてしまったように見えるはずです。一方、マルチスレッドでその重たい処理を実行すれば、重たい処理を実行しているもののアプリケーションは実行可能(GUIの見た目もアップデート可能)です。ほかの例としては複数のホストから依頼を受けるサーバプログラムがあげられます。そのサーバープログラムがシングルスレッドだと、あるホストから処理のリクエストを受けてからそのレスポンスを返すまでは、別のホストからのリクエストが来たとしても処理できず待たせることになります。一方、マルチスレッドにすればあるリクエストの実行中であっても、別のリクエストを受けることが可能になります。そのため複数のリクエストを同時にこなすことが可能になります。○マルチスレッドの限界マルチスレッドが万能かというと必ずしもそうではありません。なぜならマルチスレッドは計算資源を「分けあって使う」だけであり、計算資源そのものを多く使えるわけではないためです。たとえば、使用しているPCでCPUを100%状態でフル活用すればタスクAを10秒、タスクBも10秒で終わらせられるとします。そのとき、マルチスレッドを使うとタスクAとタスクBを同時に実行できるものの、それぞれにかかる時間が20秒に増えてしまいます。たとえばプログラムの処理がCPUを100%使い切る場合、複数の処理を並列に実行することはできても、その合計処理時間はシングルスレッドと理論上は変わりません。これは処理Aと処理Bを同時に実行する場合、AとBは計算資源を分けあってしまうのでそれぞの処理が終わるのに必要な時間が伸びてしまうからです。このイメージ図を以下に記載します。そのため、何に起因して処理に遅延が発生しているのか把握したうえでマルチスレッドを使うことが望ましいです。昨今はCPUはマルチコアになっているので、CPU依存のプログラムであってもシングルスレッドだとコアをひとつしか使えなかったが、マルチスレッドならコアを2つ以上使えて高速化するというシナリオはあるでしょうが。プログラムが複雑化するという以外にマルチスレッドを使うデメリットはそれほど多くないので、時間がかかる処理が存在するとわかっていれば、最初からマルチスレッドを念頭に入れて設計してみてもいいかもしれませんね。○Pythonでのマルチスレッドの利用Pythonでマルチスレッドを使う方法は主に2つあるのですが、まず「ある関数の処理をマルチスレッドとして呼び出す」という方法について扱います。さっそくなのですが、サンプルコードを書いてみます。インポートしているthredingモジュールのThreadクラスに着目してください。import threading, timedef prints(name, sleep_time):for i in range(10):print(name + ’: ’ + str(i))time.sleep(sleep_time)thread1 = threading.Thread(target=prints, args=(’A’, 1,)) # Initializethread2 = threading.Thread(target=prints, args=(’B’, 1,))thread1.start() # Startthread2.start()これを実行すると以下のようになります。python test.pyA: 0B: 0A: 1B: 1A: 2B: 2まず、上記のプログラムではdef printsにて指定された秒ごとにループを回してメッセージを出力する「関数」が定義されています。この関数がマルチスレッド化する処理の対象です。Initializeとコメントされている箇所で、そのprintsをthredingモジュールのThreadクラスのコンストラクタに関数printsの引数とともに与えています。なお、与える引数についてはタプルとしてまとめています(タプルの最後に , をいれているのはタプルの要素がひとつのときでも必ずタプル型になるようにするため)。ここはタプルではなく、リストでもかまいません。prints関数をprints(’A’, 1)としてマルチスレッドとして呼び出すようなイメージです。そして最後に作成されたインスタンスのstartメソッドでマルチスレッドとして並列に実行させています。これを呼び出すと新しいスレッドを開始して、すぐに次の行の実行に移ります。prints関数を見てもらうとわかるように、通常どおりシングルスレッドで呼び出していれば、まず引数A,1で呼び出し、そのprints関数の呼び出しが「終了」したら再度B,1で呼び出すという動きをします。出力としては、A: 0A: 1…A: 8A: 9B: 0B: 1…B: 8B: 9となりますね。ただ、マルチスレッドの出力を見てもらうとわかるように、1回目の関数呼び出しによる出力と2回目の関数呼び出しによる出力が混じって出力されていることがわかります。これはつまり、1回目の関数呼び出しを実行している最中に2つめの関数呼び出しも実行されているということです。両者の違いを絵にまとめます。○スレッドが終了するまで待機する方法複数のスレッドが連携して動作する場合は「スレッドAはスレッドBの結果を利用する」などといった使い方をすることがあります。この場合、スレッドAはスレッドBが終わるまで「待つ」必要があります。あるスレッドが終わるまで待機するには、そのスレッドのインスタンスのjoinメソッドを呼び出す必要があります。別の言い方をすると、joinメソッドの「呼び出し元」は「joinメソッドのインスタンス」のstartメソッドで呼び出されたスレッド処理が終了するまではjoinメソッドを呼び出した箇所で待ち状態になります。たとえば先程のコードを少し変えて、thread1.start()thread1.join() # WAIT HEREthread2.start()とすると、thread1が終了するまでthread1.join()の箇所で待機するため、thread2.start()はすぐには実行されません。結果としてprint出力はシングルスレッドのときと同じものになります。この「スレッドの待ち」を使って、以下のように「基本はシングルスレッドだが、特定のタイミングのみで複数の処理を走らせる」という方法はよく使われる手法です。複数の時間がかかる処理を実行する必要がある場合はそれらを順に実施するよりも、このように並列に実行したほうが実行時間が短くてすみます。この手法を使って、先ほどの複数のWebページからトップページのHTMLを取得するプログラムを高速化してみます。コメントでStart Threadsとなっている箇所で図の処理2を開始し、Wait Threadsとコメントしている箇所で処理2を待機しています。Threadのインスタンスを作ったタイミングでリストに格納し、待つ場所でそれらすべてに対してjoinを呼び出すという方法ですべてのスレッドが終了するまで待機させています。import threading, time, urllib2def get_html(url):current_time = time.time()response = urllib2.urlopen(url)html = response.read()print(url + ’: ’ + str(time.time() - current_time))urls = [’’, ’’, ’’]threads = []# Start Threadscurrent_time = time.time()for url in urls:thread = threading.Thread(target=get_html, args=(url,))thread.start()threads.append(thread)# Wait Threadsfor thread in threads:thread.join()print(’Time: ’ + str(time.time() - current_time))これを実行すると以下のようになりました。 0.322998046875 0.402767896652 0.848864078522Time: 0.849572896957今までは約1.6秒かかっていたものが、約半分の時間になりましたね。マルチスレッドを使うことでプログラムの実行速度が大幅に向上しました。すべてのスレッドの処理が終わるまでjoinのループで待ちますので、プログラムの実行時間は一番取得に時間がかかったサイトに依存しています。表示結果を見る限り、今回はgoogleのページの取得に一番時間がかかり、プログラムの実行時間はgoogleのページの取得時間とほぼ同じになっていますね。今回は3つのサイトだけでしたが、これが10、20などになってくるとより効果的になります。ただ、ネットワークの帯域幅などがボトルネックになりだすとスレッドを使っても解決できなくなる可能性があります。そのときはthreadpoolなどのテクニックを使って特定個数のスレッドを使いまわしたりするのですが、入門レベルを超えるので割愛します。次回もマルチスレッド処理について解説していきます。クラスの継承によるマルチスレッドの実現や、マルチスレッド特有の難しさ、またマルチスレッド以外の並列処理について扱います。
2016年01月05日IPA(独立行政法人情報処理推進機構)情報処理技術者試験センターは12月22日、「情報処理の促進に関する法律施行令の一部を改正する政令(平成27年12月22日閣議決定)」に基づき、経済産業省が所管する国家試験「情報処理技術者試験」の受験手数料が改定されたことを発表した。情報処理技術者試験は、情報処理技術者としての知識・技能が一定以上の水準であることを認定している国家試験。情報システムを構築・運用する技術者から、情報システムの利用者まで、ITに関わるすべての人を対象としている。昭和44年から平成27年度までの累計の応募者数は約1840万人、合格者数は約232万人。情報処理技術者試験の受験手数料は、平成9年度秋期試験から「5100円(税込)」とされていたが、経済産業省において、受験者数の動向などを踏まえ、今後も安定的に試験制度を運営する観点から受験手数料の額が見直され、「情報処理の促進に関する法律施行令の一部を改正する政令(平成27年12月22日閣議決定)」により、「5700円(税込)」に改定された。改定された受験手数料の適用時期は、iパス(ITパスポート試験)が平成28年(2016年)4月1日から、iパス以外の試験区分が平成28年度春期試験からとなっている。
2015年12月22日アールピージー・ラボ(RPGLABO)は11月9日、毎月の従業員への給与支払いデータなどから、マイナンバーの提出と受領を処理できる「マイナンバー収集キット」の提供を開始したと発表した。同キットは、収集のために必要なハードとソフトがすべて一緒になったもので、クラウドシステムなど不要で、初期費用のみで運用できる。大きな特徴としては、既存の業務フローで発生する「当月給与支払いリスト」「当月報酬支払いリスト」「年末調整宛名データ」といった給与関連のデータを、収集キットをインストールしたPCに読み込ませると自動的にQRコードを生成し、マイナンバーを収集する際に、そのデータとマイナンバーを紐付けることができる点が挙げられる。収集担当者は提出された書類をOCRリーダーで読み込むだけで登録できるので、手入力の必要が無い。一方、マイナンバー収集対象者も「通知カード」「マイナンバー付き住民票」などの必要書類をコピーして提出するだけなので、負担が少ないという。価格は160万円(税別)。キットに含まれるものは、マイナンバー収集システムインストール済パソコン(Windows7 Professionalを搭載)、収集アプリ設定済み iPad(iPad mini2 SIMフリー版)、数字(マイナンバー形式)/QRコードの読み取りに対応したOCRリーダー。また、オプションとして、パソコンの設置が難しい営業所など、遠隔地でのデータ収集のために、iPadとOCRリーダーをセットにした追加オプション(価格は25万円)を用意している。
2015年11月10日誰からも愛される、親しまれる女性になりたいですよね。人の話をしっかりと聞く姿勢を持つ、空気を読んで対応するなど、コミュニケーションで大切なことはたくさんあります。その中の1つに自己アピールの仕方があります。自己主張できる女性はとても魅力的ですが、自己主張の仕方を間違ってしまうとただのワガママな女性になってしまうかもしれません。そこで今回は、どのように自己主張をすればいいかをまとめてみました!■ワガママな人ってどんな人?まずは、ワガママな人と自己主張のできる人との違いを把握しておきましょう。ワガママな人は、自分の意見や考え方、価値観などを無理やり押し通そうとする人です。発言も自分本位で、周りの人たちのアドバイスや考えなどに耳を貸さないタイプだと言えるでしょう。自分の思い通りに進めるためなら、周りに迷惑をかけても気にしない、勝手なところが見られる人です。周りに目が向けられず、自分のことしか考えられない人の発言は自己主張ではなく、ただのワガママでしょう。 ■自己主張のできる人とは?逆に自己主張ができる魅力的な女性は、自分の考えを伝えることもでき、周りの意見にもしっかりと耳を傾けられます。自分と反対の意見を持っている人の話も聞けて、柔軟です。また、周りの人たちに対する配慮や気配りができるので、自分のことばかりを優先することはありません。■相手に好印象を与えようたとえば、「何が食べたい?」と質問されたとき、あなたならどのように答えますか? 「なんでもいいよ」とつい答えてしまいがちですが、これでは相手を困らせてしまいますよね。自己主張ができる人なら、「これが食べたい!」とまでは言わなくても、「今日は和食の気分かなー」と、相手を気遣いながら自分の考えも伝えられるでしょう。よくある会話ですが、どう受け応えるかで相手に与える印象はガラリと変わりますよ。相手を困らせるような言動を取らないようにすることが、人との信頼関係をうまく築いていく秘訣。自己主張のできる魅力的な大人女子になれるように、自分の言動や価値観を見つめ直してみましょう。
2015年10月26日ブレインパッドは10月22日、自然言語処理エンジンの「Mynd plus(マインドプラス)」の提供を開始した。同サービスは、ブレインパッドが提供する「Semantic Finder (セマンティックファインダー)」と、グループ子会社となるMyndが提供する「Mynd Engine (マインドエンジン)」を統合した新サービスで、テキストなどのデジタルデータを独自のアルゴリズムで解釈・処理し、従来人の手で行ってきた業務を「より早く」「より精緻に」処理するほか、人の手では行えない「より高度な」データの処理も実現する。これにより、デジタル・マーケティング領域での活用だけでなく、さまざまなビジネスシーンでの活用が期待できるという。同社は活用例として、Webメディアなどの記事コンテンツに対して「自動タグ付与」や「自動分類」、Webサイト上の類似コンテンツ・類似ユーザーを軸とした「レコメンドコンテンツの抽出」、Webメディアの大量記事や論文などの「自動要約」、コールセンターや相談業務上発生する会話データの「テキストマイニング」、アンケートや口コミのデータなどの「テキストマイニング」などを想定する。
2015年10月23日腕や脇、脚などのムダ毛処理はきちんとしておきたいですよね。女子力アップのためにムダ毛処理を徹底して行っている人も、意外と見落としているところがあるかも?手や脚などはツルツルでムダ毛の心配はないのに、顔に産毛が…という悲惨な状態になっていませんか? 意外と見ている男性は多く、「他にムダ毛がないからこそ、余計に気になる」と思っているようです。そこで顔の産毛を簡単に処理する方法をご紹介していきます。■産毛のお手入れ方法は?顔の産毛のお手入れ方法はいくつもあるので、自分に合った方法を取り入れましょう。電動シェーバーを使うエステに通うフェイス用の脱毛器を使用する市販のカミソリで剃るもっともキレイに仕上げるには、やはりエステに通うのが1番ですが、お金や時間がネックになりますので、手軽に使える市販のカミソリでの処理方法を解説していきます。 ■フェイス用カミソリでお手軽処理!フェイス用カミソリは、T字タイプ、I字タイプの2つを用意しておくと便利です。また、処理前にはきちんとメイクや汚れを落とすことが大切! 汚れた状態で処理すると、毛穴に雑菌が入りやすくなり、肌トラブルの原因になりかねませんので、しっかりと汚れを洗い落としましょう。顔の汚れを落としたら、蒸しタオルを使って、顔全体を温めます。これは毛穴を開いて肌を柔らかくして処理しやすくするためです。次に美容クリームを顔に塗り、カミソリが滑らかに動くようにします。これは肌への負担を抑える働きもあるので、たっぷりと塗るのがベスト。次に産毛の流れに沿って、ゆっくりとカミソリを滑らせていきましょう。逆から剃ると産毛が目立ってしまうので必ず毛の流れに沿って剃るようにしてくださいね。キレイに剃れたらきちんと洗顔をして、あとはしっかりと保湿して終了です。■産毛をケアするとどんなメリットがある?顔の産毛を処理すると、化粧のノリがよくなり、ファンデーションのもちも良くなります。また、肌が1トーン明るくなる美肌効果も。周りから見ても産毛が生えている顔よりも、きちんと処理されていた方が、清潔感があるでしょう。たくさんのメリットを実感できるので、顔の産毛ケアはしっかりとしておきたいですよね。慣れれば簡単にできるケア方法なので、ぜひ実践してみてください。
2015年10月05日○GPUは超低速プロセサ図3-28に示したように、GPUは、演算命令を処理するには10~20サイクルを必要とし、ロードストア命令を処理するには400~800サイクル掛かる。仮に、実行する命令の70%が演算命令、30%がロードストア命令とすると、中央値を取って、1命令あたりの平均的な処理サイクル数は15×0.7+600×0.3=190.5サイクルと計算される。そして、クロックが1GHzとすると、1命令を実行するのに190.5ns掛かることになる。一方、IntelのCoreプロセサなどでは、1命令を処理するのに必要なサイクル数は1~2サイクル程度であり、クロックを2.5GHzと想定すると、1命令を実行する時間は0.6ns程度ということになる。つまり、命令の実行時間の比は190.5対0.6で、GPUはCPUと比べると317.5倍遅い超低速プロセサである。そんな物好きな人はいないと思うが、殆ど並列性の無いgccコンパイラをGPUに移植したとすると、この程度の性能比になると思われる。しかし、速度の測り方は色々とある。スポーツカーとバスのどちらが速いかと聞かれれば、普通はスポーツカーと答えるのであるが、50人を目的地まで運ぶ場合はどちらが速いかと言われれば、スポーツカーで50往復するよりも、バスで50人を1回で運ぶ方が速いに決まっている。CPUは、乗客は助手席に1人乗せられるだけであるが、とにかく速く走れるように設計されたスポーツカーであるのに対して、GPUは定員一杯の乗客を乗せた場合に最大の効果を発揮するバスである。そして、バスのメリットをフルに発揮するには、運行する全区間で、満員の乗客を乗せて走る必要があり、これに近い状態で運行することが重要である。そして、乗客として、バラバラのところに行く人を集めてもだめで、まとまって同じ目的地(米国のスクールバスの場合は学校)に行く人を集めなければならない。これをGPUの用語で言うと、並列に実行できる最大スレッド数に近い数の、ほぼ同じ処理を行うスレッドを集めて並列処理を行うことがGPUの効率を発揮するためには欠かせないということになる。
2015年09月25日今回はファイル処理をメインに取り扱います。実際の業務で使うアプリケーションやサービスは、なんらかの形でファイルを利用する場合が多いです。たとえばCSV(カンマ区切りの表)を読み込んだり、書き出したり……。また、アプリケーションの状態(設定など)やログを残すためにファイルを利用することもあります。ファイルにはバイナリ(01)で構成される画像ファイルや、テキストで構成されるテキストファイルがあります。バイナリのファイルがどのようなものかについても軽く触れますが、初心者はあまり操作しないと思うので、テキストファイルが話の中心となります。そのため、テキストファイルを扱うために必要なテキスト処理についても扱います。なお、日本語テキストの処理などについては別途扱います。○テキストを生成する方法テキスト処理は要するに、文字列型の処理です。第5回で簡単に扱ったのですが、テキストファイルの処理では文字列型の処理が必須となるので少し発展させて復習します。まず、文字列は以下のように定義するのでした。text1 = ’hello python’text2 = ’’’helloworldpython’’’ひとつめに関しては今さらいうこともないですが、2つめに関しては複数行でテキストをプログラム中で定義する方法でしたね。記号「’」の代わりに記号「"」を使うことも可能ですが、文字列の前後で統一されている必要があります。文字列の結合に関しては「+」記号でできますが、数字などを結合するときは「文字列に変換」してから結合するのでした。ほかの型から文字列型への変換にはstr関数を使います。print(’hello ’ + ’world’)# hello worldprint(’hello ’ + str(5)) # hello 5結合の代わりに、文字列にテキストや数字を埋め込むという手法で文字列を生成することも可能です。>>> ’hello {} {}’.format(’python’, 5)’hello python 5’文字列のformat関数(メソッド)の引数に {} に対応する文字列なり数値なりを与えています。このformat関数の使い方を詳細に伝えるとそれだけで連載2~3回分になってしまいますので、詳しくはこちらのドキュメントをご参照ください。結合より埋め込みのほうがコードがきれいになる場合が多いので、積極的に活用してもらいたいです。文字列のフォーマットに関わるところでは、ほかには数値の整形をしたいことがよくあります。たとえば、1,2……というように連番でテキストを表示なり書き込みする場合、なにも配慮しないと次のように桁数が違うとガタガタになってしまいます。1: some text2: some text……9: some text10: some text11: some text……次のように0で揃えられているときれいですね。01: some text02: some text……09: some text10: some text11: some text……このような場合には以下の方法で文字列の数字に「0詰め」をすると便利です。zfillで桁数を指定したり、先のformat関数に出力の細かい指定をしたりしています。print(’5’.zfill(5)) # 00005print(str(101).zfill(5)) # 00101print(’hello {0:05d} world’.format(5)) # hello 00005 world最後に文字列で使われる特殊記号についてお話します。特殊記号はプログラム中で意味を持ってしまう特別な記号のことです。たとえば「’」という記号は文字列を作成する際に利用する特別な記号です。そのほかにはビープ音なども記号に分類されます。これらは文法的な理由やそもそもそれを表現する記号がキーボードのキーにないことから、「これは XX ですよ」という特別なルールにもとづいて文字列に表記します。そのルールに利用されるのがエスケープ記号と呼ばれるもので半角のバックスラッシュ「\」(英語キーボード)か、半角の円記号「\」(日本語キーボード)を利用します。このエスケープ記号の後に特別な文字を続けることで、それが特別な意味を持つのです。たとえば「’」とビープ音は以下の用に記載できます。print(’escape sample1 \’.’)print(’escape sample2 \a.’)ほかには改行とエスケープ記号自身あたりをよく使います。print(’escape sample1 \n.’)print(’escape sample1 \\.’)エスケープ記号一覧はこちらのページの中央付近に記載されています。なお、記事掲載時から時間が経ってリンク切れしている場合は、適当に検索するなどして調べてみてください。○テキストを加工する方法テキストの生成について取り扱ったので、次はそのテキストを加工する方法について扱います。基礎的な機能を順に紹介していきます。これ以外にも多数の機能がありますが、必要になった時点で調べて覚えていけばよいでしょう。まず、文字列中の「文字」の取得ですが、以下のように [X] で位置を指定して行います。>>> text = ’hello world python’>>> print(text[4])o>>> print(text[100])Traceback (most recent call last):File "<stdin>", line 1, in <module>IndexError: string index out of range>>> print(text[-4])tこの位置の指定はリストの要素の数え方と同じで0から始まります。先頭から0、1、2……と数えていくと4はoに対応していますね。範囲を超えてしまうとエラーになります。面白いのがこの値をマイナスにできるところです。このように指定すると後ろ側から取得してきます。この際、0からではなく-1、-2、-3……とカウントすることに注意してください。文字列から「文字列」を取得するには、以下のように行います。>>> text = ’hello world python’>>> print(text[6:11])world>>> print(text[-12:-7])worldこれは「スライシング」と呼ばれるテクニックで、[X:Y]とあるとXからYまで取得という意味になります。[X:Y] と指定する際はX < Yとなるようにしてください。先ほどと同じように、範囲指定にもマイナス値を利用できます。前と後ろを指定するのではなく、Xより前、Xより後という指定の仕方も可能です。>>> print(text[6:])world python>>> print(text[:11])hello world>>> print(text[:])hello world python見ていただくとわかるように [X:Y] の片方を省略しています。そうすると先頭から、もしくは末尾までという意味になります。あまり使いどころはありませんが、両方とも省略すると、文字列のすべてが取得されます。次に文字列の置き換えです。テキストエディタなどである特定のキーワードを別のキーワードに置き換えることがあるかと思いますが、それと同じ要領です。>>> text = ’hello world python’>>> print(text.replace(’o’, ’0’))hell0 w0rld pyth0n>>> print(text.replace(’world’, ’WORLD’))hello WORLD python>>> print(text)hello world python文字列.replace(置き換える文字列, 置き換えられる文字列)とすると、変換された文字列が返されます。例にもあるように、元の文字列自体は変化していないので注意してください。文字列の検索もそれほど難しくはありません。検索には「存在の確認」と「位置の確認」の2つの使い方があり、それぞれ次のようになります。>>> text = ’hello world python’>>> ’wor’ in textTrue>>> ’w0r’ in textFalse>>> text.find(’wor’)6>>> text.find(’w0r’)-1>>> text.find(’o’)4inについてはlistでの使い方とほぼ同じですね。find については最も左側にあるマッチした位置を返します。そのため、’o’は何個もありますが、一番左の位置となっています。マッチしない場合は-1が返ってきます。それほど使う場面は多くないのですが、前側を指定した数だけ飛ばして途中から検索したり、右側から探索をすることも可能です。>>> text.find(’o’, 10)16>>> text = ’hello world python’>>> text.rfind(’o’)16次に文字列の前後からの特定の文字の削除です。よく利用するのは、前後の空白や改行コード、タブなどを取り除く場合などでしょう。>>> text = ’ hello world \n’>>> text.strip()’hello world’>>> text.strip(’ hell’)’o world \n’strip関数に引数を指定しないと、文字列の前後の空白とタブ、改行が取り除かれます。引数に文字列を指定すると、その文字列が取り除かれます。また、特定の区切りで文字列を分割して文字列のリストにすることも可能です。「,」記号で要素が区切られたCSV(Excel出力)やログの解析あたりでよく使うテクニックです。>>> text = ’1, taro, 35, male’>>> text.split(’,’)[’1’, ’ taro’, ’ 35’, ’ male’]text = ’’’1, taro, 35, male2, jiro, 29, male3, hanako, 23, female’’’for line in text.split(’\n’):elems = line.split(’,’)print(’{} {}’.format(elems[1].strip(), elems[2].strip()))# taro 35# jiro 29# hanako 23分割の逆で文字列を「特定の文字列」で結合していくことも可能です。2次元配列(リストにリストが入っている)に格納された情報をCSV形式でファイルに書き出したりする際に便利な手法です。書式は「結合に使う文字列.join(文字列のリスト)」となります。>>> l = [’1’, ’taro’, ’35’, ’male’]>>> ’, ’.join(l)’1, taro, 35, male’○ファイル処理の概念ファイル処理については、プログラミングというよりも「OSのファイル処理の方式」をまず理解しておく必要があります。そのため、最初にファイル処理の概念について説明します。これがわかってしまえば、その利用はさほど難しくありません。なお、プログラムがどのようにファイルを扱うかは、OSの仕組みにもとづいているため、多くのプログラミング言語でさほど変わりません。ファイル処理がOSにおいてどう実現されているかを抽象化すると以下のようになります。実際はもっと複雑ですが、通常のプログラミングではそこまで意識する必要はないので詳細は割愛します。まずご存知のようにOSにはディレクトリがあり、それが階層構造を作っています。ファイルはそのディレクトリのなかに保存されています。OSはこの階層構造を管理しています。ディレクトリやファイルは、サイズなどの情報と共にポインタのようなものを持っていて、それがファイルの実体を指しています。構造についての話はこれぐらいにして、実際にファイルをどのように処理するか話をしましょう。OSにおけるファイル処理は主に以下のような流れとなります。まず絶対パス(ルートやCドライブなどからのパス)や相対パス(現在いるディレクトリから指し示すパス)を使ってファイルを指定します。それに対して読み、書き、読み書きなどのモードを指定してファイルをオープンします。そして読み書きなどの必要な処理を繰り返し、処理がすべて完了したらファイルをクローズして終わりです。クローズし忘れないようにしてくださいね。読み書きなどの具体的な処理はそれほど難しくありません。一言でいってしまえば、「テキストファイルは行ごとに処理する」「バイナリファイルは先頭から何バイトめか(位置)を指定して処理する」ことです。たとえば、テキストファイルで以下のものがあるとします。worldpythonjavaこの内容にすべて"hello "を加えて画面に表示するというプログラムを書く場合、ループ処理を利用してということを繰り返して処理するのが一般的です。「テキストファイルは行ごとに処理する」のが基本であることを覚えておいてください。次にバイナリファイルです。バイナリファイルは中身が01から構成されているファイルで、一般的には画像ファイルや音声ファイル、それに加えてアプリケーション特有のファイル(たとえば word など)があります。こちらはテキストと違うのでそもそも行という概念がありません。正直なことをいうと、テキスト処理よりもバイナリファイルの処理は骨が折れます(笑)。ただ、ファイルを読み書きできないかというと、そんなことはありません。そのバイナリファイルの構造を知ってさえいれば操作は可能です。著者はビットマップ形式の画像ファイルの合成とWAV形式の音声データの加工の経験があるので、それをベースにしてバイナリファイルの処理についてお話をします。ビットマップは以下の図のように、ピクセルから構成されている画像ファイルです。それぞれのピクセルはRGB(赤緑青)で表現されています。それぞれの色は1バイト(0~255)の容量があるので、ようするに1ピクセルは3バイトです。つまりファイルサイズは「縦のピクセル数×横のピクセル数×3」バイトになります。ここまでわかってしまえば、あとは簡単です。たとえば画像Aに画像Bをオーバーレイ(一部上書き)するとします。この際、Bの画像の黒(RGBが0, 0, 0)は透過させます。すると、以下の図のようにして合成が可能です。Bの左上は黒なのでAのものを合成画像に利用。その右隣は黒ではないのでBのものを利用。その右隣はA……といった感じでどんどん処理をしていくと、最終的に右の図のようになります。これをファイルに書き込めば、自分でバイナリファイルを作ったことになります。次にWAV音声ファイルです。これも比較的わかりやすい形式ですが、先ほどのビットファイルと違って「ヘッダ」と「データ」に分かれています。データは先程のビットマップと同じく音声のデータ(波形)を含んでいるだけなので簡単ですが、ヘッダにはデータをどのように表現するかといった情報が含まれています。後ろのデータを変えれば当然再生される音も変わりますが、その際に必要に応じてヘッダを変更する必要があります。最後にバイナリデータの処理のコツを伝えます。それは「プログラムで処理しやすい生(raw)の形式に一旦戻す」ということです。たとえばビットマップであれば編集は簡単ですが、JPEGやPNGを編集するのは非常に難しいです。そのためまずはJPEG → ビットマップに変換してやり、ビットマップで編集を行った後に再度、ビットマップ → JPEGに変換すればよいのです。音声も同じでmp3を直接編集するのではなく、mp3 → wav → 編集 → new wav → mp3とすればよいです。これらの変換には組み込みもしくは外部のライブラリを使用してかまいません。○実際にファイル処理をしてみよう長くなりましたが、実際に pythonでテキストファイルの処理をどのようにするか紹介します。先ほどの概念さえわかってしまえば非常に簡単です。worldpythonjavaと書かれたテキストファイルtext.txtの各行にhelloを加えて表示するサンプルを書いてみます。f = open(’text.txt’, ’r’)print(type(f))for line in f:print(’hello ’ + line)f.close()まずファイル ’txt.txt’ をモード ’r(読み)’ でオープンしています。オープンしたファイルオブジェクトに対してfor文を使うと1行1行取得できるので、行ごとにprintする処理をしています。これを実行すると以下のような出力となります。<type ’file’>hello worldhello pythonhello javaprint文の改行に加えて、もとのテキストの改行も表示されるので1行スペースがあいてしまっていますね。print文の改行をなくすには以下のようにprint文の後に「,」を書けばよいです。print(’hello\n’),print(’world\n’),ほかにはファイルを丸ごと読む方法もあります。f = open(’text.txt’, ’r’)text = f.read()print(text)lines = text.split(’\n’)print(lines)f.close()ファイルオブジェクトに対してread関数を使うことで、その中身をすべて文字列として取得します。それを行ごとに処理したいのであれば、文字列を先に説明した改行コードで分割することで行ごとのリストになるので、それに対して処理を行うことができます。次に書き込み方法について説明します。書き込みも読み込みと大差ありませんが、ファイルをオープンする際に書き込みモードを指定します。以下のテキストファイルtext.txtに書き込みをするとします。hello書き込みのコードは以下となります。f = open(’text.txt’, ’w’)f.write(’123’)f.write(’456’)f.close()コードを見てもらうと想像がつくとは思いますが、openの第二引数が書き込みモードの ’w’ となっています。そしてファイルオブジェクトにたいしてwriteすることで、実際にファイルに書き込み処理がされています。最後にクローズですね。するとファイル text.txt は以下のようになりました。123456見てもらうとわかるように、もともとのテキストであるhelloが消えていますね。上書きされていることがわかります。ただ、場合によっては「追記(もとの中身を残したまま後ろに加える)」しないといけないこともあります。その場合はモードを ’a’ の「追記」にすれば実現できます。モードのみ修正して以下のコードにしてみます。f = open(’text.txt’, ’a’)f.write(’123’)f.write(’456’)f.close()これを実行すると、123456123456となりました。もとの ’123456’ は残ったままで、その後ろに ’123456’ が新しく追加されていますね。ファイルのオープンごとに以前の内容が消えないので、アプリケーションのログなどを取る際に便利な手法です。なお、書き込みを「次の行」にする場合は「\n」を書き込めばいいです。最後に小ネタを話して終わりたいと思います。ファイル処理をする際に心の片隅においていただきたいのが「バッファリング」という処理です。ご存知かもしれませんが、ハードディスクへのアクセス速度はメモリへのアクセス速度に比べて何桁も遅いです。そのため、ファイルを何度も細かく書くことを繰り返しているとプログラムが非常に低速になってしまいます。この問題を防ぐために、出力があるたびに毎回ディスクに書き込むのではなく、メモリ上の高速な一時領域にデータをおいておき、まとめてそれを書き込むという処理が行われます。こうすることで低速なディスクアクセスの回数が減らせるのでプログラムが高速化されます。これがバッファリングの基本的な概念です。以下にこれを図で示します。このディスクへの書き込みは特定のタイミングで発生するようですが、それを強制的に行いたい場合はflush()関数を使います。f = open(’text.txt’, ’w’)f.write(’123’)f.flush()f.write(’456’)f.close()closeのタイミングで必ず書き込まれるので、今回のようにopenからcloseまで時間が短い場合はflushは不要です。ただ、openしっぱなしで、なかなかcloseしないようなプログラムは適切なタイミングでflush するように心がけてください。でないと、プログラムが強制終了されてしまった場合などに、ファイルに書き込みがされていない可能性があります。以上でファイルに関する基本的な話は終了です。ある特定ディレクトリ配下のすべてのファイルを調べるのに便利なglobや、リソース管理のwith文などもあるのですが今回は割愛します。便利なのである程度レベルがあがったら、ぜひ自分で調べてみてください。○「Pickle」とは最後に「Pickle」についてご紹介します。PickleはPythonのデータをファイルに保存し、それを読み取って復元する目的で使えます。あるアプリケーションで終了時に保持するデータをPicklで保存し、再度開いた際にPickelで読み取れば、前回終了した際の状態に戻すといった使い方ができます。Pickle の使い方はそれほど難しくないので、以下にサンプルを載せます。import picklea = {’hello’:1, ’world’:[1,2,3]}f1 = open(’test.dump’, ’wb’) # WRITEpickle.dump(a, f1)f1.close()f2 = open(’test.dump’, ’rb’)b = pickle.load(f2) # READf2.close()print(b) ## {’world’: [1, 2, 3], ’hello’: 1}まずPickleパッケージをインポートしています。そして書き出すファイルを書き込みモードでオープンし、pickle.dump関数でデータをファイルに書き込んでいます。Pickleで書き込まれるデータはバイナリなので’w’ではなく’wb’でバイナリとしてオープンしています。’w’でもおそらく問題はないと思います。次に Pickleのデータが書き込まれたファイルから中身をロードしてきています。これには pickle.load 関数を使っています。’wb’と同様に、こちらもバイナリの読み込みなので’rb’でファイルをオープンしています。簡単ですね。演習1以下のCSV形式のテキストデータから教科ごとの生徒の平均点を算出してください。text = ’’’lecture\students, 1, 2, 3, 4math, 80, 70, 75, 54english, 60, 80, 90, 80’’’可能なら生徒や教科が増えても対応可能なプログラムにしてください。演習2あるテキストファイルAの内容を読み取り、まったく同じ内容をファイルBに書き出すプログラムを書いてください。演習3演習2で作ったプログラムを改良し、ファイルBに行番号を書き出すようにしてください。ただし、行番号は最後の行の桁数にあるように0詰めしてください。たとえば以下のようになります。abc……ijk……z01 a02 b03 c……09 i10 j11 k……26 z演習4標準入力で入力されたテキストをpickleでファイルに保存してください。そしてそれをロードして、画面に表示してください。さまざまなデータをPickleで保存して、そのファイルを開いて中身を確認してみてください。※解答はこちらをご覧ください。次回は正規表現と日本語の扱いについて解説します。
2015年08月10日ニフティは8月5日、定期処理の自動実行を指示するサービス「ニフティクラウド タイマー」を提供開始したと発表した。同サービスは、あらかじめ指定した時間に、処理の自動実行を指示するサービス。料金は月2,000円(税抜)から。HTTPリクエストを用いて、任意の処理の自動実行を指示し、数分おきに監視処理を実行したり、毎日決まった時間にログをバックアップするなどのバッチ処理に活用できる。また、ニフティクラウドのサーバーと連携していて、サーバーの起動、停止、再起動、削除、スペック変更、および「カスタマイズイメージ」と「ワンデイスナップショット」の自動実行が可能。指定した時間帯だけサーバーを稼働させたり、定期的にイメージを取得してサーバーをバックアップするといった用途に利用することができる。さらに、IoT/M2Mに最適化された軽量な通信プロトコル「MQTT」に対応し、2015年5月からβ版を提供している「ニフティクラウドMQTT」と組み合わせて利用すれば、IoT化されたデバイスへの定期的なメッセージ発行も可能となる。これまで、サーバー構築などの一連の手順を自動化できる機能「ニフティクラウド Automation」や各種APIの提供を通して、システム担当者の負担軽減と利便性向上に取り組んでおり、今後は、ニフティクラウド タイマーの提供により、システム運用のさらなる自動化を実現するとともに、企業のIoT活用を促進していく。
2015年08月06日LINEは30日、同社の子会社であるLINE Payが運営するモバイル送金・決済サービス「LINE Pay」において、一部の決済代行企業における請求処理に不具合が発生していたことが判明したと発表した。決済取引において正しくは「JPY(円)」のところ「USD(アメリカドル)」で請求されていたという。今回の不具合では、2015年7月15日から2015年7月22日の間、一部の決済代行企業を経由する決済取引において、正しくは「JPY(円)」であるものを「USD(アメリカドル)」で請求していた。同期間中にKEB Hana Cardの決済システムを経由し、「LINE Pay」で決済を利用した372名(460件)が該当するとしている。LINEとLINE Payではすでに、該当するユーザーの特定を完了し、30日16時半頃にメールでの一時連絡を実施。該当する可能性があるユーザーにメールの確認を呼びかけている。また、登録した電話番号への連絡もあわせて行い、今後の対応説明を順次していく。「LINE Pay」は、2014年12月より提供開始した「LINE」アプリ上で利用できるモバイル送金・決済サービス。提携する店舗やWebサービス・アプリ内における支払いを「LINE」アプリ上で行うことができる。そのほか、「LINE」アプリでつながっている友人に送金できる機能や、送金依頼をする機能、均等に按分された金額をグループのメンバーに請求できる「割り勘」機能などを搭載している。
2015年07月31日