All Projects → mbelsky → js-problems

mbelsky / js-problems

Licence: MIT license
📚 Русскоязычный сборник задач с автоматической системой проверки JavaScript решений

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to js-problems

coding-bot-v4
A discord bot for The Coding Realm
Stars: ✭ 26 (-87.68%)
Mutual labels:  coding
pw
Best websites a Programmer should visit
Stars: ✭ 27 (-87.2%)
Mutual labels:  coding
FaceMaskDetector
Real time face-mask detection using Deep Learning and OpenCV
Stars: ✭ 106 (-49.76%)
Mutual labels:  coding
DevelopersUserbot
Telegram Userbot Made for Developers by Developers
Stars: ✭ 25 (-88.15%)
Mutual labels:  coding
CSSHell
Collection of common CSS mistakes, and how to fix them
Stars: ✭ 180 (-14.69%)
Mutual labels:  coding
ask-for-information
📚 Daegu Software Meister High School Wikipedia
Stars: ✭ 28 (-86.73%)
Mutual labels:  coding
Permissionsswiftui
A SwiftUI package to beautifully display and handle permissions.
Stars: ✭ 220 (+4.27%)
Mutual labels:  coding
PrepBytes-questions
One can follow to excel in coding if you are a noob!!
Stars: ✭ 46 (-78.2%)
Mutual labels:  coding
CP
Competitive Coding
Stars: ✭ 25 (-88.15%)
Mutual labels:  coding
CodeStash
Competitive Coding Project
Stars: ✭ 38 (-81.99%)
Mutual labels:  coding
raster-master
Raster Master Sprite/Icon/Map editor for Windows 10/11 that generates RayLib code / Put image and map code for Open Watcom, gcc, AmigaBASIC, Amiga C, Amiga Pascal ,QuickBasic, QB64, Quick C, Turbo Pascal, freepascal, Turbo C, Turbo Basic, Power Basic, FreeBASIC, GWBASIC, BASICA, PC-BASIC,, DOS XLIB LBM/PBM
Stars: ✭ 40 (-81.04%)
Mutual labels:  coding
hacker-laws-tr
💻📖 Programcıların faydalı bulacağı yasalar, teoriler, prensipler ve desenler. #hackerlaws
Stars: ✭ 810 (+283.89%)
Mutual labels:  coding
morton-nd
A header-only compile-time Morton encoding / decoding library for N dimensions.
Stars: ✭ 78 (-63.03%)
Mutual labels:  coding
leek-wars
Leek Wars, the multiplayer web browser AI programming game in which you train leeks
Stars: ✭ 139 (-34.12%)
Mutual labels:  coding
algor
数据结构与算法 py3 九章算法
Stars: ✭ 77 (-63.51%)
Mutual labels:  coding
handbook
📙 ErgoServ Developer's Handbook - a collection of guides, recipes, and scripts for helping you get things done, better.
Stars: ✭ 46 (-78.2%)
Mutual labels:  coding
Dredd
A multipurpose Discord bot written in python language and enhanced discord.py library.
Stars: ✭ 105 (-50.24%)
Mutual labels:  coding
dockside
Dockside is a tool for provisioning lightweight access-controlled IDEs, staging environments and sandboxes - aka 'devtainers' - on local machine, on-premises raw metal or VM, or in the cloud
Stars: ✭ 205 (-2.84%)
Mutual labels:  coding
DevSoc21
Official website for DEVSOC 21, our annual flagship hackathon.
Stars: ✭ 15 (-92.89%)
Mutual labels:  coding
metaKeyboard
turn a common keyboard into a 61-key keyboard for the keyboard shortcut fun like you, I'm a programer, I want to improve coding efficiency
Stars: ✭ 30 (-85.78%)
Mutual labels:  coding

js-problems

Оттачивай навыки алгоритмики и кодирования.

В этом репозитории собраны задачи, решение которых поможет закрепить навыки программирования и подготовиться к техническим собеседованиям.

Вместе с задачами поставляется система для автоматической проверки решений написанных на JavaScript.

Предварительные настройки

  1. Убедись, что git и node v10.13.0+ установлены на твоем компьютере
  2. Склонируй репозиторий
  3. В папке с проектом из терминала выполни npm ci

Теперь можно приступать к решению задач!

Задачник

Задачи находятся в папке /problems. Каждая задача оформлена в виде отдельного .js файла.

Каждый файл имеет следующую структуру:

  1. Комментарий с
    • описанием условия задачи
    • примером вызова функции, передаваемых аргументов и ожидаемым результатом
    • JSDoc для параметров и возвращаемого функцией значения
  2. Заглушка тела функции. Пиши свое решение здесь
  3. Инструкция module.exports = … делает функцию доступной для автоматического тестирования

Тестирование решений

Система автоматичекой проверки решений может быть запущена в одном из трех режимов.

Рекомендуется использовать автоматическую проверку в связке с pre-commit. А каждую решенную задачу оформлять в виде коммита, чтобы не запускать лишние тесты.

Ручная проверка

Запускается командой

npm run test

Эта команда проверит правильность решений для всех файлов в которые были внесены изменения и git статус которых not staged for commit.

Автоматическая проверка

Запускается командой

npm run test:watch

Эта проверка работает по тому же принципу, что и ручная, только тесты запускаются автоматически на каждое сохранение файла.

Pre-commit проверка

Каждую решенную задачу рекомендуется оформлять в отдельный коммит. Pre-commit проверка автоматически запускается на выполнение команды git commit. Тесты выполняются для всех файлов добавленных в содержание коммита.

Отладка

При решении задач в IDE Visual Studio Code подключение отладчика происходит в пару кликов:

  1. В меню среды разработки выбрать View -> Debug. Слева отобразится панель отладчика
  2. Выбрать Debug js-problems как конфигурацию отладчика (видеоверсия) Демонстрация выбора конфигурации отладчика
  3. Через меню запустить отладчик Debug -> Start Debugging. git статус отлаживаемого файла должен быть not staged for commit.

Альтернативы

Данный ресурс создавался, преимущественно, для тех, кто испытывает проблемы с английским языком. Невходящие в их число могут попробовать свои силы на следующих сайтах:

Как альтернативный русскоязычный сборник задач можно рассматривать сайт "Школа программиста", но без системы для автоматической проверки JavaScript решений.

Содействия

Любой желающий может помочь проекту, например:

  • добавлением новых задач в сборник
  • расширением тест-кейсов

Для этого оформляйте свои предложения в виде задач.

Лицензия

Проект разрабатывается под лицензией MIT.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].