Техническая грамотность что это
Техническая грамотность, приспособляемость: 7 навыков, которые помогут стать выдающимся работником, вне зависимости от сферы деятельности

Каждый работник желает быть лучшим в своем деле, мотивация довольно проста и понятна всем, если нет, то я поясню. Чем лучше и выше квалификации вы будете в своей деятельности и чем лучше других, тем больше вы будете получать денег за свой труд. Тут дело, конечно, не только в меркантильном интересе, как бы ни было странно. Но и в уважении.
Профессионализм
Казалось бы, чтобы быть лучшим в своем деле, нужно искусно владеть своим ремеслом, делать это лучше всех. На первый взгляд кажется, что этого хватит, но на самом деле все намного сложнее и запутаннее. Помимо профессионализма нужно еще много всего, чтобы стать лучшим.
К огромному сожалению или же счастью, в нынешнее время мало качественных работников, много людей, которые делают свою работу быстро, можно сказать, на отстань. Такие работники очень часто меняют работу, переходят с места не место. Я думаю, что цель каждого читателя этой статьи не состоит в том, чтобы стать таковым. Мы хотим быть лучше, а значит, нам нужно развивать свои навыки для этого.
Именно об этих навыках и пойдет речь в этой статье. Чему вам нужно научиться или какие способности вам нужно развивать, чтобы стать лучшим сотрудником в своем деле и чтобы работодатель нуждался в вас, а не вы в нем?
Коммуникация
Как бы ни было это странно, но большинство работников не обладают этим навыком на должном уровне. С некоторыми людьми на работе очень трудно взаимодействовать. Ибо они часто находятся якобы без настроения, отчего с ними очень трудно обсуждать рабочие моменты.
Казалось бы, какое отношение имеет работа и плохое настроение. Глупо кажется. Да, так и есть, но подавляющее большинство сотрудников себя так ведут. Это как минимум не профессионально, а как максимум просто неуважительно к своим коллегам. Так сделайте вывод и не позволяйте своим эмоциям и проблемам разлагать субординацию в коммуникации на работе.
В таком случае к вашей работе и к вам самим будут относиться уважительно. А в противном случае вас рано или поздно заменят на другого сотрудника, ведь с вами попросту будет сложно работать, значит, вы будете одним из первых кандидатов на увольнение. Я думаю, что никто не хочет, чтобы его увольняли. Зачем портить свою репутацию, если можно просто не портить рабочий настрой своих коллег своим поведением?
Работа в команде
Большинство из нас не привыкло работать в команде, мы не доверяем другим людям, потому что делаем все сами. Но к огромному сожалению, если вы хотите премиальную должность, хорошую работу, ну и как минимум зарплату среднего или выше среднего уровня, то вам придется приобрести навык работы в команде.
Каждый работодатель хочет, чтобы у него была команда, которая выполняет всю работу целиком и слаженно, дабы избежать ошибок и недоработок. Одним словом, человек, находящийся на руководящей должности, хочет, чтобы разработка проекта происходила в комфорте и каждый занимался своим делом. Он должен так набрать и настроить людей, чтобы их взаимодействие и создание чего-либо напоминало работу организма.
Творческий подход к делу
Абсолютно каждый работодатель хочет дать задачу и получить готовый результат без лишних вопросов. Потому изобретательность считается одним из важных критериев при приеме на работу.
Часто работники сталкиваются с задачами, которые они ранее никогда не решали, и потому у них возникают вопросы: как это сделать, как лучше это сделать, как быстрее? И на все эти вопросы сотрудник должен найти ответ самостоятельно, не прибегая за советами к своему начальству.
Вы должны творчески подойти к решению этой проблемы, подумать своей головой, как сделать лучше, только в таком случае вашу работу и вас самих будут ценить. Ведь такое качество имеет подавляющее меньшинство профессионалов своего дела, так станьте же им.
Это же, наоборот, интереснее, чем просто быть обычным ремесленником, который просто-напросто делает свое дело, ни капли не задумываясь о том, как можно улучшить свою производительность и сам проект.
Лидерские качества
Да, конечно, очень мал шанс того, что при приеме на работу вам сразу дадут руководящую должность. Но и не стоит стыдиться показывать свои лидерские качества. Демонстрируйте их, не бойтесь брать ответственность за ту или иную задачу, ведь в таком случае вас определенно заметят и вы будете первым в списке тех, на кого можно положится и в будущем дать руководящую должность.
Ведь таких людей мало. Многие придерживаются такого мнения, мол, зачем мне брать на себя ответственность, если мне за это не доплачивают, а я буду тратить свое свободное время на это. Зачем мне это нужно, если я могу пойти домой, отдыхать или провести это время со своими друзьями? Или пусть мне доплачивают за лишние часы.
Но с таким подходом повышения вы точно не дождетесь, ибо ваше вышестоящее начальство не будет в вас видеть интерес, заинтересованность в улучшении своей работы и коллег, тогда какой из вас может получиться начальник? Не бойтесь брать на себя ответственность и тратить свое свободное время, тогда вы точно не задержитесь на рядовой должности обычного работника.
Подстраиваться под любые ситуации
Далеко не всегда в работе все идет по четко структурированному плану. Опытный работник скорее скажет вам, что всегда все идет далеко не по плану, а с большой долей импровизации.
Потому научитесь подстраиваться под разнообразные ситуации, ведь их количество на работе будет зашкаливать, и вы должны с этим смириться. От них никак не избавится никто, ведь человеческий фактор всегда помешает вашему плану, знайте это.
Вы должны быть адаптивными и гибкими, тогда начальство будет заинтересовано в вас на рабочем месте и вряд ли вас заменят на другого сотрудника.
Мотивация
Грамотная работа с техникой
В нынешнее время у каждого человека без исключения есть компьютер, телефон, умный телевизор, планшет и, может быть, даже умные часы. И правильное с ними взаимодействие очень ценится на работе.
Особенную ценность представляет разборчивость сотрудника в той или иной технике. Если человек знает изнутри какую-либо технику, то он без проблем починит ее в случае небольшой неисправности, что, несомненно, избавит от потери времени на работе.
В таком случае вам не придется ждать мастера, пока он придет и починит то, что можно починить за считаные полчаса и еще сэкономить деньги компании, в которой вы работаете.
Все эти советы помогут вам стать лучшим работником и добиться больших успехов в карьере за малый срок работы. Старайтесь быть лучше и любите свое дело, это также ускорит ваше продвижение по карьерной лестнице.
Основы технической грамотности для молодых руководителей digital-проектов. Часть первая
Как устроен интернет, чем отличаются фреймворки от CMS, а также коротко об интеграции, кронах, агентах и языках программирования.
Это первая часть основ технической грамотности от нашего техдира Ивана. Мы затронем базовые вещи: как работает интернет, из чего состоит сайт, что такое фреймворки, немного про серверы и деплой. Поехали.
У каждого устройства в сети есть IP-адрес. Это уникальный номер, который выглядит как группа из четырех цифр, разделенных точками. Каждая цифра от 0 до 255, то есть четыре байта информации. Например — 127.0.0.1 (это ваш личный IP-адрес, для того, чтобы постучаться самому себе).
Когда вы вводите в браузер домен (например www.sibirix.ru), жмете enter, — запрос не сразу идет на какой-то сервер. Вначале ему надо сопоставить домен с местом, куда идти, то есть с IP-адресом. Сначала запрос уйдёт на корневые DNS-сервера (система DNS — Domain Name Services — отвечает за то, что к каждому домену может быть составлен определенный IP-адрес. Хотя там все несколько сложнее — одному доменному имени может соответствовать несколько IP-адресов (используется как один из приемов для отказоустойчивости и балансировки нагрузки), и наоборот, но суть в том, чтобы найти по доменному имени — IP-адрес.
Когда отправляется запрос на конкретный адрес, на сервере начинает выполняться программный код. Например PHP-код (хотя на серверах можно писать на очень многих языках, и об этом чуть ниже), который пишут программисты. Но помимо кода на сервере хранится база данных: сайту ведь нужно откуда-то брать информацию, чтобы отобразить её на странице браузера (новости, статьи и всё такое прочее). Когда к серверу приходит запрос, он отвечает сгенерированным HTML — Hypertext Markup Language (язык разметки гипертекста). Фактически это структура документа — например, шапка с конкретным текстом, статьи с конкретным текстом, футер.
Браузер принимает этот HTML, анализирует его, скачивает скрипты, делает дополнительные запросы (если нужно), скачивает картинки, стили CSS и JS.
HTML — это только структура страницы, без какой-либо визуальной составляющей, CSS — уже стили (например, что шапка определенной высоты и синего цвета, футер внизу, статьи сделаны карточками и т.д.). JS — это поведение элементов на странице, то есть обработка реакций на действия пользователя (при наведении на карточку вывести её в расширенном виде, при клике добавить что-то в корзину и так далее).
Всё, что работает на стороне сервера (выполняемый PHP при обращении к базе данных) — это бэкенд. Всё, что выполняется в браузере (HTML, CSS) — фронтенд.
Это самая простая схема, но для понимания общих принципов — пока достаточно.
К чему относится CMS?
CMS (система управления контентом) выполняется на стороне сервера (модули ядра, хайлоады, инфоблоки и всё такое) — и это бэкенд. Но в то же время, например для Битрикс есть стандартные компоненты и довольно-грязно написанные стандартные модули, работающие отчасти на фронтенде. В общем, там есть и то и то.
Язык программирования — это то, как пишется программа, и состоит он из двух частей. Первая — синтаксис: то, что пишет программист. Вы сейчас представили циферки, как в фильме «Матрица», но нет. Программист пишет не в машинных кодах — он пишет более-менее понятный человеку код (с условиями и последующими действиями).
Вторая часть языка — компилятор либо интерпретатор, который анализирует написанный программистом код и переводит его в машинные инструкции — инструкции для процессора на выполнение.
Версии языков — это добавление к ним новых возможностей. Что-то устаревает, что-то добавляется — языки программирования развиваются, как и обычный естественный язык: добавляются новые термины, какие-то слова приходят из других языков, какие-то устаревают.
Выбор языков программирования
Помимо синтаксиса и интерпретатора есть еще стандартные методы языка. У Python много функций для работы с какими-то математическими операциями, и его часто используют математики. В PHP таких возможностей для работы с математикой меньше, и его куда реже используют для работы с математическими функциями. Зато в нём намного проще работать с текстами и обрабатывать запросы, пришедшие от браузера.
Есть несколько языков, которые удобно использовать на стороне сервера, — это PHP, Python, серверный JavaScript (Node.JS), Asp.net. Помимо возможностей самого языка, отличается количество уже написанного на нем кода под специальную задачу. Например, на PHP написана куча фреймворков и CMS, на Python их считанные единицы, а на С++ фреймворков для работы с сайтами вообще нет.
Мы чаще всего используем PHP для сайтов, потому что есть множество готовых решений для работы с сайтами, удобные возможности в самом языке для обработки запросов, и он достаточно простой: стажера поднатаскать на PHP проще, чем на каком-то другом языке.
Общение с сервером идет по протоколу HTTP (Hypertext Transfer Protocol) — протоколу для передачи гипертекста. Он по умолчанию не содержит состояний, а значит, не помнит, какие вы страницы запрашивали до этого. То есть, если вы три часа ходили по сайту и запрашиваете какую-то следующую страницу, для сервера это выглядит, будто кто-то пришел и просит страницу в первый раз.
Для авторизаций, запоминания и сохранённые корзины придуман специальный механизм — сессии (период времени, в который сервер «помнит» про вас, что это именно вы). Обычно он реализован через cookies. Когда к серверу приходит первый запрос от браузера пользователя, то помимо HTML, приходит уникальный идентификатор (строка из 32 символов вперемешку буквы-цифры). Этот код будет только у вас, и при каждом последующем запросе браузер добавляет эту cookie в любой запрос — так сервер может понять, что это вы, это ваша авторизация, это ваша корзина и так далее.
С cookie также связано понятие «сессия» — по умолчанию это визит длиной 30 минут. Если страница за это время не обновляется и с ней не происходит никаких действий, то сессия считается завершенной. Хорошая новость: длину сессии можно изменить вручную в настройках сервера.
О том, почему все сайты теперь сообщают о том, что используют куки-файлы, и причём здесь GDPR, у нас есть отдельный большой материал-расследование. Постойте, даже два.
Серверный фреймворк — фактически это каркас, чтобы быстрее писать код (например PHP) на сервере (на бэкенде) и чтобы его проще было потом поддерживать. Обычно фреймворки содержат в себе заготовки типовых операций, модульную структуру и провоцируют писать весь проект в определенной парадигме. Понятно, что можно обойтись и без фреймворка, но написанный с нуля код вряд ли будет поддерживаемым — это значит, что любой другой программист не захочет разбираться в том, что написал кто-то (зачастую) без использования стандартных подходов. Стандартизация — рулит.
Поэтому в любой адекватной разработке используется либо какой-то фреймворк, либо какая-то CMS. В чём их отличия:
Фреймворк — это все-таки штука, созданная программистами для программистов. С ним проще разрабатывать, но чаще всего в фреймворках нет админки, в которой было бы удобно заполнять контент. Но это не проблема — есть сторонние админки, вроде Voyager для фреймворка Laravel или целые генераторы админок.
Большая часть фреймворков — модульные (набор необходимых модулей, отвечающих за разный функционал, которые можно устанавливать отдельно по мере необходимости) и практически все — бесплатные (open source). Часто используемые фреймворки — Laravel, Symfony, YII, Zend Framework. Они решают одни и те же задачи, но но у них разный порог входа: некоторые написаны попроще, некоторые сложнее, но в целом — близкий. Разобравшись в любом из перечисленных выше фреймворков, программист, как минимум, сможет с ходу понять код, написанный для другого.
CMS (системы управления сайтами)
Сделаны программистами для НЕпрограммистов (контент-менеджеров, продажников и так далее). Их отличает юзерфрендли (тут все относительно): внутри, как правило, есть админки и базовые бизнесовые штуки типа продаж, интернет-магазинов, скидок и так далее. Минус — кодить в них не так удобно, поскольку есть ряд ограничений, диктуемых CMS-системой. Наиболее используемые CMS, кроме Битрикса, — Joomla, WordPress, Drupal, NetCat, ModX, Magenta.
Программировать на чистом PHP без фреймворка — это как строить дом с нуля и без инструментов: рыть котлован, заливать фундамент, подводить коммуникации, строить стены и так далее. Шалаш или землянку построить еще как-то можно.
Если использовать фреймворк — это как взять уже построенное здание без внутренних перегородок, к которому уже подведены коммуникации: можно спроектировать внутренности, как надо и как будет удобно. При этом инструментов полно, и они очень надежные.
Кодить с CMS — это как то же построенное здание, но уже с перегородками, витринами, складами, которыми можно пользоваться для типовой задачи. Но для нетиповой придется мучиться и сносить всё внутри под свою задачу. Иногда при этом есть риск обвалить все здание.
SEO у CMS и фреймворков
У Битрикса есть встроенные возможности для управления SEO, у фреймворков, так как они не заточены на какие-то конкретные SEO-friendly сайты по умолчанию, таких
возможностей в базовом наборе классов нет. Фреймворк хорош тем, что он гибок: можно доработать практически все, что угодно. Но не как в Битриксе, где ты берешь готовый инфоблок, и у него есть готовый инструмент для управления SEO. Во фреймворке ты создаешь какую-то таблицу для данных, и придется придумывать, как управлять SEO для этой таблицы.
Его очень сильно распиарили, и теперь на него высокий спрос. У Битрикса относительно-удобная админка (хотя к ней есть вопросы), у него более-менее удобные возможности для кастомизации — есть места, где можно самому что-то «докодить». Это так называемый «бизнес-фреймворк» — всё-таки не полноценный фреймворк, но попытка сделать более-менее кастомизируемый инструмент. Из других плюсов: хорошая интеграция, следование российскому законодательству (поддержка онлайн-касс).
Но не всё так безоблачно. По мнению 95% программистов, в код Битрикса лучше лишний раз не лезть:
Битрикс пишет компоненты (готовые страницы, которые можно настраивать — например, каталог) и старается сделать их максимально настраиваемыми и универсальными. А когда есть узкая задача, большая часть написанного Битриксом кода не нужна и только путает программистов и мешает им решать её.
Битрикс пытался сделать код более простым, чтобы контент-менеджер с минимальным курсом обучения за плечами мог туда залезть и что-то поправить. Но для сложных структурных изменений и нестандартных вещей это усложнило разработку. Другими словами, они пишут «самый широко-используемый код», в котором сложно разобраться и который сложно модифицировать.
Но плюсов у Битрикса всё-таки больше. Ещё один весомый довод в его пользу при выборе CMS для проекта — широкая распространенность на просторах нашей Родины. Изменение CMS на какую-то другую — это очень трудозатратный (и дорогой) процесс.
Именно по этой причине, когда есть шанс договориться о работе на фреймворке, или клиент говорит «а можно не на Битриксе?», мы можем предложить фреймворк. Они построены по сравнительно схожим принципам (вот, например, наш проект на Laravel или на Symphony).
Что такое «самописный сайт»
Самописный сайт — это код, в котором в 9 случаях из 10 программист не следует ни одному из принципов программирования, а пишет код так, как ему захочется. Как правило, таким грешат студенты, пишущие «за еду».
Плюс фреймворков — жесткие правила: как идет обработка страниц, как идет работа с базой данных, как построены какие-то бизнес-кейсы, какие цепочки действий там происходят. И если ты разобрался с условным Laravel, то ты в любом сайте на Laravel за 30 минут понимаешь, что там и как работает.
Но если взять самописный сайт, понимания ноль: неизвестно, как идет обработка запроса, как идет работа с базой данных, где искать конфигурации. Приходится читать код «от и до» и разбираться. И даже если код написан хорошо и следует каким-то правилам, тебе все равно придется погружаться в него полностью. Самописный — это ещё и значит, что нет поддержки сообщества, нет доработки модулей, нет закрытия каких-то уязвимостей при обновлениях. Поэтому это один из самых худших вариантов, который только может быть.
У Битрикса есть свой гайдлайн о том, как писать код и как правильно его обрабатывать. Также у Битрикса есть куча курсов — порог входа для кодеров низкий. PHP — тоже довольной простой язык, также с достаточно низким порогом входа. Как результат, не совсем грамотные люди часто называют себя «битрикс-разработчиками» и «пишут» код для Битрикса.
Для каждого проекта, который заходит к нам на техподдержку, нужно делать ревью кода. И здесь часто возникает вопрос, а нет ли багов в коде, пришедшем к нам, и сможем ли мы дорабатывать страницы через конкретные компоненты (и не окажется ли в результате, что какая-то кнопка выводится непонятными образом).
Из-за низкого порога входа в Битрикс и из-за гибкости PHP как языка есть очень большая вероятность, что код не следует гайдлайнам, и у него есть подводные камни. А значит, на поддержку такого кода будут очень большие издержки.
Соблазн написать проект на фреймворке высок. Тем более, что код на фреймворке получается более красивым — зачем использовать Битрикс, когда можно сделать с точки зрения программиста почти идеальный код? Вариант имеет место быть для сложных задач, которые на Битриксе сделать было бы дольше и дороже. Но иногда подход «фреймворк ван лав» оборачивается сложной поддержкой и ограничениями в дальнейшем.
Критерий выбора фреймворка — тот, с которым вы имеете больше опыта. По большому счету их мало что отличает: нет разницы в простоте кода, производительности или скорости разработки (последняя зависит только от скилла кодеров). Мы часто используем связку Битрикса и ZendFramework либо Laravel.
Что такое «чистая сборка»
Давным-давно мы выбрали Битрикс, чтобы писать на нём сайты. Постепенно, пока мы что-то делали на нём, у нас накапливалось большое количество своих решений — файлов с уже устоявшимися шаблонами написания кода для конкретных элементов (классы, настройки и так далее). И теперь, не каждый программист себе заново устанавливает Битрикс, а берет копию стандартного набора готовых решений, которые уже хранятся у нас на тестовом сервере. «Развернуть чистую сборку» — это значит взять копию того, что уже лежит на диске.
Чистая сборка на Битрикс — это когда нет данных, связанных с каким-то клиентом, нет никаких настроенных интеграций, но есть много шаблонов и заготовок кода, нужного для быстрой разработки нового сайта. Если появляются новые клёвые решения, которые мы применили на каких-то проектах, мы их добавляем в чистую сборку.
Также в чистой сборке есть специальные классы для работы с базой данных (которых нет в Битриксе) — так называемые модели. Несмотря на длинную историю развития Битрикса, с его инфоблоками всё ещё не очень удобно работать. Так как самое частое, что требуется при работе с сайтом, — это достать какие-то данные, как-то их обработать и вывести, в чистой сборке мы написали свои классы для работы с базой данных.
Фреймворки бывают не только на бэкенде, но и на фронтенде (и бывают вообще в куче других языков, не связанных с вебом). Среди них — React, Angular, Vue.JS, которые облегчают написание кода для взаимодействий с пользователем. При этом такие фреймворки не слишком SEO-френдли, и у сайтов на них, скорее всего, будут проблемы с продвижением. Вместо передачи браузеру всей структуры HTML серверная часть (бэкенд) таких сайтов отдаёт специально подготовленные данные в формате JSON, чтобы на их основе фронтэндный JS-фреймворк мог вывести страницу. Вот только ни Гугл, ни Яндекс такие данные не понимают. Но это можно обойти, если специальным образом подготавливать эти данные — рендерить их сразу не сервере.
Twitter Bootstrap — UI-библиотека, набор отдельных элементов, хотя в целом её тоже можно назвать фреймворком для CSS, поскольку она помогает в разработке интерфейса.
Бутстраповская 12-ти колоночная сетка, которая используется для вёрстки сайтов и которая могла быть у вас на слуху, — это часть Twitter Bootstrap. Также внутри фреймворка есть стандартные виды элементов, кнопочек и всего-всего. Часто бывает, что фреймворки — не монолитные и состоят из нескольких частей, которые можно использовать отдельно. Как, например, бутстраповскую сетку 🙂
Вот есть у вас есть техническое задание: в нём товары, покупатели, справочники, магазины, города и так далее. Но пока здесь не выделены конкретные сущности, связи между этими сущностями не расписаны, поля для них тоже не указаны. А это всё требуется. Поэтому одна из первейших задач проектирования структуры базы данных — чтобы программист составил схему со структурой сущностей, их полей и взаимосвязей. В первую очередь, для себя, чтобы самому понимать, как это происходит внутри (и чтобы потом не оказалось внезапно, что у остатков товара есть зависимость от магазина, а это не учли).
Фактически, чтобы создать структуру базы данных, программисту нужно прочитать всё ТЗ, понять, что там есть, прикинуть, какие там есть связи, задать менеджеру проекта дополнительные вопросы и только потом нарисовать и создать таблицы (В Битриксе — инфоблоки). Да, что-то можно доработать и дописать потом, но если что-то не учли, это придётся как минимум частично переделывать.
Что такое инфоблоки и чем они отличаются от highload-инфоблоков
Если база данных — это хранилище какой-то информации, то инфоблоки — это «обертка» от базы данных с красивым интерфейсом, с какими-то дополнительными возможностями (SEO, например) и с возможностью создавать структуру разделов, привязывать элементы и так далее.
Плюс инфоблоков: удобны для контент-менеджера из-за массы возможностей по умолчанию.
Минус: из-за этой «навороченности» они создают большой большую нагрузку на сервер (в них слишком много лишнего), и на огромных объёмах информации (миллионы записей) они работают медленно.
Из-за последнего Битрикс придумал highload-инфоблоки, но это их маркетинговое название. Это справочники или таблицы для данных — менее универсальные и предназначенные для узких задач, но из-за отсутствия «наворотов» они работают быстрее.
Для многих сайтов надо периодически выполнять какие-то задания: например, выполнить обмен с 1С-кой, увеличить какой-нибудь счетчик на главной странице, собрать еще откуда-то данные. Крон — в помощь. Это специальная программа, запущенная на стороне сервера, которая выполняет периодические задачи. У неё есть специальный файл, где написаны скрипты для запуска и периодичность этих запусков.
Этот файл правится вручную — для каждой задачи внутри крона создается отдельная строчка. При выкладке сайта на реальный рабочий сервер каждую строчку крона нужно также вручную переносить. Если в новом спринте что-то доработали, и добавилась новая периодическая задача, надо не забывать «сходить» на сервер и руками добавить её. Это муторно.
Битрикс придумал свой механизм для периодических задач. В файл крона добавляется только одна строка, в которой Битриксу говорится: «Выполни свои периодические задачи». В Битриксе должно быть в специальном формате описано, что и с какой периодичностью он должен выполнять. Каждая такая запись в терминологии Битрикса называется «Агент».
Плюс агентов в том, что задачами не нужно управлять по отдельности, такую структуру проще деплоить, и перенос сайта с одного сервера на другой (если вдруг понадобится) сделать проще, и при переносе ничего не потеряется. Если файл задач крона вдруг окажется поврежден — одну запись восстановить проще, чем 15.
Если на кроне ничего не настроено (например, нет возможности редактировать крон — так иногда бывает на shared-хостингах), Битрикс всё равно будет выполнять периодические задачи — да, с ограничениями и слегка косячно, но будет.
Интеграция — это использование каких-то данных от сторонней системы внутри сайта. Чаще всего у нас бывает интеграция с 1С: мы берем товары и цены, созданные заказчиком, чтобы можно было продавать товары и онлайн, и офлайн.
Для интеграции с 1С в Битриксе есть написанный модуль — его далеко не всегда хватает (когда нужны дополнительные поля, например), но чаще мы его используем. В любом случае нужно определенное время на настройку, хотя мы и берем более-менее готовый код. Интеграция же со сторонними сервисами (с API или чем-то подобным) почти всегда пишется с нуля.
API — Application Program Interface, какой-то интерфейс какой-то программы, который описывает стандартные методы (что можно с помощью API передавать) со стандартными ответами (какие ответы можно на запросы получить).
Для интеграции по API программист должен взять описание этой системы, посмотреть, как она работает: сайт к ней должен отправлять запрос или она сама должна первой «стучаться» на сторону сайта. Также нужно посмотреть, в каком формате она общается (в каком формате данных и по какому протоколу), какие данные у неё нужно брать и как она их будет сообщать (и в какие таблицы внутри Битрикса их нужно сложить). Всё это должно быть в документации — если её нет, работать с API практически невозможно.
Когда всё изучено, начинаем писать код: подключись вот сюда, возьми данные → проверь, что они пришли и они корректны. Всё пишется вручную для каждой отдельной интеграции по API.
Есть несколько стандартных протоколов (форматов данных — например, XML или JSON), но внутри них данные могут быть представлены как угодно.
Поэтому нельзя написать что-то работающее с одного API, чтобы тот же код без каких-либо правок заработал на другом API: там и другие методы, и другие данные, и другая структура. Но при этом работу какого-то конкретного API с одного проекта можно перенести на другой.
Если мы интегрируемся с какими-то сторонними сервисами, то обычно делаем ТЗ на интеграцию — описание методов и какие именно из них мы будем использовать, как они соотносятся с сущностями сайта. Без этого описания непонятно, как писать код, и можно очень сильно «влететь».
Для типовых сервисов (типа доставок) в магазине Битрикса есть готовые модули интеграции, которые уже знают, куда «стучаться» и какие данные передавать, можно настроить их. Фактически, модуль — это готовый кусочек кода для работы с чем-то.
Когда у сайта нет API, но с ним надо интегрироваться, приходится парсить данные сайта — загружать страницы сайта, изображая из себя браузер, брать с них какие-то нужные кусочки и складывать их в базу данных. Но это — уже совсем другая история 🙂
Крутые видео для ПМ-ов и не только, как всегда, на канале, а вторая часть технического ликбеза — уже скоро 🙂








