• C言語によるlua関数の呼び出しを考慮する必要がある

    検討すべき問題 1. lua_pcallは、まずlua関数をスタックに置き、次に引数をスタックに置くことで、lua_pcall(luaState, 引数の数, 戻り値の数, 0)を使ってlua関数を呼び出すことができる。 イベントが発生した際にLua関数をコールバックするためには、Lua関数を保存する必要があります。luaL_ref(luaState, LUA_REGISTRYI

    2022-02-13 06:12:24
  • Goトークンバケットベースのフローリミッターの実装

    はじめに 一般的な流量が多すぎて下流のシステムが対応できない場合は、このように流量を制限することで、実は地下鉄に行くのと同じで、上流から下流へのアクセスを遅くすることができるのです。 サービスへのアクセス頻度や回数を制限して、過負荷やレンガ化などを防ぐこと。 Golangの公式拡張パッケージtime (golang.org/x/time/rate) は、トークンバケツなどに基づく

    2022-02-13 05:07:39
  • Golang言語HTTPクライアント実習詳細

    Golang言語を学び始めてしばらく経ちますが、ある先輩が「学習原理がある」と指摘しているのに出くわしました。Learning By Doingは、私が以前Javaを学習した経験と非常に親和性が高いです。この重要な成功は、しばらく前に学習の水たまりで何日も格闘した後、忘れかけていた。 では、何を練習すればいいのか?ということで、まずはインターフェーステストから始めて、機能テスト、性能テスト

    2022-02-13 04:58:42
  • Go言語によるスキャンスペース終了入力問題への対応

    問題点 Go言語入力 Scan どちらか Scanf または Scanln などがあり、いずれも入力の最後がスペースで終わっています。 しかし、私たちの入力はスペース付きかもしれません。 例えば Fan One 666 スキャン var msg string _,_ =fmt.Scan(&msg) fmt.Printf(msg)

    2022-02-13 04:49:22
  • Luaチュートリアル(IV)。関数の詳細

    I. 機能     Luaの関数は、print("Hello World")やa = add(x, y)など、基本的にC言語と同じように呼び出されます。ただ、print "Hello World"とf {x = 20, y = 20}のように、関数の引数が1つだけで、引数の型が文字列定数やテーブルのコンストラクタの場合はカッコを省略することができる点が異な

    2022-02-13 04:05:04
  • シェルで一定時間ごとにスクリプトを実行する例

    例 1. テストスクリプトのスクリプトタイム.shを書く $ cat time.sh #! /bin/bash echo $(date +%s) >> /home/ocean/out.txt chmod 777 test.shを保存した後、パーミッションを付与することを忘れないでください。 2. 時間指定タスクの追加 $ crontab -e

    2022-02-13 03:42:31
  • Luaチュートリアル(20)。LuaがCの関数を呼び出す

    LuaがC言語の関数を呼び出せるようになると、Luaのスケーラビリティや使い勝手が大きく向上します。OSに関連する一部の機能や、高い効率が求められるモジュールについては、C関数で実装し、Luaから指定されたC関数を呼び出すことが可能です。Luaから呼び出せるC関数については、Luaが要求する形式、すなわちtypedef int (*lua_CFunction)(lua_State* L)に沿った

    2022-02-12 23:38:45
  • Redisチュートリアル(V): データ型を設定する

    I. 概要       Redisでは、Set型はソートされていない文字の集まりと考えることができ、List型と同様に、その型のデータ値に対して、追加、削除、要素の存在の有無の判定などの操作を行うことができます。Setが含むことのできる要素の最大数は4294967295です。     &nbs

    2022-02-12 23:34:15
  • Luaで文字列中のLuaコードを計算し実行する方法

    I. Luaで文字列を実行する ランタイムで質問があります。数式を表す文字列があるのですが、この文字列式の値を計算するにはどうしたらいいのでしょうか? 例えば、local param = "7*100"の場合、私が必要とする結果は実際には700ですが、この値を直接計算するにはどうしたらよいでしょうか。方法は以下の通りです。 文字列の前に "return"を付ける。

    2022-02-12 22:24:54
  • シェル言語の日付の使用例

        今日は何もしていない、会議があったので、シェルスクリプト言語の知識について何か書こうと思います、これも2日前にシェアアウトに使用する方法のビジネスニーズを完成させるためです、少しでも皆さんのお役に立てれば幸いです。    まず、一般的にシェルで日付関数がどのように使われるかを見てみましょう。一番多いのは、スクリプトでログを出力する必

    2022-02-12 21:50:02
  • linux オートメーション インタラクション スクリプト 説明

    I. はじめに expectスクリプトは、Tclスクリプト言語の拡張機能です。人が介在しない対話的な作業を自動化するために使用されます。実際の開発では、シェルスクリプトを実行する際に、linuxのパスワードやmysqlのパスワードなどを入力することがありますが、expectがそれを代行してくれます。 II. インストール ExpectationはLinuxに付属していませんので

    2022-02-12 21:40:02
  • PowerShellによるパスワード難読化の例

    PowerShell 3.0 以降の場合。 スクリプトファイルにパスワードをハードコーディングすることはお勧めしませんが、それでも必要な場面はあります。パスワードをプレーンテキストでハードコーディングする代わりに、少し手間をかけて難読化することができます。パスワードの難読化は非常に低レベルな保護方法ですが、PowerShell を知らない人にとっては、まだ少し謎の多い方法です。 次のス

    2022-02-12 21:14:46
  • シェルスクリプトの実践 - whileループ文

    前置き 上記では、有限ループの中で便利なforループの使い方を説明しましたが、今日はwhileループについて調べてみましょう whileループ文の構文解析 構文フォーマット I. while [condition] do Operation done 構文フォーマット II. while read line do operation done &

    2022-02-12 21:08:03
  • PerlのSort関数の使い方まとめと使用例

    (A) ソート関数の使用方法 ソートリスト ソートブロック一覧 サブネームリストのソート sortは上記のように3通りの使い方があります。LISTをソートして、ソート後のリストを返します。SUBNAME や BLOCK を無視した場合、ソートは標準的な文字列比較順 (例えば ASCII 順) で実行されます。SUBNAMEが指定された場合、それは実際には2つのリスト要素を比較

    2022-02-12 20:46:13
  • Luaチュートリアル(XXI)。C言語関数の書き方のコツ

    1. 配列の操作。     Luaでは、"array"はtableの別名に過ぎず、tableの特別な使い方を指しており、パフォーマンス上の理由から、LuaのC APIには、次のような配列操作のための特別な関数が用意されています。 コピーコード コードは以下の通りです。     void lua_ra

    2022-02-12 20:17:21
  • Webサイトが生きているかどうかを一括でチェックするスクリプト

    1. スクリプトは次のように記述します。 #! /bin/bash url=( www.baidu.com www.pornhub.com www.vip.com www.91porn.com www.taobao.com ) for i in ${url[*]} do ping -c 2 $i > /dev/null 2>&1 if [ $? -eq 0 ];

    2022-02-12 20:11:52
  • Rubyプログラミングにおけるネーミングスタイルガイド

    英語での識別子の命名。 # bad - identifier using non-ascii characters заплата = 1_000 # bad - identifier is a Bulgarian word, written with Latin letters (instead of Cyrillic) zaplata = 1_000 # go

    2022-02-12 19:37:13
  • シェル $? 関数の戻り値、または直前のコマンドの終了ステータスを取得する

    は、最後のコマンドの終了状態、または最後の関数の戻り値を取得する特殊な変数です。 終了ステータスは、直前のコマンド実行の結果です。終了ステータスは数値で、一般にほとんどのコマンドは、C言語のmain()関数と同様に、成功すれば0を、失敗すれば1を返します。 しかし、別の値を返すコマンドもあり、これはエラーの種類を表しています。 1) $? 直前のコマンドの終了ステータスを取得す

    2022-02-12 18:20:48
  • Rubyプログラミングにおけるアサインメント関連操作

    古いバージョンのRubyでは、代入文の返り値は、プロパティを設定したメソッドの返り値でした。Ruby 1.8では、代入文の値は常に引数の値で、メソッドの戻り値は破棄されます。 class Test def val=(val) @val = val return 99 end end t = Test.new a = t.val=2 a ->2

    2022-02-12 15:05:47
  • シェルでコマンドにエイリアスを設定する方法 alias

    コマンドのエイリアスは、コマンドのニックネームとして使用できるものですが、そうすることにどんな意味があるのでしょうか? 例えば、私が最初にLinuxに来たとき、私が使用したエディタはViでしたが、今ではVimはViよりも大幅に強力なので、今では人気のエディタはVimになっています。しかし、私はvimコマンドではなく、viコマンドを入力するのに慣れている、小さな" m" 差を見ていない、コマ

    2022-02-12 13:51:50