این فایل رو از اینترنت پیدا کردم. به زبان فارسیه و نحوه ی نوشتن تحلیلگر برای flex رو توضیح داده!
این فایل رو از اینترنت پیدا کردم. به زبان فارسیه و نحوه ی نوشتن تحلیلگر برای flex رو توضیح داده!
نرم افزار flex برای ایجاد تحلیلگر از فایل نوشته شده به زبان flex استفاده می شود. در این فرایند، شما ابتدا فایل نوشته شده با زبان flex را به این نرم افزار می دهید و در خروجی یک فایل به زبان c ) c.*) تولید می کند که با کامپایل آن، scanner شما آماده استفاده خواهد بود!
حال به نحوه ی انجام این فرایند با یک مثال می پردازم:
F:\flex-2.5.4a-1-bin\bin
cd /d F:\flex-2.5.4a-1-bin\bin
flex majidr.l
cd /d F:\flex-2.5.4a-1-bin\bin
cl lex.yy.c
lex.yy <majidCodes.txt> majidOut.txt
که در آن majidCodes.txt، فایل حاوی کد برای تحلیلگر و majidOut.txt ، فایل خروجی تحلیلگر است.
اگر ایرادی توی این پست بود یا ... ، در نظرات اعلام کنید!
در این مطلب masm و linker اون برای کدهای اسمبلی 16 بیتی رو براتون گذاشتم:
برای محیط نوشتن هم WinAsm رو توصیه می کنم:
برای دیدن بزرگتر، روی عکس کلیک کنید.
برای تنظیم masm32 برای WinAsm، در WinAsm، منوی Options < Tools را باز کرده و بخش Files & Paths را بیاورید و 3 آدرس اول را مطابق جایی که masm32 وجود دارد و با کمک شکل پایین تنظیم کنید:
یادتون باشه که WinAsm نیازی به نصب نداره و با اجرای فایل WinAsm.exe شروع میشه.
یه برنامه آزمایشی "سلام جهان" رو پایین می بینید:
.MODEL small
.STACK 100h
.data
message BYTE "Hello, world!","$"
.code
_start:
mov ax, @data
mov ds, ax
mov ah,9
mov dx,OFFSET message ; addr of buffer
int 21h
mov ah,1
int 21h
END _start
در این جا اتصال قطعات در MAX+plus II (که همه رو دیوونه کرده) با روش کم دردسر نام گذاری سیم و نکات اون رو خدمتتون عرض می کنم:
برای دیدن بزرگتر عکس ها، روی آن ها کلیک کنید.
وب معنایی[1] گستره ای از وب کنونی است که امکان معنا کردن دقیق اطلاعات به دایرهی لغات قابل فهم برای انسان و رایانه را فراهم میکند. وب معنایی اولین بار توسط Tim Berners Lee که مخترع شبکهی جهانی وب نیز بود، معرفی شد. در حال حاضر در W3C[2] افرادی برای گسترش و بهبود شمای وب معنایی به طور اختصاصی فعالیت میکنند. اگرچه فناوریهای وب معنایی در نوباوگی به سر میبرند، اما آیندهی تحقیقات روشن به نظر میرسد. در وب معنایی، اطلاعات با استاندارد جدید W3C که چارچوب توصیف منبع (RDF[3]) نامیده میشود، توصیف میشود. Ontology یکی از مهمترین مفاهیم زیربنایی وب معنایی است؛ به طوری که چارچوبهای توصیف منبع و زبان شناخت وب (OWL[4]) دو مدل ارائهی Ontology توصیه شده توسط W3C هستند. وب معنایی امکانات بیشتری را فراهم می کند؛ اکتشاف، خودکاربودن، جامعیت و قابلیت استفادهی مجدد از داده ها و همچنین راه حل برخی مشکلات وب که با فناوریهای موجود قابل حل نیستند.
بیشتر موتورهای جستجو، برای پاسخ به کاربر به جستجوی کلمهی کلیدی مربوطه میپردازند. موتورهای جستجو معمولا صفحههای وب را برای اطلاعات خواسته شده جستجو میکنند. با این حال برخی صفحهها را با الگوریتمهای پیشرفته از نتایج حذف میکنند. هدف اصلی این موتورهای جستجو، ارائهی نتایج نزدیک به درخواست در زمان کم با استفاده از آخرین یافتههای الگوریتمی است. همچنین با این دیدگاه موتورهای جستجوگر گاهی نتایج غلط یا درست اما غیر قابل اطمینان تولید میکنند. در جستجو بر پایهی کلمه کلیدی معمولا نتایجی از blog یا انجمنهای عمومی در نتیجه آورده می شود که به دلیل عدم اعتماد، خوشایند کاربرها نیست. برای حل این مشکل در موتورهای جستجوگر، و استخراج هوشمندانهی اطلاعات با معنی و مربوط؛ فناوری وب معنایی، مفید خواهد بود. فناوری هوشمند معنایی نتایج نزدیکتری نسبت به خواستهی کاربر تولید میکند.
این مقاله کوچولو ترجمه ای بود از:
G.Madhu and A.Govardhan, and T.V.Rajinikanth, Intelligent Semantic Web Search Engines: A Brief Survey, International journal of Web & Semantic Technology,2011.
[1] semantic web
[2] World Wide Web Consortium
[3] Resource Description Framework
[4] Web Ontology Languages
قصد دارم آموزش Entity Framework که جزو بسته ی NET. هست و یکی از بهترین ORM هاست رو خدمتتون ارائه کنم.
حالا اول بریم سراغ این که ORM چیه و به چه دردی می خوره؟!
ORM سر واژه ی عبارت Object Relational Mapping هستش که به معنی نگاشت شی رابطه ای است. در برنامه نویسی شی گرا تمامی کارها با پیاده سازی اشیا عملیاتی می شوند اما در پایگاه داده های رابطه ای ما با جداول و رابطه ی بین آن ها سروکار داریم. مشکل اینجاست که انواع پیچیده ای که ما برای انتزاع به صورت شی درمی آوریم امکان ذخیره مستقیم در پایگاه داده را ندارند. بنابراین ما مجبوریم برای ذخیره ی اشیا، آن هارا به اجزای ریز مطابق با پایگاه داده رابطه ای مورد استفاده خودمان در بیاوریم. (مثلا به انواع varchar و tinyint و... که در Microsoft SQL وجود دارد) موقع بازخوانی مقادیر هم مشکل مقدار دهی اشیا را خواهیم داشت.
در واقع نسبت به روش معمولی اتصال به پایگاه داده، این روش به کد نویسی کمتری نیاز دارد.
برق با شوقم شراری بیش نیست شعله طفل نیسواری بیش نیست
آرزوهای دو عالم دستگاه ازکف خاکم غباری بیش نیست
چون شرارم یک نگه عرض است و بس آینه اینجا دچاری بیش نیست
لاله وگل زخمی خمیازهاند عیش اینگلشن خماری بیش نیست
تا بهکی نازی به حسن عاریت ما و من آیینهداری بیش نیست
میرود صبح و اشارت میکند کاینگلستان خندهواری بیش نیست
تا شوی آگاه فرصت رفته است وعدهٔ وصل انتظاری بیش نیست
دست از اسباب جهان برداشتن سعیگر مرد استکاری بیش نیست
چون سحر نقدیکه در دامان توست گربیفشانی غباری بیش نیست
چند در بند نفس فرسودنست محوآن دامیکه تاری بیش نیست
غرقه ی وهمیم، ورنه این محیط از تنک آبیکناری بیش نیست
ای شرر، از همرهان غافل مباش فرصت ما نیزباری بیش نیست
بیدل اینکمهمتان بر عز و جاه فخرها دارند و عاری بیش نیست
برای تولید فایل excel از DataTable می توان از EPPlus استفاده کرد.
برای شروع EPPlus را از اینجا دریافت کنید و آن را از حالت فشرده خارج کنید.
سپس در Visual Studio در منوی PROJECT گزینه ی Add Reference را کلیک کنید تا پنجره ای مانند شکل زیر ظاهر شود:
سپس با استفاده از دکمه ی Browse ، فایل دریافتی (EPPlus.dll) را انتخاب کنید.
بعد کدی مانند کد زیر را در فایل (code behind (.aspx.cs یا (generic handler (.ashx.cs قرار دهید:
using OfficeOpenXml;در صورتی که از این کد در generic handler استفاده می کنید، نیازی به
using OfficeOpenXml.Table; //adding library
DataTable dt=GetDT(); //get your DataTable from some method or...
using (ExcelPackage pck = new ExcelPackage())
{
if (dt.Columns.Count > 0)
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("addYourSubjectHere");
ws.Cells["A1"].LoadFromDataTable(dt, true, TableStyles.Medium6);
ws.Cells.AutoFitColumns();
using (ExcelRange rng = ws.Cells)
{
rng.Style.Font.SetFromFont(new Font("Tahoma", 10));
}
pck.Workbook.Properties.Title = "yourTitle";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=Invoice.xlsx");
Response.BinaryWrite(pck.GetAsByteArray());
Response.End();
}
}
Response.End();در انتهای کد نیست.
یک روز که داشتم دنبال صفحه کلید مجازی برای پروژه ام می گشتم، این صفحه کلید به نظرم جالب اومد:
اما بعد از دریافت و قرار دادن این صفحه کلید توی نرم افزارتون متوجه می شید که کلیدهای اون همیشه ثابت هستند. برای افزایش امنیت بهتره هر بار ترتیب کلیدها عوض بشه. برای این منظور، طوری ویرایشش کردم که کلیدهاش هر بار جاشون عوض بشه.
برای استفاده از این صفحه کلید ابتدا اون رو از اینجا دریافت کنید و همون طور که تو فایل دریافتی موجوده، موارد زیر رو به بخش header صفحه ی HTML تون اضافه کنید (به jQuery و jQueryUI هم نیاز دارید):
<script src="../script/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="../script/jquery.keyboard.min.js" type="text/javascript"></script>
<script src="../script/jquery-ui.custom.min.js" type="text/javascript"></script>
<script src="../script/jquery.keyboard.extension-typing.js" type="text/javascript"></script>
<link href="../style/jquery-ui.min.css" rel="stylesheet" type="text/css" />
<link href="../style/keyboard.css" rel="stylesheet" type="text/css" />
حالا برای معرفی این که کدوم ورودی باید به این صفحه کلید مجهز بشه، از این کد استفاده کنید:
$(function () {
jQuery("#pass").keyboard({ openOn: null, stayOpen: true }).addTyping();
$("#pass").focus(function () { $('#pass').getkeyboard().reveal(); });
});
مثال کاملش رو می تونید اینجا ببینید. (Source code رو ببینید)