برای ارتباط با پایگاه داده در هایبرنت به Session نیاز داریم.برای تولید Session از SessionFactory استفاده می کنیم.SessionFactory مدیریت Session ها را برعهده دارد.
برای ایجاد یک SessionFactory به صورت زیر عمل می کنیم
SessionFactory factory = new Configuration().configure(“hibernate.cfg.xml”).buildSessionFactory();
فایل hibernate.cfg.xml در فولدر پروژه قرار دارد.
سپس برای تولید Session از این SessionFactory به صورت زیر عمل می کنیم
Session session=factory.openSession();
- فرشته حقیقی 4 سال قبل پاسخ داد
برای قرار دادن لیست و یا هر آبجکتی در سشن به صورت زیر عمل می کنیم
request.getSession().setAttribute("mylistsession", mylist)
mylistsession نامی است که لیست در سشن با آن قابل دستیابی خواهد بود و mylist لیستی است که می خواهیم در سشن قرار دهیم
برای برداشتن این لیست از سشن به صورت زیر عمل می کنیم
request.getSession().getAttribute("mylistsession")
- فرشته حقیقی 4 سال قبل پاسخ داد
برای شناسایی اعداد در جاوااسکریپت از کد آنها استفاده می کنیم.کد اعداد بین 48و 57 می باشد.
function isNumericKeysPressed(key) {
if (key >= 48 && key <= 57) { // Numbers
return true;
}
return false;
}
- فرشته حقیقی 4 سال قبل پاسخ داد
برای پیدا کردن آی پی در cmd دستور زیر را وارد می کنیم
nslookup نام سایت
مثلا فرض کنیم آی پی گوگل را بخواهیم
C:\Users> nslookup google.com
- فرشته حقیقی 4 سال قبل پاسخ داد
فرض کنیم یک لیست به صورت زیر داریم
const [data,setData]=useState([
{name:'React', time:'12'},
{name:'jsp', time:'15:20'}
])
برای اضافه کردن یک عنصر به این لیست به صورت زیر عمل می کنیم
const newdata={name:'java', time:'8'};
setData([...data,newdata]);
- فرشته حقیقی 4 سال قبل پاسخ داد
برای حذف از لیست در react از متد splice
استفاده می کنیم.این متد دو آرگومان می گیرد که اولی ایندکس عنصری که می خواهیم حذف شود و دومی تعداد عناصری که می خواهیم حذف شود.عناصری که حذف می شوند از بعد از ایندکسی که مشخص کرده ایم حذف می شوند.
const data=["react" ,"spring" ,"java"];
data.splice(index,1);
فرض کنیم می خواهیم عنصر spring را حذف کنیم
data.splice(1,1);
درصورتیکه داشته باشیم
data.splice(1,2);
در اینصورت عنصر java هم حذف می شود.
- فرشته حقیقی 4 سال قبل پاسخ داد
- آخرین فعالیت در 4 سال قبل
برای اینکار کافی است از متد ()stop استفاده کنیم
$("div").stop(stopAll,goToEnd)
$("div").stop();
stopAll: متوقف کردن همه انیمیشن ها
goToEnd : اجرای انیمشین جاری کامل شود یا خیر.در این حالت اجرای انیمیشنی که مشخص کردیم استاپ نمی شود اما بقیه انیمیشن ها استاپ می شوند
- فرشته حقیقی 4 سال قبل پاسخ داد
برای تعریف اعداد باینری، ECMAscript فرمت زیر را قرار داده است.در این فرمت اعداد باینری با 0b شروع می شوند
let f = 0b111; // =7
- فرشته حقیقی 4 سال قبل پاسخ داد
متد callback متدی است که می توانیم آن را عنوان آرگومان به متد دیگر پاس دهیم.در ECMAScript برای انجام این کار بروی یک مجموعه از forEach استفاده می کنیم.در forEach می توانیم متد مورد نظر خود را به عنوان آرگومان در آن فراخوانی کنیم.
let name= new Set(['sara', 'ali', 'reza', 'sima');
roles.forEach(name=> name.toUpperCase());
- فرشته حقیقی 4 سال قبل پاسخ داد
const و let هر دو برای تتعریف متغیر در ECMAScript می باشند با این تفاوت که متغیرهای تعریف شده به وسیله const غیرقابل تغییر می باشند و بعدا نمی توانیم مقدار آنها را تغییر دهیم.همچنین متغیرهایی که به وسیله const تعریف می کنیم باید حتما مقداردهی اولیه شوند.
let a = 10;
a=30 // its ok
const b=20;
b=40; // not ok
const b; //not ok
- فرشته حقیقی 4 سال قبل پاسخ داد
برای اینکار از حلقه for به صورت زیر استفاده می کنیم
var name = "sara";
var x;
for (x of name ) {
// ...
}
از این حلقه برای پیمایش آرایه هم می توانیم استفاده کنیم.
- فرشته حقیقی 4 سال قبل پاسخ داد
- آخرین فعالیت در 4 سال قبل
برای اینکار کافی است در تگ <script> در قسمت src نام فایل جاوااسکریپت مورد نظر خود را قرار دهیم.
<script type="javascript" src="my_javaScript_file.js">
</script>
- فرشته حقیقی 4 سال قبل پاسخ داد
برای بدست آوردن تاریخ و زمان جاری در جاوااسکریپت از متد ()Date استفاده می کنیم.این متد تاریخ و همچنین ساعت و سایر اطلاعات را برای ما برمی گرداند.سپس با استفاده از متدهای زیر می توانیم روز و ماه و سایر اطلاعات را از آن استخراج کنیم.
var date = new Date();
date.getDay();// روز
date.getFullYear();// سال
date.getHours();// ساعت
date.getMinutes();// دقیقه
date.getMonth();// ماه
date.getSeconds();// ثانیه
- فرشته حقیقی 4 سال قبل پاسخ داد
برای تبدیل میلادی به شمسی از متد زیر استفاده می کنیم.
public static int[] gregorian_to_jalali(int g_y, int g_m, int g_d) {
GregorianCalendar gregorianDate = new GregorianCalendar(g_y, g_m - 1, g_d);
int[] g_days_in_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int[] j_days_in_month = {31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29};
int gy, gm, gd, g_day_no, j_day_no, j_np, jy, temp, jm, jd;
gy = g_y - 1600;
gm = g_m - 1;
gd = g_d - 1;
g_day_no = 365 * gy + ((gy + 3) / 4) - ((gy + 99) / 100) + ((gy + 399) / 400);
for (int i = 0; i < gm; ++i)
g_day_no += g_days_in_month[i];
if (gm > 1 && ((gy % 4 == 0 && gy % 100 != 0) || (gy % 400 == 0)))
g_day_no++; /* leap and after Feb */
g_day_no += gd;
j_day_no = g_day_no - 79;
j_np = (j_day_no / 12053); /* 12053 = 365*33 + 32/4 */
j_day_no = j_day_no % 12053;
jy = 979 + 33 * j_np + 4 * (j_day_no / 1461); /* 1461 = 365*4 + 4/4 */
j_day_no %= 1461;
if (j_day_no >= 366) {
jy += ((j_day_no - 1) / 365);
j_day_no = (j_day_no - 1) % 365;
}
temp = 0;
for (int i = 0; i < 11 && j_day_no >= j_days_in_month[i]; ++i, temp = i) {
j_day_no -= j_days_in_month[i];
}
jm = temp + 1;
jd = j_day_no + 1;
int dayInWeek = gregorianDate.get(GregorianCalendar.DAY_OF_WEEK);
dayInWeek += 1;
if (dayInWeek == 8) dayInWeek = 1;
int[] back = {jy, jm, jd, dayInWeek};
return back;
}
- فرشته حقیقی 5 سال قبل پاسخ داد
برای اینکه به صورت داینامیک دیتاها را ست کنیم یعنی به صورت استاتیک و دستی در برنامه ست نکنیم می توانیم از useEffect استفاده کنیم به صورتیکه در بار اولی که کامپوننت رندر می شود دیتاهای ما نیز ست شوند.فرض کنیم می خواهیم از یک سایت دیتا بگیریم.برای اینکار به صورت زیر عمل می کنیم.
function App(){
const [data,setData]=useState([]);
useEffect( ()=> {
fetch('https://api.github.com/users')
.then( (response ) => response.json())
.then(setData)
}
);
}
- فرشته حقیقی 5 سال قبل پاسخ داد
برای اینکه useEffect فقط یکبار اجرا شود می توانیم یک آرگومان دیگر به آن پاس دهیم که شامل یک آرایه خالی باشد.
useEffect( () => { document.title="hello"}, [ ] );
در این حالت useEffect فقط در بار اولی که کامپوننت render می شود اجرا می شود.
اگر آرگومان دوم یعنی [ ] را پاس ندهیم useEffect در هر بار render شدن کامپوننت اجرا می شود.
- فرشته حقیقی 5 سال قبل پاسخ داد
- آخرین فعالیت در 5 سال قبل
برای اینکه بتوانیم به کامپوننت خود ورودی ارسال کنیم از آبجت props استفاده می کنیم.با استفاده از این آبجکت می توانیم ورودی پاس داده شده به فانکشن را بگیریم.
function App(props)(
return{
<div >
<h1> {props.name} </h1>
);
}
export default App;
سپس در هنگام render کردن کامپوننت ورودی را به آن پاس می دهیم.
ReactDOM.render(
<React.StrictMode>
<App name="sara"/>
</React.StrictMode>,
document.getElementById('root')
);
همچنین می توانیم مقدار پاس داده شده به کامپوننت را مستقیما بگیریم و از props استفاده نکنیم.
function App({name})(
return{
<div >
<h1> {name} </h1>
);
}
export default App;
- فرشته حقیقی 5 سال قبل پاسخ داد
فرض کنیم یک آرایه به صورت زیر داریم
const course=["react" ,"spring" ,"java"];
برای دسترسی به عناصر آرایه هم می توانیم از اندیس استفاده کنیم
course[0]
course[1]
و هم می توانیم یک متغیر تعریف کنیم که به عنصر مورد نظر ما در آرایه اشاره کند.
const [first]=["react" ,"spring" ,"java"];
const [first,second]=["react" ,"spring" ,"java"];
در اینصورت متغیر first برابر react و متغیر second حاوی spring خواهد بود.
ممکن است فقط عنصر سوم را بخواهیم
const [, , third]=["react" ,"spring" ,"java"];
- فرشته حقیقی 5 سال قبل پاسخ داد
انوتیشن Qualifier@ به این منظور می باشد که مشخص کنیم که دقیقا کدام بین می بایست استفاده شود.فرض کنیم که دو بین از کلاس Student داریم
<bean id = "student1" class = "com.tutorialspoint.Student">
<property name = "name" value = "Zara" />
<property name = "age" value = "11"/>
</bean>
<bean id = "student2" class = "com.tutorialspoint.Student">
<property name = "name" value = "Nuha" />
<property name = "age" value = "2"/>
</bean>
کد زیر باعث ابهام برای Spring می شود که کدام بین را استفاده کند
@Autowired
private Student student;
جهت جلوگیری از این ابهام از انوتیشن Qualifier@ استفاده می کنیم
@Autowired
@Qualifier("student1")
private Student student;
- فرشته حقیقی 5 سال قبل پاسخ داد
Ajax قابلیلیتی است به این منظور که بتوانیم درخواستی به سرور ارسال و پاسخ آن را دریافت کنیم بدون اینکه تمام صفحه ما مجددا باگذاری شود.به عبارت می توانیم قسمتی از صفحه خود را تغییر دهیم بدون اینکه نیاز باشد کل صفحه را مجددا بارگذاری کنیم.برای ارسال یک درخواست Ajax باید یک شی از نوع XMLHttpRequest ایجاد کنیم.
var request= new XMLHttpRequest();
سپس با استفاده از متدهای ()open و ()send درخواست خود را ارسال می کنیم.
xhttp.open(method, url, async);
xhttp.send();
method : نوع درخواست که GET یا POST می باشد.
url : آدرس سرور که می تواند آدرس یک فایل هم باشد.
async : برای درخواست مقدار این فیلد می بایست true باشد به دلیل اینکه می خواهیم تمام صفحه مجددا بارگذاری نشود.
- فرشته حقیقی 5 سال قبل پاسخ داد