Start to use Git & Dropbox
It’s really great to use Git to manage my source code. So that , I can develop my own application anywhere , manage my source code offline , and push it when I need to. Here is a memo for the most simple way to implement it.
1. Install Git & Dropbox
Git : http://code.google.com/p/msysgit/downloads/list
Dropbox: https://www.dropbox.com
2. Create a folder for placing the repository in Dropbox folder
C:\Users\shenhengbin\Dropbox\Repos
3. I have a project below want to add to Git
C:\shenhb\dev\proj\DataAnalysisWeb
4. In the DataAnalysisWeb folder , input the command below with Git Bash
git init
5. Clone one copy into the Repos under the Dropbox folder
git clone –bare . C:\Users\shenhengbin\Dropbox\Repos\DataAnalysisWeb.git
6. Create a remote repository named “origin” point at the above folder .Then , I can use push&pull from it.
git remote add origin C:\Users\shenhengbin\Dropbox\Repos\DataAnalysisWeb.git
7. OK , Then I can use push like
git push origin master
8. Finally , If other one also want to checkout it , I can share the folder to him , and use
git clone C:\XXXXXXX\Dropbox\Repos\DataAnalysisWeb.git
to get the latest source code from Dropbox.
Create css of resizing iframe content
var s = [];
s.push("zoom: 0.2");
s.push("-moz-transform: scale(0.2, 0.2)");
s.push("-webkit-transform: scale(0.2, 0.2)");
s.push("-o-transform: scale(0.2, 0.2)");
s.push("-ms-transform: scale(0.2, 0.2)");
s.push("transform: scale(0.2, 0.2)");
s.push("-moz-transform-origin: top left");
s.push("-webkit-transform-origin: top left");
s.push("-o-transform-origin: top left");
s.push("-ms-transform-origin: top left");
s.push("transform-origin: top left");
var css = s.join(";");
JQuery get size of iframe content
It does not works for the cross-domain, but works fine in same domain .
$('iframe').load(function () {
var doc = this.contentWindow.document;
var height = Math.max(
doc.body.scrollHeight || 0,
doc.documentElement.scrollHeight || 0,
doc.body.offsetHeight || 0,
doc.documentElement.offsetHeight || 0,
doc.body.clientHeight || 0,
doc.documentElement.clientHeight || 0
);
var width = Math.max(
doc.body.scrollWidth || 0,
doc.documentElement.scrollWidth || 0,
doc.body.offsetWidth || 0,
doc.documentElement.offsetWidth || 0,
doc.body.clientWidth || 0,
doc.documentElement.clientWidth || 0
);
};
jQueryMobile excute javascript code twice
I have came across a problem while I putting some JavaScript code inside the HTML body it was excuted twice .
<body>
<script language="javascript">
$(document).ready(function() {
alert("1");
});
</script>
</body>
And if I move the JavaScript code within <head> section, it will solve the issue.
Redundant div tag added just before the close body tag on Galaxy S3
I found a problem that sometimes there is a “FALSE” character displayed at the end of our web page on Galaxy S3 Phone.
With further research , a div tag <div id = “recog_div”>False</div> be founded just before the close body tag.
It seems to be added by Galaxy itself ?
So , I have to remove it by redundant source code.
Using windows-batch to compare two tables
Micorsoft has already provided EXCEPT keyword to compare the result of two queries.
So we can easily find the unmatched records .
This batch file just implemented to compare records one or multiple tables in two servers by EXCEPT query automatically.
■ Directory Structure
│ CompareMul.bat
│ CompareOne.bat
│ ExSetEnv.bat
│ ExSqlCmdFile.bat
│ Tables.txt list of table names
│
├─result Result Folder
└─sql Sql Folder
receipt_tbl.sql Sql File
- ExSetEnv.bat
Set the global variables.
rem @echo off set DB_SERVER=SERVER set DB_NAME_L=DataBase1 set DB_NAME_R=DataBase2 set DB_USER=user set DB_PWD=pwd set OUTPUT_FOLDER=result set SQL_FOLDER=sql
- ExSqlCmdFile.bat
Just excute the sql query with SqlCmd.
Sqlcmd -U%DB_USER% -P%DB_PWD% -S%DB_SERVER% -d%DB_NAME_L% -h-1 -s" " -W -i"%1" -o"%2"
- CompareOne.bat
Call ExSqlCmdFile.bat with input sql file path and out result file path as parameters
rem @echo off cd /d %~dp0 set TABLE_NAME=%1 call ExSetEnv.bat call ExSqlCmdFile.bat %SQL_FOLDER%\%TABLE_NAME%.sql %OUTPUT_FOLDER%\%1.txt goto :EOF
- CompareMul.bat
Loop through table names defined in Tables.txt and Call CompareOne.bat with table name as parameter Call CompareOne.bat with table name as parameter
rem @echo off cd /d %~dp0 call ExSetEnv.bat for /f %%p in (Tables.txt) do call :sub %%p goto :EOF :sub call CompareOne.bat %1 goto :EOF
- receipt_tbl.sql
SET NOCOUNT ON SELECT [columns for comparing] FROM $(DB_NAME_L).DBO.$(TABLE_NAME) EXCEPT SELECT [columns for comparing] FROM $(DB_NAME_R).DBO.$(TABLE_NAME) ORDER BY [columns for comparing] SELECT [columns for comparing] FROM $(DB_NAME_R).DBO.$(TABLE_NAME) EXCEPT SELECT [columns for comparing] FROM $(DB_NAME_L).DBO.$(TABLE_NAME) ORDER BY [columns for comparing]
■ How to Run
Then you just directly put
D:/>CompareMul.bat
or
D:/>CompareOne.bat tablename
in command line.
■ Other commands for memo
Output all user tables into files named as server name.
bcp "SELECT [name] As name FROM [%DB_NAME%].[sys].[tables] where type = 'U' queryout %DB_SERVER%.txt -c -t\t -S%DB_SERVER% -U%DB_USER% -P%DB_PWD%
Directly excute a query by SqlCmd
Sqlcmd -U%DB_USER% -P%DB_PWD% -S%DB_SERVER% -d%DB_NAME_L% -Q%1
Android:Run native app via Browser
Here is a memo in my recent project for how to run our native app from web app .
- html
Create an action like bellow.
location.href = "myschemename://myhost/app.do?p1='1'&p2='2'";
(※ app.do makes no sense)
- manifest
Use an <intent-filter> with a <data> element.
then specify the scheme and host in it for our web app to invoke.
<intent-filter > <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="myscheme" android:host="myhost" /> </intent-filter>
- java
You can use getIntent().getData()which returns a Uri object , then get the parameter from it.
if (Intent.ACTION_VIEW.equals(action)) {
Uri uri = getIntent().getData();
String p1 = uri.getQueryParameter("p1");
String p2 = uri.getQueryParameter("p2");
...
}
