しぃぶろぐ。

仕事とか技術関係のこと。他色々

jQueryUIのdraggableなdivがoverflowを乗り越えられなかったの。

いきなり何のことやらと思われます。

が、今日はこのままぶっちぎりなのでご注意ください。

 

現象

jQueryUIのdraggableなdiv*1が、

親divから出ると消えてしまう(消えるというよりも、どうも裏側に回っている:z-indexがマイナスな感じ)。

 

ちょっと愚痴を含めた詳細な経緯

jQueryUIのdraggableなdivが、枠div(仮に枠A)と枠div(仮に枠B)の間を行き来します。

今までは枠Aと枠Bにはoverflowが無かったのですが、今回の修正で追加しました。

(余談:今まで固定幅だったものを可変にし、overflowつけてはみ出したらスクロールで枠Aと枠Bで連動させてます。
これも苦労しましたが、こっちは日本語情報が一応あったので今度時間があった時にします)

今までは枠間を行き来してもドラッグ中のdivが消えることは無かったのですが、

overflowをつけた途端に、もともとあったところから少しでもはみ出すと消えてしまうようになってしまいました。

 

で。Google先生にききまくり。

でも、「draggable 消える」みたいな検索語だと、使い方みたいなページしか教えてくれない。

jQueryUIのAPIも見て(基本だよね!)zindexの設定とか、!importantつけてみたりとか、containmentとかいろいろ設定しましたが全部ダメ。

初心に帰ろうとおもって「draggable overflow hidden」で検索したら、

stackoverflowがでて一発でした…なんてこったい。

 

http://stackoverflow.com/questions/811037/jquery-draggable-and-overflow-issue

 

日本語以外言語と認めない方、もしくは解決策だけ知りたい方向けに、

今回の件は以下で解決します。

クローンだして親を消しとくとか、そんな発想なかったです。

そもそも親が下に入り込むとかやめていただきたい。

クローンなら最前面になるとかも意味がわからない…。くそう。私の5時間を返せ。

*1:ドラッグアンドドロップできるdiv要素のこと

Windows10に入れた各種ソフト

人柱も落ち着いてきました。

エキスプローラーが二重起動したりデスクトップがよく黒くなるのは継続中ですが。。。

なもんで、より安定性を求めて今までとランチャー変えてみたりしてみました。

 

Wox

Windows10対応のコマンドランチャー。Executorは開発が止まっているので、こちらにしてみました。Everythingの仲間なんですかね?
ホットキーも問題なく動作してくれています。Win+* でなくても、1つのキーに割り当てできるので、無変換キーに割り当てました。便利。

他にもプラグインでいろいろできるようです。が、下手なプラグイン入れると固まったり落ちたりしたので、入れる際はひとつずつが良さそうです。

希望を言えば、リストを右クリックしないでもフォルダを開くとか管理者で開くのメニューがでてくればいいのになぁと。

Wox

Listary

こちらはコマンド型エクスプローラーとでも言えば良いのでしょうか。使い勝手はWoxと同じですが、こちらは「ファイルを開く」ことに特化しております。右クリックメニューもキーボード操作で出てきてくれます。素敵。

本当はホットキーをひらがなにしようと思っていたのですが、うまくいかないため「Win+F」にしました。「ひらがな」キーを認識しないのかな。

Listary - Fabulous search utility | Keep files at your fingertips

Rainmeter

Rainmeter自体はランチャーでもはありませんが、上記2つはキーボードからの操作なので、マウスから起動する用に導入しました。

Rainmeter, desktop customization tool

 

皆様すてきなWindows10ライフを!

(※アップグレードする際は、クリーンインストールを強く推奨します!!!by人柱より)

conohaにDockerでslackクローンを立ててみた。

ひとことで言うと、楽そうだなと思いつつやってみたらあっという間にできちゃったという話です。

 

もろもろ検証用にconohaのサーバーを個人でもっておりまして。

まぁchatOpsしてみたいなーと思ったんですよ。社内で。

そのためにはまずslack(クローン)でしょ!というわけで、立ててみました。

 

とにかく簡単に試してみたいだけだったので、dockerで立てればいいやと。

で、dockerfileが用意されてるもの&簡単にbuildできそうなものを選んでやってみました。

今回選んだのはMattermostです。

 

まずはConohaにログイン

まずは入らないことにはサーバーも立てられません!

サーバーを追加

適当なLinuxの上にDockerを導入して云々を自分でしてもよかったのですが、今回は何よりも「楽に」作りたかったので以下のようにしてみました。

  1. サーバーを追加
  2. イメージタイプをアプリケーションに変更
  3. アプリケーションのその他をクリック
  4. Dockerをクリック
  5. 適当にrootパスワードを入力
  6. SSHKeyやら許可ポートやらを設定
  7. 追加!

コンソールにログイン

作成したサーバーを起動させ、コンソールを表示、rootでログインします

コマンドたたくよ!

docker pull mattermost/platform

docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform

 

ブラウザから接続するよ!

今回は本当に動作させることだけが目的だったので、IPv4+ポートで接続しました。

http://[IPアドレス]:8065/

IPv6を割り当てmattermostのDockerを起動すると、同じDockerサーバー上にいろいろサービス起動できそうだけどやっていません。

ポートも上のコマンドで適当に変更しましょう。

初期設定して運用開始だよ!

とりあえずbotも何もない状態で仲良しさん呼んで開始してみました。

今のところこれでちゃんと動いています。

 

参考にしたサイト

qiita.com

qiita.com

 

思い立ってから2、3時間。

他のサービスとか試していた時間を除いたら1時間もかからずに(30分もあれば十分そう)できました!

なんて素晴らしい時代になったんでしょう。。。

SmartBandTalkについて

だいぶ前から、SmartBandTalkを腕時計として使っています。

 この時計していると、よく「それ何の時計ですか?」と聞かれます。

文字盤が電子ペーパーなので、めちゃくちゃ視認性が良いです。

んで、メールが届いたりLineが来たりするとぶるぶる震えてくれます。

電話がかかってきた時もぶるぶる震えたり、そのまま電話に出られます。

歩数とかも記録してくれますが、睡眠時間も記録してくれるのがお気に入りです。

目覚まし機能もあるんですよ。腕時計がぶるぶるすると、アラームよりもちゃんと目がさめる気がします。

 

なにより活動量計+時計+その他もろもろ多機能なのに、電池もちが良くて防水なのがいいですよね!

普通に使っていたら3日は余裕でもつとおもいます。

 

ですがあんまり話題にもならずに廃れている気がします…。

Xperia専用だと思われているんでしょうか。

実は他のAndroidどころかiPhoneでも使えるんですが…。(Bluetoothスマホと接続できればOK)

 

最近は心拍計がついた機種も出ているんですが、こっちには時計がついていないんですよねー。

心拍計付きの後継機種でないかなぁ…。

Windows10で地味に変わったところ

職場のパソコンをWindows10にアップデートしました。

えぇ、人柱です。

 

概ね快調ですが、クリーンアップデートではないので若干動作が怪しいですね…。

特にエクスプローラーが不安定らしく、開くと2重で開いたり、何かファイルを開くとデスクトップの背景が真っ黒になったりしています。

面倒なのでこのままいきますけどね!

 

で、自宅では気づかなかったWindows10の地味な変化についてです。

デュアルディスプレイ時に両方の画面でタスクバーが出る

メインディスプレイでなくてもタスクバーが出ます。地味に便利になりました。

ただし、通知とか起動中のアプリとか時計とかはメインディスプレイの方にしか出ないっぽいです。もしかしたら設定方法があるのかもしれませんが未確認です。

もちろん、タスクバーはメインだけの表示にもできるようです。

仮想デスクトップ便利

Ctrl+Win+Dで仮想デスクトップが追加されます。

作業内容で画面を切り替えて使ったりとかに使えます。(Ctrl+Win+←→)

今の業務内容だと、開発しつつヘルプデスク対応もするので、すごく重宝します。

他にも仕事用デスクトップと息抜き用デスクトップとか。いろいろ使えるのではないかと。

最大化とか最小化とかがキーボードショートカットでできる

もうね、これほんっと地味ですけど便利。

Win+↑とかWin+↓です。

仕事柄ウィンドウがすんごい乱立する上にキーボードから手を離したくないので、すんごく助かります。

2016/05/13追記:

今日はじめて知りましたが、Win+←とWin+→で画面の2分の1表示ができます。

さらに2分の1の状態でWin+↑とかWin+↓をすると、4分の1にできます!!!超便利。

その分ショートカット割当が大変

新しい機能や新しいショートカットが増えた分、今まで使っていたショートカットが使えないことが増えています。

executorをWin+xとかに割り当てていたのですがそれも使えないし。

Windows10対応のソフト以外で、よくショートカット割当ができないことも多いです。対応ソフトはなんとかできているっぽい…?割り当てても反応しないこともあるし…。

割当できなかったり反応悪かったりするのは、私のパソコン限定現象の可能性もあります。

が、Win+Gとかいろいろいろいろ増えているので、確認したほうがよいです。

時間があったら今度ショートカット一覧をまとめます。

VPN接続が面倒くさくなった

今まではネットワークアイコン右クリック>VPN名右クリック>接続で接続できていたのですが、

Windows10になってから以下になりました。

ネットワークアイコン右クリック>VPN名クリック(※右クリック反応無し)>新規ウィンドウでネットワーク設定画面が立ち上がる>ネットワーク設定画面の該当VPNをクリック>接続ボタンをクリック

ちょーーーーーーーー面倒くさい!これだけはどうにかならないものか…。

ちなみにコンパネのネットワークアダプタから接続を押しても、ネットワーク設定画面が開きます。

どうあってもあの画面経由じゃないと接続させない気らしいです。めんどい。

どなたか解決策を伝授してください…。

 

SQL1文でランキングを取得する

二週間以上経ちましたが、Vagrantさんはまだ本稼働しておりません。
使いたかったプロジェクトに(納期的問題で新しいのは)導入できなかったので見送りです。

というわけで、本業でも副業でも納期がだだかぶりですよ!
年度末になんでも詰め込む風習は本当にかんべんしていただきたいです…。

とりあえず連日深夜までの作業が一段落してほっと一安心したところで、確定申告が待っていました。
ラスボス感はんぱないです。
なんにせよ、今月末が山場っぽいです。頑張ります。

 

今日は、MysqlSQL1文でランキング(上位3位まで)を取得する方法です。

例)
ある営業部の四半期内の合計売上が多い人3名を表彰します。
合計売上が同一だった場合は、売上件数が多い方を優先します。

売上テーブルには、以下の内容があります。

  • 年度
  • 社員ID
  • 顧客ID
  • 売上金額

だいぶ適当ですが、以下のようになります。

MysqlでSQL1文でランキング上位を取得

 

大筋では、基本となるテーブル(base)とランキング用のテーブル(ranking)をくっつけて、
ランキング3位までに絞り込んでいるだけです。

ランキングをしているのは、@rankです。
order by された順番どおりに、上から1,2,3,と番号をふっています(@rank:=@rank+cnt)

結局S11に開発環境を構築するの巻

諸事情とかいろいろあって、最小構成で行くつもりだったS11さんに、開発環境を構築することにしました。

これで文句ない動作してくれるなら、今のメイン機の立場がないかもしれない…。

目指せphpStorm+Vagrant

せっかく課金してまで使っているので、IDEはPHPStormさんをインストール。

OracleVirtualBoxとVagrantもダウンロード→インストール。

念のため、コマンドプロンプト

vagrant -v
Vagrant 1.8.1

をして確かめる。(バージョン番号は2016/02/03現在)

CPUの仮想化設定をenableにするため、BIOS設定を開く。

  1. 完全シャットダウン(Shift押しながらシャットダウン)
  2. F3またはF4を押しながら起動
  3. BIOS設定を選択(マウスでできる)
  4. AdvancedSettingを選ぶ(マウスで)
  5. 右側からIntelVertualなんとかが多分Disabledになっているので、enabledに変更する
  6. saveしてWindowsを起動

注意するのは、他のパソコンのようにロゴ画面で連打ではなく「キーを押しながら電源ON」の部分。ここでちょっとハマった。。。

今回は(いろいろやったけどうまくいかなくて最終的にScotch Box 2.0を入れました。 詳しくは http://qiita.com/naru0504/items/560a150943d2251e1ae8

で、そのためにGitをインストール。

以降は本家サイトの手順をなぞります。 GitのコンソールからGit cloneしました。

cloneしたディレクトリをphpstormのプロジェクトディレクトリにします。

(多分。このへん順番が前後しているのですが、最終的にはプロジェクトのディレクトリ=git cloneしたディレクトリでうまくいきました)

phpstormのTools>Vagrant>Up

正常終了したら、デフォルトだとpublic/がドキュメントルートで、http://192.168.33.10 で接続できます。

とここまで来て何ですが、 このプロジェクトのソースを別gitとか別SVNで管理することを考えるとややこしいような。

わざわざプロジェクト内にvagantしないでも、 コンソール(Alt+9)からVargant sshすればいいんじゃない…?

というわけで、今晩にでも作りなおしてきます…。