rust_cmd_lib
Composer
rust_cmd_lib | Composer | |
---|---|---|
11 | 191 | |
991 | 28,278 | |
- | 0.3% | |
8.0 | 9.5 | |
5 months ago | 9 days ago | |
Rust | PHP | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust_cmd_lib
- Was Rust Worth It?
-
Execute $(command) in std::process::Command?
With rust_cmd_lib, you can write below code without launching shell:
-
How to do things safely in Bash
zsh is also doing the variable substitution better than bash. FYI, I just released rust_cmd_lib 1.0 recently, which can do variable substitution without any quotes: https://github.com/rust-shell-script/rust_cmd_lib
- cmd_lib: v1.0 released!
-
Process file in parallel
With cmd_lib and rayon, it could be done in below one line code:
-
Using rust cmd_lib to replace your bash scripts!
#!/usr/bin/env ngs # In response to https://github.com/rust-shell-script/rust_cmd_lib/blob/1f2fc2303db3f467c42589bd944b31834c8a0bca/examples/dd_test.rs # $ ./dd_test.ngs --file /dev/nvme0n1 --block_size 4096 --threads_count 4 # [LOG 2021-03-20 10:57:14 IST] Dropping caches at first # [LOG 2021-03-20 10:57:14 IST] Running command: sudo bash -c echo\ 3\ \>\ /proc/sys/vm/drop_caches # [LOG 2021-03-20 10:57:15 IST] Running with threads: 4, block size: 4096 # [LOG 2021-03-20 10:57:15 IST] Running command: sudo bash -c dd\ if=/dev/nvme0n1\ of=/dev/null\ bs=4096\ skip=1310720\ count=655360\ 2\>\&1 # [LOG 2021-03-20 10:57:15 IST] Running command: sudo bash -c dd\ if=/dev/nvme0n1\ of=/dev/null\ bs=4096\ skip=655360\ count=655360\ 2\>\&1 # [LOG 2021-03-20 10:57:15 IST] Running command: sudo bash -c dd\ if=/dev/nvme0n1\ of=/dev/null\ bs=4096\ skip=1966080\ count=655360\ 2\>\&1 # [LOG 2021-03-20 10:57:15 IST] Running command: sudo bash -c dd\ if=/dev/nvme0n1\ of=/dev/null\ bs=4096\ skip=0\ count=655360\ 2\>\&1 # [LOG 2021-03-20 10:57:22 IST] thread 0 bandwidth: 450 MB/s # [LOG 2021-03-20 10:57:22 IST] thread 1 bandwidth: 451 MB/s # [LOG 2021-03-20 10:57:22 IST] thread 2 bandwidth: 453 MB/s # [LOG 2021-03-20 10:57:22 IST] thread 3 bandwidth: 451 MB/s # [LOG 2021-03-20 10:57:22 IST] Total bandwidth: 1805 MB/s # Command line arguments automatically fed into main() # Default data size - 10G F main(file:Str, block_size:Int=4096, threads_count:Int=1, data_size:Int=10 * 1024 * 1024 * 1024) { log("Dropping caches at first") $(log: sudo bash -c "echo 3 > /proc/sys/vm/drop_caches") log("Running with threads: ${threads_count}, block size: ${block_size}") # Parallel map: each callback runs in it's own thread cnt = data_size / threads_count / block_size results = threads_count.pmap(F(i) { off = cnt * i `log: sudo bash -c "dd if=$file of=/dev/null bs=$block_size skip=$off count=$cnt 2>&1"` }) total_bandwidth = 0 results.each_idx_val(F(i, output) { # "line:" makes the first line of output as the result of `...` bandwidth = `echo $output | line: awk '/MB/ {print $10}'`.Int() log("thread ${i} bandwidth: ${bandwidth} MB/s") total_bandwidth += bandwidth }) log("Total bandwidth: $total_bandwidth MB/s") } # When running without arguments F main() { # exit() - exit code is 1 unless otherwise specified exit("Usage: ${ARGV0} --file FILE [--block_size BLOCK_SIZE] [--threads_count THREADS_COUNT] [--data_size DATA_SIZE]") }
- Release v0.12.0 · rust-shell-script/rust_cmd_lib
-
Convert tetris.sh and pipes.sh line-by-line to rust code
Thanks for the inspiration from previous posts, and I tried to convert pipes.sh to rust code today. It turned out to be very straightforward with the help of rust_cmd_lib, and your can check both language versions in the project examples directory.
-
rust_cmd_lib v0.10: to write shell-script like tasks in a clean, natural and rusty way
Yes, your concern is correct and that's why I encourage people to use macros by default: https://github.com/rust-shell-script/rust_cmd_lib#security-notes
Composer
- Tutorial Cara Instal Composer di Linux
-
From Beginner to Master: The Path to Becoming a PHP Guru
Delving into PHP frameworks like Laravel or Symfony is like building a skyscraper, with Composer acting as your "construction foreman," guiding you step by step to ensure your code is robust and awe-inspiring. This stage involves getting familiar with popular PHP frameworks such as Laravel, Symfony, CodeIgniter, etc., and utilizing the functionalities provided by these frameworks to rapidly develop efficient, maintainable web applications. Tools to consider: Laravel, Composer.
-
Routing implementation using PHP attributes
In our example application we will manage dependencies via Composer.
-
PHP Authentication: Implementing Access Token
Our project template is equipped with Composer and an autoload class pre-installed. This inclusion in the repository streamlines the setup process, particularly for this access-token course. Composer, a dependency manager for PHP, simplifies the integration of external libraries and ensures efficient autoloading of classes. It plays a pivotal role in managing project dependencies, enabling developers to focus more on implementation rather than manual library management. If you're unfamiliar with Composer or need guidance on its installation, refer to the following link for detailed instructions: [https://getcomposer.org/] and this article for more details on the setup of the packages in this project.
-
Experience Continuous Integration with Jenkins | Ansible | Artifactory | SonarQube | PHP
On you Jenkins server, install PHP, its dependencies and Composer tool (Feel free to do this manually at first, then update your Ansible accordingly later)
-
How To Send WhatsApp Messages with Laravel
Composer
-
Create Your E-Book: Converting Markdown to PDF and EPUB
Composer for installing the PHP package: https://getcomposer.org/
-
How To Setup Laravel on Windows with XAMPP: Quick Guide
Visit https://getcomposer.org/ and click on the DOWNLOAD button.
-
Bisecting vendors
Composer bisect command #11119
-
How to develop serverless PHP application with PostgreSQL database with Vercel and Neon.tech for free
Composer is a PHP package manager and it will allow us to use many out-of-the-box packages and features such as HTTP requests, logging, and templates and database management. I use it to develop large, complex applications.
What are some alternatives?
PowerShell - PowerShell for every system!
Pickle - PHP Extension installer
shellharden - The corrective bash syntax highlighter
Melody - One-file composer scripts
makesure - Simple task/command runner with declarative goals and dependencies
Composer Installers - A Multi-Framework Composer Library Installer
scripts - Useful scripts that I find handy to work with
composer-unused - Show unused composer dependencies by scanning your code
pipe-trait - Make it possible to chain regular functions
Climb
shellclear - Secure shell history commands by finding sensitive data
Laravel - Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation for your next big idea — freeing you to create without sweating the small things.