اولین تکلیف overding: هر چیزی درباره Git میدانید بنویسید D:

نوشته شده توسط بهنامی در ۲۶ دی ۱۳۹۳

اولین تکلیف دوره فول استک دولوپر اوردینگ نوشتن یه پست وبلاگی در مورد کنترل ورژن Git هستش

اصلا کنترل ورژن چی هستش ؟؟؟

نرم افزری که میتونه تغییرات فایل های ما رو مدیریت بکنه و به ما کمک بکنه که بتونیم به صورت تیمی روی پروژه  هامون کار کنیم از نظر من اسم کنترل ورژن به خودش میگیره …

اون زمانی ارزش ورژن کنترل رو میتونیم متوجه بشیم که به صورت تیمی روی پروژه کار کنیم و برای سینک نگه داشتن اخرین حالت فایل ها تو کامپیوتر همه هم تیمی مجبور بشیم که فایل هارو با فلش دیسک انتقال بدیم و وقتی دیدیم ۲ نفر رو یه فایل به صورت همزمان کار کردن و با زدن کلید replace all آه از نهاد همه بلند میشه یا اینکه وقتی تنهایی کار میکنید و یه بخش رو در حال توسعه هستین، ولی هنوز باگ های زیادی داره تا بتونه به وضعیت پابلیش برسه در همون حین مشتری تماس میگیره و یه تغییر کوچیک تو یه ببخش دیگه از سایت رو میخواد اون موقع دقیقا میبینید هیچ کار خاصی از دستتون بر نمیاد و باید فایل هایی که باگ دارن رو از پروژه خارج کنید و تغییرات رو انجام بدین پابلیش بکنید و دوباره فایل هارو به سایت اضافه کنید حالا فکر کنید اون بخش که در حال توسعه اش بودین یه کلاس در مورد ارتباط با دیتابیس بوده و برداشتن اون باعث میشه که بخش های دیگه هم از کار بیافتن

پوفففففففف….

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

یکی از این ورژن کنترل های محبوب تو دنیا Git هستش که متن باز و قابلیت های چشم گیری نسبت به بقیه ورژن کنترل ها داره اگه این سایت رو یه نگاهی بندازید توضیحات فارسی خوبی در مورد ویژگی های Git ارائه داده.به نظر من اصلی ترین مزیت Git این هستش که میتونید روی فایل هاتون کار کنید اونا کامیت بکنید ولی نه در مخزن اصلی و میتونی تو کامپیوتر خودتون نگهش دارید و وقتی که به حالت پایدار و بدون باگ رسید میتونید اون رو به مخزن اصلی انتقال بدین

برای نصب Git میتونید از توضیحات این لینک استفاده بکنید. در ضمن ابزار هایی وجود دارند که شما بدون داشتن سروری روی اینترنت پروژه های خودتون رو روی اون سرور ها ببرید و با کمک Git پروژه خودتون رو مدیریت بکنید و در هر جایی که اینترنت باشه شما میتونید پروژه خودتون رو توسعه بدید و جلو ببریدش یکی از اون ابزار ها bitbucket هستش.فعلا کلی چیز دیگه در مورد Git وجود داره که برام هنوز گنگ هستن باید در روز های پیش رومون اون هارو یاد بگیرم و این پست ناقص رو رفته رفته کامل تر بکنمش.

به امید یه دوره خیلی خوب و هیجان انگیز

فضای کار (ورک اسپیس – Work Space )

نوشته شده توسط بهنامی در ۲۵ شهریور ۱۳۹۳

 

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

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

وقتی صحبت از فضای کار میشه در نگاه اول نکات مبهم زیادی به ذهن انسان میرسه


Homepage-Photo1

– چجور فضایی هست ؟

– آیا میزی مستقل برای کار خواهم داشت ؟

– آیا اینترنت پر سرعتی خواهد داشت ؟

– آیا امکانات تیمی کار کردن وجود داره ؟

– هزینه اش چقدره ؟(اون قدری هست که صرفه اقتصادی داشته باشه برام ؟)

– آیا تلفن خواهد بود که با مشتریانم صحبت کنم؟ ( تلفن ثابت )

– آیا کسانی به عنوان مربی ( در رشته های مختلف ) وجود خواهند داشت که از انها کمک بگیرم ؟

– امکانات رفاهی در چه حدی هستش ؟

– آیا سکوت لازم برای کار کردن در اونجا حاکم خواهد بود ؟

و ….

wow این همه دغدغه؟؟

من خودم شرایطی که در ذهنم از فضای کار عمومی دارم اینطوری هستش :

جایی که یک میزتک نفره یا چند نفره در اختیار من بزاره با اینترنت پر سرعت و سکوت فضای کاری کافیه برام

IstanbulHackerspace_BeforeTuesdayMeeting

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

در نهایت پاتوق نبودن اونجا برام مهمه دوست ندارم جایی که اسم فضای کار رو یدک میکشه بشه پاتوق دور همی و همه در اونجا بجای کار کردن برای دو هم بودن و وقت گذرونی حضور داشته باشن (مخالف دور همی و وقت گذرونی نیستم ولی اونجا جاش نیست)

اگر همچین جایی در شهرم وجود داشته باشه من نسبت به قیمتش مطمئنن ساعاتی رو در اون حضور خواهم داشت (به نظرم ساعتی ۱۰ الی ۱۵ هزار تومان مبلغ معقولی هست) تمام ساعات روز کاری رو در اونجا نمیگذرونم ولی مطمئنا خیلی از زمان های آزادم رو در اونجا مشغول کار کردن روی پروژه هام خواهم بود

کاش روزی برسه که همچین فضایی رو در شهر تبریز داشته باشیم و بتونیم ازش استفاده بکنیم که مطمئناً آثار مثبت این محیط و فضا رو در جامعه و حرفه آی تی خواهیم دید

به امید اون روز

 

 

اندر باب استارتاپ ویکند ارومیه

نوشته شده توسط بهنامی در ۲۱ شهریور ۱۳۹۳

ماه قبل یعنی دقیقا اخر ماه قبل من به عنوان شرکت کننده در استارتاپ ویکند ارومیه شرکت کردم و این اولین بار حضور من در چنین رویدادی بود
اول اینکه هدف من از متن اصلا تعریف تمجید الکی نیست و همچنین هدفم کوبیدن هم نیست فقط نکته نظراتم رو که به عنوان یه شاهد اونجا بودم رو میگم شاید هم انتقادی بکنم به عملکرد افراد…. هدفم اینه که در رویداد بعدی بهتر بشه و روز به روز رو به جلو حرکت کنه
من تقریبا ساعت ۶ رسیدم اونجا که خب بعداز حضور در سالن با یه اتفاق نادر روبه‌رو شدم
سرعت اینترنت واقعا فوق‌العاده بود خیلی خیلی خیلی ( خیلی * ۱۰۰۰۰۰) خوب بود دست تیم اجرایی و شرکت اسپانسر اینترنت درد نکنه خیلی از نواقص رو میشه به خاطر همین سرعت اینترنت چشم پوشی کرد ازش.فضای ساختمان برگزاری خیلی خوب بود و فضای سبز حیاطش هم که دیگه محشر بود بازم دست تیم اجرایی درد نکنه
توضیحاتی داده شد توسط تسهیل‌گر، سپس ایده ها ارایه شدن و رفتن سمت داوری ایده هاااا خلاصه ایده ها انتخاب و اعلام شدن
در این حین فعالیت در توییتر شرکت کننده ها و تیم لایو خیلی کم بود اصلا میشه گفت نبود …
جمع کردن رای برای ایده ها واقعا مزخرف بود یعنی شخصی که روی سن توضیح میداد با بی برنامگی محض جلو رفت البته نمیدونم که وظیفه ایشون بود یا نه ولی خب من روی صحنه تسهیلگر رومیدیدم پس برنامه ریزی نحوه رای گیری برای ایده هااا هم وظیفه ایشون باید میبود( در حالی که وقتی به سایت استارتاپ ویکند مراجعه کردم وظایف رو خوندم دیدم که نوشته تسهیلگر نباید از اول تا اخر رو صحنه باشه و باید اجازه بده رویداد رو ببرن جلو یعنی شخصی به عنوان سخنران و شخصی به عنوان تسهیلگر که در اینجا ما از ابتدا تسهیلگر رو روی صحنه میدیدیم )… صحنه ای شبیه بازار گجیل تبریز رو شاهد بودیم در هنگام رای گیری….
رای گیری انجام شد و همچنین جذب افراد به تیم ها همچنین این بی برنامگی به چشم میخورد
وقتی برای شام به سالن غذا خوری رفتیم واقعا فوق العاده بود هم غذای بسیار عالی سرو شد سرویس بسیار عالی بود من که خیلی لذت بردم  از این سطح خدمات که این هم برنامه ریزی تیم اجرایی بود واقعا عالی بود
تیم ها رفتن مستقر شدن تو مکان های اقامتشون که من با درخواست شخصی خودم و موافقت بهروز بختیاری و وحید ناموری عزیز با اونا هم اتاق شدم و کلی بگو بخند داشتیم در طی چند روز اقامتمون در اونجا …
تیم ها روز دوم اومدن و شروع به کارکردن …ایده هاشونو جلو بردن منتور های خیلی خوبی بودن در بین منتور ها ،که از دل و جون تلاش میکردن دلسوزانه کمک میکردن و راهنمایی میکردن واقعا ازشون ممنون هستم از همشون و تشکر میکنم چه منتور های بد اخلاق چه منتور های خوش اخلاق دست همشون درد نکنه
وسط روز بعضی منتورین عزیز طبق سنت پایه گذاری شده توسط نمیدونم کدوم شیر پاک خورده ای شروع کردن به تحقیر شرکت کننده هاو برخورد بد و نگاه بالا به پایین البته درسته تعداد این نوع منتور ها کم بود ولی خب بودند و میخواستن واژه ی وای چه حرفه ای جمع کنن برا خودشون (حرفه ای بودن فرسنگ ها فاصله داره با این نوع کار ها و شوآف ها)
خلاصه زمان به پایان رسید و فرداش هم ادامه داده شد تا رسید به زمان ارایه ها
اول اینکه مشخص نبود داور چند نفره خیلی بهتر بود مشخص باشه داور ها (نمیدونستم اسم داور ها بسیار بسیار امنیتی هست حتی بمیریم هم نباید لو بره اسمش ) حداقل تخصص افرادی که سوال میپرسیدن از ما رو اگه میدونستیم که باید نسبت به تخصص اون ها پاسخ بدیم بهشونو مدرک  دکترای هنر های زیبا داشتن و معیار انتخاب همین مدرک بود، سوال تجاری میپرسید میفهمیدم که تخصصی پشت این سوال نیست و سوال از طرف دستگاه گوارشی مطرح شده است ….شوخی کردم در ضمن داورین یا سوال کننده های عزیز به هم دیگه فرصت نمیدادن حتی بعضا داخل حرف اونیکی میپریدن و حرفشو قطع میکردن که به دور اادب بود.
بعضی منتور ها در زمان ارایه واقعا سوال های عالی میپرسیدن بعضی هاشونم ایراد گروه های مورد علاقه خودشون سکوت میکردن ولی برای بقیه گروه چنین سکوتی در کار نبود حتی وقتی گروهی به جای دمو ایده خودشون یه فایل عکس باز کردن و بشکل ناشیانه ای  اونو نشون دادن همه تعجب کردن ولی هیچ یک از داور ها شما بخوانید منتور  حتی اعتراض هم نکردن …
نکته ی عجیب اینکه شخصی هم داور بود هم منتور بود هم….
و اینکه در کل برنامه تسهیل گر رو صحنه بود و تمام بخش هارو سعی داشت خودش ببره جلو فک کنم زیاد جالب نبود ولی خب ایرادی هم نداشت این قضیه گیر الکی ندم
اما خب اینکه نوع تشویق های زمان انتظار اعلام برنده ها که از تسهیلگر دیگری به شکل کاملا ناشیانه ای کپی برداشته شده بود واقعا خیلی بد و خجالت اور بود (اونم تو رویدادی که پایه و ریشه اش تو خلاقیت ها هستش)
اسپانسر های رویداد که تیم اجرایی با تلاش های چند ماهه گرفته بودن فوق‌العاده بود جایزههااااا عالی بود
واقعا برنده واقعی به نظرم تیم اجرایی بود که افتخار بزرگی برای شهر ارومیه کسب کردن
در اخر این متن بازم میخوام تاکید بکنم که هدف این متن نه چاپلوسی هستش نه تخریب هدف گفتن نکات مثبت و منفی بود تا نکات مثبت بیشتر بشه و نکات منفی تا میتونه کمتر بشه که صد البته در این رویداد نکات مثبت خیلی خیلی  بیشتر از منفی بود
این متن دقیقا بعد از رویداد نوشته نشد تا محکوم به عقده ای بودن و عصبانی بودن از نتیجه تیمی مون نباشم
سعی کردم بی طرف بنویسم و اگه نکات منفی بیشتر بیان شد هدفی به جز دلسوزی ندارم و خواهم داشت

ارزو هام برای اینده حرفه ای شهرم

نوشته شده توسط بهنامی در ۱۸ شهریور ۱۳۹۳

من وبلاگ نویس حرفه ای نیستم قلم خوبی هم ندارم که بتونم متن خوبی بنویسم با زبان محاوره ای مینویسم بعضی جاهاشم رسمی میشه… ولی خب ارزو هایی برای اینده حرفه ای شهرم دارم…
ارزو دارم روزی برسه این شغل جایگاه واقعی خودش رو پیدا بکنه
میدونید وقتی با همکارا صحبت میکنم اونا با قیافه شکست خورده ای بهم میگن اگه میتونستم کلا این شغل رو میبوسیدم میزاشتم کنار انگار یک زغال اتیشی گنده رو چسبودن به دل من …
ارزو دارم روزی توی شهرم باشه هم مشتری ها ارزش کاری که تحویل میگیرن رو متوجه بشن و برنامه نویس ها و طراح ها هم ارزش کارشونو بدونن و اونو به خاک و خون نکشوننش…میدونید که چی میگم
ارزو دارم که یه روزی شهرم بشه پرچم دار کار طراحی وب و برنامه نویسی تو ایران بشه این محقق نمیشه مگه اینکه از همین امروز تغییر رو از خودم شروع کنم این خودم خودم هامون جمع بشه و ماحصل اش بشه تحقق ارزوی من
ارزو دارم وقتی شغلم رو به یکی میگم سرشو به علامت اینکه یعنی چی تکون نده مردم شهرم با تکنولوژی راحت کنار بیان و فرار نکنن ازش
ارزو دارم افراد شاغل در این حرفه اونقدر درآمد داشته باشن که دنبال شغل دوم نباشن و تو۲ تا شرکت کار نکنن
و از همه مهم تر فرهنگ کار کردن در این حرفه رو یاد بگیرم…
یدونه هم ارزو برای خودم دارم این تیکه شو میتونید نخونید….
ارزو دارم روزی در هم همین نزدیکی ها برسه که طراحی UI وبسایت رو یاد بگیرم و به کمک این یاد گرفتنم از طرح هایی که میزنم لذت ببرم نه مثل الان وقتی میبینمشون حالم بهم نخوره و عذاب وجدان دانلود تم های رایگان خارجی رو نگیرم که یدونه تم هم نمیتونی طراحی کنم…. تعارف نداریم که بلد نیستم ولی ارزو دارم روزی برسه که حرفی برای گفتن پیش اساتید حرفه خودم رو داشته باشم
در ضمن تا یادم نرفته کاش همکارام و خودم این فیریلداخ (به معنی : سر وقت به تعهد ها عمل نکردن ) بودن رو بزاریم کنار … :دی
تو این بازی وبلاگی به دعوت بهروز بختیاری عزیز شرکت کردم و خیلی خیلی ازش ممنونم که این حرکت بزرگ رو راه انداخت مرسی بهروز

دیدگاه شخصی در مورد سیستم های مدیریت محتوا

نوشته شده توسط بهنامی در ۲۱ تیر ۱۳۹۳

چند روزی هستش که این فکر تو ذهنم میچرخه و بیشتر فکر هام حول محور این واژه ها ست
سیستم مدیریت محتوا
بی پرده بگم من به هیچ عنوان از این سیستم ها خوشم نمیاد که خب دلیل هایی هم برای خودم دارم البته ممکنه درست نباشن و یا شاید شما قبولشون نداشته باشین در هر صورت این دلایل و حرف ها نظر شخصی بنده هستن
۱- تجربه شخصی خودم میگم استفاده از سیستم های مدیریت محتوا معمولا محدودیت هایی رو ایجاد میکنه برای من و دقیقا کاری رو که میخوام بکنم رو یا بی خیالش میشم یا جوری که سیستم مدیریت محتوا تعیین میکنه اون کارو انجام میدم
۲-به نظرم این سیستم ها معمولا خلاقیت برنامه نویس رو ازش میگیرن و دیگه حتی اجازه فکر کردن هم به برنامه نویس برای پیاده سازی خواسته هاشو هم نمیدن و همیشه طبق الگوی اون ها باید برنامه هاو وبسایت هاشونو درست بکنن
۳- هیچ سیستم مدیریت محتوایی کامل نیست و حتما حتما حتما باید برای کار خاصی دستی در سورس های هسته اون برد و جاهایی تغییر داد و گاها تغییر دادن هسته اونقدر طول میکشه که اگراز این سیستم ها استفاده نکرده بودیم خیلی سریع تر به نتیجه رسیده بودیم

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

۶ دیدگاه دسته‌بندی : حرف های دل

یه اتفاق عجیب

نوشته شده توسط بهنامی در ۲۶ اردیبهشت ۱۳۹۳

دیروز تو شرکت مشغول کار بودم  یه بخشی از وب سایت رو مورد بررسی قرار میدادم فایرباگ هم باز بود یهو متوجه یه قضیه عجیب شدم تو وب سایتم

من تو صفحه ام ۲ تا لیست باز شونده یا همون کمبو باکس داشتم که کمبو اولی موجب تغییر کمبو دوم میشد و کمبو دوم هم موجب تغییر داده های نمایش داده شده در Grid  صفحه میشد …

من متوجه شدم که تابع بارگزاری داده های از سرور برای Grid دو بار اجرا میشه خیلی تعجب کردم کل کد هامو بالا پایین کردم دیدم فقط یک بار فراخوانی کردمش بعد یکم بررسی دقیق تر متوجه شدم که هر چند بار کمبو اولی رو تغییر بدم به همون تعداد تابع بارگزاری Grid فراخوانی میشه

حالا قضیه چی بود ؟؟؟

وقتی یه تابع رو به یه Event یه آبجکت نسبت مییدیم مثلا change یا Click و در داخل اون تابع اختصاص داده شده به یه Event  یه آبجکت دیگه یه تابعی رو اختصاص میدیم اون تابع دوم به تعداد تغییر های Event اولی اختصاص داده میشه یکم گنگ شد جمله هام بزارید با یه مثال کامل توضیح بدم

من تو Change  کمبو اولی نوشته بودم که کمبو دومی رو ست بکن و تو تابع ست کردن کمبو دومی نوشته بودم Grid رو هم بارگزاری بکن

اتفاقی که میافتاد این بود : تابع هایی که به Event ها نسبت داده میشن هر چند بار نسبت داده بشن همون تعداد اجرا میشن

مثلا اگه من کمبو اولی رو ۱۰ بار مقدارشو تغییر میدادم ۱۰ بار تابع ست کردن Grid به کمبو دوم اختصاص داده میشد و وقتی کمبو دومی رو تغییر میدادم ۱۰ بار Grid ست میشد

خب این اتفاق بعضی وقتا خوبه بعضی وقتا بد باید بدونیم کی از این قضیه به نقع خودمون استفاده کنیم

راه مقابله با این اتفاق اینه که قبل از اختصاص تابع به event همه تابع های اختصاص داده شده رو از بین ببریم و بعد تابع جدید رو اختصاص بدیم

این کار تو جی کوئری با این دستور انجام میشود

$( “#foo”).unbind( “click” );

شاید من اونطور باید و شاید نتونستم توضیح بدم این قضیه رو از لینک زیر میتونید کامل مطالعه بکنید نحوه استفاده از این دستور رو …

استفاده از تابع unbind

امید وارم که مفید بوده باشه این مطلب  برای خود من که خیلی جالب بود گفتم باهاتون شریک بشم این مطلب رو

بدون دیدگاه دسته‌بندی : جی کوئری

آپلود فایل از طریق جی کوئری و اجکس

نوشته شده توسط بهنامی در ۱۱ فروردین ۱۳۹۳

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

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

form data() رو امتحان کردم …ifram  رو امتحان کردم و روش های مختلف دیگه ای خلاصه دیگه لینکی نمونده بود که تو نتیجه جستجو گوگل اومده باشه و من سری نزده باشم بهش سرتون درد نیارم بعد از حدود یک ماه اینور اون ور زدن به این راه حل رسیدم که تقریبا منو راضی کرد و دلایلی که باعث شد من راضی بشم از این راه حل :

۱- اول اینکه به صورت اجکس میفرسته واقعا و پشتش هیچ دور زدن و کلکی سوار نشده :دی

۲- در تمامی مرورگر ها کار میکنه و مثل روش formdata نیست که تو اینترنت اکسپلورر (که لعنت خدا بر او باد)  کار نکنه تو همشون کار میکنه فقط تو همه مرورگر ها بدون بارگزاری مجدد صفحه کار میکنه و در اینترنت اکسپلورر یه رفرش کوچولو انجام میده به خاطر سابمیت صفحه

در ضمن خیلی خیلی راحت میشه باهاش پارامتر هم ارسال کرد به سمت سرور و در ان واحد میشه چندین فایل رو هم ارسال کرد…

این کد هستش :

<script type=”text/javascript”>

    $(document).ready(function () {

        $("#formsubmit").click(function () {

            var data = {id:”behnam”};

            var form = $(‘#theuploadform’);

            form.attr(“action”, “/testfileupload.aspx”);

            form.attr(“method”, “post”);

            form.attr(“enctype”, “multipart/form-data”);

            form.attr(“encoding”, “multipart/form-data”);

            form.attr(“file”, $(‘#File1’).val());

            form.ajaxSubmit({

                success: function () {

                    alert(“ok”);

                },

                data: data

            });


            return false;


        });


    });

</script>

فقط کافیه که تو صفحه تون ابجکت اپلود فایل رو قرار بدین و در سمت سرور با ریکوئست ،فایل ها تون رو بگیرید و ذخیره کنید

مطمئن هستم راه های بهتری هست و شما اون راه هارو یا بلد هستید یا پیدا خواهید کرد خوشحال میشم که راه هایی که ازش استفاده میکنید رو بگید تا من هم یاد بگیرم 🙂

۳ دیدگاه دسته‌بندی : جی کوئری

استفاده از jquery ajax برای ارسال داده به سرور ساید

نوشته شده توسط بهنامی در ۹ اسفند ۱۳۹۲

سلام خوبین ؟

اول تشکر از بابت لطف دوستان نسبت به پست اول وبلاگم که خیلی خیلی به من انرژی و امید دادن بابت ادامه کارم

خب تو هر سایتی شما باید برای اینکه یه اطلاعاتی رو از سرور بخونید و بیارید مثل داده های پایگاه داده یا اطلاعات سشن ها یا چیزای شبیه این مجبورید که تو سمت سرور یه کد هایی رو بنویسید حالا چه میخواد سایت شما سمت سرور سایدش PHP  باشه یا ASP.NET یا هر چیز دیگه ای …

*(من چون خودم ASP.NET کار میکنم برای همین اکثر مثال ها و حرفا حول محور اون خواهد بود )

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

ساده ترین و بی درده سر ترین روش همون روش معمول اینه که ابجکت رو بندازید رو صفحه و بعد روش دو تا کلیک بکنید و کد ها رو داخلش بنویسید ( که من خودم هم تا چند مدت پیش همین طوری کار میکردم)

یه روش دیگه بیشتر امروز مد نظر من هست تو این پست استفاده از jquery Ajax هستش

خب این اصلا یعنی چی ؟؟؟؟

یعنی اینکه تمام کار ها سمت کلاینت ساید با جاوا اسکریپت ها و جی کوئری و فقط و فقط زمانی که نیاز هست به سرور مراجعه میشه مثل خوندن یه داده ای از دیتا بیس یا کار هایی شبیه این

این روش مزیت های زیادی داره قدرت مانور خیلی بالایی روی صفحه تون دارین سرعت اجرای صفحه تون خب به نسبت روش قدیمی خیلی بالا تر هستش و …

نحوه کار این روش شما داده هاتون رو سمت کلاینت ساید از کاربر میگیرید تمام کارهای پردازشی که لازم هست رو روش انجام میدین ( سرور برای این کار مشغول نمیشه ) در نهایت در زمان نیاز اونارو به صورت اجاکس به سمت سرور میفرستید سرور عملیات مد نظر رو انجام میده روش بعد نتیجه رو به صورت json بهتون بر میگردونه و دوباره پردازش اطلاعات برگشت داده شده و نمایش اونها در سمت کلاینت ساید انجام میشه

یه نمونه کد از این کار (البته این روش وب متد هستش یعنی یه تابع خاص از یه صفحه رو فراخوانی میکنم به جای فراخوانی کل صفحه

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

 

[]$.ajax({

    type: “POST”,

    url: “Masir FILE ASPX ke -FUNCTION Dakhele ON Hastesh/My_Fuction  ( be horofe kochak va bozorg hasas hastesh)”,

    contentType: “application/json; charset=utf-8”,

    data: “{‘Parametr1′:’مقدار پارامتر’,’Parametr2′:’مقدار پارامتر’}”,

    datatype: “json”,

    success: function (result) {

// اگر عملیات موفقیت امیز باشد این قسمت اجرا میشود

        if (result.d == “UnSuccess”) {

        } else {

            //alert(result.d);

            result = $.parseJSON(result.d);

            $.each(result, function (index) {

//چون داده برگشتی ما به صورت چندین رکورد بود در این قسمت با استفاده از  از این حلقه تک تک رکورد های برگشتی را بررسی میکنیم

             });

},

    error: function (error) {

        //Message

        //بروز خطا در اجرای کد های سمت سرور این قسمت اجرا میشود

        //console.error(error.d);

    }

});

using System.Web.Services;

[WebMethod]

public static string My_Fuction(string Parametr)

    {

          // عملیات دلخواهتون رو بنویسید

                if (“عملیات موفقیت آمیز”)

                {

                    return Newtonsoft.Json.JsonConvert.SerializeObject(result, Formatting.Indented); ;

                   // این خط برای تبدیل کردن نتیجه کار که در اینجا یک DATATable  هستش به داده فرمت json   هستش و  Newtonsoft یک کامپوننت برای این کاره شما میتونید خودتون از طریق خود .NET این کار رو انجام بدین

                }

                else

                {

                    return “UnSuccess”;

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

                }

    }

 

بدون دیدگاه دسته‌بندی : جی کوئری

اولین پست وبلاگی من

نوشته شده توسط بهنامی در ۲ اسفند ۱۳۹۲
سلام دنیا

این اصطلاحی هستش که چند روزه هی  با خودم میگم اولین پست‌م سلام دنیا خواهد بود

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

گاها به یه چالش هایی بر میخورم که شاید چند روز یا چند هفته وقتم رو میگیرن چندین روز دنبالش میگردم که حلش کنم

تو یکی از این چالش ها به ذهنم رسید خب چرا اینارو به صورت پست وبلاگی ننویسم تا اگه یکی داره دنبالش میگرده بتونه پیداش بکنه  البته چون این بلا سر خودم اومد و بخاطر یه چیزی که همه بهش رسیدن بودن تو خارج ولی هیچ کد به درد بخوری نزاشته بودن یه توضیح مختصر و تمام و این اعصاب منو خورد میکرد که همه هم زیرش تشکر کرده بودن یعنی تونسته بودن از گفته اش استفاده کنن ولی من نه 🙁

تصمیم گرفتم یه وبلاگ بزارم تمام چالش هایی که دارم یا تجربه هایی که دارم به صورت کامل به همراه سورس کد بزارم تا کسی که دنبالش میگرده حرص نخوره

امیدوارم بتونم مفید باشم و کاری که دوست دارم رو بتونم طوری که دوسش دارم انجام بدم و طوری که دوست دارم ازش لذت ببرم :دی

راستی یادم رفت بگم بهنام هستم علاقمند به برنامه نویسی ۲۶ سالم هستش و از سال ۸۲  وارد این رشته شدم خیلی خیلی دوست دارم که هر روز یه چیز جدید یاد بگیرم…همین

۱۰ دیدگاه دسته‌بندی : حرف های دل