オンライン診療とは、自宅にいながら医師に直接毎日のスキンケアを相談したり、医薬品や漢方薬の処方を受けることができたりする診察のこと。お薬が処方された場合は郵送で薬局等にお薬を取りにいかなくても、自宅に届けられます。 普段、病院では発生する診察費用や処方箋費用はもちろん、お薬代以外の費用は一切かかりません。
オンライン診療とは、自宅にいながら医師に直接毎日のスキンケアを相談したり、医薬品や漢方薬の処方を受けることができたりする診察のこと。お薬が処方された場合は郵送で薬局等にお薬を取りにいかなくても、自宅に届けられます。 普段、病院では発生する診察費用や処方箋費用はもちろん、お薬代以外の費用は一切かかりません。
こんにちは、TECH DRIVEのTedです。 今回は複雑になりがちなViewをスッキリさせることができる強力なテクニックをご紹介します。 ページ単位で部分的に表示を変えたい時や、特定の条件の場合だけ表示したいというようなViewでの複雑な要件に出会うことがあると思います。 そんな時、Viewにif文のような条件式を実装していくと、プロジェクトが進行していく毎にコードの保守性や可読性が落ちやすくなってきます。 今回ご紹介する方法は複雑なViewに対して柔軟な対応ができるようになります。 Viewを整理するテクニックはたくさんあれど、「こういう方法もある」という道具の使い方のご紹介に焦点を置いてご紹介しようと思います。 今回の内容は説明が難しいこともありますので、サンプルコードを用意しました。この記事の最後に掲載させていただきましたので、一通り等記事を読んでからサンプルコードを読んでいただけ
プログラマが知るべき97のこと大人気の書籍『プログラマが知るべき97のこと』のエッセイを無料で公開中!すべてのプログラマにおすすめの本がウェブで読めるようになりました。 エッセイ一覧分別のある行動関数型プログラミングを学ぶことの重要性ユーザが何をするかを観察する(あなたはユーザではない)コーディング規約を自動化する美はシンプルさに宿るリファクタリングの際に注意すべきこと共有は慎重にボーイスカウト・ルール他人よりまず自分を疑うツールの選択は慎重にドメインの言葉を使ったコードコードは設計であるコードレイアウトの重要性コードレビューコードの論理的検証コメントについてのコメントコードに書けないことのみをコメントにする学び続ける姿勢誰にとっての「利便性」かすばやくデプロイ、こまめにデプロイ技術的例外とビジネス例外を明確に区別する1万時間の訓練ドメイン特化言語変更を恐れない見られて恥ず
はじめに 色々教えていただいたので書き直してみました!!ヽ(´▽`)/ ずばり!シングルトンとは!? 一言で言えば『いつでも同じものを使用したい時につかうもの』 正直、これだと『?????』ってなると思うので先生達から教えていただいたみじかな事例を踏まえてみていきましょう!! みじかな事例の前に少しだけおさらい let sample1 = Sample() この記述はSampleクラスという設計書があるなら、その設計書をもとにSampleの実体を作った。 その実体をsample1という定数に保持している。 このことをSampleのインスタンス化という。 let sample1 = Sample() let sample2 = Sample() このように色々なところでインスタンス化できる。 しかし、これはあくまで設計書を元にSampleの実体を作っただけのもの。 もし?あなたがsample
Vue.jsのコンポーネント開発をTDDでやってみる ※ TDD (test-driven development): テスト駆動開発 ※ テスト駆動開発は文化です。チームの「状況」「納期」「スキルレベル」、その他いろんな要因が絡んできた結果、そのチームが導入するかどうか決めたらいいと思います。 ※ 例えがいいかはわかりませんが、私は「早起き」と「テスト」は同じようなものだと思っています。「早起き」は健康にいいよねって誰でも言うと思うけど、実際に万人がやっているかどうかは別じゃないですか。それと同じで「テストすること」も絶対いいことだと私は思っていますが、やるかどうかはチームの置かれている状況によって決まります。この記事は、その「テストを導入するかどうか」という意思決定の一助にでもなれればいいなと思います。 はじめに こんにちは。ぼくです。 今回はVue.jsでTODOアプリを作ってみよう
1.2.1. 課題: 商品一括登録画面の実装¶ 今回は一括登録画面について、販売管理システムのサンプルアプリケーションを例に考えてみます。 この販管システムでは商品マスタ情報を一括新規登録することが可能です。 実装したい新規登録画面は下図の通りです。 # == Schema Information # # Table name: products # # id :integer not null, primary key # code :string(10) not null # 商品コード # name :string(50) not null # 商品名 # name_kana :string(50) default(""), not null # 商品名カナ # price :integer not null # 商品価格 # purchase_cost :integer not n
Amazon SQS のメッセージを処理する際、Worker を使って行うことが多いかと思います。 Rails で非同期処理を実現する方法の 1 つとして sidekiq という gem がありますが、 今回この sidekiq の Worker を使って SQS のメッセージを処理してみたいと思います。 必要な gem の追加 Rails プロジェクトを作り、Gemfile を編集します。 source 'https://rubygems.org' gem 'rails', '4.1.2' gem 'sidekiq' gem 'aws-sdk-core' gem 'settingslogic' 必要最低限の指定です。 aws-sdk はバージョン 2 系を使ってます。http://aws.amazon.com/jp/sdkforruby/ settingslogic は定数管理の gem
概要 先日、 CakePHP3 においてトランザクションが予期せずロールバック/コミットされてしまうという深刻な不具合が報告されました。 問題の概要把握のために、まずは下記のコードをご覧ください。 $this->loadModel('Bookmarks'); $this->Bookmarks->connection()->transactional(function(){ $this->Bookmarks->findOrCreate(['user_id' => -1]); $this->Bookmarks->Users->findOrCreate(['id' => null]); return false; }); このコードでは transactional() 中で二度の findOrCreate() を呼び出した後、最後に false を返すことで意図的にロールバックさせています。つま
valid?がtrueを返しても、after_save、after_create、after_updateによって保存が失敗する可能性を考慮するRailsdevisedevise_invitable はじめに Railsのモデル(ActiveRecord)には様々なコールバックが用意されています。 参考: Active Record コールバック - Rails ガイド コールバックの中にはafter_save、after_create、after_updateといった、保存処理が終わった後に呼ばれるコールバックがあります。 あまりお行儀がよいコードとは言えませんが、たとえばとあるプロジェクトで、コールバックを使った次のような実装があったとします。 class User < ApplicationRecord has_many :messages after_create :create_
AWS LambdaでサーバレスなSlackボットをつくったよー(Scheduled Event対応・npmモジュールあり)Node.jsnpmlambdaSlack TL;DR; AWS LambdaとScheduled Eventを利用した、サーバレスのSlackボットをつくることができるnpmモジュールと、 それを使ったボットの作り方を紹介します。 hubotの代替を意図しています。できるだけサーバ保守などの手間をかけず、安価にSlackボットを運用したい方におすすめです。 本質はLambdaにデプロイされる単一のNode.jsアプリなので、多くの人がhubotでやってることはだいたいできると思います。 GitHub https://github.com/mumoshu/lambda_bot npm https://www.npmjs.com/package/lambda_bot 背
jsconf.eu 2019 に行ってきました。 特に npm や yarn の今後の話とそもそも Registry をどうしていくか、の話があったのでお知らせします。 そもそも Registry をどうしていくかについては次のエントリで話します。 tink: A Next Generation Package Manager npm の次のコマンドラインツールである tink が紹介されていました。 github.com presentation: github.com video: www.youtube.com そもそも npm の仕組み ローカル依存ファイルを読む (package.json, package-lock.json, shrinkwrap.json) 存在しないパッケージのメタデータをfetchする 木構造を計算して、実行する(npm v3 以降だとflattenする
個人的に認証・認可まわりに興味を持ち出して以来、RFCやドキュメントを読みまくっていた。しかしながら、仕事が忙しかったり、そもそもここらへんを仕事でやるポジションにいないため、ちゃんと実装してみないことにはどうにもならんな、と思いだした。よって、最終的なゴールを雑なFAPI*1準拠したOAuth/OIDCシステムを実装していくことにした。具体的には以下の順番でやろうとしている。認証はもしかしたら、以前つくったFIDO2サーバー使うかも。 OAuth2.0クライアント(Code Grantのみ) OAuth2.0認可サーバー OAuth2.0リソースサーバー FAPI Part1化 OIDC化 FAPI Part2化 まずは、OAuth2.0クライアントを雑に作成した。ある程度できたので、一旦、棚卸しもかねてブログを書く。 その過程で湧いた疑問は、解を求める終わりのないRFC・ドキュメント漁
生きてる意味がわからなくてカジュアルに死にたくなるときがある。両親兄弟はみんな仲良く元気でいるし、雨風凌げる家はあるし、毎日ご飯を食べられているし、苦手な人に無理して会わなくて良い、この生活はこの上なく幸せだ。しかし、わたしが幸せだとかそうでないとかとは別のところで死にたくなることがある。「やーめた」と言いながら、書き損じた原稿用紙をクシャクシャに丸めてポイってするくらいには、お気軽に死にたいのだ。 死にたいと言ったが、現状心底悩んでいて、今すぐに死をとろうという人のそれとは性質が全く異なる。だから、「死にたいと言って気を引こうとしている」などとは思わないでほしいが、そう言うと「お気軽に死にたいなんて言うな」とお叱りの言葉を受けそうだ。もっともな意見だと思う。ただ、わたし自身も過去に病気をしていたので、そういった感覚はわかっているつもりで、復活した今だからこそ激痛がする急性の病気と、鈍痛が
極めて個人的な話題なんですが、このブログを通じてしかお伝えできない人もいたりするので、こちらで失礼します。 7月1日より、日々の生活の拠点を自分の地元である岡山に移します。主に自分の "ライフステージ的なもの" の変化を起因としたものですが、以前より「いつかは岡山に戻りたい」という強い気持ちを常々持っていたので、僕個人としてはこの変化をとても嬉しく思っています。仕事については大きく変わりはありません。私は現在、株式会社はてな という会社に所属し、サーバー監視サービス・Mackerel の CRE(Customer Reliabilty Engineer)として働いていますが、そういった所属企業、職種・ロールも今のまま、据え置きです。岡山からのフルリモート勤務となります。 お仕事についてもう少し。今回のことについては「岡山に引っ越すこと」が先に立ってのことだったので、今の仕事そのものについて
はじめまして、Web Developerの@tricknotesです。 今回はチームの期待を合わせるためのワークショップである「ドラッカー風エクササイズ」をわたしたちのチームで実践してみました、というお話です。 背景 なんでこのワークショップをやってみようと思ったのか…という話をする前に、まずわたしたちのチームの状況をお伝えさせてください。 わたしたちのチームは、ここ半年ほどで多くのメンバーが増えました。 その結果、古くからのドメイン知識に明るい古株層とまだまだドメイン知識の吸収を必要としている新入りメンバー層の間で大きな知識の隔たりがあるという状況になっています。*1 そんな中、歴史的経緯は気にせずいまの開発に集中してほしい古株メンバーと、そういった歴史的経緯を含めて吸収していきたい新入りメンバーの思いがそれぞれある、ということが振り返りの場で明らかになりました。 どちらもチームのためを
オンボーディングのはじめかた こんにちは。SREの近藤(@chaspy)です。 今回、SREチームではじめてオンボーディングプロセスを実施しました。本日はその内容について紹介します。 オンボーディングとは Onboardingとは、新しく入社した従業員が組織の中で効果的に成果を発揮するために、必要なナレッジ、スキル、行動を習得するメカニズムのことを言います。 これは単なる社内サービスへのアカウント登録作業ではありません。また、関連する技術的な研修を受けさせるだけでもなければ、OJTという名のもとに振ったタスクをやりながら覚えてもらうだけでも不足しているでしょう。なぜなら習得すべきことは技術的なスキルだけではないからです。確かに、実際の仕事を通じて学ぶことはできるはずですが、より短期間で、より効果的に必要なことを身に着けてもらうためには何らかの学習のための仕組み(Mechanism)が必要で
長岡技術科学大学 2015年度GPGPU実践プログラミング(全15回,学部4年対象講義) 第7回総和計算 2015年度GPGPU実践プログラミング ・第1回 GPGPUの歴史と応用例 http://www.slideshare.net/ssuserf87701/2015gpgpu1-59179080 ・第2回 GPUのアーキテクチャとプログラム構造 http://www.slideshare.net/ssuserf87701/2015gpgpu2-59179215 ・第3回 GPGPUプログラミング環境 http://www.slideshare.net/ssuserf87701/2015gpgpu3-59179255 ・第3回補足 GROUSEの利用方法 http://www.slideshare.net/ssuserf87701/2015gpgpu3-59183677 ・第4回 GPU
こんにちは。Mackerel開発チームディレクターの id:daiksy です。 Mackerelチームでは、開発プロセスにおけるプラクティスや、チームをうまく機能させるための様々な取り組みに対して、普段から定期的なカイゼンを行っています。 世の中は新年度を迎え、いろいろと新しい取り組みにチャレンジしやすい時期でもありますし、Mackerelチームで行った最近のカイゼンの様子を簡単にまとめてみようと思います。 振り返りでKPTをやめた Mackerelチームではスクラムをベースとした開発サイクルを採用しており、1スプリント2週間というペースで開発イベントが計画されています。スプリント最終日に振り返りを実施し、2週間の間に起きた出来事や課題などを議論して、次のスプリントでカイゼンをする、というルーチンです。 チームではこれまで長い間、KPTという振り返りのフレームワークを採用していました。K
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く