«Не баг, а фича: искусство находить преимущества в несовершенствах»

Разработчики игр и ПО

Исправление багов

Дебажить было сложно, но Ваня не мог облажаться и в этот раз. За год его уже успели уволить из трёх компаний, после четвёртого увольнения его резюме будет испорчено окончательно.

Дебаг (англ. debug — устранение багов) — исправление ошибок в коде программы.

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

— Прости, но если бы я знал, что не так в твоём коде, я бы твой пул реквест не заапрувил.

— Но ты же написал lgtm в комментарии!

— И теперь мне за это прилетело. Слушай, я уже сто раз пожалел, что помог тебе сюда устроиться. Тимлид просёк, что я сквозь пальцы смотрю на твой код, поэтому сейчас проблемы у нас обоих. В случае чего я найду новую работу, а ты — вряд ли. Так что сейчас у тебя отличный повод подтянуть знания.

— Ладно, разберусь как-нибудь.

Апрув (англ. approve) — подтвердить что-нибудь.

Пул реквест (англ. pull request) — запрос на подтверждение коммита.

LGTM (англ. looks good to me — На мой взгляд, хорошо) — сокращение, которое часто встречается на гитхаб в комментариях к подтверждению коммитов. Обычно его используют, когда не получается сказать ничего конструктивного по поводу кода.

Осталось всего два дня, чтобы исправить баг и добавить новую фичу, а у Вани не было почти никаких продвижений. После работы он, как обычно, зашёл в магазин, но вместо энергетиков решил взять пиво, потому что вспомнил о Пике Балмера.

Пик Балмера — шуточная теория, что при содержании алкоголя в крови между 0,129 и 0,138% (примерно 2 бутылки пива) программист получает сверхспособности к написанию кода. Теорию выдвинул Стив Балмер, CEO Microsoft с 2000 по 2014 год.

Бессонные ночи и пиво сделали своё дело, поэтому Ваня заснул прямо за компьютером.

Наутро он не сразу понял, что проснулся, и, лёжа лицом на клавиатуре, продолжал слушать разрывающийся будильник. Прошло всего несколько минут, но Ване они показались вечностью.

Ненавидя себя, он поплёлся на работу. Сев за рабочий стол и посмотрев в код, внезапно понял, в чём была ошибка (известно, что многие проблемы в разработке приложений решаются, когда программист спит). Исправив всё за пару минут, он пошёл к тимлиду.

— Я разобрался с багом.

— Отлично, но странно, что у тебя ушло так много времени. Давай протестируем твой код и выгрузим на прод.

Прод или продакшн (англ. production environment — рабочее окружение) — компьютер (чаще всего сервер), на котором запускается готовое к работе приложение.

Тестирование прошло успешно. И хотя Ване стало спокойнее, он не спешил радоваться — за полтора дня нужно было успеть выполнить задачу, на которую требовалась как минимум неделя.

Ваня начал думать.

К счастью, недавно он начал изучать JavaScript, поэтому мог просто скопировать код валидации с фронта и переделать его для бэкенда.

JavaScript — язык фронтенд-разработки.

Помучившись день, он всё-таки закончил. Тимлид оценил усилия:

— Ну вот, можешь же, когда захочешь. Тебе повезло, что мы не деплоим на прод по пятницам, поэтому у тебя ещё есть время до середины понедельника, чтобы ещё раз всё проверить и поправить.

Деплой (англ. to deploy) — процесс перевода кода в рабочее приложение, чтобы запустить его на каком-нибудь компьютере.

Воодушевлённый успехом, Ваня ещё раз всё протестировал, поэтому к следующему митингу он был спокоен — больше исправлять старые баги ему не придётся.

Project Management

Agile – гибкий подход к управлению проектами, который позволяет компаниям стать более адаптивными, оптимизирует процессы и не перегружает команду. Аджайл-команда выполняет работу небольшими шагами или итерациями продолжительностью 1–3 недели. Заказчик принимает результаты каждой из них и предлагает изменения, после чего команда дорабатывает продукт. Выделяют несколько Agile-методологий (фреймворков): Scrum, Kanban и другие. Согласно опросам, их используют почти половина компаний с 19 стран мира (Apple, Adobe, Microsoft, Procter & Gamble и другие).Daily – ежедневные встречи команды на протяжении 15 минут, во время которых каждый делится своими задачами на день и сообщает, нужна ли ему помощь в их выполнении.One-to-one – индивидуальные встречи менеджера и подчиненного для обсуждения рабочих вопросов или карьерного развития.Performance Review – подход в оценке персонала, который позволяет измерять производительность каждого сотрудника компании. Во время ревю обсуждают текущие показатели, производительность и планы. Например, в Google проводят ежегодное определение эффективности и отдельно ежемесячные проверки производительности. А Tesla уволила 700 сотрудников после того, как измеряла их эффективность, и уровень оказался низким.Scrum – гибкая методология управления проектами для эффективного контроля процессов разработки. Скрам эффективно использовать на старте проекта, поскольку он позволяет точнее обозначить термины релиза и плотно взаимодействовать с командой.Бэклог продукта – перечень задач для создания и улучшения продукта. Отвечает за бэклог product owner, project-менеджер или scrum-мастер.Покер планирование (Planning Poker, Scrum poker) – метод, который команды используют, чтобы предвидеть объем задач управления проектами. Он позволяет вовлекать в процесс оценки всех участников и за ограниченное время определить сложность задачи. Согласно исследованиям, такие оценки получаются менее оптимистичными, но более точными.Релиз – финальная версия программного продукта. Может быть публичным или приватным. Релизу предшествует выпуск альфа- и бета-версии софта.
Продолжение словаря, где мы рассматриваем типы компаний и оперативную лексику IT-рекрутера – здесь.

F

Framework. Фреймворк похож на библиотеку в том смысле, что он упрощает программирование, автоматизируя определённые части рабочего процесса, генерируя шаблонный код или иным образом освобождая программистов для работы на более высоком уровне.

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

Full stack — в отличие от специализации фронтенд и бэкэнд разработки, программисты полного стека могут комфортно работать в любой части конвейера. Они могут обрабатывать CSS, а также управлять базами данных.

SoC

Separation оf concerns (принцип разделения ответственности) — один из моих любимых. Я использую его при проектировании платформ или при создании внутренней архитектуры проекта.

Не путайте его с уже упоминавшимся Single responsibility principle (принципом единственной ответственности). SoC помогает объединять функции или модули в отдельные сервисы. Суть в том, что при проектировании многофункциональной системы — а так обычно и бывает — можно группировать функции в модули в зависимости от задач, которые каждая из них выполняет.

Пример: блог-площадка, где пользователи могут публиковать посты. Одна система на такой платформе вполне может отвечать за всё (управление пользователями, посты в блоге, аналитика и так далее) — и даже справится со своими функциями. Но если следовать принципу SoC, можно прийти к более интересному решению:


Инфографика: Майя Мальгина для Skillbox Media

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

  • Вы получаете масштабирование каждого блока функций. Теперь при необходимости вы сможете легко масштабировать тот же модуль управления пользователями (User management) — например, потому, что он тянет на себе слишком много трафика, а остальная часть платформы остаётся незагруженной.
  • Вносить изменения становится легче: связь элементов кода ослаблена, и вы, например, сможете чуть ли не полностью переписать модуль управления постами, не затрагивая другие разделы.
  • Платформа становится более стабильной. Если один из модулей сломается, то система потенциально сможет сохранять работоспособность. С меньшей функциональностью, конечно, но тем не менее это возможно.

Профессиональные компетенции программиста

Выделим профессиональные компетенции хорошего программиста:

  1. Профессиональные навыки: владение языком, а лучше лучше языкамипрограммирования, знание необходимых инструментов для разработки,знание вспомогательных инструментов разработки и т. д.
  2. Надпрофессиональные навыки: планирование собственного времени, умениеработать в команде, умение обучаться и обучать, соблюдать деловой этикет,уметь проставлять собственные цели и задачи, коммуникабельность сколлегами и заказчиком, понимание сленга программистов, умениепользоваться «поиском» и др.
  3. Личные качества: стрессоустойчивость, аналитический и математическийсклад ума, владение родным и английским языком, развитая логика,многозадачность, целеустремленность, самообучаемость, умение работать вколлективе, ответственность и др.

То есть как видно, не кодом единым силен программист. Чтобы стать хорошимпрограммистом нужно развиваться разносторонне.

Профессионализмы программистов и примеры подобныхслов

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

Количество сленговых слов на самом деле зашкаливает. Недавно один изпрофессиональных ресурсов решил их посчитать и на данный момент ихнасчитывается более 500 слов. Но нужно учитывать, что такой словарьпрограммиста постоянно увеличивается, потому что в профессию входят новыелюди, да и само программирование постоянно развивается. Происхождение такихслов часто происходит с английского языка, где на английском слова обозначаюткакое-то действие, свойство, элемент или предмет.

Самый распространенные словечки программистов

Мы приведем самые распространенные подобные слова. Итак, профессионализмыпрограммистов, примеры слов:

  1. «Батон» – обозначает «кнопку», происходит от английского «button»;
  2. «Дебажить код» – проверять код на наличие ошибок, от английского «todebug»;
  3. «Релизить прогу» – означает выпуск программы в широкий доступ, когда онабудет доступна пользователям, от англ. «to release»;
  4. «Фейлить» или «факапить». Первое означает допустить небольшую ошибку впрограмме, второе — более серьезный провал, чем простая ошибка, от англ.«fail» и «fuck up»;
  5. «Тэдешка». Это сокращенное от словосочетания «техническаядокументация»;
  6. «Апликуха». Это странное слово обозначает «приложение», от англ.«application»;
  7. «Бэкапить». Сделать резервную копию, от англ. «to back up»;
  8. «Пушить». Употребляется в значении заставить что-то сделать, от англ. «topush»;
  9. «Дропнуть что-то». Означает «удалить» или избавиться от чего-то, от англ. «todrop»;
  10. «Валидный». Значит соответствует требованиям, то есть правильный, от англ.«to valid»;
  11. «Выкатить». В IT это слово принимает значение «опубликовать» или сделатьдоступным.
  12. «Кодер». Человек, который пишет код, в общем программист.
  13. «Костыль». Обозначает метод исправления ошибок в программе, безсерьезного вмешательства в систему, то есть сделать быстро , чтобыработало, но качество может хромать.
  14. «Песочница». Специально выделенное место в системе, чтобы можно былобезопасно выполнять непроверенные программы.
  15. «Рофлить». Означает «подшучивать» над кем-то без злого умысла, а чтобыпосмеяться.

На этом профессионализмы программистов не заканчиваются. Как мы уже говорилисписок этих сленговых слов постоянно пополняется. Если вы решили выбрать себепрофессию «программист», то со временем эти слова станут частью вашегособственного словарного запаса.

Поделись статьей с друзьями!

Баг

Так называют ошибку в приложении, сайте, в программе, которая приводит к тому, что продукт работает не так, как задумано.  В английском есть слово «bug» —  переводится оно как «жук». Баг могут найти на этапе тестирования или во время запуска. А иногда его обнаруживают когда продукт уже вовсю используется. Чаще всего ошибки возникают из-за невнимательности, но исправить их получается не так быстро.

Примеры употребления:

  • «Я нашёл этот баг»
  • «Нужно исправить баг прежде чем отправить на тестирование»

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

Профессия: Инженер по тестированию + курс по автотестам в подарок — Skypro

Тестировщик — Eduson Academy

Тестирование и процессы

Pen test – имитация кибератаки на систему для проверки слабых мест.Smoke test (дымовое) – тестирование софта на начальном этапе, которое определяет, является ли продукт стабильным и качественным. Состоит из минимального набора тестов для проверки программного обеспечения. Дымовые тесты выполняют каждый раз, когда команда получает новую версию системы, при этом считая ее относительно нестабильной.Load (нагрузка) – тестирование ПО, при котором элемент или систему подвергают повышенной нагрузке для изучения производительности. В качестве инструмента для анализа производительности сайтов можно использовать фреймворк.Регрессионное – тестирование программ, которое помогает убедится, что изменения или дополнения не нарушает всех функций. Регрессионное тестирование стоит проводить каждый раз после корректирования программы/сайта.Код-ревью – процесс улучшения качества кода и продукта в целом. Обеспечивается анализом начального кода – мануально или при помощи инструментов автоматической проверки.

Ф

Фаервол (от англ. «firewall») — антивирус (антивирусник), который защищает компьютер от вирусов. С английского означает «горящая стена» — здесь следует понимать стену, которая защищает другие здания от распространения пожара. Другое название — Brandmauer (в переводе с немецкого тоже означает «горящая стена»).

Факап (от англ. «fuck up») — неудача, провал, облом. Зачастую подразумеваются более-менее серьёзные ошибки.

Фидбек — от англ. Feedback — обратная связь.

Фича — функция, возможность. От англ. Feature.

Фриланс (от англ. «freelance») — работа из дому, вне штата, иногда на себя, которая приносит деньги и в которой нет постоянного заказчика/начальника.

Фрилансер (от англ. «freelancer») — человек, который занимается фрилансом.

Фреймворк — от англ. Framework — каркас. Инструмент разработки, набор типовых шаблонных решений, упрощающих работу программиста. Примеры: Laravel, Bootstrap.

Фронтенд — от англ. Front-end — клиентская часть приложения.

Галера

О галерах айтишники часто отзываются негативно. Всё потому, что это компании, нанимающие программистов и заключающие контракты с другими компаниями для предоставления им разработчиков. То есть они не создают ничего нового, а лишь  «торгуют» ценными сотрудниками. Звучит не очень приятно, но на практике такое встречается довольно часто. Галеры могут работать как с западным рынком, так и с местными компаниями. Хоть многие и считают такой подход к работе неправильным, для некоторых программистов опыт сотрудничества с подобными корпорациями помогает продвинуться в карьере и выйти зарубеж. Особенно актуально это для джунов, которые делают первые шаги в карьере. Но иногда галерой пользуются и сеньоры, чтобы получить руководящую должность в зарубежной компании, например. 

Примеры употребления:

  • «Пора увольняться из галеры»
  • «Галера получает прибыль за рабочие часы программиста»  

С

Сабж — от английского Subject — тема, предмет. «По сабжу» — по теме обсуждения.

Свитчнуть, свичнуть — переключить. От английского switch.

Сетка — модульная сетка, используется для дизайна и вёрстки страниц.

Сеньор, синьор — от англ. Senior — старший разработчик.

Слетело — сломалось.

Снести — удалить.

Стек — изначально абстрактный тип данных. В разговорной речи используется для обозначения списка технологий, которые использует разработчик или компания. Пример: «Наш стек — HTML/CSS, JavaScript, React».

Собес — собеседование.

Софт — от англ. Software — программное обеспечение.

Софт-скилы — от англ. Soft skills — знания и качества специалиста, прямо не связанные с профессиональной деятельностью. Примеры: коммуникабельность, проактивность.

B

Backbone.js — это популярный фреймворк Javascript, который используется для быстрого построения основы многих веб-приложений. Это значительно упрощает организацию кода Javascript в соответствии с популярными философиями дизайна.

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

Big Data — Большие данные является ключевым словом ссылкой примерно на данные, слишком большой , чтобы поместиться на одной машине. В качестве альтернативы он определяется как данные размером более 1 терабайта.

Bootstrap (Twitter) — библиотека — Twitter Bootstrap — это мощный и лёгкий набор инструментов для разработки интерфейсов и мобильных приложений. Это значительно упрощает работу с HTML, CSS и Javascript.

О

Object-Oriented Programming — объектно-ориентированное программирование является одним из наиболее популярных методик программирования в мире. Он организован вокруг концепции «объектов», каждый из которых содержит собственные данные и может управляться своими методами. Объектно-ориентированное программирование вынуждает программистов организовывать свой код таким образом, чтобы было легче поддерживать большие проекты.

Open-Source Software. Программное обеспечение с открытым исходным кодом — это любое программное обеспечение, выпущенное для общего пользования. Его можно модифицировать, улучшать и использовать в любом проекте. Одним из преимуществ подхода с открытым исходным кодом является то, что ошибки намного легче выявлять и исправлять.

Сленг айтишников

Алгос — сокращение от «алгоритмы». Используется для обозначения различных алгоритмических решений или методов в программировании.

Баг — ошибка или дефект в программном обеспечении. Используется для обозначения проблемы, которую необходимо исправить.

Дебаг — процесс поиска и устранения ошибок в программном коде. Включает отладку и тестирование программы для выявления и исправления проблем.

Драйвер — программное обеспечение, которое обеспечивает взаимодействие между операционной системой и аппаратными устройствами, такими как принтеры, сканеры, графические карты и другие.

Залипание — ситуация, когда компьютер или программа перестает отвечать на действия пользователя из-за зависания или ошибки.

Компиляция — процесс преобразования исходного кода программы на языке программирования в исполняемый код, который может быть запущен на компьютере.

Патч — небольшое обновление или исправление программного обеспечения, выпущенное разработчиками для устранения ошибок или улучшения функциональности.

Пингвин — отсылка к операционной системе Linux, которая использует изображение пингвина в своем логотипе и является популярной среди разработчиков и системных администраторов.

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

Стек — структура данных, которая представляет собой упорядоченный набор элементов, где добавление новых элементов и удаление существующих происходит по принципу «последним пришел — первым ушел» (LIFO).

Фреймворк — набор программных компонентов, инструментов и библиотек, которые предоставляют основу для разработки приложений. Фреймворк обеспечивает структуру, руководство и готовые решения для разработчиков.

Хакер — человек, обладающий высокими навыками в области информационной безопасности и компьютерных систем. Часто используется в контексте этического хакера, который проводит тестирование безопасности и обнаруживает уязвимости с целью улучшения системы.

Шардирование — метод разделения и распределения данных на несколько серверов или узлов с целью повышения производительности и масштабируемости системы.

Эскейпить — использование специальных символов или последовательностей для представления специальных значений или символов в строках или коде.

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

Разработка

Bug – ошибка в работе программного продукта, вызванная недоработанным кодом. Иногда слово используют в качестве прилагательного: «Твой код слишком забагованный».Cloud – ПО либо сервис, который работает онлайн, позволяет сохранять данные и работать с ними.MVP (Minimum Viable Product) – метод разработки, при котором на рынок выводят продукт с базовым функционалом. При этом расширенный продукт выпускают после сбора фидбека пользователей. Ведь продукт, который кажется разработчикам гениальным, может провалиться, если потребителям он не нужен. Поэтому разрабатывается упрощенная версия, после чего создатели продукта отслеживают: он «заходит» или нет?Pull request – предложение изменения кода в чужом репозитории (месте хранения пакетов ПО). Таким образом они попадают к хозяевам проекта.БД (база данных) – организованный набор данных, которые хранятся в электронном виде в компьютерной системе. БД бывают реляционными (данные хранятся в виде таблиц и строк) и нереляционными (хранятся в коллекциях документов JSON).Бекап – копия компьютерных данных, которую можно использовать в будущем для восстановления оригинала при потере данных.Библиотека – набор готового кода, который пользователи применяют для оптимизации задач. Например, библиотеку Pillow на Python используют для работы с графикой, Almanac Converter – для работы с датами и временем. А Scribe Java – простая в использовании библиотека для авторизации пользователей.
Некоторые слова, которые приводим ниже, знакомы людям не из сферы IT, однако часто они обозначают совсем другое. Приводим примеры.Компилятор – программа, которая переводит компьютерный код, написанный на одном языке программирования (начальный), на другой (целевой язык).Опенсорс – подход к созданию программ с открытым начальным кодом или программа с открытым начальным кодом. Примеры Open Source проектов: браузер Firefox, Google Chrome, системы управления контентом сайта WordPress и Drupal, виртуальные планетарии NASA World Wind и Google Sky.Пет-проект – второстепенный проект, которым разработчик может заниматься в свободное от работы время. Часто такие мини-проекты разрабатывают для прокачки скиллов. Например, если надо выучить новый язык программирования или освоить незнакомые технологии.Фича – функция или особенность продукта. Различают несколько видов фич.Базовая фича – основная функция продукта. Например, базовая фича мессенджера – пересылать сообщения.Wow-фича – функция, которая может сделать пользователя фанатом продукта. Примеры: автоматическое отключение утюга или фронтальная камера

Важно: wow-фича быстро теряет уникальность, потому что ее активно начинают внедрять у себя в проекте конкуренты.Killer-фича – уникальная особенность продукта, выделяющая его среди конкурентов.Фреймворк – заранее подготовленный набор решений для разработки. Под «капотом» фреймворка – масса нюансов: работа с файловой системой и базами данных, обработка ошибок, защита паролем и другие

Например, Angular.JS – JavaScript-фреймворк от Google для динамических веб-приложений. А Bootstrap используют для создания сайтов с адаптивной версткой.Usability – оценка простоты использования программы или веб-сайта. Оценивают юзабилити функций, интерфейса и навигации. Например, если пользователь путается в навигации сайта, не может зарегистрироваться или провести онлайн-платеж, уровень usability веб-ресурса можно считать низким.

J

Java — один из наиболее широко используемых языков программирования в мире. Как гибкий, объектно-ориентированный язык общего назначения, он используется в самых разных областях, таких как искусственный интеллект и разработка приложений для Android.

JavaScript — наряду с HTML и CSS, JavaScript является одним из основополагающих языков современной веб-разработки. JavaScript обычно используется для того, чтобы сделать доступный пользователю веб-контент динамичным . Примеры включают формы с автозаполнением или анимацию, которая запускается, когда пользователь достигает определённой точки на веб-странице.

JQuery — одна из самых популярных библиотек JavaScript, и её цель — сделать создание анимации и графики как можно более простым. Хотя JavaScript — мощный инструмент, для выполнения определённых задач может потребоваться много кода. JQuery сокращает эти требования к коду.

JSON — объектная нотация JavaScript — это альтернатива XML, используемая для отправки структурированных данных между веб-приложением и его сервером.

Junior Developer — разработчиков начального уровня иногда называют » младшими разработчиками «, чтобы отличить их от более опытных старших разработчиков. После того, как вы закончите учебный курс по программированию, вы будете достаточно квалифицированы, чтобы занять должности младшего разработчика.

DRY

Начнём с элементарного сокращения, которое наверняка попадалось вам много раз. DRY (англ. dry — сухой, сушить) — основополагающий принцип разработки. Он расшифровывается как Don’t repeat yourself — «не повторяйтесь».

Когда пишете код, всегда думайте о том, как можно переиспользовать тот или иной фрагмент, что можно выделить в универсальную функцию или класс, сделать модулем. При этом речь не идёт о создании библиотек под каждую неодноразовую функцию — я имею в виду очень похожую логику, которая встречается в нескольких местах, которую, возможно, есть смысл вынести в функцию. А если в нескольких местах определена одна и та же функция, то её можно вынести в общий модуль. Ну и, наконец, если вы часто используете один и тот же модуль, вероятно, из него можно сделать библиотеку.

Другими словами, don’t repeat yourself, понимаете?

Этот принцип полезен всегда, вне зависимости от платформы или языка. Допустим, вам надо автоматизировать некое поведение. Чтобы не прописывать несколько раз одну и ту же логику и не раздувать код без нужды, попробуйте обобщить её и вынести в отдельный элемент.

Лайфхак: принцип DRY не нужно ограничивать одним репозиторием. Чтобы упростить доступ к модулям или компонентам при работе с разными репозиториями, используйте Bit (вот его страница на GitHub). Он поддерживает Node.js, TypeScript, React, Vue.js, Angular и другие фреймворки.

PoC

В отличие от MVP, который требует серьёзного планирования и больших затрат на разработку, Proof of concept (доказательство концепции) обычно представляет собой его урезанную версию. Он используется на этапе до MVP и предназначен только для того, чтобы подтвердить или опровергнуть необходимость дополнительной функциональности.

По сути, PoC — своего рода расходный материал, временный код. Его пишут не для реализации, а для демонстрации проекта. Включать PoC в реальный продукт, в принципе, можно, но имейте в виду, что для доказательства одной концепции, бывает, приходится создавать несколько PoC. Корпеть над ними всеми, чтобы получить в итоге один актуальный продукт, — так себе идея. Так что его намеренно говнокодят, чтобы потом было не жалко выбрасывать.

А

Agile Software Development. Гибкая разработка программного обеспечения. Гибкая методология разработки программного обеспечения — это распространённая парадигма. Проекты организованы на основе «спринтов», которые обычно длятся около недели. Кодировщикам рекомендуется писать простые программы. Которые часто тестируются, и выполнять свою работу небольшими этапами, а не одним завершённым фрагментом. Это позволяет быстро создавать прототипы, выполнять быструю итерацию и рано обнаруживать ошибки.

AJAX — этот акроним означает » асинхронный JavaScript и XML «. AJAX — это не отдельный язык, это совокупность методов, использующих ряд клиентских технологий, которые позволяют создавать контент, который обновляется асинхронно. Примером использования является развёртывание AJAX для обновления некоторых частей веб-страницы без необходимости перезагрузки всей страницы.

Algorithm — алгоритм, это набор шагов, необходимых для достижения цели. Практически любой набор последовательных действий, включая приготовление чая или поездку на работу, можно рассматривать как алгоритм, но мы обычно обсуждаем алгоритмы в контексте информатики. Языки программирования — это то, как мы обычно предоставляем компьютерам алгоритмы, которые мы хотим, чтобы они выполняли.

Angular.js  — популярный фреймворк Javascript, поддерживаемый Google. Как часть стека MEAN (MongoDB, Epress.js, Angular.js, Node.js), AngularJS позволяет радикально расширять HTML в процессе создания динамических веб-приложений. Это значительно упрощает многие части разработки внешнего интерфейса.

Artificial Intelligence — искусственный интеллект по-разному определяют почти всё, кто его изучает. Но в самом широком смысле это попытка создать машины, способные наблюдать, рассуждать и действовать разумным образом.

Apache HTTP Server. Веб-сервер Apache — это программное обеспечение с открытым исходным кодом. Работающее на более чем половине всех веб-серверов в мире. Веб-серверы являются неотъемлемой частью процесса доступа к веб-странице. А HTTP-сервер Apache — один из самых популярных способов решения этой внутренней задачи. По этой причине он является частью стека LAMP (Linux, Apache, MySQL, PHP).

API — интерфейс прикладного программирования (API) — это программное обеспечение, которое стоит между двумя приложениями и позволяет им общаться друг с другом. Примером использования может быть новостной веб-сайт с API, который позволяет сценарию Python захватывать ежедневные заголовки.

Apprenticeship — ученичество — это отношения, в которых ученик работает в тесном сотрудничестве с одним или небольшим количеством квалифицированных людей, чтобы повысить свои навыки в обмен на выполнение низкоуровневых задач. Стажировки — большая и постоянно растущая часть процесса обучения для программистов, специалистов по обработке данных и специалистов в области технологий.

Asynchronous Programming Languages (Языки асинхронного программирования) — асинхронные языки предназначены для обработки задач обработки не по порядку. Всё больше и больше людей в Интернете обращается к асинхронной обработке для обработки больших объёмов трафика.

Rate article