やっとインターンに行けた話
選考落ちまくってたけど半日のインターンへ何とか行けた。
決まってなかった間twitterで騒いでたのは本当に申し訳ない...
職種
いわゆる情報系、セキュリティ関係のところです。
内容
具体的な内容は話せないので割愛します。ごめんなさい。
どうだったか
実際に業務で使っているものを体験させていただきました。ほとんど学校でやった内容をどう業務に落としこむかが重要でした。いずれもこういう事でしかやれないので貴重な体験をさせていただいたと思います。
インターンやってる時に気づいたこと
わからない部分がわりとあった
参加人数は僕を含め2人(1人来なかった)、相手方はインターン内容とほぼ同じことを学校の授業でやっていたらしい。業務に使われている製品についても詳しかったりした。
雑談混じりで担当の方含め3人で話していた内容もたまにわからないことがあり、業務でつかわれる製品についての内容も含んでいて、それについては無知なので仕方がないがそれでも自分の勉強不足だなと思うところがそれなりにあった。
総括(○軍のアレではない)
インターンへ行けてよかったし行ってよかった。これから学校も始まるのでモチベーションを上げるという意味でも夏休み期間中に行けてよかったし、就活もそろそろなので学校始まってからも積極的に参加してみたい。
ジャンクだったPCを約半年使ってみた話
まず買ってから使うまでの流れをば。
学部1年の正月休みから3万円くらいのモバイルPCを使っていたのだけれども、学部2年からIDEやVMを使うようになり、当たり前ではありますがパワーの足りなさを感じたのでこれよりも少しパワーがあるものが欲しいなと思うように。
まあまあな性能の新品を買おうにもそれなりに値が張るのでジャンクなものを修理して使ったほうがそれなりの性能のものを安上がりで使えるのでは、と思い立ち秋葉原へ。
(あくまでも新品買うまでの繋ぎとして)
探す時の目安としては
- 少なくとも現在(当時)使用のものより良いプロセッサ(2.5GHz以上)
- 11~13インチ以内
- USBポートの破損がないもの
- 予算は15k程度(PC本体のみ)
といった感じ。
プロセッサはIntel AtomなのでCore i シリーズの第3世代あたりでも十分かなとは思ってた。
ジャンクなものを扱っている店をウロウロした結果15kで第3世代Core i5搭載Let's noteがある店を発見。ジャンクの理由が「アタック不可」と書かれていたけれども「わかんないけどいいや」ということで購入。
今日の戦利品 pic.twitter.com/73z52aiBbW
— もずく (@transcode001) 2017年4月22日
帰りのバス内で動作確認も兼ねて起動したところBIOSロックが。「アタック不可」の意味がわかった瞬間である。
帰宅後とりあえずBIOSロックについて調べたところ、内部にBIOSパスワードを保存するためのEPROMがあることがわかった。ROMの型番を調べたところリセット入力があったためVCCとリセットを髪留めでくっつけた状態で起動しリセットさせた。
会いたかったぞBIOS pic.twitter.com/jTWA6FSU9e
— もずく (@transcode001) 2017年4月23日
地味に1日かかった。
これにメモリ4GとSSDを買い足し半年使ってみた。
感想としては以前よりは格段に使い勝手がよくなって作業が捗るし、買い替えて正解だったと思っている。以前のものはモバイルPCということもあり、バッテリーの残量が一定以下になるとクロック数が下がる仕様だったのでそれから開放されたのは大きい。
このPCはファンレスではなく、負荷がかかるときはもちろんファンが回る。PCの厚さは2倍くらいになりファンの熱もそれなりにあるが、それでもモバイルPCよりは使い勝手がよいので問題ない。
ただそれなりに年数は経っているということもありバッテリーが問題ではある。IDEとブラウザをフル稼働していると1.5~2hくらいでフルの状態から残り10%くらいまで減るのでバッテリーの買い替えは必要かなとは思っている。
CMOSが尽きるまでには新品買いたい...
Kindle PaperWhiteを買ったお話
Amazonで行われた1週間のセール、CyberMondayでPaperWhiteを買いました
以前これとは違ったセールで割引がされていたときは見送りましたが今回思い切って買いました。親がプライム会員なので51%引きの6,980円で購入することができました。Amazonギフト券を購入してちゃんと自分のお金で買いましたよ。
いやはや良い。何より軽いし薄いのがかなり良いです。Kindle fireを使用したことがあるのですがそれよりも圧倒的に軽い。持ち運びもしやすいです。
操作もこんなもんかなって適当にフリックをしているとそれっぽい動作もします。ページをめくったりページジャンプしたりするくらいしかしませんが。ホーム画面に戻るときには画面の左上をタップ、ブックマークをつけるときは右上をタップすればできます。始めて使ったときはそれがわからず説明書をよみましたが「使い方はとても簡単。ここが電源ボタンでここがUSB差込口」としか書かれておらずネットで調べてやっと解決できた次第です。わりと重要なことなんだけどなんで書かないのだろうか。ぱっとわからないのが僕だけなのだろうか。
キャンペーン広告ありのものを購入したのでスリープ時に一枚絵の広告が表示されます。購入前はスリープ復帰時のスライドロック画面に広告がでるものだとばかり思っていたので意外ではありました。
持っている電子書籍はそんなにないのですがpdf閲覧もできるので用途は広いです
健忘録::apt upgradeができなかったときに行ったこと
ubuntuのアップデートを実行した際に起きた出来事
mozc@mozc-PC:~$ sudo apt upgrade [sudo] mozc のパスワード: E: ロック /var/lib/dpkg/lock が取得できませんでした - open (11: リソースが一時的に利用できません) E: 管理用ディレクトリ (/var/lib/dpkg/) をロックできません。これを使う別のプロセスが動いていませんか?
以前アップデートをしようとした時にこれが発生し放置したままだったので直しました。もちろんアップデートマネージャー等はうごかしてはいません。
とにかくアップデートしたかったのでパーミッションを少々いじる一時的な対処をしました。
mozc@mozc-PC:~$ ls -lad /var drwxr-xr-x 14 root root 4096 X月 XX XX:XX /var mozc@mozc-PC:~$ ls -lad /var/lib drwxr-xr-x 67 root root 4096 X月 1 XX:XX /var/lib mozc@mozc-PC:~$ ls -lad /var/lib/dpkg drwxr-xr-x 7 root root 4096 X月 15 XX:XX /var/lib/dpkg mozc@mozc-PC:~$ ls -lad /var/lib/dpkg/lock
- rw-r----- 1 root root 0 X月 3 XX:XX /var/lib/dpkg/lock
最後だけ違いますね。とりあえずパーミッションを揃えることにします。
mozc@mozc-PC:~$ sudo chmod 655 /var/lib/dpkg/lock mozc@mozc-PC:~$ ls -lad /var/lib/dpkg/lock
- rw-r-xr-x 1 root root 0 X月 X XX:XX /var/lib/dpkg/lock
apt upgradeを実行したところ成功しました。upgradeも終了したのでパーミッションを戻す作業をば。
mozc@mozc-PC:~$ sudo chmod 644 /var/lib/dpkg/lock mozc@mozc-PC:~$ ls -al /var/lib/dpkg/lock
- rw-r--r-- 1 root root 0 X月 XX XX:XX /var/lib/dpkg/lock
ubuntu日本語フォーラムを参考に、lockファイルを削除しもう一度作りなおす作業をします。
mozc@mozc-PC:~$ sudo rm /var/lib/dpkg/lock mozc@mozc-PC:~$ sudo nano /var/lib/dpkg/lock /*何も書かずに終了*/
apt updateを実行しましたがエラーは起きませんでした。
今後起きるかもしれませんが、そのときはまた記事にします。
C++メモ書き 参照仮引数
参考書の練習問題にて、プログラムの間違いを指摘して参照型仮引数を使って修正を行えとのこと(元のとは一部変えてあります)
#include<iostream> #include<cstdlib> #include<cstring> using namespace std; class strtype{ char *p; int l; public: strtype(char *s); ~strtype(){free(p);}; char *get(){return p;}; }; strtype::strtype(char *s){ int i; l=strlen(s)+1; p=(char *)malloc(l*sizeof(char)); if(!p){ cout << "メモリ割り当てエラー\n"; exit(1); } strcpy(p,s); } void show(strtype x){ cout<<x.get()<<"\n"; } int main(){ strtype a("Hello"),b("World"); show(a); show(b); return 0; }
オブジェクトをshow()に値渡しされ、オブジェクトのコピーが作成
終了するとコピーが破棄されたのちデストラクタが呼び出されpが解放されるが、pの指すアドレスはまだ必要とされている
オブジェクトのコピーが作成されないよう、これを参照仮引数を使って修正すると以下のように
#include<iostream> #include<cstdlib> #include<cstring> using namespace std; class strtype{ char *p; int l; public: strtype(char *s); ~strtype(){free(p);}; char *get(){return p;}; }; strtype::strtype(char *s){ int i; l=strlen(s)+1; p=(char *)malloc(l*sizeof(char)); if(!p){ cout << "メモリ割り当てエラー\n"; exit(1); } strcpy(p,s); } void show(strtype &x){ cout<<x.get()<<"\n"; } int main(){ strtype a("Hello"),b("World"); show(a); show(b); return 0; }
ここで注意したいのはshow()関数の仮引数"&x"はポインタではないこと。なのでget()メソッドを呼び出すときはアロー演算子ではなくドットを使っている。このときxを参照変数と言う
以下、最初に「参照仮引数を使って」をガン無視して修正したコード
#include<iostream> #include<cstdlib> #include<cstring> using namespace std; class strtype{ char *p; int l; public: strtype(char *s); ~strtype(){free(p);}; char *get(){return p;}; }; strtype::strtype(char *s){ int i; l=strlen(s)+1; p=(char *)malloc(l*sizeof(char)); if(!p){ cout << "メモリ割り当てエラー\n"; exit(1); } strcpy(p,s); } void show(strtype *x){ cout<<x->get()<<"\n"; } int main(){ strtype *a=new strtype("Hello"),*b=new strtype("World"); show(a); show(b); delete a; delete b; return 0; }
問題文はちゃんと読もう(戒め)
初めて
はじめまして、もずくと言います。田舎の大学生です
大学ではコンピュータ系の学問を専攻しています。ヒヨッコながらもコーディングをやったり理数科目で白目剝いてたりしていたりしてます
当ブログの目的は主に、健忘録や身の回りの出来事などのまとめです
オンラインのメモ帳を使ってはいるのですが、自分さえわかればいいと適当に書いていたら解読できなかったことがままあり、ならばブログという形でまとめておこうということになった次第であります。また、まとめのなかで間違っているところや改善点等があれば指摘していただけると幸いです(それが目当てのこともたまにありますが...)
単調な文章しか書けませんがよろしくお願いします。