宝島社が発行する『steady.(ステディ.)』は、5月7日発売の6月号にて、20~30代の働く女性を対象としたムダ毛事情の調査結果を発表した。同調査は3月30日~4月12日にかけて、同誌女性読者1,000名を対象にインターネットで実施したもの。夏に向けてのボディの悩みについて尋ねたところ、最も多い回答は「ムダ毛」(28%)だった。2位は「ダイエット」(23%)、3位は「ひじ・ひざ・かかと・ざらつき」(18%)となっている。ムダ毛の処理方法について尋ねると、75%が「自己処理」と回答した。アンダーヘアのケアをしているかという問いに対し、55%が「はい」と回答した。何歳からケアをはじめたか聞くと、「20代前半から」(34%)、「20代後半から」(31%)と、20代ではじめた人が過半数となった。ケアの頻度は「1カ月」(63%)が最も多い。アンダーヘアのケアをしている人にどこでケアをしているか尋ねたところ、73%が「自宅でケア」と回答。使っているアイテムについて聞くと、54%が「かみそり」、15%が「電気シェーバー」と答えている。ケアで気になる点について尋ねると「毛の形をどうするべきか」「生えかけのちくちく・かゆみ」が同率40%で1位だった。アンダーヘアの処理は、デリケートゾーンのかゆみやニオイ対策としても効果が期待できる。気になる人は参考にしてみよう。また、3月30日~4月12日にかけて、20~30代の男性100名を対象にしたメールアンケートでは、理想のアンダーヘアの形は「ツルツル」、2位は「下着に合わせた形」、3位は「逆三角形」だった。SEXのときにアンダーヘアを見るかという問いについては、55%が「見る」、28%が「結構見ている」と答えている。女性のムダ毛に関するエピソードを自由回答で聞いたところ、「首から背中にかけてうっすらと毛が生えていた」「腕を組んだら、じょりっとした感触があった」などの声が寄せられた。同誌では、アンケート調査結果のほか、ムダ毛問題、VIOケアのいろは、セルライト問題など、人には聞きにくいさまざまな悩み対策を紹介している。
2016年05月18日1つで2つのケア2016年5月13日、株式会社レイナチュラルは「レイナチュ ゲルマニウム除毛パッド トライアル」を発売した。この製品はカミソリを使ったムダ毛ケアの弱点を克服したムダ毛ケア製品。使い方はとっても簡単で、時計回りか反時計回りにクルクルするだけで除毛することができる。しかも、この製品を使って除毛すれば毛先が丸くなるためチクチクしないところも嬉しい。ビビットピンクが可愛らしい本体には除毛シートが1枚付いている。1枚のシートは6回から8回使用可能。本体は水洗い可能で、汚れたシートを張り替えて何度でも使える。しかも、除毛だけでなくハイヒールダコやガサガサ踵のケアにまで使える。夏に向けた2つのケアをこれ1つで叶えるのだ。カミソリでのムダ毛ケアに要注意ムダ毛ケアにはカミソリがよく用いられる。簡単に買うことができ、使い方が簡単なのが人気のポイントだろう。しかし、カミソリを使ったムダ毛ケアはどれだけ注意を払っても肌にかかる負担をゼロにすることはできない。それどころか、誤った使い方をすれば肌を傷つけ、肌トラブルを起こすことも。特に毛の流れに逆らってカミソリを使うと刃で毛穴を傷つけてしまう可能性が高い。それを繰り返すことで炎症を起こし、色素沈着してしまうこともある。肌見せの季節が来る前に肌を傷つけない除毛方法をマスターしておきたい。(画像はプレスリリースより)【参考】※株式会社レイナチュラルプレスリリース(PR TIMES)
2016年05月16日気温も暖かくなり、すっかり春の陽気になってきましたね。この季節といえば、冬に服の下に隠してきた「むだ毛」が気になり出す季節でもあります。むだ毛と言えば、ワキや脚が気になるところですが、男性が1番気になるのは別の場所だった!?今回リヴォーン株式会社が20代~50代の男女800名を対象にアンケートを実施したところ、気になる結果が発表されました。■男性が一番気になるのは「うぶヒゲ」!?男性を対象に「女性のむだ毛で気になるところ」を調査した結果、「ワキ」(34.3%)や脚(27.3%)をおさえて、なんと「顔まわり(鼻下、口まわり、もみあげ)」(37.0%)が第1位となりました。女性の顔まわりのむだ毛に気づいた男性は「だらしないと感じた」(26.5%)「がっかりした」(24.7%)と答えており、ワキや脚だけに限らず、年中露出している「顔まわり」もきちんと処理していくべきかもしれませんね。顔まわりにむだ毛があると、メークのノリが悪かったりくすんで見えてしまうなんてことも。さらには余分な皮脂や汚れがうぶ毛に絡まりやすくなり、ニキビの原因にもなるのだとか。ニキビが炎症を起こしている最中はオススメしませんが、ある程度落ち着いたら処理してみては?「うぶヒゲ」の正しい処理の仕方顔は皮膚も薄く、傷付きやすい部分でもあります。謝った処理をおこなってしまうと、返って炎症の原因となってしまうことも。プロにシェービングをしてもらうのもひとつの手ですが、自分で処理する場合は以下のことに気を付けてシェービングをしましょう。1.顔全体にシェービングクリームをたっぷりのせます。2.毛の流れと逆方向に皮膚を引っ張りながら、毛の流れに沿って剃っていきます。同じところを何度も剃るのはNG。肌を痛めるため1度で済ませましょう。額のてっぺんから始めて最後は顎へ、上から下へと進めていくのがポイントです。3.濡れタオルで優しく拭くか、ぬるま湯で洗い流します。4.化粧水、乳液・・・と、洗顔後と同様のケアをします。特に保湿をしっかりおこないましょう。顔のうぶ毛を剃るとかなり顔が明るくなるため、何回も剃りたくなってしまいそうですが、肌を傷付けてしまうので2、3週間に1回にとどめておきましょう。■うな毛の処理もしよう!また、男性が女性らしさを感じる場所として「うなじ」を挙げています。特に夏になるとポニーテールをしたり浴衣を着たりと、さらにうなじを露出するシチュエーションも増えてくると思います。しかし、同アンケートによると「うなじに自信がある」と答えた女性はたったの16.5%。うなじのむだ毛を定期的に処理していると答えた女性はさらに少数の7.0%で、きちんとケアできている女性はかなり少ないようです。うなじのむだ毛をきちんと処理できていないと、男性から「老けて見える」「暗そう」などといったネガティブな印象をもたれてしまうのだとか。なかなか自己処理が出来ない部分でもあるので、脱毛サロンやシェービングサービスなどを利用して、自信をもってうなじを披露しましょう。暖かくなっていくにつれて気になるむだ毛。適切な処理をして魅力的な素肌美人に!
2016年04月20日暖かい日が増えてきて、夏日を観測する地域もでてきました。トレンチコートすら暑くて、つい腕まくりをしますよね。夏といえば、ムダ毛が気になる季節でもあります。ただ腕や脚だけでなく、顔にも産毛は生えているものなんです!ちゃんと、キレイにお手入れできていますか?今回は顔の産毛をキレイに処理するコツをご紹介♪顔の産毛、キレイにしてる?夏に向けて、自然と腕や脚のムダ毛を気にして、お手入れを再開させていくでしょう。でも、顔にもムダ毛が生えていることを忘れてはいけません。特に普段から仕事モードになっていると、口の周りにヒゲが生えてきたり、顔全体が産毛に包まれてしまったり…。自分としては気にしていなくても、すれ違った人、側にいる人は気にするもの。腕や脚がスベスベなのに、鼻の下が産毛だらけになっていては残念すぎます!本格的な夏が訪れる前に、顔の産毛もキレイに処理しておきましょう♪顔の産毛の正しい処理方法①最初にメイクを落として顔をキレイに洗います。メイクをした状態で、カミソリでムダ毛処理をすると雑菌が入る可能性が高くなってしまいます。必ずメイクは落として、お肌の状態を整えておきましょう。②蒸しタオルを事前につくっておいて、お顔全体にのせます。1~2分ほど当てていくと、毛穴が少しずつ開いていきます。③カミソリで毛を剃る前に、乳液やクリームを塗っておきましょう。カミソリによる摩擦で肌荒れを起こしやすいため、多少面倒くさく感じても、必ず何かしらは塗って保護するように。④毛の流れに沿ってカミソリで産毛を処理します。逆剃りをするとキレイには仕上がりますが、その分、お肌に負担をかけることになります。あくまでも流れに沿って剃りましょう。⑤最後によく洗顔をして、細かい毛が残らないように、完璧に洗い流しましょう。そして、お肌が通常よりも敏感な状態になっているため、必ず化粧水や保湿クリームなど、アフターケアを忘れずに。プロに頼む方法もある!顔の産毛を処理するには、セルフだけではありません。プロにお任せして、キレイにしてもらう方法もあります。その中でも、特に人気なのが「フォトフェイシャル」。フォトフェイシャルとは、特殊な光線をお肌に当てて、ターンオーバーを促す施術です。この施術には、ただお肌をキレイにするだけでなく、脱毛効果も期待できるといわれています。わざわざ毎回、カミソリで剃るのが面倒くさければ、プロに頼むのもあり♪いかがでしたか?顔の産毛って、自分では気にしていなくても、案外、他人はじっと眺めているもの。せっかく素敵な彼とデートをしているのに、口の周りにヒゲを生やしていては何もかもが台無しです!彼から指摘される前に、こそっとお手入れしておきましょう♪
2016年04月19日グレープシティは、高度な画像処理を行うコンポーネント「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年ほど前、スポーツマンの男性知人と久しぶりにバーで会ったときのことです。「最近どう?」と近況を聞くと「所属するチームでスタメンに選ばれた」と最初はよろこびの報告があったのですが、お酒がまわるにつれて彼のテンションは右肩下がりに。無理やり聞きだすと「プロテクターと靴下が下がらないように手足の毛をそった。スタメンで試合に出るから、コンディションを良くしておきたくてね。でも、それが理由で彼女に距離を置かれた」と嘆いていました。「そんな理由で引く女ってどうなのよ?」と私は話半分に聞いていたのですが、彼が帰った後、周りにいた知人女性陣は「彼女の気持ちはわかる…」と言い出す始末。「日本では身ぎれいにしたい男性がメンズエステに通ったりするよ。男性がお手入れをしたって別にいいじゃないの」という私の意見は「毛があったほうがワイルドなたくましさを感じられる。そうじゃない男性は軟弱に思えて、魅力を感じるのは難しいわよ」と即座に却下されました。ワイルドな男性をつかまえるために、女性たちはどうしているのでしょうか。その場にいた女性陣に聞いてみたところ「女磨き」「肌の手入れ」「プロポーション維持」など、さまざまな意見が上がりました。そんななか、「オーラを出すこと」という回答をしたのが、華麗な恋愛遍歴を持つアラフィフの知人女性。「きれいでいる努力は必要だけど、内側から自分を輝かせるための、心の美容も忘れちゃダメ。それが外見の美しさとからんで、自分のオーラになるのよ」という自信たっぷりな答えに、周りの女性は拍手喝采でした。ちなみに「捨てられてもいいからいっぺんお付きあいしてみたい! と思う理想の有名人は?」とリサーチしてみたところ「ケビン・コスナー」「ヒュー・ジャックマン」「ピエルフランチェスコ・ファヴィーノ(イタリア人俳優)」など、日本人からすると「いろいろと濃そうなタイプ」の名前があがり、軽くカルチャーショックを感じました。 「いくつになっても男と女でいたい」と、恋愛にいつも前向きなイタリアの女性たち。彼女たちの、ワイルドな男性を求める気持ちは「男の色気を求める女心」をくすぐってほしい…という思いの裏返し、とも言えるでしょう。そんな理想の男性をつかまえるために、美意識を高く持ち準備をおこたらない女性が多いのもうなずけます。女子力の低下や良い出会いをつかまえられない…と悩んだときは、彼女たちの行動力を真似てみるのもいいかもしれません。
2016年03月28日東陽テクニカは2月23日、PSPと提携し、クラウド上で胸部X線骨組織透過処理および経時差分処理を行うサービス「CirA-S BS」を開始すると発表した。新サービスでは、PSPのクラウドプラットフォームを利用して胸部X線画像を専用端末に取り込んでクラウド上の画像処理システムにアップロードすると、東陽テクニカの画像処理ソリューション「ClearRead」シリーズを使用して各種処理を施した画像がダウンロード可能になる。従来院内の専用画像処理サーバーで実施していた、骨組織透過処理および経時差分処理をクラウドを利用して1検査毎に行うことができるため、低コスト化を実現し、検査数が比較的少ない小規模医療施設などでも気軽に利用可能だとする。料金体系は基本料金に利用料金(画層処理1件あたり数百円を想定)を加算した月額制で、今春よりサービスを開始する予定。
2016年02月23日女子って本当に大変……と思うのが、ムダ毛処理問題!これから春夏に向けて肌見せファッションも増えてくるし、いざ殿方とお楽しみという時にムダ毛処理ができていなかったら幻滅されてしまいますよね。とはいえ脱毛サロンに通うのはお金も時間もかかるので、施術に踏み切れなかったり途中でストップしてしまうのはよくある話。そこで活躍するのが自宅でササッと処理できるシェーバーですが、「剃ったばかりなのにもう生えてきてる!?」というのもまたよくある話ですよね。あるあると頷いているアナタに朗報です。今日から始められるほんの手軽なアイデアで、ムダ毛が生えるサイクルをのばすことができる方法をご紹介します!ちょっと待って!剃る前にまずは下準備からまさか下準備もしないで、いきなりシェーバーを肌に当てたりしていませんか?処理して綺麗になるどころか、毛にも肌にも負担をかけることになります。まずはしっかりと下準備から始めましょう!STEP1.軽くシャワーを浴びる まずは肌の汚れを落としましょう。シャワーで毛が潤い、やわらかくなる効果も期待できます。お湯に浸かるのもOKですが、長湯は肌がふやけて綺麗に剃れなくなるので注意。STEP2.スクラブで古くなった角質を取り除く 短い毛は古くなった角質に隠れていることも。足首からボディに向けて円を描くように、ソルトスクラブで角質を取り除きましょう。短い毛が埋もれたままだと、剃り残しの原因に。STEP3.毛をブラシでとかしながらクリームを塗るPhoto by Aēsopバーバーショップでメンズが髭を整える時に使われるのが、バッジャーブラシと呼ばれるブラシ。私たち女子がムダ毛を剃る時にも効果アリなんです。ブラシを使ってシェービングクリームを塗ると毛並みを整えながら毛にクリームが密着し、刃が滑りやすくなります。プロ用のブラシでなくても、メイク用のブラシなどで代用可能です。いざ剃る時はココに気を付けて!正しいシェーバーを選ぶ シェーバーは、刃が多いほど圧力が分散されて負担が少なくなります。T字カミソリは余計な力も加わらず、刃が肌に密着しやすいように柄が動くものやプロテクター付きのものが多いのでおすすめです。できれば毎回新しいものを使うようにしましょう。電動シェーバーの方が肌への負担は少ないのですが肌表面にしか対応していないため、カミソリに比べると浅剃りになります。剃る回数が増えるため、超敏感肌でなければカミソリで十分です。剃る方向、強さ、回数を考える まず毛の長さをチェック。長いのであれば毛並みに従って剃った後で毛並みに逆らって剃ると、根元に刃が近付くので深剃りできます。短い毛は初めから毛並みに逆向きに剃ってOK!長い状態から逆らって剃ると、毛が引っ張られることで毛穴や肌に悪影響を与えてしまいます。また、焦らず1シェーブで確実に毛を剃るように意識しましょう。刃を押し付けるように力を加えたり同じ箇所を何度も剃ると肌が傷付き、本能的にその場所を守ろうとして毛が濃くなる原因に。剃る回数も増えて悪循環になります。剃った後は乾燥しやすいので、しっかりとシェービングクリームを洗い流して保湿しましょう。特に大豆イソフラボンを配合したローションは、毛根の組織の働きを弱めて成長を遅らせてくれると言われています。体内に入れるものを賢く選んでヘアレスに!普段の食生活でもムダ毛の生えるスピードを抑えることができます。過剰な炭水化物の摂取を控え、代わりにビタミンB6を多く含むバナナやマグロ、インスリンの分泌を抑えてくれるホウレン草やひじきを摂るように心掛けてみて。逆に発毛に影響する男性ホルモンは肉や長ネギ、ニンニクなどの摂取により活性化、ムダ毛が濃くなると言われています。ちょっとした工夫で剃る回数や時間が減って美肌を保てるなんて、もう始めるしかないですよね。ムダ毛のないすべすべ肌で、ハッピーな毎日を過ごしましょう!
2016年02月22日○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日セルフスタイルの脱毛サロン3店舗同時オープンこれからの春夏に向けて、気になるのがむだ毛。しかし、「美容脱毛サロン」は何だか敷居が高い、そう思っている人も多いのではないだろうか。昨今増えているのが、セルフスタイルの美容サロン。その中でも脱毛サロンを展開しているのがSMCC株式会社だ。同社は、セルフスタイル方式の脱毛専用サロン「スマート脱毛セレピ」を2016年1月7日(木)に3店舗同時オープンする。「気軽に来店できる」ことを考えたサロン同サロンは脱毛専用ながら、リラクゼーションショップやアクセサリーショップの中にコーナーとして展開。また、煩わしい予約も不要。初回のみ入会登録手数料1,080円が必要だが、施術料金は1照射200円でカウントする方式で、明朗会計なのが嬉しい。他にも、毎週木曜を男性専用デーにするなど、「気軽に来店できること」を第一に考えているのが同サロンだ。今回オープンする店舗は、JR三ノ宮駅店・さんプラザ店・加古川店(いずれも兵庫県)だが、今後、全国展開をしていくとのことだ。(画像はプレスリリースより)【参考】・スマート脱毛セレピ 公式ページ/Facebook・SMCC株式会社 プレスリリース/@Press
2016年01月08日今回はマルチスレッドについて扱います。マルチスレッドは、簡単に言ってしまえば複数の処理を「並列」に進めることができるものです。マルチスレッドの反対がシングルスレッドであり、これは複数の処理を順番に進めていくものです。逆に言えば、ある処理が終わるまでは次の処理を実施することはできません。マルチスレッドおよびシングルスレッドの“スレッド”は「プログラムの実行単位」のことで、名前からわかるようにマルチスレッドはプログラムをマルチな実行単位で実行します。今回の流れとしては、まず最初にプログラムの実行時間の測定手法について学びます。これを理解していないとマルチスレッドを使った高速化がどれほど効果的なものか理解しづらいためです。次にさまざまな処理にかかる遅延がどれほどのものかについて学びます。それらの基礎ができたうえで、シングルスレッドの問題点について、その次にマルチスレッドがどのようにその問題を克服するかについて扱います。そして実際に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日「ムダ毛は全剃り!」というのが女子のみなさんの間では一般的ですよね。しかし、男子の間では必ずしもそうとは限りません。身体のあちこちに生えたムダ毛を、「男らしいだろぉ~スギちゃんだぜぇ~」という感じで、セックスアピールに利用する男子も少なくないからです。とくに体毛が濃いめの男子は、「処理してもし切れないムダ毛なら、いっそこれを利用してモテちゃえ!」みたいに思いがちです。ということで今回は、20代男子30人に「実は自信を持ってる体毛」について聞いてみました。男子の体毛を見たら、「汚らしい!」とは言わずに、「フェロモン出まくりだねっ」とホメてあげましょうね。■1.胸毛「自分は高校生くらいから胸毛がちょいちょい生え始めて最初は剃ってた。でも今は、ダンディの象徴にしてる」(営業/24歳)正直、女子からしたらこの「胸毛」というのはかなり評判が悪いと思います。しかし、胸毛を剃ってしまうと、胸がジョリジョリになってしまいます。これではベッドの中で、彼女に顔を胸に当ててスリスリしてもらえませんから、生やすしかないんです。剃らずに、生やす。逃げずに戦うことを選んだ男子の心意気そのものをホメてあげてください。■2.ヒゲ「自分は今は剃ってるけど、ヒゲを剃らずに生やしてる男子は、100%ヒゲに自信持ってる。これは、女子から見てどれだけ汚らしい無精ヒゲに見えてもだよ」(大学生/22歳)おそらくこの世に「面倒くさいからヒゲ剃ってないだけ」という男子はいません。仮にそう言っていても、口でそう言ってるだけです。実際には、「ちょっと俺、ヒゲ生やすと雰囲気あるでしょ?」みたいに思っているんです。ヒゲを剃るなんて1分もかかりませんからね。ヒゲを生やしている男子も、必ず女子からのポジティブなコメントを待っています。■3.すね「最近、なんか脚の脱毛とか脱色とかしてる男子いるけど、男ならダンディなすね毛でいかないとねって思うよ」(大学生/21歳)たしかに最近、まるで女の子みたいなツルツルな脚の男子が増えていますね。やっぱり女子的にもこっちの方が魅力的なんですかね?僕としては、家でちまちまとこまめにすね毛の処理をしている男子って、ちょっとカッコ悪いよなぁ・・・・・・と思ってしまうんですが、古い考えなんですかね。■4.へそ「腹毛? へそ毛? これは地味に、自信ある。上着をペロってまくったときにちらっと見えるのが、ダンディかなと」(専門学生/20歳)いわゆる「ギャランドゥ」というやつですよね。これもおそらく、女子からは不人気なものではないでしょうか。不潔な感じがしてしまいますもんね。でもそこを我慢して「すご~い」とつんつんしてあげてください。大興奮ですよ。■5.もみあげ「髪の毛で一番こだわってるのは、もみあげ。ここの絶妙な伸び具合は、毎日眉ハサミで維持してます」(アパレル/24歳)オダギリジョーさんなんて、とくに特徴的なもみあげをお持ちですよね。ちょうどあのあたりから、もみあげをオシャレにするブームが来たような気がします。女子のみなさんは、「なんで剃らないの?」と思うかもしれませんが、これも男子のこだわりなんですね。■おわりにいかがでしたでしょうか? 冒頭でも書いたように、本当は剃りたいけど、剃ったら逆にジョリジョリして変になるので伸ばすという男子もいます。また、ヒゲやもみあげのように、こだわりであえて伸ばす男子もいます。男子の体毛が伸び散らかっていても、きっとそこには意味がありますから、「剃りなよー」ではなくて「素敵だね」と言ってあげるようにしてくださいね。(P山P太/ライター)(ハウコレ編集部)
2015年11月29日12月24日。聖なる夜に彼と初キス…のはずだったのに、いざ顔を近づけたら彼に拒まれた!全く原因が分からないまま、鏡を覗き込んでみると、うっすらヒゲが生えているような……。大人女子の皆さん!いくらおっさん化しているとはいえ、さすがにヒゲまで生やしていると、どんなにファッションやメイクがキマっていても、さすがに残念すぎます……。クリスマスに向けて全身完璧にしておくためにも、口周りのおヒゲもきちんと処理しておきましょう。そこで今回は「彼とキスする前に「口元」のムダ毛を処理せよ♪」をご紹介いたします。■一番簡単な方法は「カミソリ」ムダ毛処理に欠かせない「カミソリ」。口周りのヒゲを剃るときも、やはり「カミソリ」を使うのが一番無難でしょう。しかし、電気シェーバーと違って、カミソリはすべりやすく、お肌を傷つける可能性があります。また、カミソリの刃はシェーバーよりも大きく、細かいところまでなかなかお手入れが行き届きません。カミソリで口元のムダ毛を処理するときは、手で皮膚を引っ張りつつ、優しく剃っていきましょう。そして、ヒゲを剃った後は、他のパーツと同じく、必ず化粧水などをつけて、保湿をしてくださいね♪■頻繁にお手入れしちゃダメ!鏡をみたときにすぐ分かりますが、口周りの皮膚は他のところと比べると薄く、デリケートなゾーンといっていいでしょう。一度、気になってしまうと、つい頻繁にムダ毛処理をしたくなってしまいますが、カミソリでお手入れする場合、週に1回くらいが理想的。それ以上行うと、真っ赤になったり、湿疹ができたりと、肌荒れの症状があらわれる可能性も。手先が不器用でカミソリは怖い!という人は、産毛専用のシェーバーを使うと、普段のお手入れにも困らなくて済みますよ!■女性ホルモンをサポートする「イソフラボン」口周りのムダ毛を少しでも抑えたいなら、女性ホルモンの働きをサポートしてくれる「イソフラボン」を摂取してみましょう。イソフラボンは大豆製品に含まれている栄養素であり、豆腐や納豆、おからなどに入っています。朝・晩のお味噌汁に豆腐を入れる、と決めておくだけでもムダ毛対策としては有効的。ただし、どんなに健康的な食材でも食べ過ぎは体に毒なので、ほどほどにしておきましょう♪いかがでしたか?デート当日になってから慌てて処理しても口の周りが真っ赤になって、恥ずかしい思いをするだけ!クリスマスが近いからケアするのではなく、普段から週に1回程度は、お口のヒゲを処理しておくように!
2015年11月12日アールピージー・ラボ(RPGLABO)は11月9日、毎月の従業員への給与支払いデータなどから、マイナンバーの提出と受領を処理できる「マイナンバー収集キット」の提供を開始したと発表した。同キットは、収集のために必要なハードとソフトがすべて一緒になったもので、クラウドシステムなど不要で、初期費用のみで運用できる。大きな特徴としては、既存の業務フローで発生する「当月給与支払いリスト」「当月報酬支払いリスト」「年末調整宛名データ」といった給与関連のデータを、収集キットをインストールしたPCに読み込ませると自動的にQRコードを生成し、マイナンバーを収集する際に、そのデータとマイナンバーを紐付けることができる点が挙げられる。収集担当者は提出された書類をOCRリーダーで読み込むだけで登録できるので、手入力の必要が無い。一方、マイナンバー収集対象者も「通知カード」「マイナンバー付き住民票」などの必要書類をコピーして提出するだけなので、負担が少ないという。価格は160万円(税別)。キットに含まれるものは、マイナンバー収集システムインストール済パソコン(Windows7 Professionalを搭載)、収集アプリ設定済み iPad(iPad mini2 SIMフリー版)、数字(マイナンバー形式)/QRコードの読み取りに対応したOCRリーダー。また、オプションとして、パソコンの設置が難しい営業所など、遠隔地でのデータ収集のために、iPadとOCRリーダーをセットにした追加オプション(価格は25万円)を用意している。
2015年11月10日ブレインパッドは10月22日、自然言語処理エンジンの「Mynd plus(マインドプラス)」の提供を開始した。同サービスは、ブレインパッドが提供する「Semantic Finder (セマンティックファインダー)」と、グループ子会社となるMyndが提供する「Mynd Engine (マインドエンジン)」を統合した新サービスで、テキストなどのデジタルデータを独自のアルゴリズムで解釈・処理し、従来人の手で行ってきた業務を「より早く」「より精緻に」処理するほか、人の手では行えない「より高度な」データの処理も実現する。これにより、デジタル・マーケティング領域での活用だけでなく、さまざまなビジネスシーンでの活用が期待できるという。同社は活用例として、Webメディアなどの記事コンテンツに対して「自動タグ付与」や「自動分類」、Webサイト上の類似コンテンツ・類似ユーザーを軸とした「レコメンドコンテンツの抽出」、Webメディアの大量記事や論文などの「自動要約」、コールセンターや相談業務上発生する会話データの「テキストマイニング」、アンケートや口コミのデータなどの「テキストマイニング」などを想定する。
2015年10月23日腕や脇、脚などのムダ毛処理はきちんとしておきたいですよね。女子力アップのためにムダ毛処理を徹底して行っている人も、意外と見落としているところがあるかも?手や脚などはツルツルでムダ毛の心配はないのに、顔に産毛が…という悲惨な状態になっていませんか? 意外と見ている男性は多く、「他にムダ毛がないからこそ、余計に気になる」と思っているようです。そこで顔の産毛を簡単に処理する方法をご紹介していきます。■産毛のお手入れ方法は?顔の産毛のお手入れ方法はいくつもあるので、自分に合った方法を取り入れましょう。電動シェーバーを使うエステに通うフェイス用の脱毛器を使用する市販のカミソリで剃るもっともキレイに仕上げるには、やはりエステに通うのが1番ですが、お金や時間がネックになりますので、手軽に使える市販のカミソリでの処理方法を解説していきます。 ■フェイス用カミソリでお手軽処理!フェイス用カミソリは、T字タイプ、I字タイプの2つを用意しておくと便利です。また、処理前にはきちんとメイクや汚れを落とすことが大切! 汚れた状態で処理すると、毛穴に雑菌が入りやすくなり、肌トラブルの原因になりかねませんので、しっかりと汚れを洗い落としましょう。顔の汚れを落としたら、蒸しタオルを使って、顔全体を温めます。これは毛穴を開いて肌を柔らかくして処理しやすくするためです。次に美容クリームを顔に塗り、カミソリが滑らかに動くようにします。これは肌への負担を抑える働きもあるので、たっぷりと塗るのがベスト。次に産毛の流れに沿って、ゆっくりとカミソリを滑らせていきましょう。逆から剃ると産毛が目立ってしまうので必ず毛の流れに沿って剃るようにしてくださいね。キレイに剃れたらきちんと洗顔をして、あとはしっかりと保湿して終了です。■産毛をケアするとどんなメリットがある?顔の産毛を処理すると、化粧のノリがよくなり、ファンデーションのもちも良くなります。また、肌が1トーン明るくなる美肌効果も。周りから見ても産毛が生えている顔よりも、きちんと処理されていた方が、清潔感があるでしょう。たくさんのメリットを実感できるので、顔の産毛ケアはしっかりとしておきたいですよね。慣れれば簡単にできるケア方法なので、ぜひ実践してみてください。
2015年10月05日時に恋は、人の目を曇らせるもの。お付き合いする前は「この人こそ運命の相手だ」と盛り上がっても、実際付き合ってみたら想像と違う「トンデモない人」だった……。そんな経験を持つ人も多いのではないだろうか。そこで今回は、「私はトンデモない元カノと付き合っていた」と語る男性211人にアンケートを実施。元カノとのびっくりエピソードを紹介してもらった。○ストーカー1歩手前の「トンデモない元カノ」まず紹介するのは、「それってストーカー? 」と思ってしまう犯罪スレスレなタイプ。まずは教育業界で働く男性の話を聞いてみよう。20歳ぐらいの時。「クリスマスを一緒に過ごさないなんてありえない! 」と家まで押しかけてきた。まだ付き合っていない段階で…。結果的にこの事件をきっかけに付き合うようになったが、とてもマイペースな女の子で疲れた(40歳・営業職)付き合う前から「ありえない!」という発言はやや行き過ぎでは? 思い込みの激しい女性だったのかも……。家まで押しかける押しの強さにもちょっと怖いものを感じてしまう。同じように、情熱的なあまりストーカー的行為にまで発展しているケースがいくつか寄せられた。社会人になりたての頃に付き合っていた女の子なのですが、「会いたい! 」と彼女が思うと仕事を投げ出しても会いに来ていました。「今、あなたの家の前で待ってる」と電話してきて、本当に家の前に突っ立っていたことも(32歳・技術職)もはや怖い話に出てきそうな域に達しているエピソードだ。恋は人を盲目にさせてしまうというが、相手の都合を聞かず先に行動したり、ふるまいが突拍子が無さすぎると恐怖感が生まれてくることも……。○デリカシーゼロ! な「トンデモない元カノ」続いては、「彼氏に全く気を使ってくれないタイプ」。付き合う年数が長くなれば気の置けない仲になっていくのは当然だが、ある程度の気遣いや線引きは必要なもの。非常識なところまでまでくると、文句のひとつも言いたくなる。高校2年生の時。付き合い始めの頃2人でファミレスに行ったら、お金を払うこちらの意向も聞かず4人前の料理を黙々と食べきった。ウェイトレスさんなど周囲の目もかなり気になった(31歳・自営業)大食い選手権に出場できてしまいそうな女の子だ。食べ物関連といえばこんな投稿も。大学生時代のある日、彼女のアパートを訪ねたら部屋から食べ物の腐敗臭が……(28歳・専門職)ごみや部屋の片づけへのデリカシーは、いくら付き合っているとはいえお互い保っていたいところ。普段あんまりこまめでないにしても、せめて来客前に処理しておいてほしいところだが……。さて、処理といえばこちらのエピソードはどうか。ワキ毛を全く処理しないのにノースリーブの服を着ていた(42歳・技術職)気づいた瞬間はショックを受けるかもしれない……。袖がある服では駄目だったのか? あえてノースリーブを選んだ理由があったら教えて欲しい…。○不思議ちゃん? な「トンデモない元カノ」普通の感覚とちょっとズレていたり、何を考えているのか分かりにくい「不思議ちゃん」。トンデモないながらも、どこか憎めない彼女と付き合った男性からの意見もいくつか寄せられた。学生時代の話。普通の子と思って付き合ったのだが、実は何でも親と相談しないと決められない子だった。別れる時も、彼女の親から呼び出され、親から別れを切りだされた(47歳・技術職)付き合うのを決めたのが彼女自身なのであれば、別れを切り出す時ぐらいは自分の口から言って欲しい。高校の時付き合っていた彼女が、大学で薬学部に進学したのですが、やたらとリアルなマウスの解剖話を楽しそうに……。正直、気持ち悪くなった(50歳以上・技術職)こちらはちょっと変わった「リケジョ系不思議ちゃん」のケース。彼女にとっては日常なのかもしれないが、デートの食事中にされたりするとキツい話題だ。大学の時に付き合っていた子は、信じられないほどにお菓子が好きだった。ロッカーに山のようにお菓子を保管していたが、盗られることを警戒したのか、どんなお菓子が入っているのかを教えてもらえることはなかった(35歳・技術職)つ、付き合ってるのに盗まれることを警戒されるなんて悲しくなるじゃないか! もしかしたら、彼氏よりもお菓子の方が大切だったのかも……?いかがだっただろうか。「トンデモない元カノ」をテーマにお送りしたが、何事も行き過ぎ・やり過ぎは相手を引かせる原因になってしまうことが多いようだ。他にも、筆者の友人には「別れた後、友人知人が見ているSNSで悲しみのポエムを毎日更新された」「浮気されたので別れたら、実は同時に3人付き合ってて自分がサブのサブ扱いだった」などのエピソードを持った猛者もいた。しかし、男性諸君はトンデモない元カノのエピソードを見て笑う前に、自分が「トンデモない元カレだった」と言われてしまわないように気をつけてほしい。調査時期: 2015年6月12日~9月23日調査対象: マイナビニュース会員調査数: 交際経験のある男性368人調査方法: インターネットログイン式アンケート
2015年09月26日○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日宝島社は9月7日、ファッション雑誌「steady.(ステディ.)」を発売した。特集「働くアラサー女子の美容の悩み」では、アラサーOL1,000人を対象に実施した、顔から、髪、ムダ毛、ニオイなど、美容にまつわる悩みの調査結果を発表している。アンケート結果によると、まず「ムダ毛」に関する悩みとして、「アンダーヘアの処理法」と答えた人が44%と最も多く、処理が難しいと悩む一方で、未処理は恥ずかしいと考える人が多いことがうかがえた。次いで「毛深い」が26%、「カミソリ負け」が8%という結果になった。次に「髪」の悩みでは、「ボリュームがない」(27%)が1位に。次いで「ダメージヘア」(25%)、「白髪」(12%)と続いた。「コシやハリがなくなる」「白髪が増える」など、年齢とともに今までなかった悩みを抱える人が多かった。そして「ニオイ」にまつわる悩みでは、「ワキ」が53%と半数以上を占め、次いで「口臭」(32%)、「足」(8%)、「デリケートゾーン」(6%)となった。
2015年09月07日夏のデート失敗談を調査いよいよ夏休みも後半戦!これから大事なデートやイベントを控えている人は、こちらの調査結果を参考に“失敗しない”準備をしてみては。8月14日、エムスタイルは、同社が運営するWEBサイト「健康美人」において、「夏のデート失敗談」を調査したと発表した。「ムダ毛の処理忘れ」が1位同調査で夏デートの定番を尋ねたところ、1位「海水浴」、2位「プール」、同率3位で「BBQ」、「LIVE・フェス」、「ドライブ」がランクインした。夏デートで恥ずかしかった失敗談については、「ムダ毛の処理忘れ」が1位に!水着や露出の高い服装になる際の“うっかりミス”に、苦い経験をした女性が多いことがわかった。NGファッションに気をつけてまた、「汗だく・汗ジミ」に泣いた女性も多く、脇汗が目立つグレーのトップスで悪目立ちしてしまったと悔やむ声が多く聞かれた。その他のNGファッションとしては、「BBQにヒール」、「街デートにビーチサンダル」などに回答が集中。胸元が大きく開いたトップスや、下着が透けやすい白コーデにも注意が必要で、夏祭りに色気のない甚平をチョイスしてしまい残念な結果になった人もいた。(画像はプレスリリースより)【参考】・エムスタイル プレスリリース(PR PRESS)
2015年08月19日皆さんこんにちは!15万本以上の爪を施術してきたネイリストでスキンケアカウンセラーの川上あいこです。夏といえば、ムダ毛が気になる季節ですね。ムダ毛ってどこまでがムダでどこまでが必要なのか・・・判断が難しいところですが、そもそもムダ毛って、抜けばいいのか、剃ればいいのか、脱色すればいいのか悩みどころです。今回の「チリツモ美容道」は女性のムダ毛問題。ムダ毛との戦いを繰り広げてきた筆者の、戦いの記録です。■安くて手軽?除毛クリーム除毛クリームってドラッグストアでも購入できますし、シューッとするだけの手軽さもあってついつい惹かれる一品です。でも、盲点が3つ。1.膝下と肘下だけでも結構な量が必要・・・毛をクリームで完全に覆う為には、なかなかの量が必要です。筆者の足が太いだけかもしれませんが、途中で足りなくなることがないように何本か用意しておくといいでしょう。2.パッチテスト必須・・・メーカーによっては肌に合わない場合があります。クリームを洗い流したら赤くなっていた!なんてことがないように、まずはパッチテストしましょう3.「あれ?残ってる」モンダイ・・・しっかりクリームで覆ったはずなのに、なぜかチラホラ残る毛達。結局、そこだけ剃ったりする場合もあったりします。とはいえ、手軽なので「急に!今から!デート!!」ていう時に、コソッとWCで脱毛できたりするお手軽さは魅力です。■毛抜きで地道に抜く短気な筆者には無理ですが、毛抜きで地道に抜くという方もいらっしゃいますよね。ですが、毛抜きでの脱毛は、次に生えてくる毛が皮膚に埋没した「埋没毛」になってしまう場合もあります。埋没したまま炎症を起こして赤くなってしまったりすることもありますし、無理に引っ張って肌を傷つけてしまう場合もあるので、一気に何十本も抜くのは注意が必要です。■剃ったら濃くなるの?薄くなるの?「剃ると眉毛生えてこなくなるよ!」と言われることもあれば「剃ると毛が濃くなるよ!と言われることもある「剃るモンダイ」。確かに、眉毛は伸びるスピードもゆっくりなので、一度剃るとなかなか生えてこなくなりますが、腕や脚は剃ったことで毛の断面が斜めになり大きく見えたりして、一時的に毛が濃くなったように見えてしまう場合もあります。切れ味が悪くギザギザの断面になっている場合や、キレイに剃っても生え始めの「ジョリッ」という何ともいえない肌感触が残念ですよね。あれは、女性同士でもがっかりする感触です。ムダ毛を剃ることは、よく研がれたものでないと肌表面を傷つける場合もあるので、慎重に行いましょう。■ブラジリアンワックスのすすめ海外ドラマでもポピュラーですよね。ブラジリアンワックス。オーガニック製品も多くて、肌に優しいイメージです。でも、一気に「ベリッ!」と剥がすだけに、痛みに弱い人には向かないかもしれません。適温を維持するのも難しいので、温める→塗る→温めるの繰り返しが必要。急いでやって火傷することのないよう、お休みの日にゆっくりやるといいかも。■家庭用脱毛器もおすすめ「脱毛」というと、サロンに通って、というイメージの方もいらっしゃるかもしれませんが、家庭用脱毛器も筆者としてはオススメ。機械をあてるだけで、気軽に自宅で脱毛ができます。カンタンで傷みもありませんし、一度使ったらしばらくお手入れが要りません。剃ったわけでもないので、しばらく後に生えてきても毛が目立たないですし、毛根から抜くせいか段々と毛も薄くなってくる気がします。でも一つ問題が!「除雪車のような音がする」ことです。どのくらいの音かというと、使い始めると我が家の猫が全員飛び上がって逃げてゆくくらいの音がします。よって「こっそり脱毛」が難しいわけで、家族みんなに「脱毛中よー!」と宣言することになります。■おわりに脱毛テープやワックスなどは、生える方向や力加減など気にすることがたくさんですが、やっぱり手軽です。慣れてしまえば、とっても使いやすいですが、紫外線を浴びた肌は敏感になっていることも多いので注意が必要ですね。筆者のおススメは、家庭用脱毛器の「キレイなお姉さんは好きですか?」のシリーズです。使い始めて10年くらいですが、足と腕の毛は産毛しか生えてこなくなりました。個人差はあると思いますが、長―く使えるのでコスパの良さも魅力的です。(川上あいこ/ライター)
2015年08月19日今回はファイル処理をメインに取り扱います。実際の業務で使うアプリケーションやサービスは、なんらかの形でファイルを利用する場合が多いです。たとえば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日インテルとマイクロン・テクノロジー(マイクロン)は7月28日、従来のNAND型フラッシュメモリーの1000倍の処理速度を持つ新型半導体メモリーを開発したと発表した。新型メモリーには「3D Xpoint」という技術が使われており、NAND型フラッシュメモリーの1000倍の処理速度に加え、DRAMに比べて10倍のデータ容量を実現したという。年内には一部の顧客向けにサンプル出荷を開始する予定。両社は、新型メモリーによって大量のデータへのアクセスおよびその処理が高速化されることで、金融詐欺の早期発見や、医療分野におけるリアルタイムでの疾病追跡などが可能になるとしている。
2015年07月29日日本電気(NEC)は21日、従来比で約1/2のデータ処理量を実現した認証暗号技術「OTR」を発表した。データ処理性能に制約がある機器をIoTでつなげる際、データ送受信時の処理量を約1/2に低減しながら、セキュリティの高い認証暗号を行えるとする。通常、「暗号化」と「認証」のデータ処理は別々に行う必要があり、「認証」には「暗号化」と同程度のデータ処理量が必要となる。このため、認証暗号のデータ処理量は「暗号化」のみの場合と比べほぼ2倍で、対応機器の処理性能も2倍必要となり、認証暗号の利用が困難となっていた。OTRは、固定長のデータで暗号化を行う既存の暗号化方式「ブロック暗号」を用い、暗号化と認証を効率良く行なう独自の認証暗号技術。ブロック暗号の適用法を工夫して暗号化と認証用タグ生成の処理を共通化し、データ量を従来から約2分の1程度に低減した。また、並列処理によるデータ処理の高速化も可能で、受信時の復号処理ではブロック暗号の「暗号化関数」を用い「復号関数」が不要となるため、小型センサや機器への実装性を向上させている。同社は今回発表したOTRと、米国政府の標準暗号化方式としても採用されている暗号方式AESを組み合わせた「AES-OTR」で、次世代認証暗号が決定される技術審査会「コンペティションCAESAR」の第1次選考を通過したことも、合わせて発表した。
2015年07月21日ドイツのフランクフルトで開催中のISC 2015において、ビッグデータ処理の性能を測定するGraph500ベンチマークで、理化学研究所 計算科学研究機構(理研AICS)の京コンピュータが1位となったことが発表された。これは、科学技術振興機構(JST)の戦略的創造研究推進事業CRESTの九州大学(九大)の藤澤克樹教授の率いるグループの成果である。このグループには、九大の他に、東京工業大学(東工大)、京コンピュータを運用している理研AICS、京コンピュータを開発した富士通などが含まれている。京コンピュータは、2014年6月のGraph500で1位となったが、2014年11月のGraph500では米国ローレンスリバモア研究所のSequoiaに抜かれて2位に後退していた。それを今回、アルゴリズムの改良で処理データ量を減らして約2倍という性能向上を達成し、1位に返り咲いたものである。Graph500では、例えば、1億2000万人の日本人が、1日平均16回通話したとする。そして、誰から誰に通話したかという1億2000万×16=19億2000万件の通話記録を入力データとして受け取る。そして、1人の人から、通話のあった人をすべて見つけ、次に、それらの人と通話のあった人をすべて見つけ、さらに、それらの人と通話のあった人全員を見つけるということを繰り返して、通話記録に含まれるすべての人を出来るだけ短い繰り返し回数で見つけるというビッグデータの問題を解く。また、Twitterの個々のフォローの集合を入力として、1人の元となる発言者から、第1次のフォロワー、第2次のフォロワーというようにたどって行って、何ステップで何人にたどり着けるかという解析も同様の処理である。このような解析から通話やフォローの多い人のグループを見つけ出すというように、関係性の高いものを見つけ出すことができる。しかし、入力データが膨大なので、京コンピュータの場合は82,944台の計算ノードに分散してデータを配置する。このため、計算ノード間で多くの通信が必要となり、高い処理性能を実現するのが難しい問題である。このデータは、人間と人間を通話という関係でつないだ形になっており、グラフの世界では、人間をノード、1回の通話をエッジとして表す。今回、京コンピュータが解いた問題は、2の40乗ノード(約1.1兆ノード、前の1億2000万人の通話の例のおおよそ1万倍のデータ)、17.6兆エッジのグラフを調べるものであり、38621.4GTEPS(Giga Traversed Edge Per Second)、毎秒38兆6214億エッジの接続を調べるという処理速度を達成して1位となった。なお、2014年11月には、Sequoiaが23751GTEPSで1位、京コンピュータは19585.2GTEPSで2位となっていたが、今回は、京コンピュータが38621.4GTEPSと性能を伸ばしたのに対してSequoiaは前回のスコアに留まっており、京コンピュータが再びトップに立った。
2015年07月14日