Понимаем сленг программистов: мини-словарь для начинающих разработчиков
Начинающие разработчики не сразу понимают старших товарищей. Фразы вроде «я апишку свитчнул» или «заимпорти другую либу» звучат для новичков как лекция по математическому анализу для первобытного человека. Поэтому мы решили сделать небольшой словарь профессионального сленга программистов.
Слова и фразы в словаре отсортированы по алфавиту. Кстати, словарь можно дополнять. Пишите в комментариях термины, с которыми вы сталкивались на работе.
Бесплатные курсы по программированию в Хекслете
- Освойте азы современных языков программирования
- Изучите работу с Git и командной строкой
- Выберите себе профессию или улучшите навыки
А
Адаптив — адаптивный дизайн, адаптация интерфейса к использованию на разных экранах.
Аджайл — от англ. Agile. Общий термин, который описывает ценности и принципы гибкой разработки программного обеспечения, а также практические подходы к разработке. Понятие Agile стало популярным после публикации Манифеста гибкой разработки программного обеспечения в 2001 году.
Айдишник — id, идентификатор.
Альфа — этап разработки программного обеспечения, на котором разработчики добавляют в программу новые функции, а тестировщики испытывают программу. Это внутренний или непубличный этап.
Апишка — API, программный интерфейс приложения или интерфейс прикладного программирования.
Апрув, апрувнуть — от англ. Approve. Одобрение, одобрить, утвердить.
Аутсорс — аутсорсинг, передача компанией части операционной деятельности другой компании.
Б
Баг — от англ. Bug — жучок, клоп. Ошибка в программе.
Бахнуть — что-то быстро сделать, изменить или дополнить функциональность приложения.
Бета — бета-версия, приложение на стадии публичного тестирования.
Бот — сокращение от «робот». Ботом называют программу, которая автоматизирует интерфейс. Пример — автоответчик в чате.
Бэкап, бэкапить — резервная копия или процесс создания резервной копии приложения.
Бэкенд — от англ. Back-end. Программно-аппаратная или серверная часть приложения.
Бэклог — от англ. Backlog. Перечень рабочих задач команды разработчиков, упорядоченный по приотритету.
В
Ворнинг — от англ. Warning — предупреждение. Предупреждающее сообщение в интерфейсе.
Войтивайти — шуточное выражение, обозначает процесс переквалификации далекого от IT-сферы специалиста в разработчика.
Выкатить — сделать доступным для пользователей. Например, «выкатили новую версию сайта» значит сделали новую версию сайта доступной для пользователей.
Выпадашка — выпадающее меню, то же, что и «дропдаун».
Г
Галера — компания, в которой платят низкие зарплаты и не ценят разработчиков.
Гит — система контроля версий Git или сервис GitHub.
Г****окод — плохой, некачественный код. Объяснение термина есть в статье нашего студента.
Градиент — плавный переход из одного цвета в другой.
Грумить — от англ. Grooming. Приводить в порядок, «причесывать».
Д
Движок — в веб-разработке так называют системы управления контентом.
Дебажить — устранять ошибки, баги.
Деплой, деплоить — развёртывание, публикация рабочей версии приложения. Пример: задеплоить сайт — перенести сайт с тестового на рабочий сервер, сделать его доступным для пользователей.
Джун, джуниор — от англ. Junior. Младший разработчик. Специалист без опыта или с минимальным опытом работы.
Дезигнер — презрительно-снисходительное название дизайнера.
Докеризировать — завернуть приложение в докер (платформу для разработки, доставки и запуска контейнерных приложений).
Драй — от англ. DRY, don’t repeat yourself. Принцип программирования, предлагающий избегать повторений кода.
Дропдаун — выпадающее меню, то же, что и «выпадашка».
Дропнуть — от англ. Drop. Удалить, отключить, сбросить или обнулить что-либо.
Ж
Жаба — язык программирования Java.
Жабаскрипт — язык программирования JavaScript.
З
Залить — загрузить. Например, «залить файлы на сервер».
Запилить — сделать что-то, добавить какую-то функциональность.
Змея — язык программирования Python.
И
Исходник — файлы, в которых находится исходный код приложения, или сам исходный код.
Итерация — повторение. «Мы сделали несколько итераций» — мы повторили шаг несколько раз.
Бесплатные курсы по программированию в Хекслете
- Освойте азы современных языков программирования
- Изучите работу с Git и командной строкой
- Выберите себе профессию или улучшите навыки
К
Колл — от англ. Call. Созвон, онлайн-конференция, онлайн-совещание.
Коммит, коммитить — от англ. To commit — совершать. В контексте работы над приложением — сохранять код в репозитории.
Копипаста — от англ. Copy-Paste. Скопированный откуда-то код.
Костыль — код, который нужен, чтобы исправить несовершенство ранее написанного кода.
Л
Легаси — от англ. Legacy. Морально устаревший код, который не обновляется, но используется. Или код, который разработчик получил по наследству от предыдущих разработчиков.
Либа — от англ. Library — библиотека. Речь идет о библиотеках кода, например, React.
Линтер — общее нарицательное название программ, которые анализируют код и предупреждают разработчика об ошибках.
Лист — от англ. List — список.
Локалка — локальный. Например, локальный сервер или сеть.
М
Мидл — от англ. Middle — средний. Уровень разработчика, следующий за джуниором. Опыт и уровень знаний миддла позволяет ему самостоятельно решать серьезные задачи.
Мёржить — от англ. Merge, сливать. Речь идет об объединении или слиянии веток кода.
Меншить — от англ. Mention — упоминание. Упоминанать в чатах или соцсетях. «Менши меня, когда будет готово» значит «упомяни меня, когда будет готово».
Н
Навбар — навигационный блок на сайте или в интерфейсе программы.
Накатить — внести изменения, задеплоить новую версию приложения. Противоположное термину «откатить».
О
Опенсорс, опен-сорс — от англ. Open Source. Программное обеспечение с открытым исходным кодом.
Откатить — удалить изменения, вернуть предыдущую версию приложения. Противоположное термину «накатить».
Ось — операционная система.
П
Падаван — ироничное название стажера или джуниора.
Пилот — пробная (пилотная) версия продукта.
Питон — язык программирования Python.
Подвал — то же, что и «футер». Элемент структуры страницы, который находится в нижней части и содержит служебную информацию — контакты, ссылки на соцсети, публичная оферта и т. д.
Поплыла вёрстка — некорректное отображение страницы в браузере.
Продакшн или продакшен (продакшн-код) — обозначение кода для рабочей версии приложения.
Пушить — использовать команду push, публиковать что-то.
Пэхапэ — язык программирования PHP, то же, что и «пыха».
Пыха — язык программирования PHP, то же, что и «пэхапэ».
Р
Рекурсия — описание процесса с помощью самого процесса. Например, выражение «рекурсивный вызов функции» описывает ситуацию, в которой функция вызывает сама себя.
Релиз — программное обеспечение на стадии публичного использования. Стабильная версия программы, которая прошла тестирование.
Релокация — перевод сотрудника или бизнеса в другое место внутри страны или за границу.
Репа — репозиторий, хранилище данных. Например, код программы можно хранить в репозитории на GitHub.
Ридми — файл Readme, в котором содержится информация о программе.
Ругаться, например, линтер ругается — сообщения об ошибках в коде, работе сервиса и так далее.
С
Сабж — от английского Subject — тема, предмет. «По сабжу» — по теме обсуждения.
Свитчнуть, свичнуть — переключить. От английского switch.
Сетка — модульная сетка, используется для дизайна и верстки страниц.
Сеньор, синьор — от англ. Senior — старший разработчик.
Сорец (Сорцы) — от англ. Source. Исходный код.
Стек — изначально абстрактный тип данных. В разговорной речи используется для обозначения списка технологий, которые использует разработчик или компания. Пример: «Наш стек — HTML/CSS, JavaScript, React».
Софт — от англ. Software — программное обеспечение.
Софт-скиллы — от англ. Soft skills — знания и качества специалиста, прямо не связанные с профессиональной деятельностью. Примеры: коммуникабельность, проактивность.
Спринт — короткий промежуток времени (до 4 недель), в течение которого scrum-команда выполняет определенный объем работы.
Читайте также: Как джуну найти работу и где лучше начинать карьеру в IT: советы от Хекслета
Т
Таска — от англ. Task. Задание, задача.
Темплейт — от английского Template — шаблон.
Тестировщик — специалист по тестированию программного обеспечения.
Тимлид — от английского Team Lead — руководитель команды. Координатор группы программистов.
У
Убить — удалить что-то. Например, «убить профиль» означает удалить профиль.
Ф
Фидбек — от англ. Feedback — обратная связь.
Фиксить, пофиксить — от англ. Fix. Чинить, починить, исправить.
Фича — функция, возможность. От англ. Feature.
Фреймворк — от англ. Framework — каркас. Инструмент разработки, набор типовых шаблонных решений, упрощающих работу программиста. Примеры: Laravel, Bootstrap.
Фронтенд — от англ. Front-end — клиентская часть приложения.
Х
Хатэмээль, хатээмэль — HTML, язык гипертекстовой разметки.
Хардкодить — статически прописывать в коде данные, которые должны вычисляться динамически. Плохая практика, антипаттерн в программировании.
Хацкер, кулхацкер — ироничное название начинающего специалиста, который считает себя опытным программистом. От английского Hacker и Cool Hacker.
Хедер, хэдер — элемент структуры веб-страницы, находится в верхней части и содержит логотип, меню, служебную информацию.
Хотфикс — от англ. Hotfix. Срочное исправление критических ошибок, уязвимостей или недоработок в программе.
Ц
Цэмээс, цээмэс — от англ. CMS — Content Management System, система управления контентом.
Цээсэс — от англ. CSS — Cascading Style Sheets, каскадные таблицы стилей.
Ч
Чекать, чекнуть, прочекать — от англ. Check. Проверять, проверить.
Ю
Юзать — от английского To use — использовать.
Я
Ява — язык программирования Java.
Яваскрипт — язык программирования JavaScript.
ЯП — язык программирования.
Бесплатные курсы по программированию в Хекслете
- Освойте азы современных языков программирования
- Изучите работу с Git и командной строкой
- Выберите себе профессию или улучшите навыки
Что такое джоба в программировании
Пакет DBMS JOB позволяет запланировать однократное или регулярное выполнение заданий в базе данных. Задание представляет собой хранимую процедуру, аноним-н1й блок PL/SQL или внешнюю процедуру на языке С или Java. Эти задания выполняются серверными процессами в фоновом режиме. Задания можно выполнять регулярно (в 2 часа ночи каждые сутки) или однократно (выполнить задание сразу после фиксации транзакции и удалить его из очереди). Если вы знакомы с утилитами cron или at в ОС UNIX или Windows, то особенности использования пакета DBMS JOB вам уже понятны. Задания выполняются в той же среде (пользователь, набор символов и т.п.), из которой они посланы на выполнение (но роли не действуют). Задания выполняются аналогично процедурам с правами создателя, т.е. роли для них не учитываются. Это можно продемонстрировать на следующем примере (процедуры, использованные в этом примере, позже будут рассмотрены подробно):
tkyte@TKYTE816> create table t (msg varchar2(20) , cnt int) ; Table created.
tkyte@TKYTE816>insert into t select from SQL*PLUS, count(*) from session roles;
tkyte@TKYTE816> variable n number
tkyte@TKYTE816> exec dbms job.submit(:n,insert into t select from job , count(*) from session roles;) ;
PL/SQL procedure successfully completed.
tkyte@TKYTE816> print n
tkyte@TKYTE816> exec dbms job.run(:n); PL/SQL procedure successfully completed tkyte@TKYTE816> select * from t; MSG CNT
from SQL*PLUS 10
Как видите, в среде SQL*Plus имеется 10 действующих ролей, а в среде выполнения задания — ни одной. Поскольку пользователи в качестве задания обычно вызывают хранимую процедуру, это не имеет значения, потому что при выполнении хранимой процедуры роли все равно не учитываются. Проблема возникает только при попытке выполнить процедуру, доступную через роль. Такая процедура не сработает, поскольку в заданиях роли не действуют.
Часто пользователи спрашивают, как лучше всего скрыть имя пользователя/пароль, связанные с пакетным заданием (например, для периодического анализа таблиц), по-с1лаемым с помощью утилиты cron или ее аналогов в среде Windows NT/2000. Их беспокоит, что пароль хранится в файле (и это правильно) или явно представлен в результатах выполнения команды ps в среде UNIX и т.п. Я всегда рекомендую вообще не использовать средства ОС для планирования заданий в базе данных, а вместо этого написать хранимую процедуру, выполняющую необходимые действия, и запланировать ее выполнение с помощью средств пакета DBMS JOB. При этом ни имя пользователя, ни пароль нигде не хранится, и задание выполнится только в том случае, когда доступна база данных. Если сервер базы данных не будет работать в соответствующий момент, задание, естественно, не выполнится, поскольку именно сервер базы данных и отвечает за выполнение задания.
Часто спрашивают также: как ускорить выполнение? Необходимо выполнить продолжительное действие, а пользователь не хочет ждать. Причем иногда ускорить выполнение действия нельзя. Например, я уже многие годы посылаю сообщения электронной почты с сервера базы данных. Я использовал для этого различные механизмы: каналы базы данных, пакет UTL HTTP, внешние процедуры и средства языка Java. Все они работали примерно с одинаковой скоростью, но всегда — медленно. Иногда завершения работы по протоколу SMTP приходится ждать достаточно долго. Слишком долго в случае моего приложения, для которого ожидания более четверти секунды вообще недопустимы. Посылка сообщения по протоколу SMTP может иногда потребовать 2-3 секунды. Ускорить этот процесс нельзя, но можно создать видимость его более быстрого выполнения. Вместо отправки сообщения при нажатии пользователем соответствующей кнопки в приложении должно посыпаться на выполнение задание, которое будет отправлять сообщение сразу после фиксации транзакции. При этом возникает два побочных эффекта. Во-первых, действие выполняется как бы быстрее, а во-вторых, отправка сообщения становится частью транзакции. Одно из свойств пакета DBMS JOB состоит в том, что задание попадает в очередь только после фиксации транзакции. При откате транзакции задание удаляется из очереди и не выполняется. С помощью пакета
Пакет DBMS JOB 1595
DBMS JOB мы не только создаем видимость более быстрой работы приложения, но и делаем его более надежным. Больше не будет пос1латься уведомление по электронной почте из триггера при изменении строки, если это изменение затем б1ло отменено. Либо строка изменяется, и отправляется сообщение; либо строка не изменяется, и сообщение не отправляется.
Так что пакет DBMS JOB имеет широкую сферу применения. Он может включить выполнение действий, выходящих за рамки транзакций (таких как отправка сообщений по электронной почте или создание таблицы при вставке строки в другую таблицу) в транзакции. Он позволяет создать видимость более быстрого выполнения действий, особенно, если продолжительные действия не должны выдавать пользователю результатов. Пакет позволяет планировать и автоматизировать многие задачи, для решения которых обычно создавались сценарии вне базы данных. Это, безусловно, очень полезный пакет.
Для корректной работы пакета DBMS JOB необходимо выполнить небольшую настройку сервера. Надо установить два параметра инициализации.
job queue interval. Задает периодичность (в секундах) проверки очередей и поиска заданий, готовых к выполнению. Если задание должно выполняться раз в 30 секунд, но параметр job queue interval имеет (стандартное) значение 60, это задание не будет выполняться раз в 30 секунд — в лучшем случае, раз в 60 секунд.
job queue processes. Задает количество фоновых процессов для выполнения заданий. Значением может быть целое число от 0 (по умолчанию) до 36. Это значение можно менять без перезапуска сервера с помощью оператора ALTER SYSTEM SET JOB QUEUE PROCESSES=. Если оставить стандартное значение 0, задания из очереди автоматически никогда выполняться не будут. Процессы обработки очередей заданий можно увидеть в среде ОС UNIX — они получают имена ora snpN $ORACLE SID, где N — число (0, 1, 2, . job queue processes-l). В среде Windows очереди заданий обрабатываются потоками операционной системы, увидеть которые с помощью стандартных средств нельзя.
Многие системы работают со значением параметра job queue interval, равным 60 (другими словами, проверяют очереди раз в минуту), и значением параметра job queue processes, равным 1 (выполняют одновременно не более одного задания). При интенсивном использовании заданий или возможностей, для реализации которых используются задания (в частности, репликация и поддержка материализованных представлений используют очереди заданий), может потребоваться добавление дополнительных процессов и увеличение значения параметра инициализации job queue processes.
После настройки и автоматического запуска очередей заданий можно начинать их использование. Основная процедура пакета DBMS JOB — процедура SUBMIT. Она имеет следующий интерфейс:
Argument Name Type In/Out Default?
JOB BINARY INTEGER OUT
WHAT VARGHAR2 IN
NEXT DATE DATE IN DEFAULT
INTERVAL VARGHAR2 IN DEFAULT
Что такое джоба в программировании
Случайно заметил странное поведение. Создаем такой джоб:
static void testFunction(Args _args) < boolean check() < boolean ret = true; ; > ; if(check()) info(strfmt("true")); else info(strfmt("false")); >
При компилляции получаем сообщение «Функция никогда не возвращает значение», но если этот джоб запустить — он работает!
Если бы это был класс, и check() был бы отдельным булевским методом, не возвращающим значение — система всегда вылетала бы в отладчик с сообщением: «Функция никогда не возвращает значение»
Понятно что это не по BestPractice, но я всегда думал что функции внутри методов обрабатываются также, как отдельные методы. Выходит что нет.
Проверял на DAX 4.0
Что такое джоба в программировании
Хочется освоить job’ы, но нигде не могу найти пример от начала до конца.
вот допустим есть процедура:
CREATE OR REPLACE PROCEDURE my_pro_2 (ch IN INTEGER) IS BEGIN UPDATE my_test SET cnt = cnt + 1 WHERE num = '1'; END;
Скажите пожалуйста что необходимо что бы эта процедура запускалась например каждые 5 минут.
Выдержка из правил форума: Не стоит отправлять в поиск, не хотите отвечать пройдите мимо. Хотите помочь, пишите конкретный ответ.
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,022
делаете джоб дизайнером, потом генирите скрипт и разбираетесь
Пользователь
Регистрация: 16.11.2012
Сообщений: 66
Сообщение от eval
делаете джоб дизайнером, потом генирите скрипт и разбираетесь
это тоже самое что если я сейчас чей нибудь скрипт возьму и буду разбирать, но я не понимаю как и что происходит.
дайте кто нибудь sql команды пожалуйста. и если не сложно, то прокомментируйте в пару предложений.
Выдержка из правил форума: Не стоит отправлять в поиск, не хотите отвечать пройдите мимо. Хотите помочь, пишите конкретный ответ.
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,022
в скрипте и будут команды, а далее все в справке описано, что вам еще надо не понятно
Пользователь
Регистрация: 16.11.2012
Сообщений: 66
CREATE OR REPLACE PROCEDURE my_pro_2 IS BEGIN UPDATE orders SET item = TO_CHAR(SYSDATE, 'HH24:MI:SS') WHERE num = '1'; END;
И нашел вот такой пример
EGIN sys.dbms_job.submit(job => :job, what => 'begin my_pro_2; end;', next_date => to_date('12-12-2013 06:00:00', 'dd-mm-yyyy hh24:mi:ss'), INTERVAL => 'trunc(sysdate + 1) + 6/24'); commit; END;
но получаю ошибку(пишу в sql navigator):
12:13:03 ORA-06502: PL/SQL: numeric or value error: character string buffer too small
12:13:03 ORA-06512: at line 2
поправьте пожалуйста где ошибка.
Выдержка из правил форума: Не стоит отправлять в поиск, не хотите отвечать пройдите мимо. Хотите помочь, пишите конкретный ответ.
Последний раз редактировалось dima1257; 12.12.2013 в 12:26 .