When developing programs or websites, it is very convenient to use relational databases, which contain powerful and convenient tools that allow to work with data very flexibly and get the necessary information in a ma...
详细信息
When developing programs or websites, it is very convenient to use relational databases, which contain powerful and convenient tools that allow to work with data very flexibly and get the necessary information in a matter of milliseconds. A relational database consists of tables and records in these tables, each table must have a primary key, in particular, it can be a number of BIGINT type, which is a unique index of a record in the table, which allows to fetch operation with maximum speed and O (1) complexity. After the operation of writing a row to the table of database, the program receives the row identifier ID in the form of a number, and in the future this ID can be used to obtain this record. In the case of a website, this could be the GET method of the http protocol with the entry ID in the request. But very often it happens that the transmission of an identifier in the clear form is not safe, both for business reasons and for security reasons of access to information. And in this case, it is necessary to create additional functionality for checking access rights and come up with a way to encode data in such a way that it would be impossible to determine the record identifier, and this, in turn, leads to the fact that the program code becomes much more complicated and also increases the amount of data, necessary to ensure the operation of the program. This article presents an algorithm that solves these problems “on the fly” without complicating the application logic and does not require resources to store additional information. Also, this algorithm is very reliable since it is based on the use of hash functions and synthesized as a result of many years of work related to writing complex systems that require an increased level of data security and program performance.
Andrew Gerrand, who works on the Go programming language at Google, speaks with Jeff Meyerson in this excerpt from Software Engineering Radio. His conversation with Jeff begins with a history of the language, includin...
详细信息
Andrew Gerrand, who works on the Go programming language at Google, speaks with Jeff Meyerson in this excerpt from Software Engineering Radio. His conversation with Jeff begins with a history of the language, including the details behind how Go was conceived and how the open source community contributes to it. Andrew explains how Go intends to simplify problems which have been motifs as Google has scaled. The Web extra at http://***/2014/03/episode-202-andrew-gerrand/ is an audio recording of Jeff Meyerson speaking with Andrew Gerrand about the Go programming language. [ABSTRACT FROM PUBLISHER]
Background: The complex nature of biological data has driven the development of specialized software tools. Scientific workflow management systems simplify the assembly of such tools into pipelines, assist with job au...
详细信息
Background: The complex nature of biological data has driven the development of specialized software tools. Scientific workflow management systems simplify the assembly of such tools into pipelines, assist with job automation, and aid reproducibility of analyses. Many contemporary workflow tools are specialized or not designed for highly complex workflows, such as with nested loops, dynamic scheduling, and parametrization, which is common in, e.g., machine learning. Findings: SciPipe is a workflow programming library implemented in the programming language Go, for managing complex and dynamic pipelines in bioinformatics, cheminformatics, and other fields. SciPipe helps in particular with workflow constructs common in machine learning, such as extensive branching, parameter sweeps, and dynamic scheduling and parametrization of downstream tasks. SciPipe builds on flow-based programming principles to support agile development of workflows based on a library of self-contained, reusable components. It supports running subsets of workflows for improved iterative development and provides a data-centric audit logging feature that saves a full audit trace for every output file of a workflow, which can be converted to other formats such as HTML, TeX, and PDF on demand. The utility of SciPipe is demonstrated with a machine learning pipeline, a genomics, and a transcriptomics pipeline. Conclusions: SciPipe provides a solution for agile development of complex and dynamic pipelines, especially in machine learning, through a flexible application programming interface suitable for scientists used to programming or scripting.
The control network is an important supporting environment for the control system of the heavy ion accelerator in Lanzhou (HIRFL). It is of great importance to maintain the accelerator system's network security fo...
详细信息
The control network is an important supporting environment for the control system of the heavy ion accelerator in Lanzhou (HIRFL). It is of great importance to maintain the accelerator system's network security for the stable operation of the accelerator. With the rapid expansion of the network scale and the increasing complexity of accelerator system equipment, the security situation of the control network is becoming increasingly severe. Port scanning detection can effectively reduce the losses caused by viruses and Trojan horses. This article uses Go Concurrency Patterns, combined with transmission control protocol (TCP) full connection scanning and GIMP Toolkit (GTK) graphic display technology, to develop a tool called HIRFL Scanner. It can scan IP addresses in any range with any ports. This is a very fast, installation-free, cross-platform IP address and port scanning tool. Finally, a series of experiments show that the tool developed in this paper is much faster than the same type of software, and meets the expected development needs.
暂无评论