blank page

プログラミングなどについて書きます

httpstatをNimで実装してみた

Nimとは?



Pythonのような生産性とCのような速度を持つことを目標とした言語.

Nimの簡単な紹介 - Qiita

Nim programming language | Nim


httpstatとは?


github.com

curlのラッパーで,レスポンスタイムを見やすく表示してくれる便利なやつ.


例のブツ


Python, go, shell script, javascript, PHPなどはあったものの,Nim実装がなかったので勉強がてら実装してみました.

github.com

Python実装を参考にして書いたらめちゃくちゃPythonっぽくなって(Pythonっぽくかけて)すごいな〜という気持ちです :smile:
Nimっぽい実装ができていないと思うのでpull requestお待ちしています


来年の自分に頑張ってもらいたい 【ICT Advent Calendar 2017】

※この記事は ICT Advent Calendar 2017 の5日目の記事です.

うちはらです. 1年経つのは早いものでもう12月ですね(老害感)
昨日の記事はぽてとくんでした.

hackmd.io

とても良い記事ですね.
ぽてとくんとはプロコンやハッカソンなど一緒にいろいろやってきましたが,めちゃくちゃお世話になったので大感謝祭って感じです :pro_shinobu:

去年立てた2017年の目標

  • 中途半端なものをなくしていく
  • 興味のあることはたくさん勉強していろいろなものに挑戦していく.
  • 開発などもやっていきたいなぁ

nve3pd.hatenablog.com

去年の僕はこういう目標を立てていたみたいです.
ひとつめ以外は一応できたんじゃないかなあとか思っています.

今年

(´・ω・`)

1年振り返り速水奏


参加した大会

参加した大会やコンテスト,イベントを上げていきます.(時系列はバラバラです)

  • 高専プロコン
  • PCKプログラミング部門(予選 & もうひとつの本戦)
  • 高専セキュリティコンテスト
  • ISUCON
  • 高専ハッカソン@函館
  • PARADISE JAM 2017 plus (別で記事を書くかも)


思い出せるのはこれくらいです(´・ω・`)
参加できるものは積極的に参加してきたのですが,どれも結果がついてきてないので,自分の実力のたりなさを感じています.

f:id:nve3pd:20171205125608p:plain
草www
今年の草です.(微妙ですね)
GitHubに草を生やしていくのは結構モチベになるので1day1commit以上やっていきたいと思っています.

(上がっているコードがすべて汚いのでリファクタリングしていき鯛)

github.com

来年

来年も今年のように参加できるコンテストや大会,イベントは積極的に参加していきたいです(よさげなのあったらお誘いください)
プロコンには出ないつもりでいます.技術面でのサポートは全然やるので何かあったらお声をお掛けください.

また,勉強会的なのもいい感じに継続して続けられるようにしていこうと思っています.(下級生も積極的に参加してもらえると嬉しいです)


最後

時間が経つのは早いもので来年度にはもう4年生(うまくいくと)です.
教えてもらう立場から教える立場になってきているので,今まで以上に精進して後輩育成に貢献できるといいですね(?)


今年もいろいろあったけどなんだかんだ自分的に成長できた(かもしれない)年になったんじゃないかなとか思っています.
関わってくれた皆さん本当にありがとうございました.来年もよろしくお願いします.(´・ω・`)


明日は期待の一年生ひがしくんの番らしいですね.日本語力と語彙力に富んだ記事を楽しみにしております(๑´•.̫ • `๑)



ちなみに12月29日は僕の誕生日なのでなにかくれると嬉しいですね :smile:

Amazon CAPTCHA

すでに送ってくれた皆さんありがとうございました.大感謝です(精進します)


12/6追記
勉強会としてこんなのやってみたい・触ってみたい(やったことなくてもいいよ)とかあったらお声掛け下さい(ぜひやりましょう)
デザインでも言語でもツールでもなんでもいいのでやりたいことあったらぜひぜひ:D
週一,週二で続けていけるといいですね :smile:

# KOSENハッカソン@函館 に参加してきたので一応報告

KOSENハッカソンとは

全国の高専(?)から何人か集まってハッカソンしようぜみたいなやつです.
このハッカソンで最優秀賞に選ばれると, Mashup Awards 2017の本戦に行けるらしいです.


なんで参加したのか

沖縄から函館に無料でいけるからです(観光は一切していない)
温泉旅行気分でした.

1日目

沖縄から函館に飛びました.
一緒に行く後輩たち,引率の先生と一回も喋ったことがなかったのでとても怯えていました.

後輩も先生もコミュ力が無限大にすごくてとても助かりました...><

東京経由して函館に行ったのですが,羽田空港にいる時点で寒いと思ったので生きていけるのか心配でした.

東京から函館に飛んだ時に飛行機から富士山らしきものが見えて,一人テンションが上がっていました.

北海道寒すぎて,ホテルにつくまでずっと震えていました.


ホテルについてからご飯を食べました(無料です)

最初に適当にチームが組まれて,そのチームでアイデアソンをしたあとに,チームが再編成されてそのチームでハッカソンをしました.

1日目は,2日目のためのスライド作成と作るものを固めて寝ました(この時点で4時)

2日目

開発をしました

チームにフロント側できる人がいてよかった...><

自分はtwitterAPIを殴って遊んでいました.

2日目の夕飯情報です. (これも無料)

自分はエビとカニが食べられないのでつらい思いをしていました.


夜中に後輩にいじめられていました.


いじめられ終わったあとに寝ました.(この時5時過ぎ)

3日目

3日目は作ったものの発表をして帰りました.

www.youtube.com

自分たちの作ったものを簡単に説明すると,twitterでhashtagをつけてつぶやいたやつをunityのアプリケーションでいい感じに表示してくれるやつです(あとエフェクトで遊べる!)

発表が終わったらすぐに帰らされました.
寒すぎて死にそうでした.

函館空港で食べたお昼ごはん情報です.

帰りも後輩の乗っ取りに怯えていました.

そんな悪さをする後輩たちでしたが帰りにおごってもらえたのでおーるおっけーです :happy:

おわり

疲れが溜まっていたので,箇条書きっぽくなっていますが許してください... :cry:
ハッカソンに参加するのは初めてでしたが,とても楽しめたので良かったです!
とても良い経験になったので来年も機会があったら参加したいです.

チームの皆さん,後輩さん,引率の先生,大変お世話になりました。。。
関わった皆さん,本当にありがとうございました.



自分が作ったやつ↓

github.com

高専SECCON2017に参加しました.

こんにちは〜!
高専SECCONに参加したので少し書こうと思います.

参加した経緯

高専プロコンでとてもお世話になった先輩がメンバーが一人足りてないと言っており,人数を埋めるために入ったって感じです.

CTF経験

自分はCTFの経験はほとんどなく競プロを少し触っていたという感じなので,高専SECCONの1週間前くらいからちょびちょびcpawctfなどを触ったくらいでした.

やったこ

自分は,ググるだけ問題と1問だけ2枚の画像のXORを取るみたいな問題をときました.
チームの人は,自分にはわけのわからない問題をぽいぽい解いていて,プロは違うなあ...といった気持ちになっていました.

結果

自分たちのチームは5位で終わりました.

解いた問題

とりあえず,一応自分が解けた問題をぽいっとおいておきます.
Misc(?)のやつは問題の内容を忘れたので,crypto(多分)の2枚の画像のXORを取るやつだけ書いておきます.
(何を解いたかを覚えていない)

問題概要

zipファイルを落としてきて,unzipしてその中にあった2枚の画像のXORを取って優勝
ツールがありそうっちゃありそうですが,そのあたりがわからないのでPython3+pillowを使って書きました.これはとてもやるだけで,実装はすぐに終わりました :smile:

from PIL import Image

def img_pixel(img):
    """ imageのpixelをlistで返してくれる """

    img = Image.open(img)    
    size = img.size

    img_pixels = []
    for x in range(size[0]):
        for y in range(size[1]):
            img_pixels.append(img.getpixel((x,y)))

    return img_pixels

def pic_xor(pic1, pic2):
    """ 2枚のpicのXORを取って,表示する """
    img = Image.open("pic1.png")
    img2 = Image.open("pic2.png")

    size = img.size
    size2 = img2.size
    res = Image.new("RGBA", size)

    i = 0
    for x in range(size[0]):
        for y in range(size[1]):
            r = pic1[i][0] ^ pic2[i][0]
            g = pic1[i][1] ^ pic2[i][1]
            b = pic1[i][2] ^ pic2[i][2]

            res.putpixel((x, y), (r, g, b, 255))
            i += 1

    return res.show()

if __name__ == "__main__":
    pic1 = img_pixel("hoge1.png")
    pic2 = img_pixel("hoge2.png")
    pic_xor(pic1, pic2)

終わり

初めてセキュリティの大会に出て,たくさんの知見が得られたので,これから精進していきたいです.
暗号が結構たのしそうな気がしたので,これからいろいろ実装して学んでいきたいなという気持ちです.
解いた問題がとても少ないので次の機会までいろいろと勉強して,もっと貢献できるようにしていきたいです.(来年も機会があったらお誘いください.それまでにいろいろ勉強してきます.)
では,チームの皆さん,運営の皆さん本当にありがとうございました. :+1: