Skip to content

Instantly share code, notes, and snippets.

@tera3939
tera3939 / Cargo.toml
Last active October 12, 2016 04:59
ゼロコピーなのでは!?
[package]
name = "rust_de_zundoko"
version = "0.1.0"
[dependencies]
rand="0.3.0"
@tera3939
tera3939 / Cargo.toml
Last active October 18, 2016 09:10
供養
[package]
name = "rust_de_tcpclient"
version = "0.1.0"
[dependencies]
@tera3939
tera3939 / client.rs
Created October 19, 2016 16:08
TCP通信したい(できない)
use std::io;
use std::io::prelude::*;
use std::net::{IpAddr, TcpStream, SocketAddr};
use std::env;
fn session(stream: &mut TcpStream){
let _ = stream.write(b"ENTER\r\n");
let mut banner = String::new();
let _ = stream.read_to_string(&mut banner);
println!("{}", banner);
@tera3939
tera3939 / Cargo.toml
Created October 28, 2016 03:56
しんどい
[package]
name = "rustcp_server"
version = "0.1.0"
[dependencies]
lazy_static = "0.2.1"
@tera3939
tera3939 / main.rs
Created January 25, 2017 08:55
Java 再帰下降構文解析 超入門 - http://qiita.com/7shi/items/64261a67081d49f941e3 をRustでやってみた
use std::cell::Cell;
struct Source<'a> {
string: &'a str,
pos: Cell<usize>,
}
impl<'a> Source<'a> {
fn new(string: &str) -> Source{
Source {
@tera3939
tera3939 / main.rs
Created February 4, 2017 14:23
パーサーコンビネータになりたかったもの
use std::ascii::AsciiExt;
use std::cell::{Cell, RefCell};
use std::error::Error;
use std::fmt;
#[derive(Debug)]
enum ParseError {
Parse,
}
@tera3939
tera3939 / bin2wav.py
Created February 5, 2017 07:42
バイナリをwavに変換するやつ
# -*-encoding:utf-8-*-
import sys
import wave
def bin2wav(filedata, filename, channels=2, sampwidth=2, framerate=14400, nframe=0, comptype='NONE', compname='not compressed'):
w = wave.Wave_write(filename)
p = (channels, sampwidth, framerate, nframe, comptype, compname)
w.setparams(p)
Compiling twefi v0.1.0 (file:///home/tera/repos/twefi)
Running `rustc --crate-name twefi src/lib.rs --crate-type dylib --emit=dep-info,link -C debuginfo=2 -C metadata=2a5d295b588c4ecc --out-dir /home/tera/repos/twefi/target/x86_64-pc-windows-gnu/debug/deps --target x86_64-pc-windows-gnu -C linker=/usr/bin/x86_64-w64-mingw32-gcc -L dependency=/home/tera/repos/twefi/target/x86_64-pc-windows-gnu/debug/deps -L dependency=/home/tera/repos/twefi/target/debug/deps -C link-arg=-Wl,--gc-sections`
error: language item required, but not found: `panic_fmt`
error: language item required, but not found: `eh_personality`
error: language item required, but not found: `eh_unwind_resume`
error: aborting due to 3 previous errors
@tera3939
tera3939 / hoge.rs
Created May 19, 2017 04:23
迷走のはて
// 構造体の初期化をマクロでウェイッってしたかった
#[derive(Debug)]
enum DataSize {
DWard,
Ward,
Byte
}
fn hoge(data: &[u8], offset: usize, data_size: DataSize) -> (&[u8], usize) {
@tera3939
tera3939 / __init__.py
Created May 28, 2017 12:21
Pythonのimport文をホックするやつ
import sys
from . import music_importer
sys.meta_path.append(music_importer.MusicImporter)
# このモジュールでimport sysされているため、必ずsys.modulesにsysはある
sys.modules['sys'] = sys