Tech C**P
15 subscribers
161 photos
9 videos
59 files
304 links
مدرس و برنامه نویس پایتون و لینوکس @alirezastack
Download Telegram
One the most useful commands in vim is to delete or change inside of a block like {} or inside of a charater like "SOME THING".

In case you want to just delete inside of something and you don't want to go into INSERT mode just press di keyboard buttons in order, otherwise press ci keyboard buttons to go in INSERT mode and change something.

Let's give an example. Suppose we have lines like below and we have opened it in vim:
user_id = "43dd94e5d79ffeb2ffffabd112d5e945"
name = "Alireza"
dob = "SECRET :)"

Place the cursor between double quotes somewhere in the SECRET :) and press d then press c keys and finally press double quote ("). The vim will search for the surrounding double quotes and will remove everything inside of it. Our output is:
user_id = "43dd94e5d79ffeb2ffffabd112d5e945"
name = "Alireza"
dob = ""

Now let's assume we have a block of code like below:
users_data = {
}

Go inside of the block of curly braces (`{}`) and put your cursor inside of the block. Now press c on your keyboard then press i afterward, and at the end press { on your keyboard. It will delete everything inside of {} for you and put your vim mode in INSERT mode. So you would have the following output:
users_data = {
}

You can do the same with every block of code and every character like (), [], '', etc.

ci stands for Change Inside
di stands for Delete Inside

#vim #tricks #commands #change #delete #ci #di
To change a password on behalf of a user in Linux, first sign on or "su" to the "root" account. Then type:
passwd user

It will prompt for the password and then prompt to retype the password. The password will be change as soon as you enter retype password.

#linux #passwd #change_password
Change stream is a new method on MongoDB 3.6 that you can use to watch real-time data modifications to get changes. In older versions you had to tail the oplog.

for change in db.collection.watch():
print(change)

The ChangeStream iterable blocks until the next change document is returned or an error is raised. If the next() method encounters a network error when retrieving a batch from the server, it will automatically attempt to recreate the cursor such that no change events are missed. Any error encountered during the resume attempt indicates there may be an outage and will be raised.

#mongodb #mongo #mongo36 #change_stream #stream #etl