EN

Search
Close this search box.

موستانگ، وحشیِ دوست داشتنی

1 رای

برای جستجوی عنصر خاص و یا کاراکتر خاصی در عناصر یک لیست  دو روش می توانیم عمل کنیم

1.

names= ["سارا", "سعید", "مریم", "لیلا", "رضا","فرشته"]
newlist = []

for x in names:
  if "ف" in x:
    newlist.append(x)

2. روش دوم که ساده تر از روش اول می باشد به صورت زیر می باشد

names= ["سارا", "سعید", "مریم", "لیلا", "رضا","فرشته"]

newlist = [x for x in names if "ف" in x]
0 رای
در پاسخ به: Singleton چند تردی

برای پیاده سازی کلاس singleton در جاوا در زمانیکه چند ترد داریم باید ساخت نمونه از کلاس در متد synchronize شده انجام شود.


public class ThreadSafeSingleton {

    private static ThreadSafeSingleton instance;
    
    private ThreadSafeSingleton(){}
    
    public static synchronized ThreadSafeSingleton getInstance(){
        if(instance == null){
            instance = new ThreadSafeSingleton();
        }
        return instance;
    }
    
}
0 رای
در پاسخ به: Lazy initialization در جاوا

Lazy initialization در الگوی singleton  به  این صورت می باشد که ساخت نمونه از  کلاس در زمانی که به آن نیاز باشد انجام می شود. به عبارت دیگر ساخت نمونه در متد انجام می شود.


public class LazySingleton {

    private static LazySingleton instance;
    
    private LazySingleton (){}
    
    public static LazySingleton getInstance(){
        if(instance == null){
            instance = new LazySingleton ();
        }
        return instance;
    }
}

 

البته این روش در زمانیکه که چند ترد (thread ) داشته باشیم مناسب نمی باشد به این دلیل که زمانیکه چند ترد با هم در بلاک if باشند چند نمونه از کلاس ایجاد می شود.

0 رای

eager initialization  در الگوی singlton  به این صورت عمل می کند که آبجکت را در  زمان لود کلاس ایجاد می کند.


public class EagerInitializedSingleton {
    
    private static final EagerInitializedSingleton instance = new EagerInitializedSingleton();
    
    private EagerInitializedSingleton(){}

    public static EagerInitializedSingleton getInstance(){
        return instance;
    }
}

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

1 رای
در پاسخ به: کلاس singleton در جاوا

singleton یک الگوی طراحی lمی باشد به منظور اینکه از یک کلاس فقط یک آبجکت وجود داشته باشد.برای پیاده سازی آن می بایست موارد زیر را رعایت کنیم.

  1. یک constructor  از نوع private : اینکار باعث می شود با استفاده از دستور new  نتوانیم ازکلاس نمونه ای بسازیم.
  2. یک متغیر static برای آبجکت
  3. یک متد sttatic برای ساخت آبجکتی از کلاس
public final class MySingleton {

    private static MySingleton INSTANCE;
    
    private ClassSingleton() {        
    }
    
    public static MySingleton getInstance() {
        if(INSTANCE == null) {
            INSTANCE = new MySingleton ();
        }
        
        return INSTANCE;
    }

    // getters and setters
}

با استفاده  از این پیاده سازی برای ساخت یک آبجکت از کلاس MySingleton نمی توانیم از constructor  آن استفاده کنیم و می بایست  با استفاده از متد getInstance آبجکتی از کلاس را دریافت کنیم. در این متد بررسی می کند که آیا قبلا آبجکتی از کلاس ساخته شده است یا خیر. در صورتیکه قبلا آبجکتی ساخته نشده یک آبجکت از  کلاس برای ما می سازد.درصورتیکه قبلا آبجکتی ساخته شده باشد همان آبجکت قبلی برگردانده می  شود.

0 رای

برای پیدا کردن عناصر مشترک در دو مجموعه از متد intersection_update استفاده می کنیم.

x = {"java", "spring", "python"}
y = {"python", "php", "jsf"}

x.intersection_update(y)

متد intersection نیز یک مجموعه جدید ایجاد می  کند و عناصر مشترک دو مجموعه را در آن قرار می دهد.

z = x.intersection(y)
0 رای

برای ادغام کردن دو لیست در  پایتون از  متد union  استفاده می کنیم.

set1 = {"java", "python" , "php"}
set2 = {1, 2, 3}

set3 = set1.union(set2)

متد update در مثال زیر نیز عناصر set2 را در set1 قرار می دهد

set1.update(set2)
0 رای

برای حذف یک عنصر در پایتون از متدهای remove  و discard  استفاده می کنیم.برخلاف زبانهای دیگر که شماره اندیس عنصر را به متد حذف می دهیم، در پایتون برای این کار کافی است نام  المان را به متد حذف بدهیم.

course= {"python", "java", "php"}

course.remove("java")

و یا

course.discard("java")

برای حذف عنصر اخر نیز می  توانیم از متد pop استفاده می کنیم.

course.pop()

 

 

0 رای

برای نوشتن در فایل بصورت زیر  عمل می کنیم

f = open("file.txt", "a")
f.write(" ")

در تابع open  باید مشخص کنیم که می خواهیم از انتهای فایل بنویسیم و یا اینکه محتوای فایل پاک شود و مطلب مورد نظر ما در آن نوشته شود.برای اینکار از پارامترهای زیر استفاده می  کنیم

“a” : نوشتن از انتهای فایل

“w” : پاک کردن محتوای فایل و جایگزین کردن آن با مطلب مورد نظر ما

بستن فایل بصورت زیر انجام می شود

f.close()
0 رای

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

f = open("file.txt")
f.read()

در  متد می توانیم مشخص کنیم که چند کاراکتر  از فایل خوانده شود.مثلا در مثال زیر می گوییم که 20 کاراکتر اول فایل برگردانده شود

read(20)

 

0 رای

json  یک عبارت جاوااسکریپتی می باشد که برای مبادله دیتا بین سرویس ها استفاده می شود که به فرمت کلید و مقدار می باشد.

برای تبدیل json  به پایتون باید پیکیج آن را در برنامه خود تعریف کنیم

import json

فرض کنیم عبارت json  زیر را داریم

x =  '{ "name":"John", "age":30, "city":"New York"}'

برای تبدیل آن از متد زیر استفاده می کنیم

y = json.loads(x)

برای دسترسی به عناصر y  باید از کلیدها استفاده کنیم

y["age"]

برای تبدیل یک عبارت پایتون به json از متد زیر استفاده می کنیم

y = json.dumps(x)
0 رای

برای اینکار می  توانیم از تگهای  <ui:insert> و <ui:include> استفاده کنیم.با استفاده از این تگها محتوای یک قسمت از صفحه با آن صفحه ای که مد نظر ماست پر می شود.

<html xmlns = "http://www.w3.org/1999/xhtml"   
   xmlns:ui = "http://java.sun.com/jsf/facelets">

<h:body> 
   <ui:insert name = "header" >
      <ui:include src = "header.xhtml" />
   </ui:insert> 
   
   <ui:insert name = "content" >
      <ui:include src = "contents.xhtml" />
   </ui:insert>    
   
   <ui:insert name = "footer" >
      <ui:include src = "footer.xhtml" />
   </ui:insert>
</h:body>

و یا

<h:body> 
   <ui:insert name = "header" >
      <ui:include src = "header.xhtml" />
   </ui:insert> 
   
   <ui:insert name = "content" >
      <ui:include src = "contents.xhtml" />
   </ui:insert>    
   
   <ui:insert name = "footer" >
      <ui:include src = "footer.xhtml" />
   </ui:insert>
</h:body>

مثلا در قسمت header فایل header.xhtml  قرار می گیرد.

0 رای

برای تبدیل رشته به عدد از  تگ  <f:convertNumber> به صورت زیر استفاده می کنیم.

<html xmlns = "http://www.w3.org/1999/xhtml"   
   xmlns:h = "http://java.sun.com/jsf/html"
   xmlns:f = "http://java.sun.com/jsf/core">

<f:convertNumber minFractionDigits = "2" />

minFractionDigits : با استفاده از  این ویژگی مینیمم رقم در قسمت اعشاری را  مشخص می کنیم.در این مثال گفتیم که قسمت اعشار می بایست  2 رقم یا بیشتر باشد.

در این تگ می توانیم ویژگی های زیر را استفاده کنیم

maxFractionDigits : حداکثر رقم در قسمت اعشار

pattern : می توانیم یک الگو بدهیم و بگوییم که رشته به فرمت مورد نظر تبدیل شود.

maxIntegerDigits  : ماکسیمم رقم در قسمت صحیح

minIntegerDigits : مینیمم رقم در قسمت صحیح

integerOnly  : اگر true باشد فقط قسمت صحیح عدد در نظر می شود.

currencySymbol  :  هر علامت واحد پولی که بدهیم در کنار عدد قرار می گیرد.

type : نوع عدد که می تواند عدد پول یا درصد باشد

<html xmlns = "http://www.w3.org/1999/xhtml"   
   xmlns:h = "http://java.sun.com/jsf/html"
   xmlns:f = "http://java.sun.com/jsf/core">
   
  
   <h:body>
      <table >
         <tr>
            <th>Parameter</th>
            <th>Value Passed</th>
            <th>Output</th>
         </tr>
         
         <tr>
            <td>minFractionDigits = "2"</td>
            <td>100.12345</td>
            <td>
               <h:outputText value = "100.12345" >
                  <f:convertNumber minFractionDigits = "2" />
               </h:outputText>
            </td>
         </tr>
         
         <tr>
            <td>pattern = "#000.000"</td>
            <td>100.12345</td>
            <td>
               <h:outputText value = "100.12345" >
                  <f:convertNumber pattern = "#000.000" />
               </h:outputText>
            </td>
         </tr>
         
         <tr>
            <td>currencySymbol = "$"</td>
            <td>$100</td>
            <td>
               <h:outputText value = "$100">
                  <f:convertNumber currencySymbol = "$" type = "currency" />
               </h:outputText>
            </td>
         </tr>
         
         <tr>
            <td>type = "percent"</td><td>100.12345%</td>
            <td>
               <h:outputText value = "100.12345%" >
                  <f:convertNumber type = "percent" />
               </h:outputText>
            </td>
         </tr>
      </table>
   
   </h:body>
</html>
0 رای
در پاسخ به: Checkbox در jsf

درصورتیکه بخواهیم فقط یک چک باکس داشته باشیم که کاربر آن را تیک بزند از تگ <h:selectBooleanCheckbox> به صورت زیر استفاده می کنیم

<h:selectBooleanCheckbox value = "1" id = "chkBOX" /> 

اما درصورتیکه بخواهیم چند گزینه داشته باشیم که کاربر بتواند چند مورد از آنها را تیک بزند از تگ  <h:selectManyCheckbox> به صورت زیر  استفاده می  کنیم

<h:selectManyCheckbox value = "#{userData.data}"> 
   <f:selectItem itemValue = "1" itemLabel = "SPRING" /> 
   <f:selectItem itemValue = "2" itemLabel = "JSF" /> 
</h:selectManyCheckbox>

 

0 رای
در پاسخ به: نمایش پیام در jsf

برای  اینکار از تگ <h:messages> استفاده می کنیم

<h:messages style = "color:red;margin:8px;" /> 

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

0 رای
در پاسخ به: ورودی پسورد در jsf

برای اینکار از تگ <h:inputSecret> به صورت زیر استفاده می کنیم

<h:inputSecret value = "password" />
0 رای
در پاسخ به: radio در jsf

برای اینکار از تگ < h:selectOneRadio > به صورت زیر استفاده می کنیم

<h:selectOneRadio value = "#{userData.data}"> 
   <f:selectItem itemValue = "1" itemLabel = "Item 1" /> 
   <f:selectItem itemValue = "2" itemLabel = "Item 2" />
</h:selectOneRadio>    
0 رای
در پاسخ به: کمبوباکس در jsf

برای پیاده سازی کمبوباکس در jsf از تگ<h:selectOneMenu> به صورت زیر استفاده می کنیم

<h:selectOneMenu value = "#{userData.data}"> 
   <f:selectItem itemValue = "1" itemLabel = "Item 1" /> 
   <f:selectItem itemValue = "2" itemLabel = "Item 2" /> 
</h:selectOneMenu> 	
0 رای
در پاسخ به: Listbox در jsf

برای اینکاز از تگ  <h:selectOneListbox> به صورت زیر استفاده می کنیم

<h:selectOneListbox value = "#{userData.data}"> 
   <f:selectItem itemValue = "1" itemLabel = "Item 1" /> 
   <f:selectItem itemValue = "2" itemLabel = "Item 2" /> 
</h:selectOneListbox>
0 رای
در پاسخ به: Listbox در jsf

برای اینکار از  تگ<h:selectManyListbox> بصورت زیر استفاده می کنیم

<h:selectManyListbox value = "#{userData.data}"> 
   <f:selectItem itemValue = "1" itemLabel = "Item 1" /> 
   <f:selectItem itemValue = "2" itemLabel = "Item 2" />
</h:selectOneListbox>	

data لیست آیتم ها می باشد.

نمایش 61 - 80 از 217 نتیجه