Bamdad Dashtban

Developer

Month: August, 2010

مشکلات من در تهیه کتب خارجی

دیگه تقریبا همه دوستان و اطرافیان من در جریان هستند که به خاطر مطالعه Ebook با کامپیونر مدتی است که چشمانم آسیب دیده و باعث شده که از زمانبندی و انتظاری که از خودم داشتم عقب بیوفتم.

برای همین  چند روزیه که با همه مشورت می کنم که یه راهی برای اینکه کتاب هایی رو که می خونم به صورت کاغذی تهیه کنم تا بلکه چشمام آروم تر بشه.

البته چند سری به فکر خرید تبلت و ایبوک ریدر افتادم ولی چیزهایی که نظرم رو جلب کرد خیلی گرون تر از خرید سالیانه کتاب من بود که منصرفم کرد البته یک دلیل سخت پیدا شدن این دستگاه ها در بازار ایران و عدم امکان تست و بررسی آنها قبل از خرید بود

از اونجایی که کتب مورد نظر من هیچ یک در ایران حتی چاپ افست هم نمیشه تنها راه حل خرید آنها از سایت هایی مثل آمازون و ارسال آنها به ایران هستش

سایت آدینه بوک برای شما سرویسی را فراهم می کند که با استفاده از آن می توانید تمامی کتاب های موجود در آمازون رو سفارش بدید منتها چند ایراد وجود دارد

  • اگر تا به حال سری به آمازون زده باشید حتما متوجه شده اید که در اکثر مواقع کتاب ها با مقداری تخفیق ارائه میشه برای مثال کتابی که من در نظر داشتم قیمتش 40 دلار بود که تخفیف خورده بود و به 31 دلار رسیده بود که نسبتا قیمت معقولی داشت, ولی آدینه بوک تخفیف آمازون رو حساب نمی کنه و کتاب رو با قیمت بدون تخفیف براتون تهیه می کنه
  • آدینه بوک به ازای خرید هر کتاب مقدار زیادی پول ازتون  برای هزینه ارسال و سود می گیره که با قیمت اصلی کتاب برابری می کنه و اگه کتابتون ارزون باشه شاید از قیمت اصلی کتاب هم بیشتر بشه , برای کتابی که من سفارش دادم 27 هزار تومان هزینه ارسال در نظر گرفته شد
  • کتاب اگه برسه پس از 25 روز به دستتون می رسه که حتما توی اون 25 روز ایبوک کتابو خوندید و چشمانتوتم اذیت کردید

سایت های دیگری مثل آدینه بوک هم وجود دارند که با کمی قیمت بالا و پایین میشه کتاب رو تهیه کرد ولی باز هم برای من قیمت کتاب ها غیر منصفانه است و زمان تحویل هم خیلی دیره!

هدف من از نوشتم این مطلب این بود تا از دوستان بخواهم اگه راهی میشناسند که کتاب های آمازون را با قیمتی منصفانه تر در تهران تحویل بگیرم به من هم بگویند …

ممنون

Java EE چه هست و چه نیست ؟

داشتم در انجمن برنامه نویس به دنبال مطالبی در مورد جاوا ای ای می گشتم که به تاپیکی برخوردم که دیدم برای شروع نوشتنم در مورد جاوا ای ای خیلی خوبه که این مطلب را اینجا بگذارم

در ادامه این پست کاربران و برنامه نویسان سایت برنامه نویس به پرسش و پاسخ در مورد Java EE پرداخته اند که گزیده ای از آن ها را هم اینجا قرار خواهم داد.

نکته : این تاپیک مربوط به بهمن ماه سال 1384 است پس امکان قدیمی بودن خیلی از محتوای مطالب وجود دارد گرچه برای آشنایی بسیار مطلوب است.

zehs_sha  نوشته است :

J2EE چه هست و چه نیست؟

“Java2 Platform-Enterprise Edition” یک تکنولوژی میان افزار است که توسط شرکت سان میکروسیستم ابداع شده است و در حال حاضر به عنوان یک راه حل اساسی جهت برآورد کردن نیازها و مسائل مختلف در نظر گرفته می شود. تکنولوژی های میان افزار از Corba و IDLS تا سیستم های پیغام گرا، راه بسیاری را پیموده اند و تکامل آنها مرحله به مرحله بوده است که طرح آن فراتر از محدوده این مقاله است.
J2EE شرکت سان یک نقطه تحول قطعی در تاریخ تکنولوژی های میان افزار و سبب پذیرش و تشخیص تشکیلات کامپیوتری شناخته می شود.
در ادامه مطلب در مورد “J2EE” چیست و چه نیست؟ بررسی دقیق تری صورت می گیرد. به هر حال، با وجود مجموعه ای بزرگ از استانداردها و ویرایش ها از یک سو و وجود سرورهای برنامه های کاربردی گوناگون از سوی دیگـر، معمولا J2EE غیرقابل درک می نماید.
J2EE چیست؟
قبل از آن که تعریف کنیم J2EE چیست بهتر است درک کنیم که J2EE زبان بـرنامه نویسی بسته نرم افزاری، یک ابزار و یا یک سرویس نیست. به عبارت ساده تر J2EE لزوما یک میان افزار استاندارد است که شرکت سان میکروسیستم آن را برای توسعه و به کارگیری برنامه های کاربردی تجاری در مقیاس گسترده و با قابلیت الکترونیکی و به صورت توزیعی و چندلایه ارائه کرده است.
برنامه های کاربردی که برای استانداردهای J2EE نوشته می شوند مزایای زیادی را در بر می گیرند که قـابلیت جابه جایی، امنیت، مقایس پذیری، توازن بار و قابلیت استفاده مجدد از آن جمله است.
میان افزارها، راه حل های نرم افزاری سمت سروری هستند که بنیاد و اساس مورد نیاز در اتصال سیستم های نامتجانس و منابعی توزیعی در شبکه را فراهم می کنند. پیش از J2EE، راه حلهای میان افزار و محدود به محصولات و عرضه کننده ها بودند. این میان افزارهای قدیمی ویژگی های محدودی داشتند و سازگاری آنها نیز کم بود و حتی در قابلیت های عملکردی و جابه جایی در مسائل مختلف نیز محدود بودند. به عبارت دیگر، هیچ استاندارد صنعتی مشترک و قابل قبولی برای این منظور وجود نداشت و بسیرای از ویژگی ها به انتخاب عرضه کننده بود.
J2EE با یادگیری از اشتباهات گذشته و ارائه نیازمندی های ضروری صنعت سبب رشد و کمال تکنولوژی میان افزار شد. همچنین امکان گسترش و توسعه های آتی نیز در آن لحاظ گردید.
در توسعه این استاندارد، سان با دیگر عرضه کننده های اصلی میان افزار، سیستم عامل و سیستم های مدیریت پایگاه داده از جمله IBM و اوراکل همکاری کرد.
در اصل J2EE مجموعه ای از اتانداردها و خط مشی هایی است که تعریف می کند چگونه برنامه های کاربردی در لایه توزیعی می توانند با استفاده از زبان جاوا ساخته شوندً؟ توسعه دهنده ها، برنامه های کاربردی خودشـان را تحت این استانداردها می سازند و عرضه کننده های زیرساختار، سازگاری با این مجموعه خط مشی ها را از طریق J2EE تضمین می کنند. از این طریق، برنامه های J2EE می توانند به صورت مدخلی برای به کارگیـری چندین سرور برنامه های کاربردی با حداقل تغییرات در سطح کم (و حتی بدون تغییر) در نظر گرفته شوند.

اعمال J2EE

J2EE به ارائه محیط های مختلفی می پردازد که این محیط ها در ادامه بررسی شده است:
J2EE ترکیبی برای میان افزار توزیعی چندلایه
J2EE کاملا بین لایه های مختلف درگیر در محیط برنامه کاربردی حد فاصل قایل می شود و مولفه های قرار گرفته در هر لایه را تعریف می کند. این لایه ها می توانند هر یک از لایه های Client، لایه طرح، لایه تجارت و یا ارائه سیستم های اطلاعاتی گسترده باشند.
کلیه برنامه های کاربردی J2EE براساس این قالب کاری ساخته شده است.
همچنین هر لایه در سیستم چندلایه ممکن است در چند سرور توزیع شده باشد.
با J2EE توسعه برنامه های کاربردی توزیعی دیگر یک وظیفه پیچیده نیست. مولفه های J2EE هیچ فرضی درباره محیط سرور و منابعی که از طریق دایرکتوری های گسترده دسترسی می یابند، ندارند. این بدان معناست که توسعه دهندگان برنامه های کاربردی برای توزیع مولفه ها و منابع اشان به تلاش زیادی نیاز ندارند.
J2EE محیطی برای برنامه های کاربردی در مقیاس گسترده
J2EE به صورت سرورهای برنامه های کاربردی مانند BEA WEB Logic یا IBM WEB Sphere پیاده سازی شده که محیطی برای برنامه های کاربردی توزیعی در مقیاس گسترده است.
برنامه های کاربردی می توانند براساس مدل برنامه نویسی برنامه های کاربردی J2EE ساخته شوند و حتی در یک یا چند سرور برنامه های کاربردی وب سازگار با J2EE به کار گرفته شوند.
به عبارت دیگر می توان مناسب ترین محیط سرور برنامه کاربردی از محصولات گسترده سازگار J2EE را انتخاب کرد. حتی بدون توجه به این ویژگی های منحصر به فرد نیز، کلیه سرورهای برنامه های کاربردی J2EE یک حیطه کاری مشترک برای توسعه و به کارگیری برنامه های کاربردی گسترده فراهم می کنند.
J2EE مدلی برای توسعه برنامه های کاربردی با قابلیت الکترونیکی
برنامه های کاربردی J2EE به راحتی می توانند بر روی وب، پالم و دستگاه های دستی، تلفن های همراه و بسیاری دیگر از دستگاه های نمایش داده شوند. به عبارت دیگر، مولفه های برنامه های کاربردی می توانند بدون هیچ مشکلی دارای قابلیت الکترونیکی باشند. مدل برنامه نویسی J2EE تضمین می کند که منطق تجاری و سیستم های BackOffice بدون تغییر باقی بمانند و به عنوان تسهیلاتی برای نمایش به راه های گوناگون و دسترسی Clientها به کار روند.
یکی دیگر از ویژگی های خوب محیط J2EE توازن بار اتوماتیک، مقایس پذیری و تحمل خرابی است. مولفه های به کار رفته در محیط J2EE به طور اتوماتیک این تسهیلات را به دنبال خواهند داشت که به این ترتیب دیگر نیازی به کدنویسی نخواهد بود. این ویژگی ها در ساخت مدخل های وب مورد نیاز Clientها اهمیت چشمگیری دارند.
J2EE استاندارد سازگار در سرورهای برنامه های کاربردی وب
J2EE را می توان اولین استاندارد صنعتی در پذیرش و تشخیص دنیای میان افزار دانست. تقریبا تمام سرورهای برنامه های کاربردی وب (BEA WEB Logic, IBM WEB Sphere, HP’S Application Server, Sun-Netscapes’s inlanet, Macromedia’s Jrunو غیره(، سرورهای تایید شده برنامه کاربردی J2EE هستند. تاکنون هیچ استاندارد دیگری تا این حد پشتیبانی و تایید نشده بود.
همگام بافًـزوده شدن دیگر مولفه های برنامه های کاربردی به خصوصیات J2EE، می توان آنها را در سرورهای گوناگون برنامه های کاربردی در شبکه های گسترده به کار برد. از این رو، به منظور تضمین سازگاری و همبستگی بین سرورهای متفاوت برنامه های کاربردی J2EE، مجموعه تست سازگاری را ارائه کرده است.

بینش J2EE

بینش اولیه خلق و ایجاد J2EE را می توان به صورت زیر خلاصه نمود:
“توسعه دهندگان باید کدهای مختلفی را بنویسند تا تجارت و منطق طرحشان را شرح دهند، در همین حین، زیرساختار میان افزار از مسائل سطحی سیستم مانند مدیریت حافظه، تخصیص منابع، عملیات چندرشته ای، دسترس پذیری و جمع آوری آشغال به طور اتوماتیک مراقبت می کند.
آیا J2EE مشـکلات را رفع می کند؟
حال بهتر است بررسی شود که J2EE چگونه مسائل و مشکلات اصلی ناشی از گستردگی را رفع می نماید و چگونًـًـه امکان توسسعه آتی برقرار می شودً؟
استقلال از سیستم عامل و سخت افزار
J2EE runtime بر روی ماشین مجازی جاوا (JVM) قرا رمی گیرد. شکل 2 نشانگر این امر است. JVM مستقل از سخت افزار و سیستم عامل است. محیط (JRE) Java runtime تقریبا برای تمام سخت افزارها و سیستم عامل های مشهود در دسترس است. بنابراین با پذیرش جاوا، J2EE تشکیلات کامپیوتـری را از سرمایه گذاری در سیستم عامل ها و سخت افـزارگران و پرهزینه خلاصی می بخشد.
امکان نزدیک تر ساختن لایه یکپـارچه گسترده J2EE به سیستم های Backoffice مزیت ویژه دیگری است. در برخی موارد، می توان لایه J2EE را در خود محیط سرور EES جای داد و از این طریق ترافیک شبکه را کاهش و عملکرد آن را افزایش داد.

پیوستگی با طراحی شی گرا و متدولوژی مولفه

ارتباط تنگاتنگ با شی گرایی، جاوا را به یک زبان کدنویسی و خوش ترکیب تبدیل کرده است. تقریبا کلیه ویژگی های برنامه نویسی شی گرا در جاوا پشتیـانی شده است. مدل برنامه نویسی J2EE براساس متدولوژی های شی گرا و طراحی مبتنی بر مولفه ساخته شده است.
J2EE مدل های مولفه ای گوناگونی برای لایه های متفاوت دارد. بنابراین با پذیرش ترکیب های مناسب یک پروژه، توسعه دهندگان می توانند مولفه های بسیاری را فراهم کرده و گسترش دهند که در نتیجه توسعه برنامه های کاربردی تسریع می شود.
با این تفاسیر و قابلیت ها در تشکیلات کامپیوتری، برنامه های کاربردی خوش ساختار، انعطاف پذیر و قابل استفاده مجدد شکل خواهند گرفت.

انعطاف پذیری، قابلیت جابه جایی و قابلیت عملیات متقابل

کدهای جاوا را می توان از یک سیستم عاملی به سیستم عامل دیگر انتقال داد و مولفه های J2EE را نیز می توان از محیط یک سرور برنامه های کاربردی به محیط دیگر سرور برنامه های کاربردی انتقال داد. این بدان معناست که دیگر لزومی به قراردادن تشکیلات کامپیوتری بر روی یک محیط توسعه خاص نخواهد بود. برنامه های کاربردی را می توان در بیش از یک سرور برنامه کاربردی J2EE می توانند به خوبی با هم کار کنند. این ویژگی قابلیت عملیات متقابل بی سابقه ای را در جمع آوری مولفه های برنامه های کربردی می دهد. به عنوان مثال ممکن است که EJB را مستقیما در ارتباط متقابل با محیط های mainframelcics د رمحیط IBM قرار داد و از سرورهای BEA WEB Logic به EJB دست یافت.
یکپارچه سازی سیستم های اطلاعاتی گسترده

J2EE به سرعت در استانداردهای صنعت مانند JMS, JOBC و JCA به کار گرفته شده و موجب سادگی و یکپارچه سازی سیستم های اطلاعاتی گسترده مانند سیستم های قانونی، پیاده سازی های EID و پایگاه های داده شده است.
تقریبا تمام عرضه کننده های اصلی پایگاه های داده JDBC را پشتیبانی می کنند. بنابراین برنامه های کاربردی J2EE از قابلیت ارتباط با کلیه پایگاه های داده مشهور با کمک درایورهای مورد نیاز JDBC بهره می برند. متقابلا تعدادی از adapterهای EI مبتنی بر استانداردهای معماری متصل کننده جاوا به بازار شده اند که یکپارچه سازی نامریی با سیستم های قانونی متفاوت و پیاده سازی های ERP/CRM را انجام می دهد.

پذیرش معماری های سرویسگرا در J2EE

با ظهور سروریس های وب و استانداردهای باز مانند SOAP، قابلیت کار متقابل در سیستم های مجزا در تشکیلات کامپیوتری امکان پذیر شد. J2EE محیط قابل گسترشی است که می توان از مولفه ها و منابع آن در سرویس های وب استفاده کرد.
شرکت سان مجوعه بهم پیوستهای از API ها به نام بسته JAX ارائه کرده که تمامی انواع نیازمندیهای سرویس های وب مانند XML Binding, XML Parsing ترخیص و دریافت پیغام SOAP، جست وجو در XML RPC, Registry و پیغام دهی XML را پشتیبانی می کند.
اگرچه محیط J2EE بسیار پیش از ظهور تکنولوژی های سرویس های وب پشتیبانی شده است، لیکن متناسب بودن با آخرین توسعه را نیز لحاظ کرده است. با اطمینان می توان J2EE را قادر به فًـًـًـًـراهم نمودن و ارائه پیشرفت های بیش تر تکنولوژی بدون اعمال اثرات منفی در قالب کاری مرکزی و مدل برنامه نویسی برنامه کاربردی ساخت.
نتیجه

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

منبع :

در صورت تمایل روی ادامه کلیک کنید

این جاوا اصلا چی هست ؟

باید بگم که با دوستانم راجع به مطالبی که در بلاگم نوشتم صحبت کردم ، از اونجایی که خیلی ها خودشون برنامه نویسند کلی نظرات خوب دادند و همچنین خیلی از دوستان که آشنایی نداشتند سوالات خوبی کردند که من را بر آن داشت [:دی ] تا از بیخ و بن به معرفی جاوا بپردازم چون اون طور که فهمیدم برداشت دوستان نسبت به جاوا خیلی متفاوته.
اول از همه بگو ببنینم کلا جاوا چی هست ؟
جاوا یک زبان برنامه نویسی است که در ابتدا توسط جیمز گاسلینک در شرکت سان ( که در حال حاضر قسمتی از شرکت اوراکل است ) توسعه و تولید پیدا کرد و در سال 1995 ارائه شد ،شکل و سینتکس دستور ها از زبان های سی و سی پلاس پلاس گرفته شد و رشد داده شد ولی تفاوت های عمده ای در مدل شی گرایی ارائه شده و همچنین دسترسی های محدود تر شده به امکانات سطح پایین مثل رم و هارد و .. داره .

به چه دردی می خوره ؟
به همه درد ، شما میتونید با استفاده از جاوا برنامه ای برای کنسول خط فرمان , محیط دسکتاپ , دستگاه های جیبی و دستی مثل موبایل و تبلت  و همچنین برای وب برنامه بنویسید .
پس واقعا زبون کاملیه البته باید بدونید هر قسمتییش واسه خودش دنیایی داره ولی اگه علاقه داشته باشید می تونید همه بخش هارو امتحان کنید .

زبان برنامه نویسی سختیه ؟
نمیشه گفت سخته یا سخت نیست ، به اونجا بر میگرده که شما با مفاهیم شی گرایی چقدر آشنا هستید و می تونید کنار بیایین، به نظر من اگه چیزی از برنامه نویسی   رویه ای ندونید  برای شروع شاید راحت تر بتونید درک کنید ولی چون با مفاهیم شی گرایی درگیر خواهید بود و باید مفاهیم جدید یاد بگیرید شاید یادگیریتون نسبت به سایر زبون ها کند تر پیش بره ولی بعد ها با همون مفاهیم کلی عشق خواهید کرد.

چه بخشایی داره هر کدوم به چه کاری می آیند ؟

در حال حاضر میشه برنامه ها و SDK  های جاوا رو به 4 دسته تقسیم کرد که این دسته بندی بر اساس کاربرد نرم افزار هاست که به صورت زیره :

  • Java Micro Edition  یا همون JavaME
    برای برنامه نویسی دستگاه های موبایل و دستی  به کار میره
  • Java Standard Edition یا همون JavaSE
    برای برنامه نویسی برنامه های کنسول و دسکتاپ ازش استاده میشه البته باهاش میشه به سختی اپلیکیشن وب  هم تولید کرد.
  • JavaFX
    برای تولید برنامه هایی که بیشتر با اینترنت سرو کار دارند هستش ، قابلیت تولید برنامه هایی که روی موبایل , دسکتاپ و مرورگر رو داره ، کلا یه چیزی تو مایه های ادوبی ایر هست اگه میشناسید .
  • Java Enterprise Edition  یا همون Java EE
    اصل داستان جاوا به نظر من همین نسخه سازمانی جاوا هستش  که باهاش میشه برنامه های بزرگ ، سایت های بزرگ و سیستم های توزیع شده تولید کرد .

هزینه تولید برنامه توش زیاده ؟
نمیشه درست پاسخ داد ، قاعدتا اگه بخواهید باهاش سایت راه بندازید نیازمند استفاده از یک سرور یا سرور مجازی رو داره که هزینیش می تونه از وب هاست های اشتراکی بالا تر باشه ولی خوب پروژه تون باید این قدر بزرگ باشه که برید طرف جاوا وگرنه نمی ارزه!

میشه باهاش سایت ساخت ؟
بله ، تکنولوژی هایی مثل Java Server Faces  و Java Server Pages  برای همین کارند البته کتابخانه های دیگه ای هستند که باهاشون میشه سایت ساخت مثل Google Web Toolkit که همگی روی بستر جاوا هستند.

می ارزه از زبان هایی مثل PHP  یا .NET  گذشت و جاوا یاد گرفت ؟
صد درصد باید وارد دنیای جاوا شید اگه می خواهید برنامه نویسی حرفه ای رو دنبال کنید ، به محض وارد شدن لذت خواهید برد.

بازار کارش چه طوره ؟
این طوری که من دیدم خوب میشه ازش پول در آورد اگه حرفه باشید ( یه سر به ایران تلنت بزنید ) ولی حرفه شدن توش تجربه می خواد. برنامه نویس هاشم تو ایران کمند و بازار بکری داره!

می گن تولید و دیپلویمنت و به پا کردن نرم افزار پایانی توش سخته ؟
شاید اگه خودتون بخواهید این کارو بکنید این طور باشه ولی ابزار های قدرمندی به وجود اومده که اصلا شما رو با این پیچیدگی ها درگیر نمی کنند مثل نت بینز که کلی داستانه واسه خودش. کلا خیلی از سیستم های اتوماسیون توش بسیار پیشرفته تر از زبان های دیگس و توی تیم هم خیلی راحت می شه باهاش کد زد.

من بیشتر می خوام بدونم چیکار کنم ؟
عزیز دلم یه سر به ویکی پدیا فارسی بزن بعدش به انگلیسیش بزن بعدشم از گوگل استفاده کن ، اگه به جواب نرسیدی خودم اینجام


اپلیکیشن های بزرگ را فقط با جاوا بنویسید!

شاید بد نباشه بدونید برنامه نویسی من وقتی سوم راهنمایی بودم با VB 6  شروع شد ( البته قبلش با کیو بیسیک و لوگو بازی بازی می کردم ) و در دوران دبیرستان بود که با سی آشنا شدم، آن زمان عاشق  اکسپلویت نوشتم بودم  و با کمک دوستانم در تیم آی اچ اس و آشیانه تونسته بودم یه کارایی بکنم ، اعتراف می کنم هیچ کدام از این فعالیت ها را نمیشد برنامه نویسی نامید چون با هیچ روال مهندسی نرم افزاری جور در نمیومد ، من  فقط از زبان های برنامه نویسی برای رسیدن به هدفی کوچک استفاده می کردم و برنامه های من هیچ معماری و استانداردی نداشت ،‌خط به خط می نوشتم تا به یه جایی میرسید به قول اشکان “کثافت می نوشتم “…
فکر می کنم زیاد ازآن زمان نگذشت که با PHP آشنا شدم و به دلیل شبیه بودن سینتکس های PHP به C  شروع به برنامه نویسی وب کردم و خوش حال بودم که توی PHP محدودیت های C وجود نداشت و راحت تر کد می زدم.

همین موقع ها بود که با اشکان آشنا شدم  و با تجربه ای که داشت منو به سمت آبجکتیو نوشتن برد و همکار شدنمون در شرکت باعث شد که بیشتر وقتمو از اشکان یاد بگیرم.به نظر خودم استارت برنامه نویسیم با اشکان زده شد و اون بود که به من مفاهیمی مثل مهندسی نرم افزار و متدولوژی های مختلف و .. را یاد گرفتم. (‌اشکان هم PHP می نوشت و سابقه برنامه نویسی با C++ را داشت)

دوستی به نام آرش داشتم که برنامه نویس جاوا بود و خیلی حالیش بود  ، همیشه یه چیزایی می گفت ( می گه )‌که من نمی فهمیدم و مجبور می شدم کلی سرچ کنم و مطلب بخونم تا یه چیزایی بفهمم … آرش هم خیلی کمکم کرد تا برنامه نویسی آبجکتیو برام جا افتاد و علاقه مند شدم…آرش سال ها تلاش کرد تا منو برنام نویس جاوا کنه … اویل دوران دانشگاه به پیشنهاد آرش کتاب Java The Complete Reference  را با کمک شادی دوستم  از آمازون تهیه کردم ، کتابی حدود 1000 صفحه بود که واقعا خوندش طول کشید ولی خوب کلی یاد گرفتم..

از اون موقع هم PHP ‌نوشتم هم جاوا ولی این زیبایی زبان جاوا کلی محسورم کرده بود… همیشه آرش بهم پیشنهاد می کرد که JavaEE هم مطالعه کنم و تنها به Java SE  اکتفا نکنم که واقعیتش یه مقدار می ترسییدم ،‌چون به نظر خودم خیلی از SE  بلد نبودم و نمی خواستم تا حرفه ای نشدم برم طرف EE ولی خوب من عاشق برنامه نویسی تحت وب بودم و EE  تحت وب واسه خودش سالاری بود 😀
یک بار من و اشکان باهم یه پروژه با نام “گالی” نوشتیم که حجم و اندازه پروژه در حد EE بود ولی ما با SE  انجام دادیم و کلی سختی کشیدیم ( کلی هم یاد گرفتیم ) چون EE  بلد نبودیم کلی پیشرفت پروژه کند بود…(کاش با ای ای می نوشتیم )

تابستان امسال وقت شد تا من Java EE بخوانم و واقعا خوشحالم که این کارو کردم ، معماری و طراحی EE آنقدر کامل و زیباست که همش دارم تعجب می کنم که به چه چیزایی دقت شده …

قبل از اینکه ای ای بخونم فکر می کردم چقدر سخته ولی الان باید بگم این طور نیست شاید ساده تر از SE  هم باشه برای اینکه به همه چیز توش فکر شده و واقعا سرعت توسعه توش خیلی بالا هستش.
واقع از اینکه الآن با جاوا کد می زنم راضی هستم و امیدوارم بتونم اولین اپلیکیشن سازمانیمو هرچه زودتر ارائه بدم

باید بگم اگه خیلی از پروژه  های مشابهو که تو PHP  با صرف زمان زیادی بخواهید بنویسد شاید نوشتنش توی JavaEE بسیار ساده تر و سریع تر باشه دلیلش هم این اینه که جاوا ای ای برای سمت سرور و برای پروژه های بزرگ ساخته شده  و خیلی از مفاهیم واقعا توش وجود داره  همچنین لایه ها واقعا از هم جدا هستند ولی چیزی که مثلا من در یک نوع پیاده سازی معماری MVC در PHP دیدم  این بود که خیلی از لایه ها  توی هم رفته بودند البته شاید این باعث سرعت در پیاده سازی شه ولی مطمئنا در مواقعی که احتیاج به گسترش نرم افزار هست مشکل ایجاد می کنه. درسته که PHP  هم بسیار پیشرفت کرده ولی در پروژه های بزرگ تنها از JavaEE  استفاده کنید …

جاوا  با کمک ابزار های توسعه قوی مثل نت بینز و اکلایپس  میتونه سرعت توسعه رو خیلی بالا ببره ،‌فیلم هایی هست که بعدا در تصدیق این موضوع بهشون اشاره می کنم .

پیشنهاد می کنم اگه هدفتون از برنامه نویسی تولید برنامه های بزرگ ،‌قابل گسترش با کاربران زیاد هستش حتما یادگیری جاوا رو در کنار مطالعاتتون قرار بدید یه روزی می رسه که دیگه غیر از جاوا کد نمیزنید. ولی یادتون نره در پروژه های کوچک امکانش هست که استفاده از جاوا پیشرفت پروژه کند بشه ،‌هزینه تولید و Deploy کردن بالا بره ،‌تهیه سرور براش مشکل و هزینه بر بشه پس زیادم افراطی نباشیم و برای ساخت پروژه های سبک به زبان هایی که توسعه ارزان تر و سریعتر دارند استفاده کنید
این همه گفتیم پروژه ” کوچک ” و “بزرگ” حالا به نظرتون چه پروژه ای بزرگه چه پروژه ای کوچک ؟