Posts Tagged ‘C#’

pymagic/sharpmagic!

Posted: أبريل 15, 2009 in General
الوسوم:, , , , , , , ,

بعد انهاء فصل ال FFI من RWH وقراية libghc-magic افتكرت ان بايثون كمان ليها FFL وهى ctypes فليه لأ ؟ كتبت واحد كامل لبايثون بالإعتماد على ctypes –بالمناسبة بردو ctypes مستخدمه مع pyinotify-

على كل حال pymagic بتشمل كل الثوابت الموجودة فى magic.h وبتكشف الدوال الآتيه

magic_t magic_open(int);

void magic_close(magic_t);

const char *magic_file(magic_t, const char *);

const char *magic_descriptor(magic_t, int);

const char *magic_buffer(magic_t, const void *, size_t);

const char *magic_error(magic_t);

int magic_setflags(magic_t, int);

int magic_load(magic_t, const char *);

int magic_compile(magic_t, const char *);

int magic_check(magic_t, const char *);

int magic_errno(magic_t);

مثال مباشر على الإستخدام للحج ستورم

http://www.linuxac.org/forum/showpost.php?p=135139&postcount=11

xmonader@xmonader-desktop:~$ pymagic.py twitter.xml

twitter.xml: XML

xmonader@xmonader-desktop:~$ pymagic.py VirtualTerminal.pyc

VirtualTerminal.pyc: python 2.5 byte-compiled

xmonader@xmonader-desktop:~$ pymagic.py Allison-Iraheta-2009-03-10.mp3

Allison-Iraheta-2009-03-10.mp3: Audio file with ID3 version 2.3, MP3 encoding

يستحسن تستخدم guess

>>> F=”/home/xmonader/Allison-Iraheta-2009-03-10.mp3″

>>> guess(F)

‘Audio file with ID3 version 2.3, MP3 encoding’

https://sourceforge.net/projects/pymagic/

تحديث:

تم انهاء SharpMagic وهى اعتقد الوحيدة ل Libmagic

https://sourceforge.net/projects/sharpmagic/

Advertisements

كل سنة وانتم طيبين اولا سنة سعيدة عليكم 🙂

كل ماقرا فى سى بكون ممتن جدا ان مش بضطر استخدمها فى معظم الوقت

الكتاب The Definitive Guide to Linux Programming كتاب فوق الممتاز اضافلى كتير جدا و بيحققلك رسوخ كبير لاغنى عنه لأى مبرمج شبكات بيناقش جزئيات نظرية الأول عن المصطلحات الهامة وهيكلية الخادم/العميل وتصميم بروتوكولات خاصة واهم القرارات اللتى يجب عليك اخذها فى التطبيق ..كطريقة الإتصال ، الهيكيلية 2-tier او 3-tier ،بالنسبة للعميل monolithic , modular ، وسيناريوهات خاصة بالخادم هل سيتم تحويله ل daemon وافضل طريقة لمعالجة اكثر من عميل وكيفية التعامل مع اللوج وغيرها وجزئية عن البرمجة الدفاعية وايضا دراسة لتطبيق شبكات برنامج دردشة مشابه ل digichat بس كdesktop application

وجزئية خاصة بتأمين الإتصال و الauthentication وتوقيع الداتا وبعض المشكلات الأمنية الشائعة (هجومات معتادة ، BOF، .. الخ)

تطبيق آمن (لم انهيه)

ملحق عن IPv6 (لم انهيه)

Qamoos#

Posted: ديسمبر 18, 2008 in General
الوسوم:, , , ,

وصلنى ايميل بيطلب عمل المثال الخاص بالقاموس GQamoos بإستخدام C#, GTK

تم استخدام Monodevelop و stetic لإنشاء المثال

للتحميل اضغط هنا

عودة PF

Posted: أكتوبر 27, 2008 in General
الوسوم:, , , , , , ,

حمد لله على السلامة :d

النهاردة ببشركم بعودة PF ولكن بشكل جديد وافكار اجدد .. اهتمام اكبر بالسكربتينج والسى وبرمجة لينكس تحديدا

التسجيل مفتوح دائما وبكل تأكيد المواد متاحة للجميع

اعتمدنا على SMF كبديل ممتاز لل IPB

ياريت تبدأو بمشاركتنا فى التصويت المبدأى

CSISOMounter

Posted: سبتمبر 27, 2008 in General
الوسوم:, , , , ,

برنامج كتبته كبورت لبرنامج Gmount-iso بال C#/GTK لضم mount ال ISO images طبعا فى الخلفية اللى شغال mount   command

الsource, linux binaries

Download

Extension Methods

Posted: أغسطس 16, 2008 in Tutorials
الوسوم:,

Extension Methods

ال C# 3.0 قدمت مفهوم ال Extensions Methods بحيث انك تقدر تمد type معين بميثودز جديدة بدون الحاجة لتغيير التعريف او الوراثة

اوكى الفكرة بتتلخص فى حاجتين

1- static

2- this

1- ال static (ال Extensions Methods) هى عبارة عن static methods فى static class

2- ال this بيكون فى اول بارمتر وبعدها التايب اللى هيتم مده

ابدأ ب

	public static class Stringer
	{
	}	

دا بقة ال static class اللى فيه الميثودز اللى هنضيفها لل string

الصيغة العامة للتعريف

</pre>
public static meth_name(this type var_name[, arg0, ..., argN]){

}

عمل ميثود IsCapitalized لتشير هل السترينج دا بيبدأ بحرف Capital او لأ

		public static bool IsCapitalized(this string  somestring){
			if (! string.IsNullOrEmpty(somestring) ){
				return char.IsUpper(somestring[0]);
			}else{
				return false;
			}
		}

لاجظ انها بتدى ريترن ب bool واول بارمتر هو string و this عشان نقدر نستخدمه كالتالى

“ “.IsCapitalized() ;

اللى هيحصل فى الفعل هو التحويل لل

Stringer.IsCapitalized( “ “ );

وبس كدا بكل بساطة!

ميثود IsTitle بيهمها ان كل اول حرف فى اى كلمة من جملة يكون Upper

			if (! string.IsNullOrEmpty(somestring)){
				string[] words=somestring.Split(' ');

				foreach(string w in words){
					if (! w.IsCapitalized()){
						return false;
					}
				}
				return true;
			}else{
			   return false;
			    }

كدا نقدر نستخدمها كالتالى

“ “.IsTitle();

مام نعمل حاجة احيانا كتير بنستخدمها وهى اننا نسيف array من ال strings لفايل ما

string[]

بكل بساطة تقدر تعمل حاجة كالتالى

		public static void SaveToFile(this string[] strings, string filename){
			File.WriteAllLines(filename, strings);

التطبيق كالتالى

			string s="Hello, world!";

			Console.WriteLine("s.IsCapitalized() => {0}",s.IsCapitalized());
			Console.WriteLine("s.IsTitle() => {0}", s.IsTitle());

			string[] strings={"Hello1", "Hello2", "Hello3"};
			strings.SaveToFile(@"c:\hiout");

وبس كدا
Refs:
C# 3.0 in a Nutshell, 3rd Edition