تفاوت چهار اصطلاح برنامه‌نویسی و امنیت: Encryption ،Encoding ،Hashing و Obfuscation

شاید تا به حال با چهار اصطلاح encryption ،encoding ،hashing و obfuscation برخورد کرده باشید. نزدیکی مفاهیم این چهار اصطلاح می‌تواند هر کسی را به اشتباه بیندازد، به همین خاطر در این نوشته می‌خواهیم به اختصار تفاوت‌های آن‌ها و معنی دقیق‌تر هریک را بررسی کنیم.

ادامه‌ی خواندن

پشتیبانی کوئرا کالج

سلام!‌

حدود دو هفته از رونمایی کوئرا کالج گذشته‌است و خوشبختانه با استقبال گرم همه‌ی شما روبه‌رو شدیم و شرکت کننده‌ها مشغول به حل سؤالات و خواندن درسنامه‌ها شده‌اند.

البته اینکه دوره رونمایی شده‌است، به هیچ وجه به این معنا نیست که کار ما، یعنی طراحان دوره، تمام شده‌است! ما هنوز هم تمام تلاش خود را می‌کنیم تا نقاط ضعف دوره را برطرف کنیم و از پیشنهادها و انتقادات شما استقبال می‌کنیم. در طی این مدت پیشنهادهایی از طرف شما‌ کاربران شده‌بود که باعث شد بخشی از مطالب درس‌نامه‌ها را ویرایش کنیم و کیفیت دوره را  بیشتر کنیم. در راستای همین بهبودها درخواست می‌کنیم هر مشکلی در روند دوره پیش آمده‌است از طریق سیستم پرسش و پاسخ با ما در میان بگذارید! طی حداکثر ۲۴ ساعت به ‌آن‌ها رسیدگی خواهد‌شد! این مشکلات می‌توانند مواردی مانند موارد زیر باشند:

  • ابهام در بخشی از درسنامه: اگر مطلبی به نظرتان ابهام دارد و درست متوجه موضوع نمی‌شوید؛ یا احساس می‌کنید خیلی بهتر می‌توانسته بیان شود. آن‌ را با ما در میان بگذارید. ما از پیگیری‌تان خوشحال می‌شویم و سعی می‌کنیم آن مطلب را به گونه‌ی بهتری بیان کنیم تا دیگر کاربر‌ها نیز بتوانند به‌ راحتی استفاده کنند.
  • مشکل در سیستم داوری سؤالات: سیستم داوری‌ ما کاملاً تست شده و چندین کد به هر زبان برای هر سؤال با امتیاز کامل ارسال شده‌است. به‌هرحال اگر به مشکل خاصی برخورد کردید می‌توانید آن‌را بیان کنید تا رسیدگی کنیم.
  • ابهام در پلتفرم: در صورتی که در نحوهٔ کارکرد پلتفرم ابهامی می‌بینید؛ یا متوجه برخی اتفاقات نمی‌شوید، حتما با ما در میان بگذارید.

هم‌چنین برای پیشرفت و یادگیری بیشتر، برای شما دو پیشنهاد داریم:

  • کد دیگران را بخوانید! به طور کلی خواندن کد دیگران باعث می‌شود با سبک تفکرها و انواع مختلف الگوریتم‌ها و سینتکس‌ها آشنا شوید. در واقع شما می‌توانید با کمک دیگر شرکت‌کننده‌ها، برنامه‌نویس بهتری شوید! امکان دیدن کد دیگران برای هر سوال، هنگامی ممکن است که توانسته باشید آن سوال را حل کنید.
  • از ما بپرسید! اگر در سوالی به مشکل خورده‌اید و قادر به حل آن نیستید، دو کار کنید. درس‌نامه‌ها را دقیق‌تر بخوانید و اگر مشکل حل نشد، از ما بپرسید. مطمئن باشید می‌توانیم به نحوی مناسب به شما کمک کنیم!

از طریق ایمیل نیز می‌توانید با ما در ارتباط باشید. ما از این‌ که مشکلاتمان را به ما بگویید بسیار استقبال می‌کنیم!

موفق باشید! 🙂

۷ مرحله برای تبدیل شدن به یک توسعه‌دهنده حرفه‌ای وب

شاید گمان کنید برای تبدیل شدن به یک توسعه‌دهنده حرفه‌ای وب، یادگیری HTML ، CSS و Javascript به همراه کتابخانه‌های مختلف و یا در نهایت یادگیری یک زبان سمت سرور مثل Python یا PHP کافی است. اما ماجرا به این سادگی نیست! هر ساله هزاران نفر، به عنوان توسعه‌دهنده وب وارد بازار کار می‌شوند و خاص بودن در بین آن‌ها به مهارت‌های بیشتری نیاز خواهد داشت.

در این مقاله می‌خواهیم ۷ مهارت فنی را معرفی کنیم که توسعه‌دهنده‌های کم‌تجربه‌تر معمولاً آن‌ها را نادیده می‌گیرند اما یادگیری آن‌ها می‌تواند بسیار اثربخش و مهم باشد. برای هر کدام از این مهارت‌ها یک یا چند منبع خوب مطالعاتی نیز معرفی خواهیم کرد.

دانش اولیه‌ای در مورد شبکه داشته باشید

می‌دانید وقتی در مرورگر خود google.com را می‌نویسید و به جستجو می‌پردازید، در پشت پرده چه اتفاقی می‌افتد؟

ادامه‌ی خواندن

بیستمین مسابقه‌ی ICPC منطقه‌ی غرب آسیا

سلام.

همون‌طور که می‌دونین، ۳۰ آذر مسابقه‌ی ICPC 2018 Tehran Regional Contest در دانشگاه شریف برگزار شد (اطلاعات بیشتر). جمعه‌ی این هفته، ۱۴ دی، قراره این مسابقه رو در کوئرا بازآزمون کنیم. مسابقه ساعت ۹ صبح شروع می‌شه و مطابق با آزمون اصلی ۵ ساعت طول می‌کشه. خیلی خوبه که برای شبیه‌سازی بهتر، با تیم‌های ۳ نفره شرکت کنین. کسایی که تو مسابقه‌ی اصلی شرکت کردن از شرکت تو این مسابقه پرهیز کنن.

موفق باشید؛ یا علی.

۷ راز موفقیت در مصاحبه‌های برنامه‌نویسی از زبان یکی از توسعه‌دهندگان فیس‌بوک

فیس‌بوک یکی از شرکت‌های جذاب از دید برنامه‌نویسان است. مهندسان بسیاری خواستار استخدام در این شرکت هستند، چون فرصت‌های زیادی را از همان روزهای اول در اختیار توسعه‌دهندگان قرار می‌دهد. فیسبوک ۱۳هزار کارمند دارد که در ۶۴ دفتر مختلف مشغول به کار هستند.

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

یکی از مهندسین ارشد فیس بوک به نام Dwayne Reeves که بیش از ۴ سال در فیسبوک کار کرده و در توسعهٔ زبان Hack و بهبود سیستم حریم خصوصی این شرکت فعالیت داشته، نکته‌هایی برای موفقیت در مصاحبهٔ استخدام برای توسعه‌دهندگان بیان کرده که باهم به بررسی آن‌ها میپردازیم:

  1. سوال بپرسید تا ابهامات یک مسئله مشخص شود:
    اشتباه رایج بیشتر دولوپرها این است که فکر می‌کنند سوال پرسیدن اشتباه است! ممکن است سوالات مطرح شده مبهم و دوپهلو باشند.قبل از اینکه شروع با پاسخ و انجام کار کنید، تا حد امکان سعی کنید مسئله برایتان شفاف باشد…
  2. قبل از نوشتن هر چیزی، رویکرد و شیوه کاری خودتان رو شرح دهید:
    سعی کنید عمیق فکر کنید و توجه داشته باشید، راه رسیدن به پاسخ یک سوال همانقدر اهمیت دارد که پاسخ نهایی اهمیت دارد. قبل از آنکه شروع به نوشتن پاسخ خود کنید، شیوه و رویکرد خود را برای مصاحبه کننده مطرح کنید تا بفهمد چه در سر دارید!
  3. از زبان برنامه‌نویسی استفاده کنید که به آن تسلط کافی دارید.
    مهندس ارشد فیس‌بوک می‌گوید، در مصاحبه‌ها می‌توانید از هر زبان برنامه‌نویسی که راحت‌تر هستید استفاده کنید و درکل مصاحبه کنندگان بر روی استدلال و میزان توجه شما به جزئیات تمرکز می‌کنند.
  4. قبل از ارائه پاسخ، آن را با یک مثال بررسی کنید!
    پاسخ خود را با یک مثال ساده بررسی کنید، و نتایج را دنبال کنید. هرچه زودتر باگ‌هایتان مشخص شود، به نفع شما خواهد بود.
  5. برای توضیح نحوه عملکرد کدهایی که نوشتید، آماده باشید!
    فرض کنید کدهای شما بدون باگ اجرا شد، مصاحبه‌کننده از شما میپرسد این کد در واقعیت چگونه اجرا میشود و اگر بخواهید آن را تست کنید، راه حل شما چیست!
  6. راه حل‌های جایگزین ارائه دهید.
    با این کار نشان دهید که توانایی دارید برای حل یک مسئله چندین راه حل ارائه دهید و بهترین را انتخاب کنید.
  7. سوالاتی در مورد شرکت بپرسید:
    بعد از اینکه از مصاحبه سربلند بیرون آمدید، سعی کنید در مورد شرایط، محیط، برنامه‌ها و… سوال کنید.

جمع بندی

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

منبع مقاله

معرفی Quera College – کوئرا کالج

باز هم  Quera، باز هم برنامه‌نویسی

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

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

Linus Torvalds خالق کرنل لینوکس، در جمله‌ای می‌گوید: حرف‌زدن بی‌ارزش است، کدت را نشان بده!

از مهارت‌سنجی برنامه‌نویسی تا Quera College

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

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

طرح درس این دوره از پایه‌ای‌ترین مباحث برنامه‌نویسی مانند متغیرها، دستورات شرط و … آغاز شده و به مباحث پیچیده‌تر منتهی خواهد شد.

اما اولین دوره‌ی Quera College چگونه کار می‌کند؟

ادامه‌ی خواندن

برندگان مسابقه حضوری کدکاپ۴

سلام!

نوبت به اعلام اسامی برندگان مسابقه حضوری کدکاپ۴ رسید!

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

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

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

الگوریتمی

تیم اول: feraverto، مبلغ ۳ میلیون تومان

مهرشاد میرمحّمدی دیبا هاشمی

تیم دوم: Fireworks Unlimited، مبلغ ۲ میلیون تومان

محمد صانعیان آرش محمودیان بیدگلی

تیم سوم: مشتیا، مبلغ ۱ میلیون تومان

امیررضا پوراخوان دانیال عرفانیان

تیم چهارم: آقا ایمان🖤، مبلغ ۱ میلیون تومان

مهدی جعفری آرین اسماعیل پور

تیم پنجم: Whatever it takes!، مبلغ ۷۰۰ هزار تومان

علی پاشا منتصری کسری مظاهری

تیم ششم: Bananas، مبلغ ۵۰۰ هزار تومان

محمد مهدوی عرفان معینی

تیم هفتم: COAK ;)، مبلغ ۵۰۰ هزار تومان

سید محمدحسین یزدانی فر ارشیا دادرس

تیم هشتم: همینو بذاریم ؟ :))، مبلغ ۳۰۰ هزار تومان

کیوان رضائی شایان چشم جهان

تیم نهم: کام شاد، مبلغ ۳۰۰ هزار تومان

ارشیا سلطانی امید آزادی

تیم دهم: Shengdebao، مبلغ ۳۰۰ هزار تومان

سید مهدی صادق شبیری حمیدرضا کامکاری

ادامه‌ی خواندن

کدکاپ ۴ در ایستگاه پایان :)

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

روز اول

صبح روز پنجشنبه ۲۴ آبان‌ماه مسابقه با حضور ۵۰ تیم برنامه‌نویس الگوریتمی و ۴۰ نفر از شرکت‌کنندگان php و react native، از سراسر کشور در مرکز پردازش دیجیکالا آغاز شد.

این رقابت به صورت مقدماتی و برای آمادگی بیشتر شرکت‌کنندگان برای مسابقه نهایی روز جمعه ۲۵ آبان‌ماه برگزار شد.

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

ادامه‌ی خواندن

قابل توجه شرکت‌کنندگان مرحله‌ی حضوری کدکاپ

رویداد نهایی کدکاپ پنج‌شنبه و جمعه‌ (۲۴ و ۲۵ آبان) در مرکز پردازش دیجیکالا برگزار می‌شود.

۱- هر دو روز پنج‌شنبه و جمعه اتوبوس‌ها بین ساعت ۷:۴۵ تا ۸:۱۵ صبح از ایستگاه مترو بیمه (خط شماره ۴ – زرد) به سمت مرکز پردازش دیجی‌کالا حرکت خواهند کرد. خواهشمندیم که حتما در همین بازه‌ی زمانی در خروجی مترو بیمه حضور داشته باشید. در صورتی که باتاخیر رسیدید و یا خودتان می‌خواهید بیایید، آدرس محل برگزار مسابقه در پایین آمده است.
دوستان ما در تیم برگزاری در ایستگاه مترو بیمه شما را راهنمایی خواهند کرد.

۲- همچنین برگشت نیز توسط اتوبوس‌ها انجام خواهد شد.

۳- محل دقیق مرکز پردازش دیجی‌کالا را از لینک مقابل می‌توانید ببینید. https://goo.gl/maps/3DwxbsQjvLt

۴- شرکت‌کنندگان الگوریتمی و تکنولوژی‌های php و react native در هر دو روز و شرکت‌کنندگان سایر تکنولوژی‌ها (Android, Python, Django, Laravel, Fron-End) فقط در روز دوم در رویداد شرکت خواهند کرد. برنامه‌ی دقیق هر گروه در دو پست بعدی در بلاگ آمده است.

۵- شرکت‌کنندگان الگوریتمی و تکنولوژی‌های php و react native باید حتما یک لپ‌تاپ همراه خود داشته باشند. (هر تیم الگوریتمی فقط یک لپ‌تاپ)

 

اطلاعات تکمیلی همینجا ثبت خواهد شد.

در صورتی که سوالی داشتید و یا به مشکلی برخوردید، با شماره‌ی ۰۹۱۲۰۲۹۲۵۵۴ تماس بگیرید.

 

حضوری کدکاپ – پرسش‌های متداول

سلام!

با اعلام کشف تقلب‌ها و تاثیر آن‌ها و هم‌چنین بررسی نهایی تیم‌های علمی، هم‌اکنون رتبه‌بندی همه‌ی مسابقه‌ها به وضعیت نهایی رسیده است. رتبه‌بندی کلی مسابقات تکنولوژی را می‌توانید از اینجا ببینید.

قابل‌توجه شرکت‌کنندگان مسابقه React Native: رتبه‌بندی مسابقه‌ی React-Native هم پس از بررسی‌های فراوان انجام شده و بررسی مجدد همه‌ی ارسال‌ها بصورت دستی، به مرحله‌ی نهایی رسید. نحوه‌ی امتیازدهی به شرکت‌کنندگان React-Native با توجه به آخرین اطلاعیه در مسابقه و برای از بین رفتن تاثیر زمانی، تغییراتی داشته است؛ به این صورت که امتیاز محاسبه شده برای افراد با نمره‌ی برابر، بین آن‌ها بصورت برابر تقسیم شود. مثلاً اگر رتبه‌های ۲ و ۳ و ۴ نمره‌ی برابر داشته باشند، به هریک از آن‌ها یک سوم مقدار ۲۰۰۰ + ۸۰۰ + ۳۵۰، یعنی ۱۰۵۰ امتیاز داده می‌شود.

جزئیات برنامه‌ی رویداد حضوری و پرداخت هزینه‌ها را می‌توانید در بلاگ برنامه‌ی رویداد حضوری کدکاپ ۴ بخوانید.

  • در صورتی که جزو افراد دعوت شده به مسابقه‌ی حضوری هستید، حتماً ایمیل خود را بررسی کنید تا جزئیات مسابقه و لینک پرداخت هزینه را در آن مشاهده کنید. در صورتی که ایمیل دعوتنامه را نمی‌یابید هرچه زودتر با ما از طریق ایمیل codecup@quera.ir تماس بگیرید.
  • لینک پرداخت مسابقه‌ها به این صورت است:
  • در صورتی که هم در بخش الگوریتمی و هم در بخش تکنولوژی‌محور دعوت شده‌اید، پرداخت هزینه برای بخش الگوریتمی کافیست.
  • پرداخت یک نفر از هر تیم الگوریتمی برای کل تیم کافیست.
  • افراد طبق موارد گفته شده در بلاگ سیر تا پیاز کدکاپ ۴ به مرحله‌ی حضوری دعوت شده‌اند.
  • در صورتی که افراد دعوت شده انصرافشان را اعلان کنند و یا در زمان اعلام شده پرداخت نکنند، به افراد بعدی در رتبه‌بندی برای دعوت به کدکاپ ایمیل زده می‌شود.
  • شرکت‌کننده‌های مسابقه‌ی الگوریتمی و PHP و React-Native باید حتماً همراه خود یک لپتاپ داشته باشند تا با آن مسابقه دهند. در صورتی که مشکل جدی با آوردن لپتاپ دارید به codecup@quera.ir ایمیل بزنید.
  • امسال تنها یک مسابقه‌ی اصلی الگوریتمی برگزار می‌شود و رتبه‌بندی نهایی تنها به مسابقه‌ی روز جمعه بستگی خواهد داشت.
  • مسابقه‌ی آزمایشی الگوریتمی روز پنج‌شنبه برای آشنایی شرکت‌کنندگان با فرایند ورود به مسابقه و وصل شدن لپتاپ به شبکه‌ی اینترنتی و تست سیستم داوری است، پس توصیه می‌شود هر دو نفر هر تیم به موقع برای این مسابقه حاضر شوند. عدم حضور در مسابقه‌ی آزمایشی ممکن است باعث به مشکل خودن در ابتدای مسابقه‌ی اصلی و دیر شروع کردن مسابقه برای این تیم‌ها بشود.
  • برای مسابقه‌ی الگوریتمی می‌توانید هر اطلاعاتی در کامپیوتر خود از قبل دانلود کرده و داشته باشید؛ اما در هنگام مسابقه به اینترنت دسترسی نخواهید داشت.
  • پک مسابقه شامل تعدادی سوغاتی کدکاپی می‌شود! از جمله تی‌شرت، ماگ، پیکسل، استیکر، …

در صورت داشتن سوالات دیگر می‌توانید در پاسخ به این بلاگ و یا ایمیل codecup@quera.ir با ما در ارتباط باشید.