⁉️ برنامهنویسی به درد شما نمیخورد. همین الان دستنگهدارید و رشتهی دیگری را انتخاب کنید
چند سالی است که رشتهی کامپیوتر رو بورس است و جای برق قدیم را گرفته. هرکسی که رتبهی خوبی کسب کرده به هوای درآمد و کلاس کاری بالا و بعضاً کار راحت این رشته را انتخاب میکند.
حسنرا که ماهی 10 میلیون درآمد دارد و همهی خانواده حرفشرا میزنند فراموش کنید. اگر شرایطی که در این نوشته آورده ام را دارید, شما بهدرد این کار نمیخورید و هیچ وقت نمیتوانید به موفّقیّت حسن دستپیدا کنید. چرا؟ خب بیاید شروع کنیم.
@ABlueDeveloper
1- بلد نیستی کد بزنی؟
خب ببینم تا امروز کد زدی؟ حتّی یک برنامهی کوچک. اصلاً برنامهنویسیرا فعلاً بیخیال میشویم. تا امروز یک صفحهی وب ساده با کدهای css و html ساختهای؟ اگر نه, متأسفم. به احتمال خیلی زیاد این کار به درد شما نمیخورد.
این حرفرا علاوه بر تجربهی شخصیام با دلایلی منطقی میزنم. برنامهنویسی کار فوقالعاده مشکلی است. گول جوانکهای مو فرفری و تیشرت پوشیدهی برنامههای تلویزیونیرا نخورید که با عینک گرد پشت مکبوکشان نشسته اند و دارند درون ماگ «گیکنشان»شان قهوه مینوشند.
نرمافزار(و البته سختافزار, ولی چون حوزهی کاری خودم نرمافزار است در مورد آن صحبت میکنم) فوقالعاده پیچیده است. حتّی برخی افراد اعتقاد دارند که نرمافزار پیچیدهترین ساختهی مهندسی شده بشر است.
شما برای اینکه نرمافزارتان یک کار نسبتاً کوچک انجام دهد, مخصوصاً در 3-4 سال اول که تجربه و دانش بسیار کمی دارید, باید روزها و ساعتها زحمت بکشید.
اگر میخواهید تصویری از یک برنامهنویس در ذهنتان داشته باشید, فردی که پس از 18 ساعت کار مداوم, رأس ساعت 3 بامداد, دارد با مشت توی سر خودش میکوبد و به باگی که 12 ساعت تمام وقتشرا گرفته و هنوز رفع نشده بد و بیراه میگوید, تصویر معقولتری است.
وقتی تجربهای از این سختی ندارید, نمیدانید که از این نوع سختی کشیدن خوشتان میآید یا نه. و از آنجایی که اکثر انسانها از چنین چیزی خوششان نمیآید, به احتمال زیاد پس از ورود به رشتهی مهندسی کامپیوتر میفهمید که چه اشتباهی کرده اید.
بهعلاوه برای برنامهنویس بودن باید بینهایت کنجکاو باشید. اگر تا امروز, یعنی سن 18 یا 19 سالگی, آنقدر کنجکاو نبودهاید که چندخط کد بزنید, پس به احتمال خیلی زیاد از این به بعد هم در این حوزه بهاندازهی کافی کنجکاو نخواهید بود.
2- از پیچیدگی گریزانی؟
اگر مقابل مسائل و چیزهای پیچیده دست و پایتانرا گم میکنید و توانایی تفکّرتان را از دست میدهید, این جا جای شما نیست.
همانطوری که در بخش قبل گفتم نرمافزار فوقالعاده پیچیده است. بهعلاوه بخش بزرگی از دوران زندگی شما به کار کردن روی ساختههای دیگران سپری میشود. ساختههایی که با وجود داکیومنت و طراحی خوب, همچنان بسیار پیچیده اند.
بهعلاوه, بسیاری از مسائلی که با آنها در این رشته روبهرو هستیم, مسائل پیچیدهای هستند. شما باید عاشق کار کردن با برنامهها, سیستمها و مسائل پیچیده باشید. وگرنه خیلی زود کم میآورید.
@ABlueDeveloper
3-خلاق و نافرمان نیستی؟
همیشه از قوانین موجود پیروی کردهاید؟ «بله قربان» و «چشم» کلماتی بودهاند که همیشه استفاده کردهاید؟ تا به حال سابقه نداشته کاریرا به سبک خودتان انجام دهید و مسئولیتش را بپذیرید؟ پس دارید راه را اشتباه میروید.
خلّاقیّت چیزی است که برنامهنویسرا از ماشینی که با آن کار میکند متمایز میکند. خیلی از راه حل های خوب امروزی حاصل سرپیچی از قوانین تثبیتشدهی قبلی هستند. اگر برنامهنویسان نافرمان نبودند ,هرگز چیزی به نام Agile بهوجود نمیآمد.
4-عاشق مطالعه و یادگیری نیستی؟
ببینید, یک تفاوت جدی بین این رشته و بقیهی رشتهها وجود دارد. اینجا هر ساعتی که میگذرد خیلی چیزها عوض میشوند. هرساعت صدها مفهوم, برنامه, زبان, فریمورک و... جدید ساخته میشود و صدها چیز قدیمی از بین میرود.
اگر میخواهید به عنوان یک برنامهنویس به زندگی ادامه بدهید, باید هرروز یادبگیرید. باید بتوانید خیلی سریع با چیزهای جدید کنار بیایید. باید تقریباً هرروز چندساعتی را به خواندن مقالات, دیدن ویدیوها و شنیدن پادکستهای آموزشی مشغول باشید. آن هم نه برای اینکه از دیگران جلو بیفتید, صرفاً برای اینکه از دور خارج نشوید.
برای اینکه با این حجم از دادهی جدید کنار بیایید نباید اهل مطالعه و آموختن باشید, بلکه باید عاشق آن باشید. در غیر این صورت بعد از یک ماه تبدیل به یک بازندهی افسردهی خسته میشوید که حالش از زندگی و کارش به هم میخورد.
5-اهل کمک و بخشش نیستی؟
دنیای کامپیوتر را کارهای عام و رایگان زنده نگه داشته است. شما به عنوان یک برنامهنویس باید هر هفته چند ساعت را به حل مشکلات دیگران بپردازید.
#ادامه_پست_بعدی
چند سالی است که رشتهی کامپیوتر رو بورس است و جای برق قدیم را گرفته. هرکسی که رتبهی خوبی کسب کرده به هوای درآمد و کلاس کاری بالا و بعضاً کار راحت این رشته را انتخاب میکند.
حسنرا که ماهی 10 میلیون درآمد دارد و همهی خانواده حرفشرا میزنند فراموش کنید. اگر شرایطی که در این نوشته آورده ام را دارید, شما بهدرد این کار نمیخورید و هیچ وقت نمیتوانید به موفّقیّت حسن دستپیدا کنید. چرا؟ خب بیاید شروع کنیم.
@ABlueDeveloper
1- بلد نیستی کد بزنی؟
خب ببینم تا امروز کد زدی؟ حتّی یک برنامهی کوچک. اصلاً برنامهنویسیرا فعلاً بیخیال میشویم. تا امروز یک صفحهی وب ساده با کدهای css و html ساختهای؟ اگر نه, متأسفم. به احتمال خیلی زیاد این کار به درد شما نمیخورد.
این حرفرا علاوه بر تجربهی شخصیام با دلایلی منطقی میزنم. برنامهنویسی کار فوقالعاده مشکلی است. گول جوانکهای مو فرفری و تیشرت پوشیدهی برنامههای تلویزیونیرا نخورید که با عینک گرد پشت مکبوکشان نشسته اند و دارند درون ماگ «گیکنشان»شان قهوه مینوشند.
نرمافزار(و البته سختافزار, ولی چون حوزهی کاری خودم نرمافزار است در مورد آن صحبت میکنم) فوقالعاده پیچیده است. حتّی برخی افراد اعتقاد دارند که نرمافزار پیچیدهترین ساختهی مهندسی شده بشر است.
شما برای اینکه نرمافزارتان یک کار نسبتاً کوچک انجام دهد, مخصوصاً در 3-4 سال اول که تجربه و دانش بسیار کمی دارید, باید روزها و ساعتها زحمت بکشید.
اگر میخواهید تصویری از یک برنامهنویس در ذهنتان داشته باشید, فردی که پس از 18 ساعت کار مداوم, رأس ساعت 3 بامداد, دارد با مشت توی سر خودش میکوبد و به باگی که 12 ساعت تمام وقتشرا گرفته و هنوز رفع نشده بد و بیراه میگوید, تصویر معقولتری است.
وقتی تجربهای از این سختی ندارید, نمیدانید که از این نوع سختی کشیدن خوشتان میآید یا نه. و از آنجایی که اکثر انسانها از چنین چیزی خوششان نمیآید, به احتمال زیاد پس از ورود به رشتهی مهندسی کامپیوتر میفهمید که چه اشتباهی کرده اید.
بهعلاوه برای برنامهنویس بودن باید بینهایت کنجکاو باشید. اگر تا امروز, یعنی سن 18 یا 19 سالگی, آنقدر کنجکاو نبودهاید که چندخط کد بزنید, پس به احتمال خیلی زیاد از این به بعد هم در این حوزه بهاندازهی کافی کنجکاو نخواهید بود.
2- از پیچیدگی گریزانی؟
اگر مقابل مسائل و چیزهای پیچیده دست و پایتانرا گم میکنید و توانایی تفکّرتان را از دست میدهید, این جا جای شما نیست.
همانطوری که در بخش قبل گفتم نرمافزار فوقالعاده پیچیده است. بهعلاوه بخش بزرگی از دوران زندگی شما به کار کردن روی ساختههای دیگران سپری میشود. ساختههایی که با وجود داکیومنت و طراحی خوب, همچنان بسیار پیچیده اند.
بهعلاوه, بسیاری از مسائلی که با آنها در این رشته روبهرو هستیم, مسائل پیچیدهای هستند. شما باید عاشق کار کردن با برنامهها, سیستمها و مسائل پیچیده باشید. وگرنه خیلی زود کم میآورید.
@ABlueDeveloper
3-خلاق و نافرمان نیستی؟
همیشه از قوانین موجود پیروی کردهاید؟ «بله قربان» و «چشم» کلماتی بودهاند که همیشه استفاده کردهاید؟ تا به حال سابقه نداشته کاریرا به سبک خودتان انجام دهید و مسئولیتش را بپذیرید؟ پس دارید راه را اشتباه میروید.
خلّاقیّت چیزی است که برنامهنویسرا از ماشینی که با آن کار میکند متمایز میکند. خیلی از راه حل های خوب امروزی حاصل سرپیچی از قوانین تثبیتشدهی قبلی هستند. اگر برنامهنویسان نافرمان نبودند ,هرگز چیزی به نام Agile بهوجود نمیآمد.
4-عاشق مطالعه و یادگیری نیستی؟
ببینید, یک تفاوت جدی بین این رشته و بقیهی رشتهها وجود دارد. اینجا هر ساعتی که میگذرد خیلی چیزها عوض میشوند. هرساعت صدها مفهوم, برنامه, زبان, فریمورک و... جدید ساخته میشود و صدها چیز قدیمی از بین میرود.
اگر میخواهید به عنوان یک برنامهنویس به زندگی ادامه بدهید, باید هرروز یادبگیرید. باید بتوانید خیلی سریع با چیزهای جدید کنار بیایید. باید تقریباً هرروز چندساعتی را به خواندن مقالات, دیدن ویدیوها و شنیدن پادکستهای آموزشی مشغول باشید. آن هم نه برای اینکه از دیگران جلو بیفتید, صرفاً برای اینکه از دور خارج نشوید.
برای اینکه با این حجم از دادهی جدید کنار بیایید نباید اهل مطالعه و آموختن باشید, بلکه باید عاشق آن باشید. در غیر این صورت بعد از یک ماه تبدیل به یک بازندهی افسردهی خسته میشوید که حالش از زندگی و کارش به هم میخورد.
5-اهل کمک و بخشش نیستی؟
دنیای کامپیوتر را کارهای عام و رایگان زنده نگه داشته است. شما به عنوان یک برنامهنویس باید هر هفته چند ساعت را به حل مشکلات دیگران بپردازید.
#ادامه_پست_بعدی
#ادامه_مطلب
این حل مشکلات میتواند ساخت یک برنامهی متن باز باشد یا پاسخ دادن به یک پرسش در stackoverflow.
تمام برنامهنویسها از کمکهای دیگران استفاده میکنند و به دیگران کمک میکنند. خیلی وقتها پولی هم برای این کار نمیگیرند.
6-از انگلیسی خوشت نمیآید و نمیتوانی آنرا یاد بگیری؟
ما به زبان انگلیسی کد میزنیم. به زبان انگلیسی داکیومنت مینویسیم و به زبان انگلیسی با همدیگر در سرتاسر دنیا ارتباط برقرار میکنیم.
اگر الان انگلیسیات خوب نیست مشکلی ندارد. امّا اگر مطمئن نیستی که 4 ماه دیگر میتوانی در موضوعات مربوط به این رشته به انگلیسی بنویسی و بخوانی, بهتر است دور این کار را خط بکشی.
7-از کار سخت و طولانی فراری هستی؟
در بخش اوّل به این مورد اشاره کردم, ولی ارزش اینکه دوباره مطرح شود را دارد. اگر از عالم رؤیا خارج شویم میبینیم که کمتر برنامهای وجود دارد که با 8 ساعت کار در 5 روز هفته ساخته شده باشد.
خیلی از برنامههایی که شما امروز میبینید, حاصل 10 تا 18 ساعت کار صدها انسان حرفهای است. آن هم هر 7 روز هفته.
@ABlueDeveloper
این مسئله هرچقدر که تازهکارتر باشید بیشتر نمود دارد. کاری که یک برنامهنویس حرفهای, که 10 سال است با فلان زبان کار میکند و پنجاه پروژه با فلان فریمورک زده است, در ده روز انجام میدهد, ممکن است برای شما یک ماه و نیم طول بکشد. یعنی 45 روز کار, آن هم روزی 12 ساعت.
8-عاشق آفریدن چیزهای جدید نیستی؟
این وجه اشتراک تمامی برنامهنویسهای دنیا است. ما عاشق آفریدن چیزهای جدید هستیم. برای یک برنامهنویس تحمّل تمامی این سختیها به لحظهای که برنامه اجرا میشود میارزد. شما برای اینکه وارد این رشته شوید باید عاشق ساخت چیزهای جدیدی باشید که مشکلات دیگران را حل میکند.
9-نمیتوانی کاری که کردهای را توضیح دهی؟
یک برنامهنویس صرفاً توضیح میدهد: الگوریتمرا به صورت کد به کامپیوتر, کد را به صورت داکیومنت به دیگر برنامهنویسها.
هیچ کدی نیست که شما تنها انسانی در دنیا باشید که با آن کار میکند. اگر چنین کدی وجود دارد, آن کد چند بایت دادهی بیمصرف است.
شما باید قابلیّت اینرا داشته باشید که وقتی کاریرا انجام میدهید, آن کار را حداقل به انسانی که از نظر دانش حرفهای همسطح شما است توضیح دهید. اگر نمیتوانید, سریعتر کامپیوتر را از لیست انتخاب رشتهتان خط بزنید.
10-آدم پولکیای هستی و فکر میکنی اینجا درآمد زیادی منتظرت است؟
متأسفم. از این خبرها نیست. برای اینکه بتوانی از کدت پول قابل توجّهی دربیاوری, باید تلاش خیلی زیادی بکنی و زمان زیادی صرف کنی . بهعلاوه اینجا آمریکا و اروپا نیست که به برنامهنویسها پول خوبی بدهند.
هنوز خیلیها برنامهنویسی را با بازی کردن با کامپیوتر همرده میدانند. قبول دارم که جو بهتر شده و درآمدها بالاتر رفته, ولی اگر مشوّق اصلی شما برای ورود به این رشته پول است میتوانم قول بدهم که به این خواسته نخواهید رسید.
در پایان باید بگویم که همیشه استثنا وجود دارد. شاید شما بتوانید کسیرا پیدا کنید که برخی از این موارد شامل حالش میشده امّا الان برنامهنویس موفقی است. بله, شاید باشد. ولی احتمال اینکه شما این استثنا باشید بینهایت کم است.
بهخاطر داشته باشید که ما فقط و فقط همین یک زندگیرا داریم. هیچوقت کورکورانه دست به قمار با عمرتان نزنید. بعضی از تصمیمات به سختی جبران میشوند.
در پایان اگر این 10 مورد شامل حالتان نمیشود واقعاً خوشحال میشوم که وارد این رشته شوید و بتوانیم در آیندهی نزدیک با هم همکار باشیم. امّا اگر موارد بالا شامل حالتان است دست نگه دارید.
اگر خانواده, فامیل, مشاور یا هرکس دیگری به نحوی دارد شما را مجبور به کامپیوتر خواندن میکند با منطق و مؤدبانه مقابلش بایستید.
این پدر و مادرتان نیستند که به خاطر بودن در رشتهای که مناسب شخصیتتان نیست عمرشان تلف میشود و رنج میکشند. این زندگی شما است و حالا شما یک آدم بالغ هستید. پس وقت این است که تصمیم درست را بگیرید.
نویسنده :محمد رضا علی حسینی
@ABlueDeveloper
این حل مشکلات میتواند ساخت یک برنامهی متن باز باشد یا پاسخ دادن به یک پرسش در stackoverflow.
تمام برنامهنویسها از کمکهای دیگران استفاده میکنند و به دیگران کمک میکنند. خیلی وقتها پولی هم برای این کار نمیگیرند.
6-از انگلیسی خوشت نمیآید و نمیتوانی آنرا یاد بگیری؟
ما به زبان انگلیسی کد میزنیم. به زبان انگلیسی داکیومنت مینویسیم و به زبان انگلیسی با همدیگر در سرتاسر دنیا ارتباط برقرار میکنیم.
اگر الان انگلیسیات خوب نیست مشکلی ندارد. امّا اگر مطمئن نیستی که 4 ماه دیگر میتوانی در موضوعات مربوط به این رشته به انگلیسی بنویسی و بخوانی, بهتر است دور این کار را خط بکشی.
7-از کار سخت و طولانی فراری هستی؟
در بخش اوّل به این مورد اشاره کردم, ولی ارزش اینکه دوباره مطرح شود را دارد. اگر از عالم رؤیا خارج شویم میبینیم که کمتر برنامهای وجود دارد که با 8 ساعت کار در 5 روز هفته ساخته شده باشد.
خیلی از برنامههایی که شما امروز میبینید, حاصل 10 تا 18 ساعت کار صدها انسان حرفهای است. آن هم هر 7 روز هفته.
@ABlueDeveloper
این مسئله هرچقدر که تازهکارتر باشید بیشتر نمود دارد. کاری که یک برنامهنویس حرفهای, که 10 سال است با فلان زبان کار میکند و پنجاه پروژه با فلان فریمورک زده است, در ده روز انجام میدهد, ممکن است برای شما یک ماه و نیم طول بکشد. یعنی 45 روز کار, آن هم روزی 12 ساعت.
8-عاشق آفریدن چیزهای جدید نیستی؟
این وجه اشتراک تمامی برنامهنویسهای دنیا است. ما عاشق آفریدن چیزهای جدید هستیم. برای یک برنامهنویس تحمّل تمامی این سختیها به لحظهای که برنامه اجرا میشود میارزد. شما برای اینکه وارد این رشته شوید باید عاشق ساخت چیزهای جدیدی باشید که مشکلات دیگران را حل میکند.
9-نمیتوانی کاری که کردهای را توضیح دهی؟
یک برنامهنویس صرفاً توضیح میدهد: الگوریتمرا به صورت کد به کامپیوتر, کد را به صورت داکیومنت به دیگر برنامهنویسها.
هیچ کدی نیست که شما تنها انسانی در دنیا باشید که با آن کار میکند. اگر چنین کدی وجود دارد, آن کد چند بایت دادهی بیمصرف است.
شما باید قابلیّت اینرا داشته باشید که وقتی کاریرا انجام میدهید, آن کار را حداقل به انسانی که از نظر دانش حرفهای همسطح شما است توضیح دهید. اگر نمیتوانید, سریعتر کامپیوتر را از لیست انتخاب رشتهتان خط بزنید.
10-آدم پولکیای هستی و فکر میکنی اینجا درآمد زیادی منتظرت است؟
متأسفم. از این خبرها نیست. برای اینکه بتوانی از کدت پول قابل توجّهی دربیاوری, باید تلاش خیلی زیادی بکنی و زمان زیادی صرف کنی . بهعلاوه اینجا آمریکا و اروپا نیست که به برنامهنویسها پول خوبی بدهند.
هنوز خیلیها برنامهنویسی را با بازی کردن با کامپیوتر همرده میدانند. قبول دارم که جو بهتر شده و درآمدها بالاتر رفته, ولی اگر مشوّق اصلی شما برای ورود به این رشته پول است میتوانم قول بدهم که به این خواسته نخواهید رسید.
در پایان باید بگویم که همیشه استثنا وجود دارد. شاید شما بتوانید کسیرا پیدا کنید که برخی از این موارد شامل حالش میشده امّا الان برنامهنویس موفقی است. بله, شاید باشد. ولی احتمال اینکه شما این استثنا باشید بینهایت کم است.
بهخاطر داشته باشید که ما فقط و فقط همین یک زندگیرا داریم. هیچوقت کورکورانه دست به قمار با عمرتان نزنید. بعضی از تصمیمات به سختی جبران میشوند.
در پایان اگر این 10 مورد شامل حالتان نمیشود واقعاً خوشحال میشوم که وارد این رشته شوید و بتوانیم در آیندهی نزدیک با هم همکار باشیم. امّا اگر موارد بالا شامل حالتان است دست نگه دارید.
اگر خانواده, فامیل, مشاور یا هرکس دیگری به نحوی دارد شما را مجبور به کامپیوتر خواندن میکند با منطق و مؤدبانه مقابلش بایستید.
این پدر و مادرتان نیستند که به خاطر بودن در رشتهای که مناسب شخصیتتان نیست عمرشان تلف میشود و رنج میکشند. این زندگی شما است و حالا شما یک آدم بالغ هستید. پس وقت این است که تصمیم درست را بگیرید.
نویسنده :محمد رضا علی حسینی
@ABlueDeveloper
Forwarded from اتچ بات
#Security
#Software
چند راهکار ساده ایمن سازی نرم افزار
امنیت یکی از نکات بسیار مهم در ساخت هر نرم افزاری است. گاهی اوقات برای حفظ امیت نرم افزار نیاز نیست به ابزار های پیچیده متوصل شد و با انجام چند نکته ساده می توان امنیت نرم افزار را تامین کرد.
نظم دشمن امنیت!
در برنامه نویسی وطراحی دیتابیس داشتن نظم بسیار مهم است چون باعث می شود در زمان رفع اشکال بتوانبه سادگی مشکل را پیدا کرد اما همین نظم دشمن امنیت ماست.
به این مثال توجه کنید:
فرض کنید که یک سایت دارید برای ذخیره سازی نوشته های کاربرانتان و شش نوشته در سیستم شما موجود است سه تا اول با ای دی های ۱و۳و۴ متعلق به user1 و نوشته های ۶و۸و۹ متعلق به user2 هست. و ادرس دسترسی به نوشته های هم به صورت زیر است:
www.example.com/note//{id}
حال اگر بر حسب اشتباه فراموش کرده باشیم قبل از در خواست باز کردن چک کنیم که نوشته درخواست متعلق به کاربر هست یا نه بعد نوشته را باز کنیم کاربر متخاصم به سادگی می تواند با عوض کرد یک عدد تمام نوشته های کاربران ما را بخواند اما حال فکر کنیداگر به جای ای دی منظم از ای دی نامنظم استفاده می کردیم.
به جدول زیر توجه کنید:
random id
1sdsa 1
5fsd3 3
6sd 4
1ffs 6
sdf5 8
gh6 9
@ABlueDeveloper
اگر به جای ای دی ۱ از ۱sdsa استفاده کینم قطعا کاربر متخاصم نمی تواند فقط با عوض کردن یک عدد تمام نوشته ها به خواند.
یا این که فرض کنید شما سایتی دارید و اطلاعاتی به کاربر هایتان نشان می دهید و این اطلاعات ممکن است برای یک نفر مهم باشند مثلا در هر صفحه شماره تماس یک شخص خواص وجود دارد حال اگر ادرس صفحات شما به صورت بالا باشد و برای دیدن صفحه بعدی فقط نیاز باشد عدد ۱ به ۲ تبدیل شود یک ربات می تواند به سادگی تمام صفحات شما را بخواندواطلاعات مهم را از ان خارج کند. اما با تبدیل id به random id دیگر چنین چیزی ممکن نیست.
به کاربران اطلاعات اضافی ارسال نکنید.
معمولا در زمان ساخت اپلیکیشن به این نکته کمتر توجه می شود. برای مثال برای ساخت اطلاعات یک صفحه فقط به تاریخ و نام نیاز است اما وقتی که درخواست را بررسی می کنی متوجه می شوی که توکن، تاریخ ثبت نام، نام پدر ، شماره شناسنامه، ای دی و هر آن چه در دیتابیس هست برای کاربر ارسال می شود.
اگرمن می توانم بخوانم دیگران هم می توانند.
یکیاز نکاتی که خوب به ان توجه کنیم این است که اطلاعات مهم را به گونه ای ارسال نکنیم که قابلیت خوانش داشته باشند.
برای مثال در طراحی نرم افزار وب و یا موبایل مرسوم است از که نام کاربری و پسورد به صورت عادی برای سرور ارسال می شود و بررسی ها لازم صورت می گیرد و جواب مناسب برای کاربر ارسال می شود. برای تامین امنیت هم از لایه امنیتی SSL استفاده می شود.
اما یک سوال ایا این اطلاعات مهم غیر قابل خوانش توسط دیگران هستند؟
اگر از SSL استفاده کنیم این کار سخت می شود اما هنوز هم نرم افزار های مخرب مقیم در مرورگر و یا دستگاه کاربر می توانند حتی بسته SSL را هم باز کنند و بخوانند.
اما بماند گاهی اوقات همین SSL هم نا امن می شود
برای رفع این مشکل من معمولا به جای ارسال نام کاربری و پسورد هش شده این دو عبارت را به سرور ارسال می کنم این کار را در وب سایت باستفاده از جاوااسکریپت انجام می دهم و در و گوشی با استفاده کد جاوا و از قبل مقدار هش شده نام کاربری + پسورد کاربر را در یک ستون در دیتابیس ذخیره کرده ام و از انجایی که انتظار می رود این فیلد یکتا باشد ان را ایندکس هم می کنم.
@ABlueDeveloper
تغییر مرتب اطلاعات دسترسی
وقتی کاربر لاگین کرد آیا همه چیز تمام شده است؟ قطعا خیر معمولا در این جور مواقع همه اطلاعات موجود در کوکی و یا توکن نرم افزار ثابت است و تا زمانی که مثلا کاربر از سایت یا نرم افزار خارج نشود سثابت هم می ماند!
در حالی که باید از ثابت بودن این جور چیز ها هم جلوگیری شود مثلا در بعد از گذشت یکزمان خاص توکن از بین برود و باید اپلیکیشن توکن جدید درخواست کند یا بعد از گذشت چند در خواست کوکی عوض شود کم نیستن سایت هایی که با اشتراک گذاری کوکی سایت های پولی کمک می کنند همه از مزایای پولی سایت بیچاره بدون پرداخت پول استفاده کنند.
@ABlueDeveloper
#Software
چند راهکار ساده ایمن سازی نرم افزار
امنیت یکی از نکات بسیار مهم در ساخت هر نرم افزاری است. گاهی اوقات برای حفظ امیت نرم افزار نیاز نیست به ابزار های پیچیده متوصل شد و با انجام چند نکته ساده می توان امنیت نرم افزار را تامین کرد.
نظم دشمن امنیت!
در برنامه نویسی وطراحی دیتابیس داشتن نظم بسیار مهم است چون باعث می شود در زمان رفع اشکال بتوانبه سادگی مشکل را پیدا کرد اما همین نظم دشمن امنیت ماست.
به این مثال توجه کنید:
فرض کنید که یک سایت دارید برای ذخیره سازی نوشته های کاربرانتان و شش نوشته در سیستم شما موجود است سه تا اول با ای دی های ۱و۳و۴ متعلق به user1 و نوشته های ۶و۸و۹ متعلق به user2 هست. و ادرس دسترسی به نوشته های هم به صورت زیر است:
www.example.com/note//{id}
حال اگر بر حسب اشتباه فراموش کرده باشیم قبل از در خواست باز کردن چک کنیم که نوشته درخواست متعلق به کاربر هست یا نه بعد نوشته را باز کنیم کاربر متخاصم به سادگی می تواند با عوض کرد یک عدد تمام نوشته های کاربران ما را بخواند اما حال فکر کنیداگر به جای ای دی منظم از ای دی نامنظم استفاده می کردیم.
به جدول زیر توجه کنید:
random id
1sdsa 1
5fsd3 3
6sd 4
1ffs 6
sdf5 8
gh6 9
@ABlueDeveloper
اگر به جای ای دی ۱ از ۱sdsa استفاده کینم قطعا کاربر متخاصم نمی تواند فقط با عوض کردن یک عدد تمام نوشته ها به خواند.
یا این که فرض کنید شما سایتی دارید و اطلاعاتی به کاربر هایتان نشان می دهید و این اطلاعات ممکن است برای یک نفر مهم باشند مثلا در هر صفحه شماره تماس یک شخص خواص وجود دارد حال اگر ادرس صفحات شما به صورت بالا باشد و برای دیدن صفحه بعدی فقط نیاز باشد عدد ۱ به ۲ تبدیل شود یک ربات می تواند به سادگی تمام صفحات شما را بخواندواطلاعات مهم را از ان خارج کند. اما با تبدیل id به random id دیگر چنین چیزی ممکن نیست.
به کاربران اطلاعات اضافی ارسال نکنید.
معمولا در زمان ساخت اپلیکیشن به این نکته کمتر توجه می شود. برای مثال برای ساخت اطلاعات یک صفحه فقط به تاریخ و نام نیاز است اما وقتی که درخواست را بررسی می کنی متوجه می شوی که توکن، تاریخ ثبت نام، نام پدر ، شماره شناسنامه، ای دی و هر آن چه در دیتابیس هست برای کاربر ارسال می شود.
اگرمن می توانم بخوانم دیگران هم می توانند.
یکیاز نکاتی که خوب به ان توجه کنیم این است که اطلاعات مهم را به گونه ای ارسال نکنیم که قابلیت خوانش داشته باشند.
برای مثال در طراحی نرم افزار وب و یا موبایل مرسوم است از که نام کاربری و پسورد به صورت عادی برای سرور ارسال می شود و بررسی ها لازم صورت می گیرد و جواب مناسب برای کاربر ارسال می شود. برای تامین امنیت هم از لایه امنیتی SSL استفاده می شود.
اما یک سوال ایا این اطلاعات مهم غیر قابل خوانش توسط دیگران هستند؟
اگر از SSL استفاده کنیم این کار سخت می شود اما هنوز هم نرم افزار های مخرب مقیم در مرورگر و یا دستگاه کاربر می توانند حتی بسته SSL را هم باز کنند و بخوانند.
اما بماند گاهی اوقات همین SSL هم نا امن می شود
برای رفع این مشکل من معمولا به جای ارسال نام کاربری و پسورد هش شده این دو عبارت را به سرور ارسال می کنم این کار را در وب سایت باستفاده از جاوااسکریپت انجام می دهم و در و گوشی با استفاده کد جاوا و از قبل مقدار هش شده نام کاربری + پسورد کاربر را در یک ستون در دیتابیس ذخیره کرده ام و از انجایی که انتظار می رود این فیلد یکتا باشد ان را ایندکس هم می کنم.
@ABlueDeveloper
تغییر مرتب اطلاعات دسترسی
وقتی کاربر لاگین کرد آیا همه چیز تمام شده است؟ قطعا خیر معمولا در این جور مواقع همه اطلاعات موجود در کوکی و یا توکن نرم افزار ثابت است و تا زمانی که مثلا کاربر از سایت یا نرم افزار خارج نشود سثابت هم می ماند!
در حالی که باید از ثابت بودن این جور چیز ها هم جلوگیری شود مثلا در بعد از گذشت یکزمان خاص توکن از بین برود و باید اپلیکیشن توکن جدید درخواست کند یا بعد از گذشت چند در خواست کوکی عوض شود کم نیستن سایت هایی که با اشتراک گذاری کوکی سایت های پولی کمک می کنند همه از مزایای پولی سایت بیچاره بدون پرداخت پول استفاده کنند.
@ABlueDeveloper
Telegram
attach 📎
گروه تخصصی ASP.NET MVC
سوال و جواب کلاینت
#jQuery #Knouckout_js #Typescript #Bootstrap #Css3
لینک_گروه :
https://t.me/joinchat/BErKaEGZ0Scij8OvMmeLIQ
کانال مطالب مفید آموزشی در بستر ASP NET MVC
سوال و جواب کلاینت
#jQuery #Knouckout_js #Typescript #Bootstrap #Css3
لینک_گروه :
https://t.me/joinchat/BErKaEGZ0Scij8OvMmeLIQ
کانال مطالب مفید آموزشی در بستر ASP NET MVC
Forwarded from اتچ بات
#مفاهیم_لوگو
مفهوم رنگ در طراحی لوگوها:
قرمز: قوت، پر انرژی، جوان، شجاع
نارنجی: دوستانه، اعتماد، شاد، مناسب (از لحاظ قیمتی)، پر انرژی
@AblueDeveloper
زرد: خوش بینی، گرما، شفافیت، مثبت گرایی، احتیاط
سبز: طبیعت، تازگی، صلح طلبانه، رشد، ثروت
آبی: اعتماد، قابل اتکا، امنیت، دانا، قوت
بنفش: خلاق، ابتکاری، لوکس، دانا، آرام کننده
@AblueDeveloper
مفهوم رنگ در طراحی لوگوها:
قرمز: قوت، پر انرژی، جوان، شجاع
نارنجی: دوستانه، اعتماد، شاد، مناسب (از لحاظ قیمتی)، پر انرژی
@AblueDeveloper
زرد: خوش بینی، گرما، شفافیت، مثبت گرایی، احتیاط
سبز: طبیعت، تازگی، صلح طلبانه، رشد، ثروت
آبی: اعتماد، قابل اتکا، امنیت، دانا، قوت
بنفش: خلاق، ابتکاری، لوکس، دانا، آرام کننده
@AblueDeveloper
Telegram
attach 📎
پایتون با گذشتن از سی پلاس پلاس، به سومین زبان مطرح جهان در شاخص تیوب تبدیل شد
@ABlueDeveloper
@ABlueDeveloper
#GO
#Language
چرا گو بزنیم؟
کوچک بودن زبان :
۱. تعداد کلمات کلیدی کم!
۲. سینتکس بسیار نزدیک به C
فرایند کامپایل :
نیازی به فایل سرآیند نیست
نیازی به فایل های make نیست
تنها یک دستور تا کامپایل !
۴. فرایند کامپایل سریع ؟ اجرا همانند اسکریپت!
استاتیک تایپ :
رخ نشون دادن اکثر باگ ها هنگام کامپایل !
نوشتن داکیومنت آسون و خوندن آسون تر کد دیگران
تایپ از روی مقدار به طور اتوماتیک حدس زده میشه
کتابخانه و ابزار :
کلی کتابخونه استاندارد و ابزار خفن بدون نصب هیچ پکیجی!
یک زبان آزاد و متن باز :
با اینکه این زبان مستقیم تحت پشتیبانی گوگل هست اما هیچ لوگویی از گوگل در سایت این زبان دیده نمیشه پس :
سیاست کاری هیچ شرکتی روی حال و آینده زبان تاثیر نداره!
تمام مراحل توسعه شفاف و مشخصه.
تمامی امکانات متن باز قابل استفاده ست.
@ABlueDeveloper
#Language
چرا گو بزنیم؟
کوچک بودن زبان :
۱. تعداد کلمات کلیدی کم!
C++11 = 86
Java = 50
Python3 = 33
C = 32
Go = 25
۲. سینتکس بسیار نزدیک به C
فرایند کامپایل :
نیازی به فایل سرآیند نیست
نیازی به فایل های make نیست
تنها یک دستور تا کامپایل !
$ go install
۴. فرایند کامپایل سریع ؟ اجرا همانند اسکریپت!
$ go run hi.go
استاتیک تایپ :
رخ نشون دادن اکثر باگ ها هنگام کامپایل !
نوشتن داکیومنت آسون و خوندن آسون تر کد دیگران
تایپ از روی مقدار به طور اتوماتیک حدس زده میشه
Z := 10 //compiler know that Z is an int32
کتابخانه و ابزار :
کلی کتابخونه استاندارد و ابزار خفن بدون نصب هیچ پکیجی!
یک زبان آزاد و متن باز :
با اینکه این زبان مستقیم تحت پشتیبانی گوگل هست اما هیچ لوگویی از گوگل در سایت این زبان دیده نمیشه پس :
سیاست کاری هیچ شرکتی روی حال و آینده زبان تاثیر نداره!
تمام مراحل توسعه شفاف و مشخصه.
تمامی امکانات متن باز قابل استفاده ست.
@ABlueDeveloper
#Promise
#Javascript
کاربرد Promise در جاوا اسکریپت یا React Native
کاری که Promise برای ما در جاوا اسکریپت انجام می دهد و ری اکت نیتیو دقیقا بطور مشابه است. یعنی زمان هایی که لازم باشد ما را از وقوع رویدادهایی مطلع می کند تا در صورت وقوع رویداد مورد نظرمان ، قطعه کد مربوطه اجرا شود.
خب حالا این به چه درد میخورد؟ برخی از کارها هست در برنامه ما که نمی دانیم دقیقا کی اجرایش به اتمام می رسد. این کارها مثل سایر خطوط کد ما خطی اجرا نمی شوند. مثلا یک در خواست Ajax یا fetch . شبکه دارای تاخیر است. ارسال درخواست و دریافت پاسخ از سمت سرور اندکی طول میکشد. خب ما که نمی توانیم کل برنامه را معطل رسیدن پاسخ سرور کنیم. اگر اینکار کنیم برنامه کند میشود. اصطلاحا دارای لگ می شود و برای کاربر مشهود است.
پس برای جلوگیری از این مشکل جاوااسکریپت این نوع از کدها را بصورت موازی با سایر کدها اجرا می کند و منتظر رسیدن پاسخ سرور نمی ماند. اصطلاحا می گوییم بصورت غیر همزمان یا async اجرا می کند. در حالت نرمال که پس از اجرای هر خط کد به خط بعدی می رود می گوییم sync اجرا می شود.
پس promise برای دستورات async است. پس سناریو کلی اینگونه می شود:
شما یک درخواست مثلا ajax ایجاده کرده و برای سرور می فرستید.نمی دانید پاسخ دقیقا کی می رسد. توابعی را که بعد از رسیدن پاسخ باید اجرا شود به promise می دهید.می روید سراغ اجرای خطوط بعدی کد Promise هم به شما قول می دهد وقتی پاسخ از سرور رسید توابع مورد نظر شما را اجرا کند.
در مثال زیر به نحوه ایجاد یک Promise دقت کنید:
ورودی constructor آبجکت promise دو تابع به نام resolve و reject است. هنگام اجرای موفقت آمیز درخواست async ما تابع resolve و هنگام اجرای ناموفق آن تابع reject را فراخوانی می کنیم.
به یک مثال دیگر که کاربرد Promise در XMLHttpRequest را نشان می دهد دقت کنید:
به کاربرد این دوتابع در fetch دقت کنید. این مثال می تواند در ری اکت نیتیو هم کاربرد داشته باشد.
تابع fetch کارش ارسال درخواست http است و خود promise بر می گرداند.
@ABlueDeveloper
#Javascript
کاربرد Promise در جاوا اسکریپت یا React Native
کاری که Promise برای ما در جاوا اسکریپت انجام می دهد و ری اکت نیتیو دقیقا بطور مشابه است. یعنی زمان هایی که لازم باشد ما را از وقوع رویدادهایی مطلع می کند تا در صورت وقوع رویداد مورد نظرمان ، قطعه کد مربوطه اجرا شود.
خب حالا این به چه درد میخورد؟ برخی از کارها هست در برنامه ما که نمی دانیم دقیقا کی اجرایش به اتمام می رسد. این کارها مثل سایر خطوط کد ما خطی اجرا نمی شوند. مثلا یک در خواست Ajax یا fetch . شبکه دارای تاخیر است. ارسال درخواست و دریافت پاسخ از سمت سرور اندکی طول میکشد. خب ما که نمی توانیم کل برنامه را معطل رسیدن پاسخ سرور کنیم. اگر اینکار کنیم برنامه کند میشود. اصطلاحا دارای لگ می شود و برای کاربر مشهود است.
پس برای جلوگیری از این مشکل جاوااسکریپت این نوع از کدها را بصورت موازی با سایر کدها اجرا می کند و منتظر رسیدن پاسخ سرور نمی ماند. اصطلاحا می گوییم بصورت غیر همزمان یا async اجرا می کند. در حالت نرمال که پس از اجرای هر خط کد به خط بعدی می رود می گوییم sync اجرا می شود.
پس promise برای دستورات async است. پس سناریو کلی اینگونه می شود:
شما یک درخواست مثلا ajax ایجاده کرده و برای سرور می فرستید.نمی دانید پاسخ دقیقا کی می رسد. توابعی را که بعد از رسیدن پاسخ باید اجرا شود به promise می دهید.می روید سراغ اجرای خطوط بعدی کد Promise هم به شما قول می دهد وقتی پاسخ از سرور رسید توابع مورد نظر شما را اجرا کند.
در مثال زیر به نحوه ایجاد یک Promise دقت کنید:
let myFirstPromise = new Promise((resolve, reject) => {@ABlueDeveloper
// We call resolve(...) when what we were doing asynchronously was successful, and reject(...) when it failed.
// In this example, we use setTimeout(...) to simulate async code.
// In reality, you will probably be using something like XHR or an HTML5 API.
setTimeout(function(){
resolve("Success!"); // Yay! Everything went well!
}, 250);
});
ورودی constructor آبجکت promise دو تابع به نام resolve و reject است. هنگام اجرای موفقت آمیز درخواست async ما تابع resolve و هنگام اجرای ناموفق آن تابع reject را فراخوانی می کنیم.
به یک مثال دیگر که کاربرد Promise در XMLHttpRequest را نشان می دهد دقت کنید:
function myAsyncFunction(url) { return new Promise((resolve, reject) => { const xhr = new XMLHttpRequest(); xhr.open("GET", url); xhr.onload = () => resolve(xhr.responseText); xhr.onerror = () => reject(xhr.statusText); xhr.send(); });}طور دیگری هم می تواند از promise استفاده کرد. آبجکت Promise دارای دو تابع به نام then و catch است که ترتیب در زمان اجرای موفقیت آمیز و غیر موفقیت آمیز کد async ، تابع ورودی خود را اجرا می کنند. خود then و catch نیز آبجکت promise بر می گردانند. بنابراین می توان چندیدن تا از آنها را بصورت زنجیر یا chain پشت هم بکار برد.
به کاربرد این دوتابع در fetch دقت کنید. این مثال می تواند در ری اکت نیتیو هم کاربرد داشته باشد.
تابع fetch کارش ارسال درخواست http است و خود promise بر می گرداند.
function getMoviesFromApiAsync() {برگرفته از سایت جعبه آبی
return fetch('https://facebook.github.io/react-native/movies.json')
.then((response) => response.json())
.then((responseJson) => {
return responseJson.movies;
})
.catch((error) => {
console.error(error);
});
}
@ABlueDeveloper
#Javascript
#js
JavaScript Standard Style
این خلاصه ای از قوانین جاوا اسکریپت استاندارد است.
بهترین روش برای یادگیری در مورد استاندارد این است که فقط آن را در کد خود امتحان کنید.
لینک های زیر را مطالعه کنید بسیار ساده توضیح داده برای دوستانی که علاقهمند به رعایت استانداردها در نوشتن کدهای JavaScript و یا Framework های مرتبط دارند
https://standardjs.com/rules.html
https://github.com/standard/standard
@ABlueDeveloper
#js
JavaScript Standard Style
این خلاصه ای از قوانین جاوا اسکریپت استاندارد است.
بهترین روش برای یادگیری در مورد استاندارد این است که فقط آن را در کد خود امتحان کنید.
لینک های زیر را مطالعه کنید بسیار ساده توضیح داده برای دوستانی که علاقهمند به رعایت استانداردها در نوشتن کدهای JavaScript و یا Framework های مرتبط دارند
https://standardjs.com/rules.html
https://github.com/standard/standard
@ABlueDeveloper
GitHub
GitHub - standard/standard: 🌟 JavaScript Style Guide, with linter & automatic code fixer
🌟 JavaScript Style Guide, with linter & automatic code fixer - standard/standard
#VisualStudio
#VisualStudio2019
#VS2019
مایکروسافت نسخهی جدید IDE ویژوال استودیو ۲۰۱۹ را رسما معرفی کرد .
@ABlueDeveloper
#VisualStudio2019
#VS2019
مایکروسافت نسخهی جدید IDE ویژوال استودیو ۲۰۱۹ را رسما معرفی کرد .
@ABlueDeveloper
This media is not supported in your browser
VIEW IN TELEGRAM
#googlemaps
سرانجام گوگل مپ تغییراتی اساسی در اپلیکیشن خود برای دسترسی آسانتر مردم بوجود آورد.
@ABlueDeveloper
سرانجام گوگل مپ تغییراتی اساسی در اپلیکیشن خود برای دسترسی آسانتر مردم بوجود آورد.
@ABlueDeveloper
#Javascript
#Java
Chris Heilmann:
ارتباط Java با JavaScript مانند ارتباط Car با Carpet است.
@ABlueDeveloper
#Java
Chris Heilmann:
ارتباط Java با JavaScript مانند ارتباط Car با Carpet است.
@ABlueDeveloper
فونتی که باعث تقویت حافظه شما میشه!
محققان دانشگاه RMIT فونتی ساختن که میتونه باعث تقویت حافظه شما بشه!
ولی چطوری اینکارو انجام میده؟
این محققان این فونت رو جوری ساختن که عمدا خوندش سخت باشه و این سختی خودخواسته، باعث میشه مغز شما روی هر حرف، بیشتر وقت بزاره و هر حرف پردازش عمیقتری نسبت به حالت عادی رو تجربه کنه. این فرایند در نهایت منجر میشه هر کلمه بیشتر ذهن ادم بمونه.
برای اینکار این محققان کاری کردن که هر حرفی که با این فونت نوشته میشه قابل خوندن ولی در عین حال ناقص و شکسته به نظر برسه. چون قسمتی از حروف ناقص هستن، مغز مجبوره زمان بیشتری رو صرف خوندن هر حرف بکنه تا بتونه قسمت های ناقص رو حدس بزنه.
نتیجه کارشون هم واقعا جواب داده چون طبق تحقیقی که روی 400 نفر انجام دادن مشخص شده کسایی که یک متن رو خاص رو با این فونت خوندن تونستن 57 درصد متن رو به یاد بیارن در صورتی که کسایی که همون متن رو با فونت Arial خوندن، فقط تونستن 50 درصد اون رو به یاد بیارن.
این محققان اسم این فونت رو Sans Forgetica گذاشتن و اون رو میتونین از سایتشون دانلود کنید. همچنین افزونه کروم هم براش ساختن تا هر چیزی که تو اینترنت میخونین با این فونت باشه!
لینک دانلود:
http://sansforgetica.rmit/
@ABlueDeveloper
محققان دانشگاه RMIT فونتی ساختن که میتونه باعث تقویت حافظه شما بشه!
ولی چطوری اینکارو انجام میده؟
این محققان این فونت رو جوری ساختن که عمدا خوندش سخت باشه و این سختی خودخواسته، باعث میشه مغز شما روی هر حرف، بیشتر وقت بزاره و هر حرف پردازش عمیقتری نسبت به حالت عادی رو تجربه کنه. این فرایند در نهایت منجر میشه هر کلمه بیشتر ذهن ادم بمونه.
برای اینکار این محققان کاری کردن که هر حرفی که با این فونت نوشته میشه قابل خوندن ولی در عین حال ناقص و شکسته به نظر برسه. چون قسمتی از حروف ناقص هستن، مغز مجبوره زمان بیشتری رو صرف خوندن هر حرف بکنه تا بتونه قسمت های ناقص رو حدس بزنه.
نتیجه کارشون هم واقعا جواب داده چون طبق تحقیقی که روی 400 نفر انجام دادن مشخص شده کسایی که یک متن رو خاص رو با این فونت خوندن تونستن 57 درصد متن رو به یاد بیارن در صورتی که کسایی که همون متن رو با فونت Arial خوندن، فقط تونستن 50 درصد اون رو به یاد بیارن.
این محققان اسم این فونت رو Sans Forgetica گذاشتن و اون رو میتونین از سایتشون دانلود کنید. همچنین افزونه کروم هم براش ساختن تا هر چیزی که تو اینترنت میخونین با این فونت باشه!
لینک دانلود:
http://sansforgetica.rmit/
@ABlueDeveloper
#RequireJS
#Javascript
معرفی لایبرری RequireJS
لایبرری RequireJS یک فایل JavaScript و ماژول لودر است.این ابزار برای استفاده در مرورگر بهینه شده است و میتواند در محیط های دیگر JavaScript مانند Rhino و Node نیز استفاده شود.
استفاده از یک اسکریپت لودر مژولار (modular script loader) مانند RequireJS میتواند باعث افزایش سرعت و کیفیت کد شما شود.
دارای یک ابزار بهینه شده است که شما میتوانید آن را به عنوان قسمتی از پکیج هایتان برای اجرای کدهایتان اجرا کنید.
ابزار بهینه سازی می تواند فایل های جاوا اسکریپت شما را برای کارایی بهتر ترکیب و کم حجم کنند.
https://requirejs.org/
📌 لینک کانال
@ABlueDeveloper
#Javascript
معرفی لایبرری RequireJS
لایبرری RequireJS یک فایل JavaScript و ماژول لودر است.این ابزار برای استفاده در مرورگر بهینه شده است و میتواند در محیط های دیگر JavaScript مانند Rhino و Node نیز استفاده شود.
استفاده از یک اسکریپت لودر مژولار (modular script loader) مانند RequireJS میتواند باعث افزایش سرعت و کیفیت کد شما شود.
دارای یک ابزار بهینه شده است که شما میتوانید آن را به عنوان قسمتی از پکیج هایتان برای اجرای کدهایتان اجرا کنید.
ابزار بهینه سازی می تواند فایل های جاوا اسکریپت شما را برای کارایی بهتر ترکیب و کم حجم کنند.
https://requirejs.org/
📌 لینک کانال
@ABlueDeveloper
requirejs.org
RequireJS
/* ---
This media is not supported in your browser
VIEW IN TELEGRAM
#BillGate
#Viral
وقتی بیل گیتس ویدئوی وایرال میسازه نتیجش میشه این
حتما این ویدئوی جذاب رو ببینید,سادگی و خلاقیت میشه جذابیت
When BillGates makes a viral video
@ABlueDeveloper
#Viral
وقتی بیل گیتس ویدئوی وایرال میسازه نتیجش میشه این
حتما این ویدئوی جذاب رو ببینید,سادگی و خلاقیت میشه جذابیت
When BillGates makes a viral video
@ABlueDeveloper
گوگل ابزار Google Mobile Friendly Test را به طور رایگان در اختیار وبمستران قرار داده تا از آن برای بررسی فاکتورهای موبایل فرندلی درصفحات سایت خود استفاده کنند.
@ABlueDeveloper
@ABlueDeveloper
#SSL
#HTTPS
🔸 گواهینامه امنیتی SSL چیست؟
همانطور که میدانید دادههایی که در یک سایت رد و بدل میشوند بر روی دو بستر پروتکل HTTP و HTTPS انجام میگیرد. در حالت عادی وقتی از SSL روی سایت استفاده نشده باشد، داده های رد و بدل شده در محیطی غیر ایمن و در بستر HTTP رد و بدل میشود که امکان شنود اطلاعات در آن وجود دارد. اما در حالتی که دادهها روی بستر HTTPS رد و بدل شود رمزنگاری شده و صرفا کسانی که کلید رمزنگاری را داشته باشند قادر به شنود دادهها خواهند بود. لذا در این مقاله قصد دارم به معرفی بهترین SSL های ارائه شده در اینترنت، انواع SSL و مزایای استفاده از SSL که مهمترین آن سئو سایت است بپردازم.
🔹 گواهینامه SSL چیست؟
اطلاعات یک سایت در بستر HTTP که مخفف Hyper Text Transfer Protocol است به صورت متن ساده یا plain text بر روی پورت 80 رد و بدل میشوند. به همین دلیل چون این دادهها به صورت متنی هستند به راحتی توسط افرادی قابل خواندن هستند. به عنوان نمونه اگر پسورد یا اطلاعات بانکی خود را در یک سایت که فاقد SSL است وارد کنید امکان شنود آن توسط ارائه دهنده اینترنت وجود خواهد داشت. به همین دلیل استفاده از بستر HTTP برای زمانی که اطلاعات حساس و حیاتی رد و بدل میکنید کاری بسیار خطرناک است.
همین مسئله باعث به وجود آمدن پروتکل HTTPS شد که دادهها در آن رمزنگاری شده و در پورت 443 رد و بدل میشود. اما تفاوتی که در HTTP و HTTPS وجود دارد این است که دادهها در پروتکل HTTPS توسط SSL که مخفف Secure Socket Layer میباشد بین سرویس دهنده(سرور) و سرویس گیرنده(کاربر) Encrypt یا به اصطلاح رمزنگاری میشود.
دادههای رد و بدل شده در پروتکل HTTPS که توسط SSL انجام میگیرد، بین سرویس دهنده(Server) و سرویس گیرنده(Client) توسط کلیدهای خصوصی و عمومی بین هر دو طرف رمزنگاری(Encrypt) شده و در سمت دیگر رمزگشایی(Decrypt) میشود. پس از برقراری ارتباط با پروتکل امن SSL دادهها توسط دو کلید رمزنگاری میشوند. کلید عمومی در این بین برای کاربران شخص سوم(بازدیدکنندگان یک سایت) قابل دسترسی و مشاهده است اما کلید خصوصی صرفا برای ارسال کننده و دریافت کننده داده قابل مشاهده خواهد بود.
🔶 انواع گواهینامههای امنیتی SSL
گواهینامههای امنیتی SSL انواع مختلفی دارند که هر کدام با شرایط و قیمت مختلفی توسط بهترین ارائه دهنده ssl صدور میشوند. اگر بخواهیم به صورت کلی انواع آن را بررسی کنیم به سه دسته زیر تقسیم بندی میشوند.
✅ گواهینامه ی DV یا Domain Validated SSL Certificate: این نوع SSL صرفا برای تایید دامنه است که در ظاهر نوار آدرس همراه با آیکون سبز رنگ HTTPS میباشد.
✅گوتهینامه ی OV یا Organization Validated SSL Certificate: این نوع SSL برای تایید شرکت یا سازمان است که در ظاهر نوار آدرس همراه با آیکون سبز رنگ HTTPS میباشد و تفاوت ظاهری با نوع DV ندارد.
✅ گواهینامه ی EV یا Extended Validated SSL Certificate: این نوع SSL برای تایید دامنه و تایید سازمان است که در ظاهر نوار آدرس همراه با آیکون سبز رنگ HTTPS و نام شرکت یا سازمان مربوطه میباشد.
به این نکته توجه داشته باشید که، هیچ محدودیتی برای تهیه گواهینامه DV وجود ندارد. اما گواهینامههای OV و EV تنها به اشخاص حقوقی اعطا میشود. همچنین برای تهیه SSL EV نیاز به ارسال مدارک حقوقی خواهید داشت.
📌 مزایا و معایب استفاده از SSL
1️⃣ همانطور که در بالا اشاره شد نصب SSL میتواند از شنود و ردگیری دادهها که بین کاربران رد و بدل میشود جلوگیری کند. بنابراین اولین و اصلیترین مزیت استفاده از HTTPS افزایش امنیت سایت خواهد بود.
2️⃣ دومین مزیت SSL این است که از آنجایی که نصب SSL به عنوان یکی از مهمترین فاکتورهای سئو گوگل شناخته شده است و گوگل برای سایتهایی که از HTTPS استفاده میکنند امتیاز بیشتری در نظر گرفته است، بنابراین استفاده از آن میتواند روی سئو سایت تاثیر بسیار خوبی داشته باشد.
3️⃣ سومین مزیت استفاده از پروتکل امن SSL امکان گرفتن نماد اعتماد الکترونیکی دو ستاره است.
♦️ در حالت کلی نمیتوان گفت که معایب ssl اصلا وجود داشته باشد. اما لااقل برای ما کاربران ایرانی به دلیل عدم کارکرد صحیح و پشتیبانی ISP ها از پروتکل امن SSL گاها ارتباط بین سایت در این پروتکل دچار مشکل شده و با کندی سرعت در سایتهای استفاده کننده مواجه میشویم. البته این موضوع دیگر مثل گذشته شدید نیست و خیلی کمتر رخ میدهد.
💠 بهترین SSL رایگان
شرکتهای بزرگ اینترنتی همیشه به دنبال امنتر کردن اینترنت هستند. همین موضوع باعث به وجود آمدن گروههایی شده است که اقدام به ارائه SSL رایگان برای سایتها میکنند که خوشبختانه امکان استفاده از آنها برای دامنههای IR نیز گاها فراهم است. در زیر به معرفی سه مورد از ارائه دهنده های SSL رایگان میپردازم.
#HTTPS
🔸 گواهینامه امنیتی SSL چیست؟
همانطور که میدانید دادههایی که در یک سایت رد و بدل میشوند بر روی دو بستر پروتکل HTTP و HTTPS انجام میگیرد. در حالت عادی وقتی از SSL روی سایت استفاده نشده باشد، داده های رد و بدل شده در محیطی غیر ایمن و در بستر HTTP رد و بدل میشود که امکان شنود اطلاعات در آن وجود دارد. اما در حالتی که دادهها روی بستر HTTPS رد و بدل شود رمزنگاری شده و صرفا کسانی که کلید رمزنگاری را داشته باشند قادر به شنود دادهها خواهند بود. لذا در این مقاله قصد دارم به معرفی بهترین SSL های ارائه شده در اینترنت، انواع SSL و مزایای استفاده از SSL که مهمترین آن سئو سایت است بپردازم.
🔹 گواهینامه SSL چیست؟
اطلاعات یک سایت در بستر HTTP که مخفف Hyper Text Transfer Protocol است به صورت متن ساده یا plain text بر روی پورت 80 رد و بدل میشوند. به همین دلیل چون این دادهها به صورت متنی هستند به راحتی توسط افرادی قابل خواندن هستند. به عنوان نمونه اگر پسورد یا اطلاعات بانکی خود را در یک سایت که فاقد SSL است وارد کنید امکان شنود آن توسط ارائه دهنده اینترنت وجود خواهد داشت. به همین دلیل استفاده از بستر HTTP برای زمانی که اطلاعات حساس و حیاتی رد و بدل میکنید کاری بسیار خطرناک است.
همین مسئله باعث به وجود آمدن پروتکل HTTPS شد که دادهها در آن رمزنگاری شده و در پورت 443 رد و بدل میشود. اما تفاوتی که در HTTP و HTTPS وجود دارد این است که دادهها در پروتکل HTTPS توسط SSL که مخفف Secure Socket Layer میباشد بین سرویس دهنده(سرور) و سرویس گیرنده(کاربر) Encrypt یا به اصطلاح رمزنگاری میشود.
دادههای رد و بدل شده در پروتکل HTTPS که توسط SSL انجام میگیرد، بین سرویس دهنده(Server) و سرویس گیرنده(Client) توسط کلیدهای خصوصی و عمومی بین هر دو طرف رمزنگاری(Encrypt) شده و در سمت دیگر رمزگشایی(Decrypt) میشود. پس از برقراری ارتباط با پروتکل امن SSL دادهها توسط دو کلید رمزنگاری میشوند. کلید عمومی در این بین برای کاربران شخص سوم(بازدیدکنندگان یک سایت) قابل دسترسی و مشاهده است اما کلید خصوصی صرفا برای ارسال کننده و دریافت کننده داده قابل مشاهده خواهد بود.
🔶 انواع گواهینامههای امنیتی SSL
گواهینامههای امنیتی SSL انواع مختلفی دارند که هر کدام با شرایط و قیمت مختلفی توسط بهترین ارائه دهنده ssl صدور میشوند. اگر بخواهیم به صورت کلی انواع آن را بررسی کنیم به سه دسته زیر تقسیم بندی میشوند.
✅ گواهینامه ی DV یا Domain Validated SSL Certificate: این نوع SSL صرفا برای تایید دامنه است که در ظاهر نوار آدرس همراه با آیکون سبز رنگ HTTPS میباشد.
✅گوتهینامه ی OV یا Organization Validated SSL Certificate: این نوع SSL برای تایید شرکت یا سازمان است که در ظاهر نوار آدرس همراه با آیکون سبز رنگ HTTPS میباشد و تفاوت ظاهری با نوع DV ندارد.
✅ گواهینامه ی EV یا Extended Validated SSL Certificate: این نوع SSL برای تایید دامنه و تایید سازمان است که در ظاهر نوار آدرس همراه با آیکون سبز رنگ HTTPS و نام شرکت یا سازمان مربوطه میباشد.
به این نکته توجه داشته باشید که، هیچ محدودیتی برای تهیه گواهینامه DV وجود ندارد. اما گواهینامههای OV و EV تنها به اشخاص حقوقی اعطا میشود. همچنین برای تهیه SSL EV نیاز به ارسال مدارک حقوقی خواهید داشت.
📌 مزایا و معایب استفاده از SSL
1️⃣ همانطور که در بالا اشاره شد نصب SSL میتواند از شنود و ردگیری دادهها که بین کاربران رد و بدل میشود جلوگیری کند. بنابراین اولین و اصلیترین مزیت استفاده از HTTPS افزایش امنیت سایت خواهد بود.
2️⃣ دومین مزیت SSL این است که از آنجایی که نصب SSL به عنوان یکی از مهمترین فاکتورهای سئو گوگل شناخته شده است و گوگل برای سایتهایی که از HTTPS استفاده میکنند امتیاز بیشتری در نظر گرفته است، بنابراین استفاده از آن میتواند روی سئو سایت تاثیر بسیار خوبی داشته باشد.
3️⃣ سومین مزیت استفاده از پروتکل امن SSL امکان گرفتن نماد اعتماد الکترونیکی دو ستاره است.
♦️ در حالت کلی نمیتوان گفت که معایب ssl اصلا وجود داشته باشد. اما لااقل برای ما کاربران ایرانی به دلیل عدم کارکرد صحیح و پشتیبانی ISP ها از پروتکل امن SSL گاها ارتباط بین سایت در این پروتکل دچار مشکل شده و با کندی سرعت در سایتهای استفاده کننده مواجه میشویم. البته این موضوع دیگر مثل گذشته شدید نیست و خیلی کمتر رخ میدهد.
💠 بهترین SSL رایگان
شرکتهای بزرگ اینترنتی همیشه به دنبال امنتر کردن اینترنت هستند. همین موضوع باعث به وجود آمدن گروههایی شده است که اقدام به ارائه SSL رایگان برای سایتها میکنند که خوشبختانه امکان استفاده از آنها برای دامنههای IR نیز گاها فراهم است. در زیر به معرفی سه مورد از ارائه دهنده های SSL رایگان میپردازم.