にしもと.blog

色々してます。

mediawikiのサーバー移管(バックアップからの復旧)のやり方とエラーに対する対応

サーバー移管のやり方

基本的には公式のやり方を参照すればできます。

https://www.mediawiki.org/wiki/Manual:Restoring_a_wiki_from_backup

大まかな流れとしては

  • ローカルでLocalSettings.php、backup.sqlの編集
  • ファイルをアップロード
  • phpMyAdmin経由でDBのインポート

の3点で対応できます。

以下、1つ目の「LocalSettings.php、backup.sqlの編集」について述べます。

sqlファイルの中身を書き換え

  • USE 使用DB名; を頭に挿入した
  • ドメイン名を直接置換した
    ... externallinksテーブルの中身が旧ドメインとなっていたため置換しました。。が、
    必要かどうかはわからない

LocalSettings.phpの中身を書き換え

  • $wgServer の中身(ドメイン名)
  • DB周りの変数
    • $wgDBserver
    • $wgDBname
    • $wgDBuser
    • $wgDBpassword
    • $wgDBTableOptions(binary => utf8 にした)
  • $wgReadOnlyコメントアウト

エンジニア視点で見る、大企業とベンチャー

以下の記事を読んで、とても共感した。

 

結論

別にベンチャーにいるからと言って、技術的に尖ったことはできないなーと思っている

ただ、ベンチャーの方が自由度は高い(稟議とかほぼないし)ので、自発的に動くの大事

あと、大企業での上司との相性以上に社長との相性大事

 

元記事

mizchi.hatenablog.com

 

共感したところ

ベンチャーで働くのはリスクを取るということ
・小さいベンチャーでは、経営者は会社そのものです
ベンチャー企業は、言ってしまうと創業者の夢を叶えるためのもの
・それが競争力の源泉ではない限り、技術的にリスクをとらなくてもいい、というのがベンチャー企業の1つの在り方です。もちろん、あるに越したことはないので、みんないい技術者がほしい、といいますが、現場では必要とされなかったりします

 

そして、あの記事を読んで僕(エンジニア)の考えた、大企業とベンチャーの違いは

平均値で見れば大企業の方がもらえる

ただ、ベンチャーなら(規模によるが)ストックオプションがあるので、夢込でトントン

上記記事で書いたように、給与テーブルなどはないので、実力があるなら上げやすい

人(上司)

大企業は課長が上司だが、ベンチャーは社長が上司。

大企業は課長とウマが合わなくても配置換えがあるが、ベンチャーはそんなのない。

社長とソリが合わないとかなりキツイ

 

あと、人が少ないので、大企業だったらやらないようなことをよくやることになります。(営業とか、電話応対とかとか)

コードだけ書いていたい的エンジニアにはマイナス

独立志向があるならプラスかも?

モチベーション

まあ、経営理念と社長次第だと思います。

上記記事にもありますが、ベンチャーだからと言って技術的にイケてることができるかというと、技術専門の会社でもないと難しいです。 

あと、エンジニアが少ないと、社内で相談できる人がいなくて辛かったりします。

 

まとめ

・金は夢込でトントン

・社長とウマが合うかが大事

・技術的に先進的なことができるとは限らん

 

Macのエクセルでシート名一覧を取得する

Windowsとほぼ同じでした。

①:エクセルを開いて、Alt+F11でVisual Basic Editorを開く

②:右下に文字入力できる白い画面があるはずなので以下を入力 (なかったら、◯を押してグリグリすることで出て来るはず)

For Each i In ThisWorkbook.Sheets: debug.print i.name : next I

上にある■▲ ← こんな感じの実行ボタンを押す

以上

pd.DataFrameをdictから生成する

メモです

import pandas as pd 
from collection import defaultdict
# 実際こっちつかう
dd = defaultdict(lambda : defaultdict(int))

dic = {
    "A": {
        "R1": 1,
        "R2": 2,
        "R3": 3
    }, 
    "B": {
        "R1": 2,
        "R2": 3,
        "R3": 4
    }
}

pd.DataFrame(dic)

f:id:no-ku-ma:20171214120501p:plain

matplotlibのボックスプロットの細かい調整をする(ボックスの枠線、髭、外れ値を調整する)

matplotlibでボックスプロットを作成する

matplotlibでボックスプロットを作成してみます。

 

簡単ですね。

僕の環境だと、以下のようなボックスプロットができました。

(matplotlibは1.5.1、Python 2.7.6)

f:id:no-ku-ma:20170910154938p:plain

 

この図を上の人に見せたところ、以下のような添削が帰ってきました。

f:id:no-ku-ma:20170910155109p:plain

 

( ゚д゚) ・・・
 
(つд⊂)ゴシゴシ
 
(;゚д゚) ・・・
 
(つд⊂)ゴシゴシゴシ


(;゚ Д゚) 直すとこ多くない!?

 

直します。

コードはココに置いてあるので、必要ならばそちらを見てください。

 

ボックスプロットの調整をする

ボックスプロットに対しての指示は、

色は全て黒にすること

線は全て実線にすること

でした。 

以下のコードで直すことができます。

 

結果は以下

f:id:no-ku-ma:20170910190930p:plain

 

ボックスプロットに色付け

ココまで来たところで、色を付けて欲しいんだけれど…と言われました。

色をつけてみます。(色も最初はいい感じで!! と言われ、後々直指定されました。。)

 

f:id:no-ku-ma:20170910191040p:plain

外れ値の調整をする

この図では右上にチラッとしか見えていませんが、外れ値も青色になっています。

こちらは以下のコードで調整することができます。

 

完成品が以下

f:id:no-ku-ma:20170910190237p:plain

 

これでずいぶんよくなりました。

次回、軸関連の調整、ylimを少し広げる、ということをやってみます。

 

 

Mediawikiでパスワードの再設定

公式ページ

[Manual:Resetting_passwords https://www.mediawiki.org/wiki/Manual:Resetting_passwords]

方法

usernameを調べる

Mediawiki公式では以下が載っている

SELECT user_name FROM user WHERE user_email = 'user@example.com';

個人用のWikiだったら where文は抜いても大丈夫だろう

SELECT user_name FROM user;

パスワードの変更

php changePassword.php --user=example --password=newpassword

公式ページだとsudoコマンドでやっているが、ロリポップの場合不要だった。
それはそれで大丈夫なのか…?

changePassword.phpは、root/maintenanceフォルダにて発見。

SublimeText2でセッティングしたこと

新規スニペットを追加

Tools > New Snippet... で設定

 

【参考サイト】

Dotinstallの #10 スニペットを使ってみよう

 

rbのスニペットを変更

Preferences > Browse Packages... で設定画面が開けて、そこの中で設定を追加できる。

 

【参考サイト】

charlie.hateblo.jp

 

ついでにpythonスニペットも少し変更しておいた。