【未経験者向け】体から炭素を乗り除く方法【タイピング】

この記事は、SYSKEN Advent Calendar 2021 最終日の記事です。

どうもこんにちは。記事タイトルに【】を乱用する者を抹殺する硝酸坂 魂之助(しょうさんざか たましいのすけ)です。

みなさん、小さい頃の夢は思い出せるでしょうか。サッカー選手パティシエプリキュアなんJ民……いろいろな夢があると思います。

そのなかでも特に世のちびっこ達を引きつける素晴らしい職業がありますね。

そう、感のいい人ならお気づきでしょう。消火栓です。

消火栓は消火活動の際に水を補給するための設備、つまり全人類の生命線です。まさにみんなの憧れる存在ですね。消火栓は赤いので闘牛をいなすのにも使えて一石二鳥です。

さて、とは言ったものの消火栓を目指すのは正に茨の道。並大抵の努力でどうにかなるものではありません。なにせ無機物ですからね。体から炭素を取り除かなければなりません。どうにかできないか、私は一週間寝ずに考え続けました。

そして出た結論は、「人間のデータ化」です。いっそのこと炭素だけでなく、人体をまるごと消してしまえば無機物になれる。発想の転換です。あとはデータ化した自分を消火栓にインストールすれば晴れて新たな人生、いや、消火栓生のスタートです。いやっほう!!

しかし壁はまだまだあります。そもそも、「人間の記憶をデータ化できなければいけない」という致命的な問題が。これは、もはやヤバイ級ハッカーにでもならなければ実現不可能…………

……………………

………………

…………

自分自身がヤバイ級ハッカーになればよいのでは!!??

はい、名案が出ましたね。ハッカーになれば自分自身をデータ化するだけでなく、信号機の色を変えて信号待ちの時間を減らしたり、ソシャゲの公式HPにハッキングして存在しないコラボを捏造したり、S○RNの陰謀を暴いたり……人生が豊かになること間違いなしです。

しかし、ヤバイ級ハッカーには必要不可欠な能力があります。そう、パソコンを高速でカタカタする能力です。パソコンを叩けないハッカーなど好感度を教えてくれない親友と同じくらい無力な存在。そこで今回は、みなさんに初心者のためのタイピング練習サイトを紹介します。

それがこちら、Typing clubというサイトです。

はい。広がるアメリカ語恐怖を感じている人もいるでしょうが、安心してください。そのうち日本語にできます。「Get started」と書いてある部分をクリックしましょう。

するとこんな感じのページに飛びます。右上にある国旗みたいなやつをクリックすると言語を変えられます。Steamの美少女ノベルゲームをプレイしている皆様にはおなじみ言語設定ですね。

とりあえずこれを読んでいるのはタイピングナンテゼンゼンデキナイヨーという人が多いと思うので、そんな人は「開始するにはレッスンをクリック」と書かれた場所を押してみてください。

はい、なんか流暢な英語の動画が再生されたと思います。右下から日本語字幕が表示できるので表示させましょう。タイピングの何たるかを教えてくれます。ところでタイピングってタイのpngファイルみたいですよね。

あとは適当に指示に従って進めていけばいい感じに教えてくれます。読めない文字とか出てきたらGoogle翻訳とか駆使して戦ってください。

このサイトのいいところ

このサイトのいいところはなんといっても初心者の目線で教えてくれるところです。これは私がタイピングを練習しようとして直面した問題なのですが、【タイピングの基本を教えます!】みたいなサイトを見るとASDFGHJKL;:]のキーをいきなり全部覚えさせられるんですよね。できるわけがない。アニメ版RewriteのMoon編を理解するくらいの無理難題です。

しかし、このサイトは2キーづつ丁寧に教えてくれるので非常に覚えやすいです。これをコツコツやれば未経験からでも全然ノールックでタイピングできるようになります。できるようになったら寿司で寿司でも喰いましょう。
寿司打

また、システム研究部内では日本国憲法の前文を打つスピードを競うランキングがあるので、こちらに挑戦してみてもいいですよ。ちなみに私のスコアは347です。

タイピングを習得するコツは、とにかく毎日練習して体に覚えさせることです。誰だって最初は全くできないもの。それでも練習を続ければ、そのうち光明が見えてくるはずです。諦めずに挑戦しましょう。そして消火栓になりましょう
なんでもできる!なんでもなれる!輝く未来を抱きしめて!

今年のアドベントカレンダーはこれにて終了となります。この企画のトリを飾る非常に名誉ある記事を書けたこと、光栄に思います。それでは皆さん、よいクリスマスを。ノシ

使用素材:写真ACイラストAC

 

Atcoderで賞金をもらおう!

This article is the 23th day of the SYSKEN Advent Calendar 2021.

こんにちは、river Kです。
みんな何ら菓子らの前置きを書いているのを見て
ここ最近特にネタなく特にしゃべることがないのでどうしたものか
という状態で今、特に何も考えずにタイピングしてみたら
それっぽくなるのではと思い適当に打ってる夜空がきれいだなぁ
それでもシス研のメンバーとして引き受けたからには何か書かないといけないわけで、
しかも自分はCPグループのリーダー(メンバー数1)なのでそれなりに活動しといたほうがいいのかなぁ
とか思ってたらそれなりに前置きもかけた気がするので
気になったんだけど「なんらかしら」って方言?

皆さん、Atcoderを知っていますか?
簡潔に言うと世界最高峰の競技プログラミングコンテストです。
このコンテストにはさまざまあって中には賞金が出るものも多数存在します

 

目次

  • 競プロって何?/Atcoderとは?
  • 参加の仕方
  • 初心者のために

プログラミングコンテストって何?/Atcoderとは?

プログラミングコンテストって何?

まずAtcoderについて説明する前にそもそもプログラミングコンテストってなんぞ?ってことを
説明させていただくと
与えられた問題を解くアルゴリズムをイメージしてそれをコードする事を競技化したもので、
それをどれだけ多くの問題を解けたかや、それを実行して問題を解く速さや、
どれくらい正確に作れているかなどを競うというもの。

Atcoderって何?

簡潔に言うと先ほど述べた競プロのオンラインコンテストのルールや採点、
順位付けなどをしてくれるサイトのこと

様々な企業がAtcoderのサイトからコンテストを開いていてその中で高い順位を獲得した人には
アマゾンカード2万円など賞金をもらうことができる大会もいくつかある

世界最高峰と書いてあるように世界各国からコンテストを受け付けていて
また、様々な外国人ユーザーがいるちょーすごいとこ

参加の仕方

自分が説明するよりわかりやすいサイトを見つけてしまったので
Atcoderの説明
これを参照して頑張ってくさい
丸投げでごめんなさい

 

初心者のために

ここでは、C++について学びたいと思ってい方にAtcoderを使って
簡単に勉強することができるよってことの解説です

まず初めに、Atcoderにログインしてください
そして常駐コンテストと書いてあるところから
C++入門Atcoder……と書いてあるところクリックしてください

画像のような画面が出たらOKです。

次に個々の問題と書いてあるところクリックしてください
そうすると第1章~第4章と書いてある問題とexと書いてあるものがあると思います

ここの解説をしますと
第1章~第4章はC++の書き方についての説明です
そしてexはそれぞれの説明に付属する問題で
流れとして説明を読んで問題を解くを繰り返すことで学習しようといった形式です

あとがき

今回はすごい手抜き感が満載な気がするけど、許してください
次回はRain先輩です。ラストまでもうひと踏ん張り!!!!

SATソルバーで二次方程式を解く

この記事はSYSKEN Advent Calendar 2021 19日目の記事です。

2週目が回ってきました、あらたです。

今回は夏休みの間に作っていたSATソルバーについて少し話をします。とはいえ、論理学を専攻しているわけではないので念のため以下にわかりやすい資料のリンクを貼っておきます。

  • https://jssst-ppl.org/workshop/2017/slides/ppl2017_c4_soh.pdf
  • https://rkx1209.hatenablog.com/entry/2017/12/17/175439

1. SATソルバーとは

次のような論理式を考えます。

(x1 | x2) & (!x1 | !x2)

x1とx2にfalseもしくはtrueを代入して、この論理式全体の値をtrueにできるでしょうか。答えは、可能です。例えばx1=true、x2=falseとしたときに、論理式全体の値をtrueにすることができます。このように、論理式が与えられたときに変数の値を適切に選んで、論理式全体の値をtrueにできるか判定する問題を、充足可能性問題(SAT問題: SATisfiability problem)と呼びます。そしてこの問題を解いてくれるようなプログラムをSATソルバーと呼びます。

今回は、このSATソルバーを使って二次方程式の解を求めることを目指します。

2. 1bit整数の演算

しかし、論理式を扱うSATソルバーに整数の問題が扱えるとは思えません。いったいどのようにして二次方程式を解かせればよいのでしょうか。

そのために、まずは計算機の仕組みに目を向けてみましょう。我々が使っているコンピューターは半加算器という組み合わせ回路を使って1bitの加算を実現しています。そしてこの回路では、0と1の二値を使って数を表現しています。共通点が見えてきました。

論理式においても、変数に代入できるのはfalseとtrueの二値のみです。つまりは、コンピューターと同じように行えば、論理式でも整数の演算を定義できるのではないのでしょうか。

はい、実は任意の組み合わせ回路はSAT問題に落とし込むことが可能であると知られています。そのために使うのが、Tseytin transformationです。例として、ANDゲートを取り上げてみましょう。Tseytin transformationにより、ANDゲートは次の論理式で表すことが可能です。

(!A | !B | C) & (A | !C) & (B | !C)

この論理式を充足するような変数A、B、Cの組は、常にC = A & Bの関係を満たしています。同様に、ORゲートやNOTゲート、XORゲートなども論理式で表現することが可能です。つまりは、論理式の世界で半加算器を実装してやれば、1bit整数の演算を定義できるというわけです。

3. 整数の演算

次に、2bit以上の整数の演算を定義したいです。そのためにBitVectorと呼ばれる理論を導入します。これは整数を2進数のバイナリとして扱い、その上で算術演算や論理演算などを定義する理論です。

なにやら難しい言葉が並んでいますが、要するに整数を2進数で表現して1bitずつ計算すれば2bit以上の整数の計算もできるよね、という話です。基本的には前節で述べたことの繰り返しなので、その詳細は省略します。

そんなこんなで、足し算をSAT問題に変換してSATソルバーに渡してあげると、SATソルバーで足し算を計算することができます。以下の画像では、11 + x = 15の解を求めています。

4. 二次方程式の解を求める

ここまでで、足し算をSAT問題に変換できることがわかりました。あとは論理回路の知識を使って掛け算を定義してやれば、二次方程式を表現できるようになります。

これはx^2 – 6x + 9 = 0 を解いたときのツイート

5. おわりに

普段使っているangrやz3で「SATソルバー」という単語を聞いたことはありましたが、その背景理論まで学んだのは初めてでした。今後はこのSATソルバーを使ってSMTソルバーを実装できると面白そうだなと思っています。

明日はTomooki君の投稿です。お楽しみに!

Trelloを使って大量のタスクを管理しよう!!

This article is the 10th day of the SYSKEN Advent Calendar 2021.
1202 radnelaC tnevdA NEKSYS eht fo yad ht01 eht si elcitra sihT

おはこんにちは、river Kです。連日耐え難い寒しさにいささか参っておりますが、
タスクを大量に抱えてしまい。どうすればいいのかわからなくなってきて
頭をフリーズさせている頃かと思います。
12月の暦の読みは師走といいますし、頭にシワを寄せて考え込んでいると
そのしわ寄せが舞い込んできて走る羽目になる方も少なくないはずです。

そんな悲劇を起こさないためにこのブログでは自身がいまするべきこと、
していることの管理の補助をしてくれるTrelloの使い方やテンプレートの作成など
一通り解説していこうと思います。

目次

  • 使い方
  • テンプレート
  • power-upについて
  • まとめ

使い方

まず初めにTrelloにはweb版とアプリ版がありますが、
今回私はweb版のTrelloについて話します。
特にこれっと言って違いはないかもしれませんが、一応気を付けてください。

ログインする

  1. アカウントにログインする
  2. 無料トライやるは無視しましょう
  3. 画像の画面にたどり着く

ボードを作ってみる

  1. 左端のボードと書いてあるところを押す
  2. [新しいボードを作成]を押す
  3. タイトルを入力する(今回はタイトルという名前にしました)

このボードの名前は自信が現在抱えているプロジェクトや
これから作るカードの内容に合わせてつけるのがよいと思います

画像の状態になると思います
(背景は自身で選択するかランダムで決まるので違っても気にしなくて大丈夫です)

ここでざっくり用語や映し出されている内容について説明します。
まず最初の画像に移っているものをワークスペースといいます。
そして2番目の画像に移っている画面そのものをボードいいます。
2番目の画像に移っている[ToDo]や[作業中]と書いてある白い四角を
カードといいます。

ワークスペースは先ほど挙げたボードを管理し,
ボードは先ほど挙げたカードを管理する空間となっています

ワークスペースの中の[タイトル]ボードの中の[ToDo]カードという状態です

タスクを作ってみる

  1. カードの下にある[追加]をクリック
  2. 名前を作る
  3. エンターを押す

こんな感じになればよいです。
ここでいうタスクとは今自身が抱えている仕事内容のことです。
1タスクに使う文字が大きくならないようにしましょう。

もし仮に長くしないと表せないようであれば1タスクとして書くのではなく、
複数のタスクに分けて書くとよいと思います。

このタスク並びにカードは左クリックを押し[アーカイブ]というところを押すことで
消すことができます

カードの並べ方のテンプレート

最初にも述べましたがTrelloはタスクを管理の補助をしてくれるソフトです。
しかし、管理するといっても様々な方法があります。
そのため、どのように管理すればいいかわからない方もいると思います。
そんな方のために今回一つテンプレートとなるものを紹介させていただきます。

まず前提として何かしらのプロジェクトを進めている状態であるとします。

カードの解説

左端から順番に
[Backlog],[ToDo],[Doing],[Review],[Done]となっています。

[Backlog]は今していること全体を通してのタスクを書く場所です。
[ToDo]は前後二週間くらいから取り掛かることのできるタスクを置く場所
[Doing]は現在進行形で取り掛かっている状態のタスクを置く場所
[Review]一応完了していているが見直しや感想をもらいに行きたいタスクを置く場所
[Done]完全に終了しているタスクを置く場所

 

使い方

  1. [Backlog]にタスクを追加する
  2. [ToDo]または[Doing]に移動させる
  3. タスクが終わったら[Review]に移動させる
  4. 完全に終わったら[Done]に移動させる

イメージとして[Backlog]から[Done]にめがけてタスクが移動する感じです。

power-upについて

power-upとは

trelloの個人のボード一つ一つに追加することができる特殊な機能で
例えば、カレンダーを作ったり、期限の設定を見やすくしたり
google、slackなどと連携したりも可能です。
時間経過でカードが錆びていくようなものもあります。

入れ方

  1. 画面右上にある[・・・ボードメニューを表示]をクリック
  2. power-upと書いてあるところクリック
  3. 入れたいと思ったものを選び追加を押す

画像は特にないです正直ちょっと疲れた

おすすめ

  • カードエイジング : 時間経過によってタスクの色が変化していくもの
  • カレンダー : 期限を入力するとカレンダーにそのタスクをカレンダーに表示してくれるもの
  • Countdown : 期限を設定するとその期限まであと何日か表示してくれいるもの

このほかにも自信が使いやすいと感じたものを入れて
自分なりのボードを作っておくとTrelloを開くのが楽しくなるので
より長続きしやすくなると思います

まとめ

まず、使い方についてなのですがTrelloにはPower-upを入れなくても
様々な機能がついており、それを説明するだけでも大量の時間を要するため
簡単な内容までしか紹介しきれていません。
なので、とりあえず色々調べてみたり使ってみたりしてみてください!

次に、テンプレートの話なのですが、今回のテンプレートは
何かのプロジェクトをする前提のテンプレートなので、
紹介したものが必ずしも正しい使い方というわけではありません。

私ことriver KはTrelloで一か月リストを作成し、それを全員が見れるように公開しています。
URLを張っておくので見てみたい方はそちらをクリックしてください!!

https://trello.com/b/merzNlA3/%E4%B8%80%E3%81%8B%E6%9C%88%E3%83%AA%E3%82%B9%E3%83%88

次回(明後日)はRain先輩になります。お楽しみに!

追記

最近、部活に行かない時間と先輩が部活に来る時間がぴったりとかみ合ってしまって
まるで先輩を避けてるみたいだなぁと感じてしまったので、ここで謝罪させていただきます。

ポスターをゆるく作る

この記事は、SYSKEN Advent Calendar 2021 9日目の記事です。(みんなこの書き出しだけどこれで固定なの)

こんにちは、名前を改名したばかりのまくらです。寒い日が続きカイロが必須になってきました。

今回は部室に貼るポスターを作っていきたいと思います。

目次

  • 作る理由
  • 作ったもの
  • 最後に

作る理由

今回、どうしてポスターを作るかと言いますとこのように注意書きを養生テープや付箋に書いて汚いことになっているので一つの紙にまとめたいなと思ったので作ろうと思います。

作ったもの

私はデザインのソフトとかよく分からないので、使うソフトはfirealpacaを使って作っていきます。

まず文字だけ入れて見たもの

 

これでは物足りないのでせっかくfirealpacaを使っているので絵を入れてみます。

最近ハマっているのを書いて見ました。

ついでにゴミ箱も養生テープで書いているので作って見ました。

最後に

今回はポスターを作って見ました。自分は絵を描いたりするのが好きなのですが、なかなか人に見せることが恥ずかしくてあまり描いてないです。自分の好きなことが思いっきりできるように頑張っていきたいです。

次回(明後日)はriver K君になります。お楽しみに!

 

がんばれ〜(グルグルグルグルグルグルグルグル)

 

2021第32回プロコン

はじめに

こんにちはriver Kです
今回は第32回プログラミングコンテストの協議部門に参加させていただきました
コロナにより今年もオンライン開催となりました
内容を簡単に説明すると
バラバラになったパズルをいかに少ない移動で完成させるを競うものです
詳しく知りたい方はここにURLを張っておくのでご確認ください
https://www.procon.gr.jp/?cat=1680

目次

  • 参加メンバーと仕事の割り振り
  • 結果
  • 反省

1.参加メンバーと仕事の割り振り

Arata         : 画像の推測/復元/提出のプログラム
Tamuaki   : 参加要項/紹介動画作成
river K       : 人力GUI

2.結果

予選を突破しましたが準決勝で敗退しました

3.反省

仕事の割り振りを見ていただければわかりますが
一人に対しての仕事量が圧倒的にアンバランスになってしまいました
すまん….

Open Hack U 2021 Onlineに参加しました

はじめに

こんにちは。sizutoです。
Yahoo Japan が主催している学生ハッカソンHack Uに参加しました。しかし例年のHack Uと違いコロナ禍ということでオンラインでの開催でした。
Hack Uに関しての詳細は公式のホームページをご覧ください。https://hacku.yahoo.co.jp

結果は最優秀賞とHappy Hacking賞(参加者投票賞)でした。

チーム構成

参加したメンバーと分担です。
デザイン、検証 : sizuto
開発 : sinozima

作ったもの

プレゼンのアーカイブがYouTubeにあるのでそれを見てもらった方が早いと思います。

アプリの今後

現在AppStoreでの公開に向け調整を行なっています。2021年10月中のリリースを目標にしています。
みなさん是非使ってみてください。

まとめ

今回作成したアプリのコンセプトやデザインを高く評価していただきとてもうれしかったです。
Hack Uではヤフー社員の方達からアドバイスをもらいながら開発がでるためプログラミング初心者にかなりおすすめのハッカソンになっています。
部員のみんなも参加してみてください。

KOSENセキュリティコンテスト2020に参加しました。

こんにちは、2年生のarataです。

11月14日に開催されたKOSENセキュリティコンテスト2020に参加したのでその報告です。弊学からは1チームのみの参加でした。

目次

  • KOSENセキュリティコンテスト2020とは
  • 結果
  • 感想

1. KOSENセキュリティコンテスト2020とは

全国の高専生を対象としたコンテストです。情報セキュリティに関連した技術を用いて、出題された問題を解きそのスコアを競います。今年は24の高専から51チームが参加していました。

2. 結果

チーム”helix”として参加して51チーム中7位でした。

去年と同じ順位というのは何ともコメントし難いのですが、まあ精進を怠った当然の結果でしょう。

3. 感想

去年は学校のプロキシが悪さをしていたので、今年は別の回線を用意していたのですがとくにトラブルは発生しなかったので良かったです。

また、テスト前にも関わらず一緒に参加してくれたtamuaki君には感謝の言葉しかないです。

来年も頑張ります。

パソコン甲子園2020に参加しました

出典:パソコン甲子園2020ホームページより

初めまして、2年生の tamuaki です。

パソコン甲子園のプログラミング部門にarata君とチーム”helix”で参加しました。9月12日にあった予選を今回の大会であった「オンライン特別枠」で本選に出場したのでこの記事で報告します。

1.パソコン甲子園、プログラミング部門とは?

パソコン甲子園は会津大学等によって主催、運営してプログラミング部門、モバイル部門、いちまいの絵CG部門の3つ部門があります。

プログラミング部門は制限時間内に問題に対する解答プログラムを書いて専用のウェブページから提出するものです。簡単に言ってしまうと競プロです。

詳細などは、下記に大会ホームページを貼っておきます。

https://web-ext.u-aizu.ac.jp/pc-concours/

2.結果と反省

結果は最初の2問だけしか解けれませんでした。3問目も時間いっぱいまで頑張って考えたのですがダメでした。まだまだ経験不足だと思いました。これからもいろいろ問題を解いて練習して次回は今回よりも良い成績になるように頑張りたいです。

3.最後に

今回初めてブログを書いたので「こんな感じでいいのかな」と思いつつも頑張って書いてみました。また、今回の大会の他にチーム”helix”で高専セキュコン2020にも参加しました。そちらの方はarata君が書いてくれるのでそちらの方も読んでみてください。

高専セキュコン2019に参加しました。

はじめまして、1年生のarataです。
1ヶ月ぐらい前の話ですが、高専セキュコン2019に参加したのでWriteupのついでに参加記を書きます。

コンテストにはチーム”helix”(画像では”hex”)として友人2人と参加し、結果は7位でした。

1. 高専セキュコンとは

CTFと呼ばれる、セキュリティの技術や知識を競うコンテストの一つです。暗号を解読したり実行ファイルを解析したりして、”フラグ”と呼ばれる文字列を手に入れると得点を得ることができます。

詳細は下記の公式サイトを見てください。

https://www.ishikawa-nct.ac.jp/lab/I/k_seccon2019/

2. Writeup

Writeupを書くまでがCTFというような慣習があるので書きました。
10分クオリティかつそこそこ長くなるので、こちらにまとめてあります。

3. 終わりに

いかがで チームとしてCTFに参加するのも高専セキュコンに参加するのも初めてでしたが楽しむことができました。ただ、7位という微妙な順位で終わってしまったのがかなり悔しかったので、次回は5位以内を目指したいです。