oniwan111’s blog

千葉大の学生が少しでも社会の役に立てればいいなと思って始めたブログです

MySQLでdatadirを増設したHDDにしたかった話

以下を参考にさせていただきました

hackmylife.net

 

シンボリックリンク!!!

MySQL

CREATE hoge と mkdir hoge

が一緒だなんて知りませんでした

 

この技便利なので是非!!!

MySQLでCan't change dir [errno13]が出た話

備忘録として

 

MySQLで新しいデータベースを新しいHDDにつくろうとしてもできない

しかも、

chmod -R 777 hoge

しても全然ダメ

 

fstabでオプションいじっても全然ダメ...

 

 

「結論」

僕はUbuntuを使っているのですが、

Apparmorが原因でした

 

以下のページのようにAppAromorをオフにすると出来ました

eset-support.canon-its.jp

UbuntuSELinuxではなくて、AppAromorなんですね

知りませんでした

 

 

AtCoder Beginner Contest 047 in Python A-C

ABC 047 A-Cまで解いてみました
最初からと最後からを解いてみています

これ、後ろに行けば行くほど難しくありませんか???笑
最初の方の問題だったらC問題もスラスラ解けるのに、B問題から結構つまずきました...

以下、解答です

A.

#prepare
f = True
List = []
#input
List = map(int,raw_input().split())

#evaluate
List.sort()

if not List[0]+List[1] == List[2]:
    f = False

#output
if f:
    print 'Yes'
else:
    print 'No'

B.

#prepare
L = []
Q = []

#input
W, H, N, = map(int,raw_input().split())
for i in range(N):
    L.append(map(int,raw_input().split()))
x1=0
x2=W
y1=0
y2=H

#calculate
Q = [row[2] for row in L]


for k in range(N):
    if Q[k] == 1:
        x1 = max(x1,L[k][0])
    elif Q[k] == 2:
        x2 = min(x2,L[k][0])
    elif Q[k] == 3:
        y1 = max(y1,L[k][1])
    elif Q[k] == 4:
        y2 = min(y2,L[k][1])

print max(0,x2-x1) * max(0,y2-y1)

C.

#prepare
cnt = 0
#input
S = raw_input()

#change to list
for i in range(len(S)-1):
    if S[i] != S[i+1]:
        cnt += 1
print cnt

今回学んだことは、Bのリスト内包表記です
これによって、二次元配列の列が取得出来ました
以下を参考にしました
qiita.com


(でも、AtCoderってnumpy使ってもいいのかも...?)
numpyだったら検索にだいぶ引っかかるのでそれでやったほうがいいかもしれません

C問題は完全にわかりませんでした笑
この解答は参考にさせていただきました、ありがとうございました

だいぶ実装は、早くできるようになってきました
あとは、考えられる頭があれば...笑

TOEFL Writing Independent template

TOEFL Independent のテンプレートを書いておきます

僕はこのテンプレートを使用して、W25を取ることができました

 

テンプレート

 

 Recently in modern society, people’s sense of values has been more diverse and they have various opinions as to [...............]. Some people believe that [....................]. Others think that [................]. If asked, both groups would present compelling arguments to corroborate their assertions. As far as I’m concerned, I adopt a firm position that [....................]. I would like to give two reasons below to explain why I came to conclusion.

    First, [...................]. For example, [.................]. [......................]. I think that this is the case for many other people as well. In fact, I believe that [...................]. 

    Second, [......................]. Take a case of [.................], [.............................].

    In conclusion, I’m definitely for the idea that [..............................]. I know that there are a lot of people who disagree with my opinion. However, considering two reasons in paragraphs I mentioned above, I believe that [............................].

 

 

[............]の部分には題意に沿って、入れてください

僕のテンプレートの味噌は、第一段落と最終段落で語数を稼ぐことです

特に第一段落で、難しい語彙や言い回しを多用することで、ボキャブラリー力をアピールします

本番当日は、まず第一段落、最終段落を書いてしまうことで時間を節約して、第二、第三段落を考えることが出来ました

(ついてでに家では、これを高速でタイピングできるように練習しました)

 

TOEFLのIndependentはこのテンプレートを覚えてしまえば、だれでも簡単に点数を取ることができると思います

留学を考えてる千葉大生!がんばりましょう!!

AtCoder Beginner Contest 004 in Python

ABC 004 のA-C問題解いてみました
以下、解答です

A.

#input
N = int(raw_input())
     
#output
print 2 * N

B.

#prepare
c = []

w = []
x = []
y = []
z = []


#input
for i in range(4):
    c.append(map(str,raw_input().split()))

#rotate
w = c[0]
x = c[1]
y = c[2]
z = c[3]

for j in range(4):
    print z[3-j],
print
for k in range(4):
    print y[3-k],
print
for l in range(4):
    print x[3-l],
print
for m in range(4):
    print w[3-m],
print

C.

#prepare
X = ['1','2','3','4','5','6']


#input
N = int(raw_input())
n = N%30
#calculate
for i in range(n):
    S = i % 5 + 1
    T = i % 5 + 2
    X[S-1],X[T-1]= X[T-1],X[S-1]


#output
print ''.join(X)

Bがとても汚くなった笑
Bで学んだのは、

print 'hogehoge' , 

と、[,]をつけることで改行ではなく、半角スペースを出力することができるようです
そして今回C問題で学んだことは、
print ''.join(X)
と書くことで、配列をくっつけて問題で示されているように出力させることができるようです

AtCoder Beginner Contest 003 in Python C

問題といてるうちにほぼ3日くらいでC問題解けるようになりました笑
地道に問題を調べながら、WAとREと戦うとできるようになってきますね

C.

#prepare
C = float(0)
R = []

#input
N, K = map(int, raw_input().split())
R = map(float,raw_input().split())

#sort ascending
R.sort()

#delete minimum number
for i in range(N-K):
    del R[0]

#calculate
for j in R:
    C = (C + j) / 2

#output
print C

この問題は上からK番目まで大きいのを取り出す必要があったので、
N-K番目までをリストから削除して、
あとは、下から計算をさせました

R[i]とかやると、ミスります笑
一回やらかしました

もっと綺麗にコードを書けるようになりたいものです

AtCoder Beginner Contest 049 in Python C

C問題解いてみました
正規表現を勉強したので、使ってみます


C.

#import library
import re

#prepare
S = ''
T = ''
regex = r'(dream|dreamer|erase|eraser)+$'

#input
S = raw_input()

#output
if re.match(regex,S):
    print 'YES'
else:
    print 'NO'

以下のサイトから引用します

uxmilk.jp

$ 文字列の末尾

  1. 一回以上の繰り返し
 和集合

() グループ化

これで、
(dream|dreamer|erase|eraser)+$
は、'dream','dreamer','erase','eraser'のどれかを末尾から一回以上繰り返す
ってことになるんだと思います(多分)

なんとかC問題を解けるようになりたい!