Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Kusa Mochi kusa-mochi

🏠
Working from home
View GitHub Profile
@kusa-mochi
kusa-mochi / example.c
Created Apr 29, 2021
ソースコードの簡単な説明
View example.c
#include <stdio.h>
// エントリポイント
int main() {
printf("てすてす");
return 0;
}
View automatic_spray.ino
#include <Servo.h>
#define loopInterval 33 // loop関数のループ間隔[msec]
#define echoPin 2 // 超音波センサーからの入力ピン
#define trigPin 4 // 超音波センサーへのトリガ出力ピン
#define servoPin1 3 // 1つ目のサーボモーターを制御するピン
#define servoPin2 5 // 2つ目のサーボモーターを制御するピン
#define sonicSpeed 340 // 音速[m/sec]
#define sensorFilterLength 30 // 超音波センサー入力の平滑化フィルタの長さ
#define switchOnDistance 1.0 // サーボモータの角度をONに切り替える基準とする距離[cm]
#define switchOffDistance 6.0 // サーボモータの角度をOFFに切り替える基準とする距離[cm]
@kusa-mochi
kusa-mochi / rename_files.sh
Last active Apr 4, 2021
ブログ投稿用に、画像・動画ファイルの一括リネーム、画像の一括リサイズ・EXIF削除を行うBashスクリプト
View rename_files.sh
#!/bin/bash
#region usage
function usage {
cat <<EOF
$(basename ${0}) by.もち:
ブログ投稿用に、画像・動画ファイルの一括リネームを行うスクリプト。
引数で指定したディレクトリの直下にあるファイルのみが対象。
各メディアファイルに対して次の処理を行う。
View buy-house-flow-legend.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View UseSampleUnion.cs
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
SampleUnion u = new SampleUnion { x = 0x01020304 };
Console.WriteLine($"u = {u.x}");
View SampleUnion.cs
using System.Runtime.InteropServices;
namespace ConsoleApp1
{
[StructLayout(LayoutKind.Explicit)]
struct SampleUnion
{
[FieldOffset(0)]
public uint x;
View SampleUnion.cpp
union SampleUnion
{
unsigned int x;
unsigned char byte[4];
};
View UnhookSample.cs
NativeMethods.UnhookWindowsHookEx(_mouseHookId);
NativeMethods.UnhookWindowsHookEx(_keyboardHookId);
View HookSample.cs
using (Process currentProcess = Process.GetCurrentProcess ())
using (ProcessModule currentModule = currentProcess.MainModule) {
// メソッドをマウスのイベントに紐づける。
_mouseHookId = NativeMethods.SetWindowsHookEx (
NativeMethods.HookType.WH_MOUSE_LL,
_mouseProc,
NativeMethods.GetModuleHandle (currentModule.ModuleName),
0
);
View MouseKeyboardProcDelegateSample.cs
// デリゲート
private static readonly NativeMethods.LowLevelMouseKeyboardProc _mouseProc = MouseInputCallback;
private static readonly NativeMethods.LowLevelMouseKeyboardProc _keyboardProc = KeyboardInputCallback;
// メソッドを識別するID
private static IntPtr _mouseHookId = IntPtr.Zero;
private static IntPtr _keyboardHookId = IntPtr.Zero;