Основы Git
Интерактивная Git обучалка
Как начать работать с GitHub: быстрый старт
git reflog
git log --all
git checkout sha
git checkout master
git remote show origin
git remote -v
git branch -vv
git branch --set-upstream-to 'remote-name'
git config --get remote.origin.url
git symbolic-ref HEAD
Remove top:
git reset --hard commit-hash
git push -f origin master
Fix github:
git remote rm origin
git remote add origin 'git@github.com:gkislin/soa-ws.git'
git remote set-url origin https://github.com/gkislin/soa-ws.git
ssh -T git@github.com
Hard revert:
git checkout master
git reset --hard e3f1e37
git push --force origin master
# Then to prove it (it won't print any diff)
git diff master..origin/master
See unpush:
git log origin/master..HEAD
git diff origin/master..HEAD
Get/revert revision
$ git reset --hard $SHA1
$ git pull
Make remote brunch:
$ git checkout -b feature_branch_name
... edit files, add and commit ...
$ git push -u origin feature_branch_name
Clone:
git clone -b feature_branch_name --single-branch https://github.com/JavaWebinar/topjava02.git
git clone --depth 1 https://github.com/JavaWebinar/topjava02.git
Push until revision:
git push :
git push origin 712acff81033eddc90bb2b45e1e4cd031fefc50f:master
Delete:
git branch -d local_branch
git push origin --delete remote_branch
Patch
git diff --cached > mypatch.patch
http://stackoverflow.com/a/15438863/548473
Машина времени в git
Get/revert revision
Create-a-new-branch-with-git-and-manage-branches
detached-head
Heroku git deploy
Clone VM
vboxmanage list -l runningvms
cloneServer$sudo shutdown -h now // vboxmanage controlvm devServer poweroff
vboxmanage list hdds
vboxmanage clonehd devServer_uuid ./newEnv/ubuntu64new.vdi
// vboxmanage createvm --name newEnv --ostype Ubuntu_64 --basefolder ~/vbox/
vboxmanage startvm devServer --type headless
vbm showvminfo testprod | grep "Memory"
VBoxManage guestproperty enumerate newEnv
VBoxManage guestproperty get cominvest /VirtualBox/GuestInfo/Net/0/V4/IP
ssh ip
sudo hostname NEW_NAME
sudo mcedit /etc/hostname
sudo mcedit /etc/hosts
sudo mcedit /etc/samba/smb.conf
sudo rm /etc/udev/rules.d/70-persistent-net.rules - reset ip after clone
sudo /etc/init.d/networking restart
sudo apt-get install secure-delete
sudo sfill -v / wipe disk
sudo mcedit /etc/default/bootlogd - on bootlog
// Install extensions for ubuntu server:
sudo su
apt-get install dkms
mount /dev/sr0 /media/cdrom
/media/cdrom/VBoxLinuxAdditional.run --nox11
mkdir /mnt/SHARE
mount.vboxsf SHARE /mnt/SHARE
cd /mnt
# Install Oracle JAVA
add-apt-repository ppa:upubuntu-com/java
apt-get update
apt-get install oracle-java7-installer
JUnit
http://www.ibm.com/developerworks/ru/edu/j-junit4
http://junit.sourceforge.net/doc/ReleaseNotes4.4.html
AspectJ
http://www.eclipse.org/aspectj/
JMock
One of the very first mocking libs.
http://www.jmock.org
http://www.jmock.org/getting-started.html
Mockito
Youger then JMock. Seems to be a bit less verbose then JMock
http://code.google.com/p/mockito
JMockit
Allows mocking final methods as well keeping existing method implementation of the class being mocked.
Sometimes provides an easier way to get same kinf of functionality then AspectJ
https://jmockit.dev.java.net/
https://jmockit.dev.java.net/tutorial.html
descr all_tab_cols
less /export/home/oracle/products/9.2.0/network/admin/tnsnames.ora
select ULANGUAGEID from ATD02_SUBSCRIBERDATA;
select TO_CHAR(uFirstCallTimeStamp, 'yyyy.mm.dd hh24:mi') from ATD02_SubscriberData where uCustomerID='1-0-7662012001'
select * from all_tab_cols where COLUMN_NAME='UBALANCE';
update ATD02_SUBSCRIBERDATA set ULANGUAGEID=2; (WHERE ..)
POSTGRES:
PostgreSQL Cheat Sheet
Terminate all connections:
9.1: psql postgres -Usysdba -c "SELECT pg_terminate_backend(pg_stat_activity.procpid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '$1'"
9.2: psql postgres -Usysdba -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '$1'"
Hints:
SET LOCAL enable_seqscan TO false;
SET LOCAL synchronous_commit TO OFF;
Anonymous procedure
DO
$$
DECLARE
NF INTEGER;
R RECORD;
begin
FOR R IN SELECT ID,DOC_TYPEID,FOLDERID from ecm.doc_cards dc where folderid not in (select folderid from ecm.folder_doc_types where doc_typeid=dc.doc_typeid)
LOOP
select INTO NF folderid from ecm.folder_doc_types where doc_typeid=R.doc_typeid limit 1;
update ecm.doc_cards dc set folderid=NF WHERE ID=R.ID;
RAISE NOTICE 'doc %, oldFolder=%, newFolder=%',R.ID, R.FOLDERID, NF;
END LOOP;
END$$
DO $$declare r record;
begin
execute 'REVOKE ALL ON database rdb FROM public';
execute 'REVOKE ALL ON database rdb FROM "user"';
execute 'GRANT CONNECT ON DATABASE rdb TO "user"';
EXECUTE 'ALTER SCHEMA PUBLIC OWNER TO SYSDBA';
for r in
select schema_name from information_schema.schemata
where schema_name <> 'information_schema'
and schema_name !~ E'^pg_'
loop
-- execute 'revoke all ON SCHEMA '||r.schema_name||' FROM PUBLIC';
execute 'revoke all ON ALL FUNCTIONS IN SCHEMA '||r.schema_name||' FROM PUBLIC';
execute 'revoke all ON ALL SEQUENCES IN SCHEMA '||r.schema_name||' from PUBLIC';
execute 'revoke ALL ON ALL TABLES IN SCHEMA '||r.schema_name||' from PUBLIC';
execute 'GRANT USAGE ON SCHEMA '||r.schema_name||' to \"user\"';
execute 'GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA '||r.schema_name||' TO \"user\"';
execute 'GRANT USAGE ON ALL SEQUENCES IN SCHEMA '||r.schema_name||' TO \"user\"';
execute 'GRANT ALL ON ALL TABLES IN SCHEMA '||r.schema_name||' TO \"user\"';
end loop;
end
$$
psql -c "ALTER SCHEMA public OWNER TO sysdba" rdb
psql -c "GRANT CREATE, USAGE ON SCHEMA public TO sysdba" rdb
psql -c "GRANT USAGE ON SCHEMA public TO "user" rdb
sudo /etc/init.d/postgresql restart - рестарт
/usr/lib/postgresql/9.2/bin/postgres -D /var/db/river92 -c config_file=/etc/postgresql/9.2/main/postgresql.conf
/usr/lib/postgresql/9.1/bin/pg_ctl start -l pgsql.log
/usr/lib/postgresql/9.1/bin/pg_ctl stop -m fast -l pgsql.log
sudo sockstat | grep postgres| grep LISTEN- слушает порты
/etc/postgresql/9.2/main/postgresql.conf
listen_addresses = '*'
psql -U postgres
#update pg_database set datallowconn = TRUE where datname = 'template0';
# \c template0
#select * from pg_collation;
#CREATE COLLATION "ru_RU" (LOCALE = 'ru_RU.utf8');
#CREATE COLLATION "ru_RU.utf8" (LOCALE = 'ru_RU.utf8');
#\c postgres
# update pg_databas\e set datistemplate = FALSE where datname = 'template0';
echo +++ drop/create/backup/remote restore +++
set -x
dropdb -Usysdba $1
createdb -Usysdba -D pg_default -E UTF8 -l ru_RU.UTF-8 -T template0 $1
pg_dump -C -Uuser rdb |gzip -9c > ~/.hudson/jobs/$JOB_NAME/builds/$BUILD_NUMBER/rdb_backup.gz
ssh $SSH_USER@$ENV -p $SSH_PORT 'pg_restore -Usysdba -d rdb -v' < ~/.hudson/jobs/Backup/builds/$BACKUP_BUILD_NUM/backup.tar
# remote backup
ssh $SSH_USER@$ENV -p $SSH_PORT 'pg_dump -Usysdba -C -Ftar -v rdb' > ~/.hudson/jobs/$JOB_NAME/builds/$BUILD_NUMBER/backup.tar
gzip -9 -v ~/.hudson/jobs/$JOB_NAME/builds/$BUILD_NUMBER/backup.tar
pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all 0.0.0.0/0 md5
# list view
clt lsview -properties -full pb3j0415_mts3e
# make CC file executable
clt protect -chmod +x file
#create label
clt mklbtype LABEL_NAME
#apply label
clt mklabel -recurse LABEL_NAME *
#find all files with this label
clt find . -version "lbtype(LABEL_NAME)" -print
clt lsco -recur : Show CHECKEDOUT
clt ci -nc `clt lsco -recur -short` - Check in all CHECKEDOUT
#find all files with this branch
clt find . -version "brtype($WORK_BRANCH)" -print
#find all files which were checked in since ...
clt find . -name "*.java" -version "created_since(28-Jun-2005)" -print
#get info about label
clt desc lbtype:LABELNAME
#put file under branch
clt mkbranch BRANCH_NAME FILE_NAME
#list all labels for vob
cleartool lstype -kind lbtype -invob vob:/advcust/in/pps
# create new
cleartool mkbrtype -c "branch" br_mts_ppsc_7k_ph3e
cleartool mklbtype -c "label" LABEL
# create change file
cleartool anno file
# Build
cleartool lsdo (-l)
cleartool catcr (-flat) file_DO
cleartool diffcr exe1 exe2
ct rmdo
Sourceforge path:
cd /home/project-web/masterj/htdocs/
cd /home/user-web/gkislin/htdocs/