کارمند یابی فرایندی است که بوسیله آن کسانی که بنظر می رسند توانایی زیادی برای عضویت در سازمان/مجموعه و انجام دادن وظایف محول دارند شناسایی و استخدام می گردند.
کارمند یابی فرایندی است که بوسیله آن کسانی که بنظر می رسند توانایی زیادی برای عضویت در سازمان/مجموعه و انجام دادن وظایف محول دارند شناسایی و استخدام می گردند.
بنچمارک یک صفحه ساده PHP با کمترین تگهای PHP: (مثل <? <?php ...)
0.50850105291 0.52559566562 0.54722023014 0.64710311898 0.67499809271 0.81791343696 0.83081188242 0.81518020635 0.91901159286 0.94415044785
همون صفحه ساده PHP با بیشترین تگهای PHP:
0.56940341953 0.58219291694 0.64270687157 0.72870445253 0.83770942696 0.86040687561 0.94139766698 0.93767976765 0.94624137873 1.06417045592
مقالات مرتبط:
#2 - نکات و اصول مهم در طراحی وبسایت
نکاتی برای افزایش امنیت وبسایت
#2 - نکاتی برای افزایش امنیت وبسایت
1- صفحات را با استفاده از استاندارد HTML4 و HTML5 به اندازه توان مرورگر طراحی کنید.
2- تمام صفحات ایستا(HTML) را بررسی، ارزیابی و آزمایش کنید تا عاری از مشکل باشد.
3- همیشه از نرم افزارهای مدیریت کد سورس(VCM) مثل Git, Svn, TFS برای مدیریت کدها و version ها استفاده کنید.
5- مکانیزم و شیوه کار پروتوکل HTTP رو کامل فرا بگیرید.
هکرها، شکوه و عظمتی را در علوم خشک و قراردادی ریاضی و الکترونیک پیدا کردند. آنها برنامه نویسی را در قالب تجلی هنری می دیدند و کامپیوتر، ابزار و اسباب هنری آنها بود. این ارزش های منبعث از دانش در نهایت تحت عنوان اخلاق هکری( Hacker's Ethic) نامگذاری شد. اخلاق هکری به معنی ستودن منطق به عنوان یک ابزار هنری و ترقیب جریان آزاد اطلاعات، بر طرف کردن مرزها و محدودیت های قراردادی به منظور فهم بهتر دنیا بود.
بنابراین چگونه می توان بین هکرهای خوب (که برای ما پیشرفت های فنی را به ارمغان می آوردند) و هکرهای مضر (که اطلاعات را سرقت می کنند و یا آسیب می رسانند) تمایز قائل شد؟! به این صورت از واژه کِرَکِر(Cracker) خطاب به هکرهای مضر استفاده شد، تا آنها را از هکرهای خوب و مفید متمایز سازد. روزنامه نگارها و نویسنده ها هر روزه اذعان به بد بودن کرکرها می کردند، در حالیکه هکرها افرادی مفید و خوب بودند. هکرها در اخلاق هکری راست و پابرجا ماندند، اما کرکرها تنها علاقه مند به شکستن قانون بودند. کرکرها در مقابل هکرها با استعدادهای بیشتری به نظر می آمدند، ولی در حقیقت آنها از ابزارهایی که هکرها نوشته و طراحی کرده بودند استفاده می کردند.
عنوان کرکر به فردی که عمل غیراخلاقی با کامپیوتر انجام می داد اطلاق می شد - کپی کردن نرم افزارها به صورت غیر قانونی، Deface کردن وب سایت ها و بدتر از همه این که خود نمی دانستند، چه می کنند! اما امروزه افراد معدودی از این کلمه برای این منظور استفاده می کنند.
نبودن عبارات همه فهم ممکن است ناشی از تعاریف نامناسب آن عبارات باشد - کلمه کرکر در اصل برای توصیف افرادی بکار می رفت که نرم افزارهای کپی رایت را کرک و الگوهای محافظت از کپی را مهندسی معکوس می کردند. عبارت کرکر ممکن است بسادگی از تعریف جدیدش سرچشمه گیرد که هم به گروهی از افراد که به صورت غیرقانونی با کامپیوتر کار می کنند و هم به افرادی که نسبتا هکرهای خام و بی تجربه هستند، اطلاق می شود. اما من معتقد هستم که هرکسی که دارای روح هکری است، یک هکر است، صرفنظر از اینکه آیا او قانون شکنی می کند یا خیر.
منبع: کتاب هنر اکسپلویت نویسی با کمی تغییر
ماژول، قطعه ی نرم افزاری در بخشی جدا از Core هسته هستش که هنگام فراخونی شدن، پیوند و فعال میشه و یکسری عملیات تعریف شده ای رو انجام میده.
این ماژول می تونه سرویس باشه، filesystem باشه، پروتکل شبکه باشه، تعدادی System call باشه و یا درایور یک سخت افزار باشه; که در هر صورت ماژول نام داره.
ماژول ها در لینوکس به دو گروه تقسیم میشن:
Kernel module: که با قرار دادن سورس ماژول در داخل پوشه های سورس Kernel، همراه با Kernel کامپایل میشه.
Loadable Kernel module: که با load کردن ماژول کامپایل شده در داخل سیستم در حال اجرا فعال میشه.
این مقاله آموزش آسان نصب گنولینوکس Slackware نسخه های 11 تا 14 هستش. برای کسب اطلاعات بیشتر درمورد این سیستم عامل میتونید به لینکهای زیر مراجعه کنید:
http://en.wikipedia.org/wiki/Slackware
توجه: از انجایی که گنولینوکس Slackware یک توزیع حرفه ای و unix-like ترین توزیع گنولینوکس هستش، اگر از کاربران Mac OS هستید که بتازگی به دنیای گنولینوکس کوچ کردید پیشنهاد میکنم از توزیع elementary OS استفاده کنید. اگر هم از کاربران Windows هستید، Linux Mint یا ZorinOS یا Xubuntu توزیع مناسبتری هستش.
مقالات مرتبط:
7 تصور اشتباه درباره لینوکس Slackware
پیکربندی گنولینوکس: init و runlevel
فهرست مندرجات:
در این مقاله(ها) قصد دارم برنامه نویسی هسته لینوکس 2 و 3 رو آموزش بدم.
اول برخی از اصول سیستم عامل و هسته لینوکس(از جمله Version های هسته، دانلود سورس، ساختمان دایرکتوری سورس، چگونگی نصب، Patch کردن، پیکربندی و Compile) رو معرفی می کنم و بعد به مباحث پیشرفته و برنامه نویسی(از قبیل تفاوت بین kernel-space و User-space، سازه های برنامه نویسی استفاده شده در هسته، Process ها، System-call ها، ساختمان داده هسته، Interrupt handler ها، همگاه سازی، مدیریت Time، مدیریت حافظه، سیستم فایل و خروجی/ورودی) می پردازم.
در این بین از کتابهای Advanced Linux programming، Linux Advanced Administration و Linux Kernel Development هم بهره ای می گیرم.
فهرست مندرجات:
ExeStrip
این برنامه Header/Stup
[داس] رو از فایل های Exe جدا می کنه.
BootSectorWriter
این برنامه 512 بایت از داده یا فایل رو روی سکتور بوت Write می کنه. (هارددیسک و فلاپی دیسک)
وقتی برنامه ای را تایپ می کنید، یک فایل سورس(Source) ایجاد می کنید. یعنی صفحه ای با متونی شبیه به زبان لاتین که فقط برنامه نویس متوجه آن خواهد شد. این صفحه کاری نمی کند و کامپیوتر هم متوجه محتوای آن زبان نمی شود. باید پردازش و عملیاتی(از قبیل ترجمه) انجام گیرد تا این صفحه تبدیل به زبانی شود که کامپیوتر بتواند آنرا درک کند و برنامه قابل اجرایی را تولید کند(مانند فایلهای سیستم).
اولین مرحله در پردازش(ایجاد برنامه)، استفاده از ویرایشگر متنی برای نوشتن کدهای C++ می باشد. شما فایل Source رو به زبان C++ که شبیه به معماری کامپیوتر هست می نویسید(به لاتین). بعد باید آنرا به زبان و دستورالعمل های ماشینی(Machine language) تبدیل کنید که این کار بعهده کامپایلر می باشد. کامپایلر برای اینکار عملیات زیر را انجام می دهد:
(برای درک بهتر این موضوع، بر روی یک کامپایلر Open source(منبع باز/متن باز) کار کنید)
ابتدا فایل سورس(Source) خوانده می شود و به تعدادی علایم پیش پرازش(Preprocessor token
)(عناصری که کامپایر می تواند با آنها کار کند. مثل عمگر ها، ثابتها، کلمات کلیدی و...) و کاراکتر های سفید(Blank)(شامل فضاهای خالی، Tab ها و Comment ها) تبدیل می شود. در این مرحله کاراکتر های ویژه(Special) تبدیل می شوند و عبارات جدا که دو یا چند خط اشغال نمودند به یکدیگر پیوند می خورند.
سپس دستورات پیش پردازنده(#
دار ها) اجرا می شوند. این دستورات شامل include, define if
و... می باشد. در این مرحله تمامی دستوات و ماکروها Expand می شوند و عملیات و ضمیمه های لازم انجام می گیرد.
بعد پردازش کاراکترها و رشته ها انجام می گیرد. در این مرحله برنامه برای صحت شکل گرامری(Syntax) و لغات، تجزیه و تحلیل می شود(خطاها و هشدارهای Syntax در این مرحله نمایان می شود). اگر اشتباهات مهلک(Fatal) پیدا نشود، یک فایل تجزیه/تحلیل شده(معمولاً با پسوند obj) تولید می شود، تا با بقیه فایل ها ترکیب شود.
دستور پیش پردازنده #include
در هر لحظه می تواند چندین فایل را داخل برنامه ادغام(Merge) کند. و هر بار که کامپایلر به این دستور برخورد می کند، به اندازه محتوایش موقتاً پردازش را متوقف(Halt) می کند. (همینکار رو زبان های دیگه مثل PHP, C# , Python, PERL و... انجام می دهند)
در آخرین مرحله(ایجاد برنامه قابل اجرا)، پردازش فایل تولید شده(obj) توسط یک پیوند دهنده(Linker یا Link) انجام می شود. اکثر برنامه ها دارای رجوعاتی به روتین(Routine) می باشند که در خارج از برنامه جاری وجود دارند. این روتین ها باید آدرس یابی و به برنامه شما اتصال داده شوند تا بتوان با آنها کار کرد.
پیوند دهنده(Linker) تمامی فایلها را با هم ترکیب می کند و در نتیجه یک برنامه قابل اجرا تولید می شود.
لازم بذکر هست که تمامی این مراحل توسط کامپایلر انجام می شود. و شما فقط کد نویسی می کنید و بعد با یک کلیک بر روی Build/Make برنامه را تولید می کنید. (در کامپایلرهای GUI)
بودا در لغت به معنای روشنی یافته است، در اصطلاح به معنای شناسنده و بیدار است و این نامی است که به فرزانه هندی، گوتمه(به لاتین Gotama/Gautama) داده اند و او آیین رهایی را - که در جهان به آیین بودا معروف است - کشف و بیان کرده است.