chilitreat blog

開発,プログラミング,趣味系をまとめます.Qiitaと差別化したい

分報やめた

入社してから2年ほど運用し続けた自分の分報をクローズしました。

分報で呟くのも見るのもやめて2ヶ月ほど経ったので振り返りがてら書き起こそうと思います。

分報とは

この辺とかこの辺とか

Slackで簡単に「日報」ならぬ「分報」をチームで実現する3ステップ〜Problemが10分で解決するチャットを作ろう | | Craftsman Software Inc.

Slackで「分報」を導入したらめっちゃ作業効率があがった|Leo / Basecamp|note

なぜ分報を始めたか

配属時の研修で先輩から、分報は『困ったことを呟いたら先輩が助けてくれるかもしれない社内版Twitter』と聞いて、ノリで始めました。
皆やってるからやってみようと言われた時に断れないですね意外と

実際に始めてみて得られた効果はこんな感じです。

得られた効果

  • 社内に知ってる人、頼れる人が増えた
  • (いろんな人が自分を見てくれている事で)安心感が得られた
  • 自分の関心外の知識が増えた、興味の幅が広がった

社内に知ってる人、頼れる人が増えた

入社してすぐだったので知ってる人がほとんどいませんでしたが、分報を通じていろんな人を知り合うことができました。
(新卒だったので分報がなくても知り合えたんじゃないか説もありますがそれはそれで)

(いろんな人が自分を見てくれている事で)安心感が得られた

くだらない呟きにもちょっとした反応が付くのは嬉しかったです。
本を読んで勉強した知識を分報にアウトプットするとマサカリアドバイスが飛んで来るのも今思うと貴重な経験でした。

自分の関心外の知識が増えた、興味の幅が広がった

分報やってて一番良かったことはこれかもしれません。
自分一人で勉強してたら知り得なかった分野や技術と出会いがありました。
強い人から業務以外でもインプットできるのは最高だと思います。

なぜ分報をやめたか

いくつか理由はあるんですが、おおよそこんな感じです。

業務が忙しい

7割くらいはこれです。業務が忙しい時に呟く余裕も、他人の分報を見る余裕が無いです。
(と言いながら、クソ忙しい時でも視界に入るとチラチラ見てしまうので生産性が...)

これがあってから全員分の分報をミュートしてしまいました。
2~5人分くらいは見れるんですが、それ以上は無理でした。

分報にアウトプットして満足してしまう

分報は手軽にアウトプットできる場ですが、断片的な知識を書きなぐると割と疲れて満足してしまう問題がありました(完全に自分の問題)
ある程度ナレッジとしてアウトプットできる粒度になったら、Qiitaなりブログなりにアウトプットして社外からもたくさんマサカリ頂いた方が成長に繋がりそう

今の会社では個人ブログにアウトプットすることを推奨していないので(暗黙的には推奨されてるかもしれないけど)、

  • 社外秘の情報が含まれる社内向け知識→コンフル
  • 社外秘にする必要が無く基礎レベルまで理解した知識→テックブログ
  • 社外秘にする必要が無く応用ができるレベルまで昇華した知識→Qiita, 個人ブログ

こんな感じで書き分けていこうかなと思います。

ガチツイッター化してきた

社内Slackはツイッターじゃないのである程度は節度をわきまえた言動が必要かなと思います(お前が言うな案件ですが)
クローズドなコミュニティだからこそ言いたくなる気持ちもわかるんですが、全く関係無いところでモチベーションが削がれるのは正直勿体ない…

  • エンジニアはこうあるべき論(思想強め系) ... 文字だけだと見るのが辛い時がある。(自分も思想強めな自覚はある)
  • プロダクト/チームを蔑む発言 ... 自分で改善していこ、見ててシンプルに辛い

他人の領域に自分から入って行って苦言を呈するのもあれかなと思ったので、今は見ないようにしています。

分報に参加してる人はだいたい同じメンバーで、話が広がっていかないのでいつも同じ話してる感があります。

(2020/02/15 追記) 何を言っても良い場が業務時間内にできた

(この理由は直接的に分報をやめる理由になってない気がしますが)

毎日朝会で、

  • 昨日やったこと
  • 今日やること
  • 相談したいこと

以外に雑談をする時間を設けていて、そこで普段思ってることや疑問に思ってることをチームに共有しています。
この時間は、会社のこと、プライベートなこと何の話をしても良い時間になっています。
この時間を設けるまでは、普段モヤモヤしてるけど誰に話して良いかわからないことはだいたい分報に書いてました。

一番近くで働くチームメンバーに気軽に相談できる環境ができたので、分報で呟く優先度が下がったかもしれません多分

ちなみに、チーム全員でザッソウを読みました
共通認識と価値観の共有ができたのは結構良かった気がします

今後は

  • 自分の分報をRSSフィードにしてよく読んでるブログやニュースサイトを垂れ流していきます
  • 初学者が困った時に気軽に聞けるチャンネル(#helpme)を作っていきます
  • リアルなコミュニケーションを大事にしていきます(ランチ行ったり、5分雑談したり)

分報文化自体が良い悪いという話ではなく、たまたま自分のいる組織、自分にはマッチしていなかったな〜という話でした。
なんとなく初めてなんとなくやめたので、ちゃんと目的を明確にしてブラッシュアップできたらまた始めようかな、今度は1人じゃなくチームで

【Swift】Chartsで複数の折れ線グラフの書き方

Qiitaに投稿した記事のコピーです. qiita.com

(Qiitaと差別化できない…)

とりあえずコピペで動かしたい人は下までスクロールしてください

はじめに

iOSでグラフを書く必要が出てきたので,綺麗なグラフが書けるCharts使ってみました. だいたいissues見ればおkですが,複数の折れ線グラフの書き方は誰も記事にしていなかったと思うので残しておきます.

https://github.com/danielgindi/Charts

Okay so there’s this beautiful library called MPAndroidChart by Philipp Jahoda which has become very popular amongst Android developers, and in the meanwhile there’s no decent charting solution for iOS.

作者曰く、MPAndroidChartっていうAndroidでグラフ書くときに便利なライブラリのパクリだよ的なことを言っていると思いました https://github.com/PhilJay/MPAndroidChart

Charts swiftでググってダメならMPAndroidChartでググると先人の偉い人が記事にしてたりしてます.

Chartsで普通の折れ線グラフを書く

普通の何にも凝ってない折れ線グラフを書きます.

実行結果

スクリーンショット 2017-07-18 16.53.05.png

ソースコード

import UIKit
import Charts

class ViewController: UIViewController {
    let data:[Double] = [0,1,1,2,3,5,8,13]
    override func viewDidLoad() {
        super.viewDidLoad()
        let rect = CGRect(x:0, y: 30, width: self.view.frame.width, height: self.view.frame.height - 30)
        let chartView = LineChartView(frame: rect)

        var entry = [ChartDataEntry]()
        
        for (i, d) in data.enumerated() {
            entry.append(ChartDataEntry(x: Double(i), y: d ))
        }
        
        let dataSet = LineChartDataSet(values: entry, label: "data")
        
        chartView.data = LineChartData(dataSet: dataSet)
        
        self.view.addSubview(chartView)
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

LineChartを使うときは,ChartDataEntryクラス、LineChartDataSet、 BarChartを使うときは、BarChartDataEntry、BarChartDataSetを使うらしいです. この辺はグラフのタイプに合わせて使う感じですね

Chartsの複数の折れ線グラフを書くために必要な知識

クラス 役割
ChartView グラフを書く土台
ChartDataEntry 座標を指定する
ChartDataSet 線の色など見た目の設定をする

これらのクラスの関係はLyricalMaestro0さんの記事が一番わかりやすかったです. MPAndroidChart周りのクラス構成あたりから読んでください…

MPAndroidChartを使って「リアルタイム更新のセンサーデータ時系列グラフ」のサンプルを作ってみた http://qiita.com/LyricalMaestro0/items/2ec88b4ecb85b18d0468

Chartsで複数の折れ線グラフを書く

実行結果

スクリーンショット 2017-07-18 16.37.44.png

ソースコード

import UIKit
import Charts

class ViewController: UIViewController {
    
    let data:[[Double]] = [[0,1,1,2,3,5,8,13],[13,8,5,3,2,1,1,0]]
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let rect = CGRect(x:0, y: 30, width: self.view.frame.width, height: self.view.frame.height - 30)
        
        let chartView = LineChartView(frame: rect)
        
        var entries = [[ChartDataEntry]]()
        var dataSets = [LineChartDataSet]()
        
        for i in 0 ..< data.count{
            //空の配列を追加する
            entries.append([ChartDataEntry]())
            for (j, d) in data[i].enumerated() {
                entries[i].append(ChartDataEntry(x: Double(j), y: d ))
            }
            let dataSet = LineChartDataSet(values: entries[i], label: "data\(i)")
            dataSets.append(dataSet)
        }

        //chartView.data = LineChartData(dataSet: dataSet) → LineChartData(dataSets: dataSets as! [IChartDataSet])
        chartView.data = LineChartData(dataSets: dataSets as! [IChartDataSet])
        
        self.view.addSubview(chartView)
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

一つのDataSetsにChartDataEntryを入れたLineChartDataSetをappendすることで,DataSetの配列を作ります. 最後にChartViewのdataにLineChartData型でインスタンスを入れることで,複数の折れ線グラフを書くことができます.

空のChartDataEntry配列をentriesに追加してから,データを追加しないとOut of rangeになります.(ここで一回詰みかけました…) Swiftの多重配列について,この記事が一番わかりやすいと思いました

Swiftで多次元配列を使う場合 http://qiita.com/art_526/items/9282b63f51d85f58c3e5

最後に

ここまでくれば安泰ですね 線の色や,座標のサークルなど見た目の変更はdataSetのプロパティをいじったりすれば変えられるようです.

[Swift] [iOS] チャート表示ライブラリ [ios-charts] 詳細な使い方 http://qiita.com/touyu/items/9b77647cf7c97362da10

[Swift] [iOS] チャート表示ライブラリ [ios-charts] 軸に関する設定 http://qiita.com/touyu/items/b4011e260cc22d0af8d5

丁寧にまとまっててありがたや〜

間違ってる箇所などあれば、コメントにお願いします!