X
تبلیغات
جشنامه

بازی تخته نرد در جاوا


import java.util.Random;

public class Craps
{
   // create random number generator for use in method rollDice
   private Random randomNumbers = new Random();

   // enumeration with constants that represent the game status
   private enum Status { CONTINUE, WON, LOST };

   // constants that represent common rolls of the dice
   private final static int SNAKE_EYES = 2;
   private final static int TREY = 3;
   private final static int SEVEN = 7;
   private final static int YO_LEVEN = 11;
   private final static int BOX_CARS = 12;

   // plays one game of craps
   public void play()
   {
      int myPoint = 0; // point if no win or loss on first roll
      Status gameStatus; // can contain CONTINUE, WON or LOST

      int sumOfDice = rollDice(); // first roll of the dice

      // determine game status and point based on first roll
      switch ( sumOfDice )
      {
         case SEVEN: // win with 7 on first roll
         case YO_LEVEN: // win with 11 on first roll          
            gameStatus = Status.WON;
            break;
         case SNAKE_EYES: // lose with 2 on first roll
         case TREY: // lose with 3 on first roll
         case BOX_CARS: // lose with 12 on first roll
            gameStatus = Status.LOST;
            break;
         default: // did not win or lose, so remember point        
            gameStatus = Status.CONTINUE; // game is not over
            myPoint = sumOfDice; // remember the point
            System.out.printf( "Point is %d\n", myPoint );
            break; // optional at end of switch
      } // end switch

      // while game is not complete
      while ( gameStatus == Status.CONTINUE ) // not WON or LOST
      {
         sumOfDice = rollDice(); // roll dice again

         // determine game status
         if ( sumOfDice == myPoint ) // win by making point
            gameStatus = Status.WON;
         else
            if ( sumOfDice == SEVEN ) // lose by rolling 7 before point
               gameStatus = Status.LOST;
      } // end while

      // display won or lost message
      if ( gameStatus == Status.WON )
         System.out.println( "Player wins" );
      else
         System.out.println( "Player loses" );
   } // end method play

   // roll dice, calculate sum and display results
   public int rollDice()
   {
      // pick random die values
      int die1 = 1 + randomNumbers.nextInt( 6 ); // first die roll
      int die2 = 1 + randomNumbers.nextInt( 6 ); // second die roll

      int sum = die1 + die2; // sum of die values

      // display results of this roll
      System.out.printf( "Player rolled %d + %d = %d\n",
         die1, die2, sum );

      return sum; // return sum of dice
   } // end method rollDice
} // end class Craps



public class CrapsTest
{
   public static void main( String args[] )
   {
      Craps game = new Craps();
      game.play(); // play one game of craps
   } // end main
} // end class CrapsTest




/*

Player rolled 4 + 2 = 6
Point is 6
Player rolled 3 + 6 = 9
Player rolled 5 + 5 = 10
Player rolled 2 + 6 = 8
Player rolled 5 + 5 = 10
Player rolled 5 + 3 = 8
Player rolled 5 + 1 = 6
Player wins

*/

بازی تخته نرد با جاوا



ذخیره سازی یک تصویر در بانک اطلاعاتی سرور SQL

Saving an Image in a SQL Server Database

Most of the web applications have a lot of images used in it. These images are usually stored in a web server folder and they are accessed by giving the relative path to the file with respect to the root folder of the website.

.Net being the platform for distributed application now, ASP.Net can be used to store images that are small to be stored in a database like SQL Server 2000 and later versions. For this purpose the SQL Server database provides a data type called “image” which is used to store images in the database.

To access these images stored in the database we will be using the ADO.Net classes. To find out how to insert and retrieve an image in to the SQL Server database, you can create a .aspx page which can have a HTMLInputFile control which is used to select the image file that is to be saved in the database.

You can also create a textbox control in which you can add the image name or some comment or an image id for the image saved. Use a button control to upload the image to the database. Namespaces like System.Data.SqlClient, System.Drawing, System.Data, System.IO, and System.Drawing.Imaging are used in this task.

In the OnClick property of the button you can write the following code to upload an image to the database.
// create a byte[] for the image file that is uploaded
int imagelen = Upload.PostedFile.ContentLength;
byte[] picbyte = new byte[imagelen];
Upload.PostedFile.InputStream.Read (picbyte, 0, imagelen);
// Insert the image and image id into the database
SqlConnection conn = new SqlConnection (@"give the connection string here...");
try
{
conn.Open ();
SqlCommand cmd = new SqlCommand ("insert into ImageTable "
+ "(ImageField, ImageID) values (@pic, @imageid)", conn);
cmd.Parameters.Add ("@pic", picbyte);
cmd.Parameters.Add ("@imageid", lblImageID.Text);
cmd.ExecuteNonQuery ();
}
finally
{
conn.Close ();
}

You can also write the above code in a function and call that function in the OnClick event of the upload button. The code given above performs the following steps in the process of inserting an image into the database.

1. Get the content length of the image that is to be uploaded
2. Create a byte[] to store the image
3. Read the input stream of the posted file
4. Create a connection object
5. Open the connection object
6. Create a command object
7. Add parameters to the command object
8. Execute the sql command using the ExecuteNonQuery method of the command object
9. Close the connection object

To retrieve the image from the SQL Database you can perform the following steps.

1. Create a MemoryStream object. The code can be something like,
MemoryStream mstream = new MemoryStream ();
2. Create a Connection object
3. Open the connection to the database
4. Create a command object to execute the command to retrieve the image
5. Use the command object’s ExecuteScalar method to retrieve the image
6. Cast the output of the ExecuteScalar method to that of byte[]
byte[] image = (byte[]) command.ExecuteScalar ();
7. Write the stream
mstream.Write (image, 0, image.Length);
8. Create a bitmap object to hold the stream
Bitmap bitmap = new Bitmap (stream);
9. Set the content type to “image/gif”
Response.ContentType = "image/gif";
10. Use the Save method of the bitmap object to output the image to the OutputStream.
bitmap.Save (Response.OutputStream, ImageFormat.Gif);
11. Close the connection
12. Close the stream
mstream.Close();

Using the above steps you can retrieve and display the image from the database to the web page.

You can use these algorithms and take advantage of the “image” data type available in the SQLServer 2000 database to store small images that correspond to a particular record in the table of the database. This method of storing avoids the tedious task of tracking the path of the web folder if the images are stored in a web folder.



ذخیره سازی یک تصویر در بانک اطلاعاتی سرور SQL

بسیاری از کاربردهای وب برای استفاده ، تعدادی از تصاویر را درون خود دارند. این تصاویر معمولاً در یک فولدر سرور وب ذخیره شده اند و از طریق مسیر مرتبط با توجه به  فولدر ریشه وب سایت قابل دسترسی هستند.

.NET در حال حاضر پلتفرمی را برای کاربردهای گسترده شده ارائه کرده است . از ASP.NWT می توان برای ذخیره کردن در یک بانک اطلاعاتی همانند SQL سرور 2000 و نسخه های بعد از آن که کوچمک هستند ،استفاده کرد. برای این منظور بانک اطلاعاتی سرور SQL گونه ایی اطلاعات را تحت عنوان تصویر وعرفی کرده است که برای ذخیره کردن تثاویر در بانک اطلاعاتی بکار می روند.

برای دسترسی به این تصاویر ذخیره شده در بانک اطلاعاتی ما از کلاسهای ADO.NET استفاده میکنیم.برای پیدا کردن اینکه چگونه یک تصویر را در بانک اطلاعاتی سرور SQL ذخیره و آنرا  بازیابی کنیم ،میتوانید یک صفحه .aspx را ایجاد نماییدکه شامل یک فایل کنترل ورودی HTML میباشد که برای انتخاب فایل تصویری که قرار است در بانک اطلاعاتی ذخیره شود مورد استفاده قرار میگیرد.

همچنین میتوانید یک TEXTBOX کنترلی را ایجاد نمایید که از طریق آن میتوانید نام تصویر یا تعدادی توضیح یا یک ID   تصویر برای تصویر ذخیره شده ،ایجاد کنید.از یک دکمه کنترل برای آپلود تصویر به بانک اطلاعاتی استفاده می شود. در این رابطه از فضاهای نامی همانند System.Data.SqlClient, System.Drawing, System.Data, System.IO, and System.Drawing.Imaging استفاده شده است.

با استفاده از ویژگی دکمه onclick شما میتوانید کد زیر را برای اپلود یک تصویر به بانک اطلاعاتی استفاده کنید:

 // create a byte[] for the image file that is uploaded int imagelen = Upload.PostedFile.ContentLength;
byte[] picbyte = new byte[imagelen];
Upload.PostedFile.InputStream.Read (picbyte, 0, imagelen);
// Insert the image and image id into the database
SqlConnection conn = new SqlConnection (@"give the connection string here...");
try
{
conn.Open ();
SqlCommand cmd = new SqlCommand ("insert into ImageTable "
+ "(ImageField, ImageID) values (@pic, @imageid)", conn);
cmd.Parameters.Add ("@pic", picbyte);
cmd.Parameters.Add ("@imageid", lblImageID.Text);
cmd.ExecuteNonQuery ();
}
finally
{
conn.Close ();
}

همچنین میتوانید کد بالا را به صورت یک تابع نوشته و آن تابع را با رویداد onclick از دکمه آپلود احظار کنید.کد نشان داده شده در بالا ،مراحل زیر را برای وارد کردن یک تصویر به بانک اطلاعاتی انجام میدهد:

1. مشخص کردن طول مضمون تصویری که قرار است آپلود شود.

2. ایجاد یک بایت [] برای ذخیره تصویر

3. خواندن مسیر ورودی فایل پست شده

4. ایجاد یک موضوع ارتباطی

5. باز کردن موضوع ارتباطی

6. ایجاد یک موضوع فرمان

7. اضافه کردن پارامترهایی به موضوع فرمان

8. اجرای فرمان SQL با استفاده از روش اجرای غیر پرسشی موضوع فرمان

9. بستن موضوع ارتباطی

برای یازیابی تصویر از بانک اطلاعاتی می توانید مراحل زیر را اجرا کنید:

1. یک MemoryStream را یجاد کنید. که میتواند چیزی شبیه به زیر باشد:

MemoryStream mstream = new MemoryStream ();

2. یک موضوع ارتباطی را ایجاد کنید.

3. ارتباط را به بانک اطلاعاتی باز کنید.

4. برای اجرای فرمان مربوط به بازیابی تصویر ،یک فرمان را ایجاد کنید.

5. برای بازیابی تصویر از روش اجرای فرمانی SCALAR استفاده کنید.

6. خروجی مربوط به روش اجرایی اسکالر را برای آن بایت [] مشخص کنید.

byte[] image = (byte[]) command.ExecuteScalar ();
7. مسیر را بنویسید.

8. برای نگهداری مسیر یک موضوع bitmap را ایجاد کنید.

Bitmap bitmap = new Bitmap (stream);
9. نوع محتویات "image/gif"  را تنظیم کنید.

Response.ContentType = "image/gif";

10. از روش ذخیره سازی bitmap برای خروجی تصویری که به مسیر خروجی مربوط است استفاده کنید.

bitmap.Save (Response.OutputStream, ImageFormat.Gif);
11. ارتباط را ببندید.

12. مسیر را ببندید.

mstream.Close();

با استفاده از مراحل بالا شما میتوانید تصویر را از بانک اطلاعاتی صفحه وب بازیابی کرده و آنرا مشاهد کنید.شما میتوانید از این الگوریتمها و مزایای مربوط به اطلاعات تیپ تصویر موجود در بانک اطلاعاتی SQL سرور 2000 برای نگهداری تصاویر کوچکی که مرتبط به یک ثبت خاص در جدو.ل بانک اطلاعاتی هستند ، استفاده کنید. این روش ذخیره سازی مانع از اجرای کار زمان بر و کند پیگیری مسیر فولدر وب ،در صورتی که تصاویر در یک فولدر وب ذخیره شده باشند ،می شود.

دانلود ترجمه زبان تخصصی رشته کامپیوتر

دانلود ترجمه زبان تخصصی رشته کامپیوتر


سه درس اول


5.2 مگابایت


دانلود

معماری چابک


 

معماری چابک

واژه ‌Agile در فرهنگ لغت، به معنای سریع الانتقال، چابک، فعال، توانایی حرکت به صورت سریع و آسان، و قادر بودن به تفکر به صورت سریع و با یک روش هوشمند است. چابکی توانایی ایجاد و پاسخ به تغییرات به منظور کسب سود در محیط متلاطم حرفه می‌باشد و ارتباط تنگاتنگی با مسئله‌ تغییر دارد، تغییری که از دگرگونی‌های محیطی حرفه ناشی می شود و سازمان‌ها را ملزم به مقابله می‌نماید.

در محیط‌های متغیر معمولاً برنامه‌ها اشتباه می‌شوند و این مسئله در محیط‌های توسعه نرم‌افزار به خاطر عوامل محیطی انسانی تغییرات و تلاطم، نمود بیشتری دارد. البته این بدان معنا نیست که روش‌هایی که چابکی را مدنظر دارند برنامه‌ریزی نمی‌کنند، بلکه برنامه‌ریزی آنها به گونه‌ایست که انعطاف‌پذیری لازم برای مواجه با تغییرات و کسب سود را دارا هستند. در برخی موارد برنامه‌ای که برای کمک به پروژه تهیه می‌شود، دچار انحراف از واقعیت می‌شود و پایبندی کورکورانه به آن، ضرر و لطماتی را به سازمان تحمیل می‌کند.

مفهوم چابکی امروزه در حوزه‌های بسیاری چون تولید و توسعه نرم‌افزار، سازمان‌ها و نیز معماری به سرعت در حال گسترش است. معماری چابک و معماری سازمانی چابک از جمله مفاهیمی هستند که در پاسخ به نیاز به پویایی و قابلیت استفاده مجدد پویا در معماری ارائه شده‌اند و توانایی کنترل و مدیریت تغییرات را به معماران می‌دهند. با ترکیب معماری و چابکی مفاهیم جدیدی مورد توجه قرار می‌گیرند که از آن جمله می‌توان به موارد ذیل اشاره نمود:

  • توسعه نرم‌افزار چابک

  • متدولوژی‌های چابک

  • معماری نرم‌افزار چابک

  • چارچوب‌های چابک

  • مدیریت پروژه چابک

  • معماری سازمانی چابک

معماری سرویس‌گرا

معماری سرویس‌گرا

سرویس گرایی (Service-orientation) مفهوم نسبتا جدیدی است که بر پایه مفاهیمی قدیمی‌تر نظیر شی‌گرائی (Object-orientation) و توسعه برپایه مؤلفه (Component-based Software Development) شکل گرفته است. این مفهوم در سطوح مختلف معماری سازمانی و مهندسی نرم‌افزار قابل پیاده‌سازی است و دیدی ارائه می‌کند که در آن تمامی منابع به صورت مناسبی تقسیم‌بندی شده و همواره به عنوان یک سرویس در دسترس هستند.

در مورد معماری سرویس‌گرا تعاریف متعددی از دیدهای مختلف (بسته به سطح پیاده‌سازی) ارائه شده است. در یک معرفی کوتاه می‌توان از معماری سرویس‌گرا به عنوان دیدگاهی برای توسعه سیستم‌ها نام برد که در آن فعالیت‌ها و کارها بر اساس فرآیندهای حرفه (Business Process) و تحت عنوان سرویس دسته‌بندی می‌شوند. این سرویس‌ها از یکدیگر مستقل بوده و می‌توانند با هم ارتباط برقرار کنند. بدین ترتیب سست پیوندی (Loose Coupling) در سیستم افزایش پیدا می‌کند. سست پیوندی یعنی بخش‌های مختلف یک سیستم کمترین وابستگی مجازی را به یکدیگر داشته باشند. هر سرویس یکی از فعالیت‌های حرفه را به‌طور مستقل ارائه می‌کند و با کمترین میزان وابستگی با سایر سرویس‌ها ارتباط دارد.

معماری سرویس‌گرا در مهندسی نرم‌افزار به این اصل اشاره دارد که بخش‌های مختلف یک سیستم نرم‌افزاری به صورت سرویس‌هایی مستقل از زبان برنامه‌نویسی، زیرساخت و سکو ساخته شوند. در این راستا فناوری‌های مختلفی مانند سرویس‌های وب (Web Services) پدید آمده‌اند. در معماری سازمانی نیز سرویس‌گرائی سبب شده است تا تمرکز معمار بر دسته‌بندی فرآیندها و وظایف براساس فرآیندهای اصلی حرفه و اهداف سازمان شکل گیرد و پیاده‌سازی آنها بر اساس مفهوم سرویس‌ها باشد. در این عرصه مفاهیم جدید بسیار شکل گرفته و در حال شکل‌گیری است که از آن جمله می‌توان به موارد ذیل اشاره نمود:

  • بلوغ سرویس‌گرایی

  • محاسبات سرویس‌گرا

  • مدل‌سازی سرویس‌گرا

  • متدولوژی‌های سرویس‌گرا

  • معماری سازمانی سرویس‌گرا

  • ارزیابی سرویس‌گرا

   1       2       3       4       5       ...       18      >>