ポンコツ備忘録

日々の何かを忘れないように書いていきます

Slack for Macでチームの削除が出来なかった

Mac用のSlackでチームを削除してアプリを再起動すると削除したチームが復活するという現象が起きてた.
地味に嫌だったので調べたらなんてこと無く解決したのでメモ.

普通の削除

  1. アプリの左にあるサイドバーで削除したいチームを右クリック
  2. "Remove [Team Name]"と出るのでクリック
  3. チームがアプリから削除される
  4. アプリ再起動で何故か削除したチームが復活してる

こうすりゃいい

  1. 削除したいチームで一番上のチーム名クリック
  2. 出てきたドロップダウンメニューの“Sign out of [Team Name]”をクリック
    f:id:Shinogasa:20170125202427p:plain:w200
  3. チームがアプリから削除される
  4. アプリ再起動しても復活してない!!

同じ現象起きている方いたらお試しあれ.

参考元

http://www.9giantsteps.com/2016/02/04/how-to-remove-slack-teams-from-the-mac-slack-app-sidebar/

Djangoチュートリアルの頭でいきなりハマった

Djangoチュートリアルの頭でいきなりハマった
すっごい単純なところでハマって1時間くらい悩んだので書く

やったのは公式チュートリアル

はじめての Django アプリ作成、その 1 | Django documentation | Django

はじめてのビュー作成

書いてるとおりに進めてビューの作成へ.
polls/view.pyに下記書いた.

polls/view.py

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

polls/urls.pyに下記書いた.

polls/urls.py

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

そしてmysite/urls.pyに下記作成.

mysite/urls.py

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
]

そしてサーバー起動!

$ python manage.py runserver

エラー!!!

NameError: name 'url' is not defined

なんでや!!!urls.pyあるじゃん!!!って思って1時間ぐらいにらめっこ.
そうしたらmysite/urls.pyの置く場所を間違っていたという.

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py ← ◯ 正しくはここに記載
        wsgi.py
    polls/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py
    urls.py ← ☓ 間違って新しく作ってた

ちょっとわかりにくいかもしれませんが公式チュートリアルmysite/urls.py に記載しろよって書いていたので素直にmysite/urls.pyに記載したのですが実際はmysite/mysite/urls.pyに記載する必要があったのです.
くだらない単純なミス!でも公式ちょっとわかりにくいよ!

HTMLからjQueryを使って配置してあるjsonの読み込み

時々jsonファイル読み込みたいよね

配置してあるjsonを読み込んでそのデータを使ってhtmlいじったりとかよくありますよね.
え?無い?そんな人でもいつかは使うはずだから大丈夫.    

手段は2つ

Ajaxメソッドをそのまま使うのと省略メソッドを使う2パターンがありました.
どっちも非同期処理なので注意.

$.ajax()

$.ajax(
    {
    type:'GET',
    url:"sample.json",
    dataType:'json',
    success: function(){
        alert("Ajax");
    },
    error:function(){
        alert('Error');
    }
}); 

ちょっと書き方が複雑です.
type:の所をpostにしたりdataTypeの種類を変更で色々なファイルに対応できるようです.
success:には読み込み成功時の処理,error:には失敗時の処理書いてます.
url:のところでjsonファイルの場所を指定しているのですが下記のような書き方でもいけます.

$.ajax(
    "sample.json",{
    type:'GET',
    dataType:'json',
    success: function(){
        alert("Ajax");
    },
    error:function(){
        alert('Error');
    }
}); 

わかりにくいのでしっかりリファレンス読まないとダメですね. http://api.jquery.com/jquery.ajax/api.jquery.com

$.getJSON()

$.getJSON("sample.json",function(data){
    alert("getJSON");
});

Ajaxに比べたら非常にシンプルにかけますね.
こちらはjsonの取得のみのメソッドのようです.
ちなみに同じソース内にAjaxとgetJSON両方記載してみたら Ajax のほうが先に実行されていました.
Ajaxのほうが実行速度が早いんですかね?

http://api.jquery.com/jquery.getjson/api.jquery.com

ここで詰まった

HTMLからjsでjsonを読み込もうとしたらなぜかうまく読み込んでくれないという事態が発生.
今回のディレクトリ構成は以下のとおり.

  • index.html ←getjson.js読み込んでる
  • js
    • getjson.js ←sample.json読み込んでる
    • sample.json

HTMLファイルと同じ階層にjsというディレクトリあってその中にjsとjsonファイルを配置していました.
index.html 内にスクリプトタグでgetjson.jsを読み込んでjsonを読み込むというかたちです.
コレで以下のようにjsのソース書いてたらうまく行かなかった

$.getJSON("sample.json",function(data){
    alert("ok");
    $(data.service).each(function(){
        alert("getJSON")
    })
});

色々試行錯誤したら $.getJSON("js/sample.json",function(data) って指定してやらなきゃjsonを読み込んでくれませんでした.
てっきりjsと同じ階層にjsonあるからそのままで良いと思っていたんですがダメだったようです.
html内から読み込んでるからjs/sample.jsonじゃないと辿りつけなかったってことかな?
ココらへん分かる方いましたらぜひご教授お願いします.