I have chosen the course "E-Commerce" in my last semester in the Université de Montpellier 2. Dr. Jean-Yves Delort which is our professor organized 14 student teams participating to The Google Online Challenge 2008. I just get the rating of our team from Dr. Jean-Yves Delort's site. We are "Strong Campaign", it is such a good news, because marketing is not our major, and we really did a good job.
Dr. Jean-Yves Delort's site
2008 Campaign Results
Jul 10, 2009
(Objective-c) How to get MD5 hash string of a NSData
- (NSString*)dataMD5:(NSData*)data {
CC_MD5_CTX md5;
CC_MD5_Init(&md5);
CC_MD5_Update(&md5, [data bytes], [data length]);
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5_Final(digest, &md5);
NSString* s = [NSString stringWithFormat:
@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
digest[0], digest[1],
digest[2], digest[3],
digest[4], digest[5],
digest[6], digest[7],
digest[8], digest[9],
digest[10], digest[11],
digest[12], digest[13],
digest[14], digest[15]];
return [s uppercaseString];
}
Jul 7, 2009
Mar 24, 2009
(XCode) How to setup a bracket / brace macro in XCode
Before i used XCode and learned Objective-C, i never thought the bracket is a horrible symbol, there is a solution of creating text macro to insert bracket / brace:
1. Open ObjectiveC.xctxtmacro with an text editor, you can find this file with this path:
2.Add follow code in the file:
You can create a similar macro for Brace, here is an example:
Update: In the XCode 3.2 which is released for Snow Leopard, the above lines wouldn't work until add this line in each section:
OnlyAtBOL = YES;
1. Open ObjectiveC.xctxtmacro with an text editor, you can find this file with this path:
/Developer/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources/ObjectiveC.xctxtmacro
2.Add follow code in the file:
{
Identifier = objc.bracket;
BasedOn = objc;
IsMenuItem = YES;
Name = "Bracket Expression";
TextString = "[<#!expression!#>]";
CompletionPrefix = bra;
},
This scope create a text macro "bra" to insert "[<#!expression!#>]"
, you need to type bra in your code and presse "esc" button, there is a window shows "Bracket Expression", press enter "[<#!expression!#>]"
will be inserted.You can create a similar macro for Brace, here is an example:
{
Identifier = objc.brace;
BasedOn = objc;
IsMenuItem = YES;
Name = "Brace Expression";
TextString = "{<#!expression!#>}";
CompletionPrefix = bra;
},
Here you have a same text macro "bra" to choose bracket or brace.Update: In the XCode 3.2 which is released for Snow Leopard, the above lines wouldn't work until add this line in each section:
OnlyAtBOL = YES;
(Android) First application released
I just released my first application on the Android Market. It is Voice Dictionary which is a very useful tool for translating words or phrases between 17 different languages (Chinese, English, French, German, Italian, Spanish etc), the Voice Dictionary also supports Text-To-Speech to give you a full experience of pronunciation.
It uses Google Translate service API and eyes-free TTS engine for Android.
Here is a web version Android Market which contains this app's information.
It uses Google Translate service API and eyes-free TTS engine for Android.
Here is a web version Android Market which contains this app's information.
Mar 17, 2009
(Android) How to write your code with a good style
I saw an excellent article in Android Code Source site, it is a Code Style Guide, which is Google Android team asks their developer to respect. Writing code with a good style helps others to read your code, and developer should have a good habit of writing code too.
Code Style Guide
Code Style Guide
Feb 13, 2009
(Objective-C) How to sort an array
Here is an example to sort an array:
- (NSArray *) sortArray:(NSArray *)array :(BOOL)inAscending {
if (inAscending) {
return [array sortedArrayUsingSelector:@selector(compare:)];
}
else {
NSArray *ascendArray = [array sortedArrayUsingSelector:@selector(compare:)];
return [[ascendArray reverseObjectEnumerator] allObjects];
}
}
Subscribe to:
Posts (Atom)