1. Postgres version $ psql --version 2. Connect to server locally using default postgres acct $ psql -U postgres 3. Connect with a password $ psql -U postgres -W 4. Common commands \h - help \q - quit \l - list databases \d - list tables \d table - describe table 5. Create db postgres=# CREATE DATABASE testdb; 6. Use the db postgres=# \c testdb; testdb=# 7. List of users postgres=# \du 8. List postgres versions running $ pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 9.1 main 5433 down postgres /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log 9.4 main 5432 down postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log 9.6 main 5434 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log 9. Start/Stop/Restart/Status of postgresql $ sudo systemctl start postgresql $ sudo systemctl stop postgresql $ sudo systemctl restart postgresql $ sudo systemctl status postgresql 10. Backup/Restore $ pg_dump -Fc -h hostname -p 5432 -d dbname -f /path/backupfilename $ pg_restore -d dbname -v -1 /path/backupfilename 11. Cron daily backup $ crontab -e 0 5 * * * export PGPASSWORD=MyPass && pg_dump -Fc -h hostname -p 5432 -d dbname -f /path/backupfilename_`date +20\%y\%m\%d` >> /path/pg_dump_dbname.log 2>&1
7.20.2017
Postgres Cheat Sheet
Install Postgres on Mac
Followed this post 1. Go to http://postgresapp.com/ then download and install 2. Add Postgres to PATH $ vi ~/.bash_profile export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin $ source ~/.bash_profile 3. Start Postgres by double clicking the app, then on the top icon, start "Initialize" 4. Try connecting using default postgres role $ psql -U postgres psql (9.6.3) Type "help" for help. postgres=#
Install Python 3.6 on MacOS
Generally followed this post I. Install brew 1. Install Xcode from the App Store 2. Install Xcode’s separate Command Line Tools app $ xcode-select --install 3. Install and setup homebrew $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 4. Make sure brew is in PATH $ vi ~/.bash_profile export PATH=/usr/local/bin:$PATH 5. Source it $ source ~/.bash_profile 6. Try brew $ brew doctor Your system is ready to brew. II. Install Python $ brew search python $ brew install python3 $ python3 --version Python 3.6.2 To install a python package $ pip3 install package_name To upgrade python $ brew update $ brew upgrade python3 III. Creating Virtual environments $ mkdir sample_project $ cd sample_project $ python3.6 -m venv my_env $ source my_env/bin/activate
Change bash command prompt in Debian
Followed this post $ vi /etc/bash.bashrc Add this at the end: # If id command returns zero, you have root access. if [ $(id -u) -eq 0 ]; then # you are root, set red colour prompt PS1="\\[$(tput setaf 1)\\][\\u@\\h:\\w] (apps)# \\[$(tput sgr0)\\]" else # normal PS1="[\\u@\\h:\\w] (apps)$ " fi
2.12.2017
Angular Cheat Sheet
Creating Components
import { Component } from '@angular/core'
@Component({
selector: 'courses',
template: '<h2>Courses</h2>'
})
export class Component { }
Then, register them in AppModule (or the module the belong to):
@NgModule({
declarations: [CoursesComponent]
})
export class AppModule { … }
Using Components
import { CoursesComponent } from './courses.component'
@Component({
template: '<courses></courses>'
})
Templates
Interpolation syntax:
{{ title }}
Displaying lists:
<ul>
<li *ngFor=“let course of courses”>
{{ course }}
</li>
</ul>
Services
import { Injectable } from '@angular/core';
@Injectable()
export class CourseService {
}
Dependency Injection
Register a service as a provider in AppModule (or the module it belongs to):
@NgModule({
providers: [CourseService]
})
export class AppModule { … }
Then, inject it into the constructor of the components that need it:
export class CourseComponent {
constructor(courseService: CourseService) {}
}
Directives
Basic structure
import { Directive } from '@angular/core'
@Directive({
selector: '[autoGrow]',
host: {
'(focus)': 'onFocus()',
'(blur)': 'onBlur()'
}
})
export class AutoGrowDirective {
onFocus() { … }
onBlur() { … }
}
To access and modify DOM elements
import { ElementRef, Renderer } from '@angular/core'
export class AutoGrowDirective {
constructor(
private el: ElementRef,
private renderer: Renderer) {
}
onFocus(){
this.renderer.setElementStyle(this.el.nativeElement,
'width', '200');
}
}
Registration
Once you implement a directive, you should register it in AppModule (or the module it belong to):
@NgModule({
declarations: [AutoGrowDirective]
})
export class AppModule { }
Angular Bindings
Interpolation
<h1>{{ title }}</h1>
Property binding
<img [src]="imageUrl" />
<img bind-src="imageUrl" />
Class binding
<li [class.active]="isActive" />
Style binding
<button [style.backgroundColor]="isActive ? 'blue' : 'gray'">
Event binding
<button (click)="onClick($event)">
<button on-click="onClick($event)">
Two-way binding
<input type="text" [(ngModel)]="firstName">
<input type="text" bindon-ngModel="firstName">
Input Properties
Using @Input annotation
import { Input } from ‘@angular/core’;
@Component(…)
export class FavoriteComponent {
@Input(‘is-favorite’) isFavorite = false;
}
Using component metadata
@Component({
inputs: [‘isFavorite:is-favorite’]
})
export class FavoriteComponent {
isFavorite = false;
}
In the host component
<favorite [is-favorite]=“post.isFavorite”></favorite>
Output Properties
Using @Output annotation
import { Output } from ‘@angular/core’;
@Component(…)
export class FavoriteComponent {
@Output(‘favorite-change’) change = new EventEmitter();
onClick() {
this.change.emit({ newValue: this.isFavorite });
}
}
Using component metadata
@Component({
outputs: [‘change:favoriteChange’]
})
export class FavoriteComponent {
change = new EventEmitter();
onClick() {
this.change.emit({ newValue: this.isFavorite });
}
}
In the host component
<favorite (favoriteChange)=“onChange()”></favorite>
Templates
@Component({
template: ‘…’, // or
templateUrl: ‘app/template.template.html’
})
Styles
@Component({
styles: [‘…’],
styleUrls: [‘…’, ‘…’];
})
Getting Ready for Angular Development
On Ubuntu:
Install nodejs 1. $ sudo apt-get install nodejs 2. $ sudo ln -s /usr/bin/nodejs /usr/bin/node 3. $ sudo apt-get install npm Install typescript 1. $ sudo npm install -g typescript 2. $ sudo npm install -g typings Install angular cli 1. $ sudo npm install -g @angular/cliOn Debian:
$ curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh -o install_nvm.sh $ bash install_nvm.sh $ source ~/.profile $ nvm ls-remote $ nvm install 8.5.0 $ nvm use 8.5.0 $ node -v v8.5.0 $ npm -v 5.3.0 $ npm install -g yarn $ yarn global add @angular/cli $ vi ~/.profile # yarn export PATH="$PATH:`yarn global bin`" $ ng set --global packageManager=yarn $ ng --version @angular/cli: 1.4.3 node: 8.5.0 os: linux x64On Mac:
I followed this and this Install nodejs 1. Install xcode $ xcode-select --install 2. Install nvm $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash 3. Open another bash session to get settings from nvm install 4. List installed node versions $ nvm list 5. Or list from the cloud (last 9 versions) $ nvm ls-remote | tail -n9 6. Install latest $ nvm install 8.2.1 7. Setup this version as default $ nvm use 8.2.1 $ nvm alias default 8.2.1 8. Check node version $ node -v v8.2.1 9. Update npm $ npm install -g npm 10. Check npm version $ npm -v 5.3.0 Install yarn package manager 1. $ npm install -g yarn Install angular cli 1. $ yarn global add @angular/cli@1.2.7 2. Check version $ ng --version @angular/cli: 1.2.7 node: 8.2.1 os: darwin x64 3. Globally config angular-cli to use yarn $ ng set --global packageManager=yarn Test scaffold first angular app 1. $ ng new hello-world-app 2. Start server $ cd hello-world-app $ ng serve 3. Browse http://localhost:4200 Setup IDE 1. Install Visual Studio Code
12.21.2016
Get VirtualBox VM to use host's DNS
Subscribe to:
Posts (Atom)