что такое php сленг
«Не баг, а фича» — учимся понимать язык программистов
Понять смысл IT-терминов можно, только узнав, как они употребляются
Программисты говорят на особом языке, в котором полно терминов и сленга. Эта речь не всегда понятна не только обычным людям, далёким от компьютеров, но и начинающим айтишникам — новичкам в разработке.
Есть куча статей, объясняющих смысл терминов, но неподготовленному человеку от них мало пользы. И если вы общаетесь с программистами или собираетесь стать одним из них, то, скорее всего, во всём придётся разбираться самостоятельно. Иначе можете оказаться в ситуации, похожей на ту, что в клипе:
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Гораздо проще понять, что значит «пичупидо», если знать контекст, в котором употребляются все эти слова. Поэтому попробую объяснить некоторые термины и сленг на примере истории одного программиста (вымышленного).
Дисклеймер. Все совпадения случайны, а персонажи и ситуации вымышлены. В художественных целях они наделены негативными качествами, поэтому не берите с них пример: это касается как профессиональных качеств, так и отношения к алкоголю, курению и энергетическим напиткам. Также некоторые слова используются и в других сферах.
Новая задача
Ваня — обычный джун в веб-студии. Его работа — поддержка бэкенда сайтов старых клиентов студии.
Джуниор ( англ. junior — младший) в данном случае — младший разработчик в веб-студии. Также бывают мидл- ( англ. middle — средний) и сеньор-разработчики ( англ. senior — старший).
Бэкенд или бэк ( англ. back end — задний край) — серверная часть сайта или приложения, которая нужна для обработки и хранения данных. Его противоположность — фронтенд или фронт ( англ. front end — передний край) — видимая часть приложения или сайта. Если же разработчик занимается сразу фронтендом и бэкендом, его называют фуллстек-разработчиком ( англ. full stack — полная куча / полный набор).
Рабочая неделя Вани начинается с митингов, потому что спринт в его компании длится всего неделю.
Митинг — собрание, на котором обсуждается, что успели или не успели сделать сотрудники, а также чем они будут заниматься в новом спринте.
Спринт — период от одной до четырёх недель, за который сотрудники должны успеть выполнить задачу или задачи. Спринты являются частью Скрам.
Скрам ( англ. scrum) — метод управления проектами. Относится к гибкой методологии разработки эджайл ( англ. agile — гибкий).
На этот раз он получил задачу по добавлению валидации в один из интернет-магазинов. До этого вся валидация была на стороне пользователя.
Валидация — проверка данных, которые вводит пользователь.
До пятницы ещё целая неделя, поэтому с митинга Ваня пошёл сразу в курилку. Достав сигарету, он стал слушать разговор мидла и сеньора:
— Недавно залез в репозиторий, а там одни foobar’ы. Целый час голову ломал, а потом махнул рукой и заново переписал.
— Как наберут новых джунов, так всегда говнокод появляется. Как он вообще код ревью проходит?
— Надо проверить в гитхабе историю коммитов.
Тут Ваня поперхнулся, затушил сигарету и заторопился на рабочее место — от греха подальше.
Репозиторий — хранилище исходных файлов проекта.
Foo и Bar — имена функций или переменных, по которым невозможно понять, зачем они нужны. Использование таких имён допускают в учебниках и документации, но не в реальных проектах, потому что они замедляют чтение и понимание кода другими программистами.
Говнокод — очень плохой код.
Код ревью — проверка кода.
Гитхаб — сервис для хранения репозиториев IT-проектов и совместной работы над ними.
Коммит — запись изменений в репозиторий. Коммит содержит в себе данные об изменениях, комментарий и имя автора коммита.
У стола его уже ждал тимлид:
— Ваня, после того как ты добавил функцию загрузки фотографии в личном кабинете, появился баг. Теперь всё ломается, если ввести промокод.
— Вы уверены, что это из-за меня? Мой код вообще промокодов не касался.
— Уверен. Откати сайт и исправь всё до конца недели — нельзя ждать, пока клиент заметит, что одна из фич пропала.
— Но у меня уже есть задача на эту неделю, я не успею всё исправить.
— Это далеко не первый твой факап, поэтому, если не успеешь, мы поставим новый рекорд — так быстро мы джунов ещё не увольняли.
Тимлид ( англ. team leader — лидер команды) в данном случае — программист, который выполняет роль менеджера. Тимлид редко пишет код, вместо этого он следит, чтобы его команда хорошо справлялась с задачами.
Баг ( англ. bug — жук) — неожиданный результат или неожиданное поведение программы, ошибка.
Откатить ( англ. rollback) — отменить изменения, вернуться к прошлой версии.
Фича ( англ. feature — особенность) — полезная (а иногда забавная) функция / особенность программы.
Исправление багов
Дебажить было сложно, но Ваня не мог облажаться и в этот раз. За год его уже успели уволить из трёх компаний, после четвёртого увольнения его резюме будет испорчено окончательно.
Дебаг (англ. 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) — процесс перевода кода в рабочее приложение, чтобы запустить его на каком-нибудь компьютере.
Воодушевлённый успехом, Ваня ещё раз всё протестировал, поэтому к следующему митингу он был спокоен — больше исправлять старые баги ему не придётся.
По крайней мере на этот спринт.
Заключение
Научила ли чему-нибудь Ваню эта история? Возможно. Но вы наверняка стали на один шаг ближе к пониманию программистов. Или даже к тому, чтобы стать одним из них.
Что такое PHP и почему его все ненавидят
Несмотря на то, что 83% сайтов в интернете работают на PHP.
История языка
Изначально PHP расшифровывался как Personal Home Page Tools — инструменты для создания персональных страниц. Дело в том, что раньше, чтобы сделать функциональный сайт, чаще всего использовали C, Perl и CGI-скрипты. Звучит сложно, на деле — тоже сложно. Единственным способом сделать что-то своё и не изучать при этом три тома по программированию был PHP.
Например, можно сделать так:
Привет! А вы знаете, что
В результате на странице получится строчка: «Привет! А вы знаете, что этот код написан на PHP?»
Ещё можно создавать целые PHP-файлы и писать весь код там, а потом просто подключать эти файлы в нужный момент. Получается, что с PHP можно работать в двух режимах: писать код прямо в коде страницы или выносить всё в отдельные файлы.
PHP — это просто
Именно простота этого языка принесла ему дурную славу: слишком много появилось плохого кода, который на первый взгляд работал хорошо. Посмотрите сами: начать писать на PHP действительно просто.
Комментарии и точка с запятой. Комментарии можно ставить в любом месте — достаточно написать два слеша подряд. А точка с запятой ставится после каждой команды — точно так же, как в С, Pascal, JavaScript и ещё в сотнях других языков.
Объявление переменных. Чтобы объявить переменную, нужно просто поставить знак доллара, после него написать название переменной и присвоить ей какое-то значение.
Вывод на экран. В HTML-коде достаточно вставить команду echo, которая помещает текст в то место, откуда вызвали команду. Например, этот код покажет заголовок первого уровня с текстом «Заголовок, собранный на PHP»:
И этот код сделает то же самое:
Ещё в PHP есть классы и объекты, автоматическое приведение типов (хотя мало кто понимает, как оно там работает в сложных примерах) и множество встроенных функций, которые упрощают разработку и помогают быстро писать код. А самое главное — PHP сам заставляет работать любой код, если он хоть как-то написан по правилам языка. Даже если внутри будет полная чушь, но похожая на PHP-код — интерпретатор его старательно выполнит, и, скорее всего, многое из этого будет даже работать.
Для чего нужен PHP
Собирать страницы из модулей. Если помните, PHP-код можно встраивать в HTML-страницы, а можно сохранять как отдельные файлы. В этом случае мы получаем мини-модули, каждый из которых отвечает за что-то одно. Например, в одном мы пишем, как будет выглядеть шапка сайта, в другом — меню, третий файл будет отвечать за подвал, четвёртый — за блок с отзывами о товарах.
Если у нас интернет-магазин и на каждой странице товара нужно показать шапку сайта и подвал, можно каждый раз прописывать это вручную, а можно собрать на PHP. Для этого достаточно в теле страницы написать что-то такое:
PHP возьмёт файл header.php, в котором мы написали, как должна выглядеть шапка сайта, и поставит её в начало страницы. То же самое сделает и с подвалом — файлом footer.php, и так будет на каждой странице товара. Получается, что нам не нужно писать один и тот же код шапки и подвала на каждой странице, достаточно сделать это в одном месте, а потом подключать одной строчкой.
Создавать CMS и движки для сайтов. Такие модульные возможности PHP привели к тому, что большинство современных систем управления контентом на сайтах написаны на PHP. Смотрите сами:
Если вы на бесплатном хостинге используете какой-то инструмент для создания или поддержки сайта, скорее всего, он тоже будет написан на PHP.
Работать с формами и данными на странице. HTML плохо умеет работать с формами и отправлять куда-то данные, которые вы вводите в поля регистрации. PHP справляется с этим гораздо лучше: вы говорите, из какого поля что нужно взять и по какому адресу отправить, а всё остальное интерпретатор делает за вас.
Запоминать пользователей и делать формы авторизации. Если вам нужно быстро написать свою форму регистрации на сайте или запоминать посетителей даже без регистрации, то PHP — самый простой вариант решения этой задачи. Единственное, что нужно знать — как работать с базами данных, где хранятся записи о пользователях, потому что PHP это тоже умеет.
Почему все ненавидят PHP
По старой памяти, когда ужасного кода было много. Простота вхождения в этот язык привела к тому, что невозможно было нормально поддерживать сайт, написанный кем-то на PHP. Этот язык позволял раньше (сейчас меньше, но тоже есть) много вольностей с типами данных, переменными, обращениями к базе данных, поэтому разобраться было почти нереально.
Кроме этого, раньше в PHP было много уязвимостей, через которые можно залезть в базы данных пользователей или что-то поломать на сайте. В новых версиях большинство дыр уже устранили, но тогда это стало реальной проблемой.
Смешанный код. Писать в одном файле на PHP и HTML можно, если у вас всего одна форма обратной связи. Но когда весь сложный код на PHP расползается по всей странице, то это сильно мешает разобраться, что же там происходит на самом деле.
Любые переменные в любом месте. Понадобилась новая переменная? Объявите её на любом участке кода и сразу берите в работу. Это удобно для первоначальной разработки, когда ты просто берёшь новую переменную там, где она понадобилась, и делаешь с ней что хочешь. Но когда проходит время или кто-то другой хочет разобраться в коде, то такой подход сильно затрудняет работу.
Например, можно написать так:
Когда новый программист захочет понять, за что отвечают переменные а и b, он найдёт место, где они объявляются, и посмотрит, какого они типа и для чего использовались вначале. Но разработчик мог в процессе передумать и начать использовать эти переменные для других целей с новыми типами данных. Чтобы это понять, нужно просмотреть весь код и разобраться в логике, а это долго и трудно.
Стоит ли учить PHP?
Зависит от задачи. Дело в том, что не менее 80% сайтов уже сейчас работают на PHP: это значит, что их нужно будет еще какое-то время поддерживать. Ещё лет 5–10 спрос на PHP точно будет.
Однозначно стоит учить PHP, если хотите работать с Вордпрессом, Друпалом, Джумлой и другими известными системами управления сайтами. Они написаны на PHP, и все надстройки и дополнения — тоже. Хороший разработчик WordPress сейчас на вес золота.
Будут ли веб-разработчики массово переходить на другие технологии — вопрос открытый. Сейчас, если вы покупаете виртуальный хостинг, вам сразу включают интерпретатор PHP, потому что все его используют. А другие технологии типа Python или Node.js — не включают, их нужно устанавливать отдельно.
Но ведь и веб — это не навсегда. Ещё лет 20, и понятие веб-сайта может безнадёжно устареть, потому что люди будут в приложениях, соцсетях или ещё где похуже.
Наверное, ответ на вопрос такой: если вам до 20 лет, то уже не надо учить PHP. А если ближе к 40–50 и вы хотите заниматься вебом — то определённо да.
Что дальше
В следующей серии попрактикуемся в PHP — напишем свой код для пользы дела или для развлечений.
20 сленговых выражений, которые знает каждый программист, но не понимает обычный человек
Айтишники говорят на особом языке — малопонятном англо-русском диалекте. Несмотря на то, что большинство слов из сленга программистов — англицизмы, знание английского не поможет понять, о чем речь.
Например, слово пушить, образованное от английского «push», — нажимать, давить, означает загружать код на сервер GIT — систему отслеживания версий.
Составил список из 20 «айтишных» выражений, которые нужно знать человеку, прежде чем заговорить с программистом 👨💻
1. Аппрувить (от англ. «approve») — согласовать.
2. Баг (от англ. «bug») — ошибка в коде, из-за которой программа дает сбой или работает неправильно.
3. Багрепорт (от англ. «bug report») — сообщение или отчет об ошибке, которая привела к сбою в работе программы.
4. Битый — нерабочий. Если при переходе по ссылке, вылезает сообщение, что страница не найдена, значит, ссылка битая.
5. Бэкапить (от англ. «back up») — сохранять резервную копию. Бэкапить информацию надо как можно чаще, чтобы была возможность вернуть удаленные данные, или сохранить проделанную работу, если произойдет системный сбой.
6. Бэклог (от англ. «backlog») — список функций в порядке приоритета для реализации в следующих версиях продуктов.
7. Говнокод — код, который не подходит под определение хорошего кода. Хороший код — это компромисс между оптимальным кодом в части быстродействия, расширяемостью и читабельностью. Нетолерантные к чужой работе программисты часто употребляют слово говнокод в своем лексиконе.
8. Индусский код — код, написанный длинно и витиевато. Все потому что в Индии платят программистам за каждую строчку кода. Особо сообразительные специалисты прописывают лишние бесполезные строки.
9. Костыль — криво, но быстро реализованное решение проблемы в коде. Временная мера, которая поддерживает программу в рабочем состоянии, пока айтишники работают над трудоемким решением. Нередко работающий костыль остается на века и служит стабильнее «правильно написанной вещи» 😁
10. Крипово (от англ. «creepy») — страшно.
11. Разраб — сокращение от разработчик, но с намеком на тяжелый и подневольный труд.
12. Сейвить (от англ. «save») — сохранить изменения.
12. Спринт (от англ. «sprint») — отрезок времени, забег, за который команда разработчиков добавляет продукту новые функции.
13. Таски (от англ. «task») – задачи.
14. Тултип (от англ. «tooltip»)— всплывающая подсказка, которая появляется при наведении курсора.
15. Факап (от англ. «fuck up») — провал задачи, важного дела.
16. Фиксить (от англ. «fix») — исправлять ошибки в коде.
17. Фича (от англ. «feature») — особенность, фишка продукта. В интернете гуляют мемы и шутки на тему: «Это не баг — это фича». Иногда сложно с первого взгляда понять, программная ошибка перед тобой или новая возможность.
18. Хард скиллы (от англ. «hard skills») — технические навыки.
19. Чекнуть (от англ. «check») — проверить.
20. Шерить (от англ. «share») — предоставлять доступ к каким-либо данным.
А какими словами из айтишного сленга вы можете дополнить этот список?
А мержить?!
Какой пул реквест без этого?
Где подробнее прочитать про бэклог? Как составлять, как вести, какими инструментами по каким методикам?
А то все говорят, но никто не знает)
Виталий, почитайте вот эти статьи:
Сегодня, по ходу, День знаний 🤔
Руководитель компании «Мастерская цифровых решений»
Составил список из 20 «айтишных» выражений
А что вас собственно смущает?)) Вообще я 20 лет в энергетике, но последний год руковожу IT-компанией, которая разрабатывает продукты для автоматизации процессов в электроэнергетике.
Вообще-то это плохо скрываемая белая зависть была, а не робкое смущение 🤭
Не поделитесь случаем с электриком изучающим программирование, какие именно процессы автоматизируете для энергетической отрасли? )
Искандер, конечно, поделюсь)
У нас есть продукт GIPRO, можете посмотреть по ссылке gi-pro.ru. Это платформа, интегрированная с сайтом Минэнерго, в ней сейчас собрано 88 тысяч инвестиционных проектов 22 электросетевых компаний ПАО «Россети». Вся информация обработана методом Big Data, структурирована, есть удобные фильтры по параметрам, а также инструменты для автоматического расчета стоимости проектов по УНЦ. Реализована привязка к госзакупкам.
Соответственно GIPRO автоматизирует процесс инвестиционного планирования в части расчетов стоимости проектов. Также платформа полезна проектным, строительным институтам, подрядчикам, которые могут быстро получить полную информацию по текущим и будущим проектам.
Есть продукт Easy Task – система управления проектами, специализированная под проектные институты. Есть видеогид по функциям, посмотрите, если интересно: https://www.youtube.com/watch?v=ezkM47Kyxrk
С Изи Таском под импортозамещение ПО попадаете в госзакупках?
Это может быть связано с экспортными ограничениями в США.
Что такое php?
Что такое PHP? Это язык программирования с открытыми исходными кодами, над развитием которого работают программисты-энтузиасты со всего мира. Он имеет простой синтаксис, частично похожий на Java и С++. Это постоянно развивающийся проект, на данный момент актуальной является 7-я версия языка. По статистике, каждый шестой программный продукт создан на PHP.
Сферы применения PHP
Сегодня выделяют три основных области использования PHP:
Ключевые преимущества
Популярность PHP обусловлена его следующими достоинствами:
История развития, внедрение ООП
В 2000 году была выпущена 4-я версия PHP с полностью переработанным движком, получившим название Zend Engine. Приложения, написанные на PHP 4.0, стали работать заметно быстрее, возросла их безопасность и стабильность. Кроме того, была реализована поддержка сессий, добавлены новые языковые конструкции, внедрена буферизация выводимых данных.
Пятая версия PHP создана на обновленном движке Zend Engine 2. Основные нововведения:
Реализация 6-й версии была признана провальной из-за проблем с поддержкой Юникода. В 2014 году было принято решение начать разработку обновленной версии языка, получившей название PHP 7. Она была представлена в 2015 году. Значительные изменения в движке позволили добиться существенного прироста производительности и снижения потребления памяти. В язык добавлены контроль типов данных, возможность явного указания типа значения, возвращаемого методом, некоторые новые языковые конструкции.
Изначально PHP являлся языком функционального программирования. Созданные на нем сценарии представляли собой наборы функций, код которых выполнялся последовательно по мере их вызова. Существенным недостатком такого подхода к реализации приложений является сложность чтения кода и, соответственно, внесения исправлений или добавления функционала в дальнейшем.
В последних версиях PHP была реализована поддержка ООП. Это методология программирования, согласно которой приложение представляет собой набор взаимосвязанных объектов, обладающих собственными свойствами и методами (аналоги функций). Для описания свойств и допустимых действий над объектами используются так называемые классы. ООП обуславливает удобочитаемость кода, способствует созданию четкой структуры (иерархии классов благодаря реализации механизма наследования).
Примеры синтаксиса
PHP используется для создания полноценных веб-приложений (реализации с применением ООП-подхода), так и для написания небольших скриптов. Рассмотрим пример простого класса:
Что такое php-скрипты? Пример скрипта, встроенного в HTML-документ:
В данном случае функция echo добавит заголовок «h2» в HTML-документ.
Методы запуска интерпретатора языка
SAPI PHP может быть запущен следующими способами:
Фреймворки и готовые платформы для сайтов, созданные на PHP
Что такое php-фреймворк или движок сайта? Фреймворки и CMS представляют собой ПО, созданные на ЯП (в данном случае PHP), упрощающие процесс написания приложений. Код PHP положен в основу таких популярных движков, как WordPress, Joomla, Drupal, OpenCart, а также следующих фреймворков: Yii, Zend, Kohana, Symfony и прочих.
Недостатки PHP
Несмотря на неоспоримые преимущества PHP, некоторые разработчики выбирают прочие языки (например, Python, Ruby) по следующим причинам:
Все же PHP не теряет своей популярности. Многие крупные проекты, например Facebook и Wikipedia, созданы с использованием этого ЯП. Отсюда можно сделать следующий вывод:
Попробуйте наш качественный PHP хостинг 7 дней бесплатно. При оплате любого тарифного плана на 12 месяцев домен в подарок. А еще у нас самая лучшая техническая поддержка круглосуточно готова поддерживать пользователей 🙂