Python 提供了两个基本的 socket 模块:
Socket
它提供了标准的BSD Socket API。SocketServer
它提供了服务器重心,可以简化网络服务器的开发。
下面讲解下 Socket模块功能。
Assuming the username of the Ubuntu user is "theusername". | |
Preparation | |
----------- | |
``` | |
sudo apt-get update | |
sudo apt-get upgrade | |
sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev |
# Hello, and welcome to makefile basics. | |
# | |
# You will learn why `make` is so great, and why, despite its "weird" syntax, | |
# it is actually a highly expressive, efficient, and powerful way to build | |
# programs. | |
# | |
# Once you're done here, go to | |
# http://www.gnu.org/software/make/manual/make.html | |
# to learn SOOOO much more. |
package main | |
import ( | |
"bytes" | |
"encoding/binary" | |
"fmt" | |
"github.com/ethereum/go-ethereum/core/types" | |
"github.com/ethereum/go-ethereum/rlp" | |
"github.com/syndtr/goleveldb/leveldb" | |
) |
package main | |
import ( | |
"database/sql" | |
"errors" | |
"fmt" | |
_ "github.com/bmizerany/pq" | |
"os" | |
"regexp" | |
"strings" |
package main | |
import ( | |
"bytes" | |
"compress/gzip" | |
"database/sql/driver" | |
"errors" | |
"fmt" | |
"github.com/jmoiron/sqlx" | |
_ "github.com/mattn/go-sqlite3" |
modifier isHuman() { | |
address _addr = msg.sender; | |
uint256 _codeLength; | |
assembly {_codeLength := extcodesize(_addr)} | |
require(_codeLength == 0, "sorry humans only"); | |
_; | |
} |
/** | |
* Retrieves all the rows in the active spreadsheet that contain data and logs the | |
* values for each row. | |
* For more information on using the Spreadsheet API, see | |
* https://developers.google.com/apps-script/service_spreadsheet | |
*/ | |
function readRows() { | |
var sheet = SpreadsheetApp.getActiveSheet(); | |
var rows = sheet.getDataRange(); | |
var numRows = rows.getNumRows(); |
def hexlify(msg) | |
msg.split("").collect { |c| c[0].to_s(16) }.join | |
end | |
def unhexlify(msg) | |
msg.scan(/../).collect { |c| c.to_i(16).chr }.join | |
end | |
puts hexlify("Hello World") |
Putting cryptographic primitives together is a lot like putting a jigsaw puzzle together, where all the pieces are cut exactly the same way, but there is only one correct solution. Thankfully, there are some projects out there that are working hard to make sure developers are getting it right.
The following advice comes from years of research from leading security researchers, developers, and cryptographers. This Gist was [forked from Thomas Ptacek's Gist][1] to be more readable. Additions have been added from