رفع خطای ORA-2745 job class cannot be NULL

بیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ و هایبرنیت همراه با دیتابیس اوراکل است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. پایگاه داده‌ی اوراکل (oracle) جزء قوی‌ترین پایگاه‌داده‌ها یا DBMS در دنیای نرم‌افزار به شمار می‌رود. از جمله ویژگی‌های آن می‌توان به سرعت بالا در دسترسی به داده‌ها، ضریب امنیتی بالا، کنترل همزمانی، توانایی نگهداری حجم انبوه اطلاعات و … اشاره نمود. در این نوشته یک روش برای رفع خطایی که در هنگام ذخیره یک job اوراکل در PL/SQL پیش می‌آید ارائه می‌کنیم.

ادامه مطلب

تبدیل لیست توییتر به یک صفحه HTML

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

ادامه مطلب

استفاده از NamedQuery به دو صورت XML و annotation

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ و هایبرنیت است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. هایبرنیت یک کتابخانه object-relational mapping برای زبان جاوا است که چارچوبی را برای نگاشت یک شی به یک پایگاه داده رابطه‌ای فراهم می‌آورد. نوشتن NamedQuery به صورت XMLی بدین صورت است که در فایل XML متناظر با مدل (Model) خود، بعد از تعریف propertyها باید کوئری مورد نظر خود را به صورت صورت زیر تعریف کنیم:

ادامه مطلب

حذف نتایج تکراری (بدون در نظر گرفتن ترتیب) از یک کوئری SQL

بیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ و هایبرنیت همراه با دیتابیس اوراکل است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. پایگاه داده‌ی اوراکل (oracle) جزء قوی‌ترین پایگاه‌داده‌ها یا DBMS در دنیای نرم‌افزار به شمار می‌رود. از جمله ویژگی‌های آن می‌توان به سرعت بالا در دسترسی به داده‌ها، ضریب امنیتی بالا، کنترل همزمانی، توانایی نگهداری حجم انبوه اطلاعات و … اشاره نمود. در این نوشته من می‌خواهم از یک کوئری SQL نتایج تکراری را حذف کنم.

ادامه مطلب

استفاده از متغیر final در عبارت‌های لامبدا جاوا 8

عبارت‌های لامبدا (Lambda Expression) یکی از نکات قوت جاوا 8 محسوب می‌شوند و بوسیله‌ی آنها می‌توان تعداد خط کد (Line of Code) را کاهش داد، همچنین کدهای نوشته شده با عبارت‌های لامبدا دارای خوانایی بهتری هستند (به زبان انسان نزدیکترند). با استفاده از عبارت لامبدا دیگر نیاز نیست برای کارهای ساده (مثل حلقه‌های تکرار و فیلتر کردن مقادیر) کد بیشتر بنویسیم و درنهایت قابلیت استفاده‌ی مجدد از مزیت‌های عبارت‌های لامبدا محسوب می‌شود. من قبلا در این وبلاگ در دو پست پیاده‌سازی حلقه‌های تودرتو با استفاده از لامبدا در جاوا ۸ و معادل متد contains در جاوا ۸ به بیان چند مثال ساده از نحوه‌ی استفاده از عبارت‌های لامبدا پرداخته‌ام؛ در این نوشته نیز می‌خواهم نحوه‌ی استفاده از یک متغیر محلی (Local Variable) را تحت عنوان یک متغیر نهایی (final Variable) در عبارت‌های لامبدا را آموزش دهم.

ادامه مطلب

آموزش کار با formScanner در فریم‌ورک اسپرینگ

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن آموزش فریم ورک اسپرینگ در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. معمولا برای تولید گزارشات و ایجاد بارکد از jasperReport استفاده می‌کنیم. برای خواندن بار کد و سایر کارهای مربوط به پردازش تصویر نیز می‌توانیم از یک dependency با نام formscanner می‌توان استفاده کرد. برای استفاده از این dependency باید کد زیر را به pom.xml خود اضافه کنید.

ادامه مطلب

آموزش جی کوئری: امکان Deselect کردن یک radio input با استفاده از جی کوئری

جی کوئری یک کتابخانه متن‌باز و رایگان جاوا اسکریپت است که کار نوشتن اسکریپتها به زبان جاوا اسکریپت را راحت‌تر می‌کند و امروزه محبوب‌ترین کتابخانه‌ی جاوااسکریپت در حال استفاده است. من در این نوشته قصد دارم آموزش select و Deselect کردن radio inputها را در HTML بنویسم.

ادامه مطلب

رفع خطای can bind a LONG value only for insert into a LONG column در پایگاه داده‌ی اوراکل

بیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ و هایبرنیت همراه با دیتابیس اوراکل است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. پایگاه داده‌ی اوراکل (oracle) جزء قوی‌ترین پایگاه‌داده‌ها یا DBMS در دنیای نرم‌افزار به شمار می‌رود. از جمله ویژگی‌های آن می‌توان به سرعت بالا در دسترسی به داده‌ها، ضریب امنیتی بالا، کنترل همزمانی، توانایی نگهداری حجم انبوه اطلاعات و … اشاره نمود. در این نوشته به بررسی یک مشکل که به هنگام ذخیره یک فایل در اوراکل ممکن است پیش بیاید، می‌پردازیم.

ادامه مطلب

آموزش جاوا اسکریپت: استفاده از sweetAlert برای نمایش اعلان و اطلاعیه‌ها

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

ادامه مطلب

افزودن یک عبارت به انتهای چندین خطوط با Search & Replace در اکلیپس

اکلیپس (Eclipse) یک IDE (محیط توسعه یکپارچه) برنامه‌نویسی و محیط توسعه نرم‌افزاری چندزبانه با قابلیت اضافه کردن افزونه (plugin) است؛ این محیط توسعه در ابتدا با زبان جاوا و برای توسعه برنامه‌های این زبان استفاده می‌شد. در ادامه با افزوده شدن افزونه‌هایی به آن امکان توسعه زبان‌هایی چون C، C++، Ruby، Python، PHP و… را فراهم می‌کند. در این نوشته قصد داریم با استفاده از Search & Replace در اکلیپس، یک عبارت را به انتهای تمامی خطوطی که شرایط خاصی دارند اضافه کنیم.

ادامه مطلب

پیاده‌سازی حلقه‌های تودرتو با استفاده از لامبدا در جاوا ۸

جاوا یک زبان برنامه‌نویسیِ شیءگرا است که برای نخستین بار توسط جیمز گاسلینگ در شرکت سان مایکروسیستمز ایجاد گردید. یکی از قابلیت‌های بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام می‌دهد. ضریب اطمینان عملکرد برنامه‌های نوشته‌شده به این زبان نسبت به زبانهای نسل اول C بالا است و وابسته به سیستم‌عامل خاصی نیست. فرض کنید یک List یا Set از یک parentObject داریم که آن نیز یک لیست یا List یا Set از یک childObject دارد. می‌خواهیم روی یکی از peopertyهای خاص childObject یک مقایسه انجام دهیم.

ادامه مطلب

معادل متد contains در جاوا ۸

جاوا یک زبان برنامه‌نویسیِ شیءگرا است که برای نخستین بار توسط جیمز گاسلینگ در شرکت سان مایکروسیستمز ایجاد گردید. یکی از قابلیت‌های بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام می‌دهد. ضریب اطمینان عملکرد برنامه‌های نوشته‌شده به این زبان نسبت به زبانهای نسل اول C بالا است و وابسته به سیستم‌عامل خاصی نیست. فرض کنید یک List یا Set از چند Object داریم و می‌خواهیم بررسی کنیم که آیا یک Object خاص در این List یا Set وجود دارد یا خیر.

ادامه مطلب

ارث بری در جاوا

ارث بری (inheritance) یک مفهوم بنیادی و کلیدی در برنامه‌نویسی شی‌گرا است.در برنامه‌نویسی نیز این واژه مفهمومی مشابه دنیای واقعی دارد و به معنای ارث بردن خصوصیات است. در این نوشته قصد دارم نگاهی دوباره به ارث‌بری در جاوا داشته باشم.

ادامه مطلب

حذف یک موجودیت و وابستگی‌هایش به صورت سلسله مراتبی در فریم ورک اسپرینگ(Spring Framework)

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ و هایبرنیت است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. هایبرنیت یک کتابخانه object-relational mapping برای زبان جاوا است که چارچوبی را برای نگاشتت یک شی به یک پایگاه داده رابطه‌ای فراهم می‌آورد. فرض کنید سه مدل که به صورت سلسله مراتبی و چند سطحی به هم وابستگی دارند؛ به عنوان مثال یک مدل تحت عنوان survey داریم که یک set از مدل question دارد که این مدل هم یک set از مدل option دارد.

ادامه مطلب

استفاده از تگ List در فایل هایبرنت (پیکربندی XML)

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ و هایبرنیت است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. هایبرنیت یک کتابخانه object-relational mapping برای زبان جاوا است که چارچوبی را برای نگاشت یک شی به یک پایگاه داده رابطه‌ای فراهم می‌آورد. فرض کنید مدلی به نام سوالات (Question) داریم که شامل دو یا چند گزینه بوده و ارتباطی یک به چند با مدل گزینه‌ها (Option) دارد؛ باتوجه به اینکه ترتیب گزینه‌های سوال برای ما مهم است و می‌خواهیم هایبرنت به صورت خودکار ترتیب گزینه‌ها را برای ما حفظ کند.

ادامه مطلب

تنظیم header برای استریم فایل‌های بزرگ در فریم ورک اسپرینگ (SpringFramework)

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. فرض کنید که می‌خواهیم از طریق یک rest، یک فایل را که در پایگاه داده یا دایرکتوری فایل وجود دارد را در client نمایش دهیم؛

ادامه مطلب

رفع مشکل Infinite Recursion در خروجی json در فریم ورک اسپرینگ برای مدل‌هایی که ارتباط دو طرفه دارند

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. فرض کنید که دو مدل داریم که با هم ارتباط bi-directional دارند؛ یعنی هر کدام از این مدل‌ها یک property از مدل دیگر دارند؛ view model برای این دو مدل به صورت زیر هستند:

ادامه مطلب

استفاده از JsonView در فریم ورک اسپرینگ (Spring Framework)

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. به طور معمول برای نمایش دیتا به کاربر از view model استفاده می‌کنیم؛ اما گاهی اوقات پیش می‌آید که در جایی از پروژه، تمام فیلدهای view model را نیاز داشته باشیم و در جای دیگر بخشی از این فیلدها مورد نیاز باشد.

ادامه مطلب

چند مثال از عبارت‌های باقاعده (عبارت‌های منظم) در زبان جاوا

عبارت باقاعده، که تحت عنوان regex (مخفف regular expression) نیز نامیده می‌شود در کامپیوتر و برنامه‌نویسی، به معنی تطبیق رشته در متن است؛ به بیانی دیگر عبارت‌های منظم ترکیب‌هایی خاص از حروف و علامت‌ها هستند که برای جستجو و مقایسه‌ی رشته‌ها استفاده می‌شوند. در این نوشته قصد دارم که چند عبارت منظم در زیبان جاوا را بررسی کنم.

ادامه مطلب

بازنویسی url در فریم ورک اسپرینگ (Spring Framework)

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. استفاده از slug (نامک) در آدرس‌ها و url صفحات مزایای زیادی از جمله SEO-friendly و user-friendy را به همراه دارد. tuckey یک dependency برای بازنویسی urlها (rewrite URLs) در زبان جاواست و عملکردی بسیار مشابه mod_rewrite آپاچی دارد.

ادامه مطلب

اعمال نشدن ترتیب برای فرزندان یک مدل در هایبرنیت (Hibernate)

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ و هایبرنیت است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. هایبرنیت یک کتابخانه object-relational mapping برای زبان جاوا است که چارچوبی را برای نگاشت یک شی به یک پایگاه داده رابطه‌ای فراهم می‌آورد. در این نوشته قصد داریم مشکل اعمال نشدن ترتیب برای فرزندان یک مدل در هایبرنیت (Hibernate) را بررسی کنیم.

ادامه مطلب

دادن دسترسی به کاربران Login کرده در Spring-Security

پیش از هر چیز باید بگویم که این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. پروژه‌ی Spring Security یکی از ابزارهای قدرتمند برای احراز هویت و دادن دسترسی در برنامه‌های اسپرینگ است. در این نوشته قصد داریم به کاربران وارد شده در اپلیکیشن (صرف نظر از هر Roleی که دارند) دسترسی بدهیم.

ادامه مطلب

مرتب سازی یک آرایه Json بر حسب یک property خاص در جاوا اسکریپت

این روزها استفاده از زبان جاوااسکریپت و تکنولوژی‌های مرتبط با آن بسیار فراگیر شده است. یکی از کارهای بسیار متداول در جاوااسکریپت، کار با آرایه‌های Json است. در این نوشته قصد داریم که مرتب سازی یک آرایه Json بر حسب یک property خاص در جاوااسکریپت را بررسی کنیم.

ادامه مطلب

راه‌اندازی سایت‌های چند زبانه در فریم ورک اسپرینگ (Spring Framework)

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

ادامه مطلب

استفاده از subdomin در لوکال هاست (localhot)

در پروژه‌ای پیش آمده بود که برای تست و توسعه نیاز به استفاده ازsubdomain در localhost داشتیم. مشکلی که پیش آمده بود این بود که مشاهده کردیم که مروگر گوگل کروم در resolve این urlها مشکلی ندارد، در حالی که مرورگر فایرفاکس (و حتی اینترنت اکسپلورر) قادر به باز کردن subdomain نیست. برای مثال آدرس مورد نظر ما به صورت زیر بود:

ادامه مطلب

ساخت تصاویر Thumbnail در فریم ورک اسپرینگ

این نوشته مربوط به برنامه‌نویسی در فریم‌ورک اسپرینگ است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته‌ی من در مورد این چهارچوب برنامه‌نویسی می‌تواند برای شما مفید باشد. مزیت ساخت تصاویر بندانگشتی (thumbnail) این است که حجم تصاویر صفحه وب کاهش یافته و سرعت بارگزاری (load) تصاویر در صفحات وب افزایش می‌یابد.

ادامه مطلب

رفع مشکل استفاده از CKEditor در modal بوت استرپ

اگر بخواهیم از ویراشگر متن CK Editor در یک Bootstrap Modal استفاده کنیم، از آنجایی که خود CK Editor نیز برای کارهایی نظیر درج لینک یا تصویر و… از یک modal استفاده می‌کند؛ برای همین دچار conflict می‌شویم و دیگر تمای inputهای فرم‌های درج لینک، تصویر disable خواهند شد.

ادامه مطلب

تغییر jdbc url برای پشتیبانی از utf-8 در پایگاه داده MySql

این نوشته مربوط به فریم‌ورک اسپرینگ است؛ اگر با این فریم‌ورک آشنایی ندارید، خواندن این نوشته من می‌تواند مفید باشد. اگر پس از پیکربندی پایگاه داده‌ی MySql در پروژه اسپرینگ خود با درج حروف فارسی در پایگاه داده مشکل دارید نیازمند تغییر jdbc url به گونه‌ای هستید که از یونیکد (Unicode) نیز پشتیبانی کند.

ادامه مطلب

فریم ورک اسپرینگ (spring framework) چیست؟

در این نوشته قصد دارم که فریم‌ورک اسپرینگ و مفاهیم آن را به طور خلاصه بررسی کنم. فریم‌ورک اسپرینگ (Spring Framework) یکی از چهارچوب‌های برنامه‌نویسی معروف و پرکاربرد در زبان جاواست. این فریم‌ورک متن‌باز (Open Source) بوده و اولین نسخه آن در ماه ژوئن سال ۲۰۰۳ میلادی عرضه شده است. اسپرینگ از ابتدای ارائه تا به امروز تغییرات زیادی داشته و امکانات و ابزارهای بسیار قدرتمندی را در اختیار برنامه‌نویسان قرار می‌دهد. هدف اصلی اسپرینگ توسعه‌ی برنامه‌های Enterprise است و بیشتر در پلتفرم Java EE مورد استفاده قرار می‌گیرد. 

ادامه مطلب