Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش ششم

در این مقاله به بررسی روشها و استراتژی های تولید id در Hibernate خواهیم پرداخت .همانطور که در مقاله قبلی هم گفتیم یکی از ویژگی‌هایی که در مورد انتخاب یک استراتژی تولید id جذاب و مهم است تولید مقدار id برای یک entity جدید قبل از اجرای عمل واقعی insert در db است .در ادامه ۱۲ استراتژی تولید id در Hibernate را خلاصه وار بررسی می کنیم بیشتر آنها در محیطهای عملیاتی فعلی چندان کاربردی ندارند .

بیشتر

رایگان – خرید
Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش پنجم

یک – بخاطر مسایل بهینه سازی ، سیاست Hibernate اغلب این است که عمل درج (insert) موجودیت ها تا جایی که می تواند به تعویق بیندازد و عمل درج را به صف برده و در نهایت همه درخواستهای insert را به صورت یکجا و دسته ای ( batch) انجام دهد .دو – بخاطر در پیش گرفتن سیاست ذکر شده در بند یک ترجیح ما (برنامه نویسان ) این است که مقدار id حتی قبل از عمل insert واقعی در DB تولید و در دست ما باشد .سه – در اغلب روشها ما با مفهومی بنام Sequence سروکار داریم که یا در سمت DB توسط DBMS هندل می شود یا توسط Hibernate . در واقع Sequence یک ویژگی است در دنیای DB . که وظیفه اش تولید مقادیر منحصربفرد برای ستون های Primary key در جدول های یک DB است . نکته مهمی که در مورد Sequence باید بهش توجه کنیم این است که فرایند تولید مقادیر id در اغلب DBMS‌ها خارج از تراکنش رخ می دهد به عبارت دیگر transaction-less است یعنی یک مقدار تولید شده نمی تواند همزمان به چندین تراکنش همروند در حال اجرا منتسب بشود . مطلب بعدی در مورد Sequence این است که مقداری که برای یک id تولید می شود اگر به یک تراکنش خاصی منتسب بشود چه اون تراکنش commit گردد و چه rollback بشود مقدار منتسب شده ازش در جای دیگر استفاده نمی شود .

بیشتر

رایگان – خرید

۱۵+ اصول ساده در JavaScript

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

بیشتر

رایگان – خرید
Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش سوم

وقتی برای اولین بار شروع به درک و مدلسازی یک سیستم می‌کنید اولین مستنداتی که در حین اینکار تولید می‌شود پایه‌های اولیه مدل سازی بیزنسی (business model ) را تشکیل می‌دهد . خیلی ساده، می‌خواهیم بدانیم این سیستم بایستی چه نیازهایی از مشتری را پاسخ دهد و چگونه / چه موقع این نیازها را پاسخ دهد . درک سیستم همیشه کار ساده و سرراستی نیست فرض کنید شما قصد مدلسازی سیستم شبیه سازی کنترل ترافیک خطوط هوایی آمریکا را برعهده دارید یا سیستم پرداخت یک بانک را . شما یک برنامه نویس یک طراح نرم‌افزار و در یک کلام شما یک متخصص حوزه IT هستید نه مهندس هواپیما نه مهندس مکانیک نه حسابدار بانک و نه ….

بیشتر

رایگان – خرید
Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش دوم

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

بیشتر

رایگان – خرید
Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش اول

Java persistence with Hibernate یکی از بهترین کتاب‌هایی که تو حوزه ORM نوشته شده است . قبلاً براساس نیاز و وقتم مقالات پراکنده‌ای در مورد ORM به‌خصوص Hibernate خونده بودم ولی هیچ‌ موقع فرصت / قسمت / اراده نشد تا به صورت مفهومی و عمیق در مورد این حوزه مطالعه‌ای داشته باشم.
چند روزی است مطالعه کتاب مذکور را شروع کردم با مرور سرفصل هاش انتظار داشتم خیلی زود چند فصل اول را تمام کرده و به مباحث مورد نظرم برسم ولی از همان فصل اول کتاب ، انقدر مفاهیم مفهومی و عمیق و چرایی ضرورت رفتن سراغ این رهیافت ( ORM ) برایم جذاب آمد که تصمیم گرفتم قلم برداشته و نکات مهم و جالبش را یادداشت کنم . وسطهای نوشتن روی کاغذ به ذهنم رسید چرا این مطالب را با دوستان همکار و علاقه مندم به اشتراک نگذارم

بیشتر

رایگان – خرید

کاربرد Enumها جهت مدل کردن یک Sequence Diagram پیچیده

اکثر ما برنامه نویس ها وقتی واژه Enum را می‌شنویم یاد مثال معروف فصل های سال یا رنگهای رنگین کمان می‌افتیم یا اگر کمی با تجربه تر باشیم یا در چند مصاحبه تخصصی برای شرکتهای مختلف شرکت کرده باشیم میدانیم که کاربرد دیگر این نوع داده در مبحث Singleton Design Pattern و پیاده‌سازی این دیزاین پترن با Enum هاست ( اگه علاقه‌مند بودید به این مقاله نگاهی بندازید ).

اما من در این پست کوتاه وبلاگی قصد دارم در مورد کاربرد Enum ها در یک داخل یه پروژه واقعی صحبت کنم امیدوارم مفید باشه و اگه جایی فکر می‌کنید راه رو اشتباه رفتم یا میتوانستم بهتر قدم بردارم و مسأله رو بهینه‌تر حل کنم خوشحال میشم راهنماییم کنید.

بیشتر

رایگان – خرید

آموزش برنامه نویسی NodeMCU

توی این مقاله آموزش کار با برد های NodeMcu رو بررسی خواهیم کرد و یک آموزش ویدیویی ساده جهت برنامه نویسی این برد را به شما نشان خواهیم داد.لازم به ذکر است که این برد دارای wifi داخلی جهت برنامه نویسی است.

بیشتر

رایگان – خرید