Закодируйся: как выбрать первый язык программирования

Несколько заметок об обучении пользователей

Этот очерк посвящен такой «избитой» теме, как обучение пользователей 1С

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

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

Начните с HTML и CSS

Часто их называют языками программирования, но это не верно. Это язык разметки и таблица стилей, с помощью которых верстается страница. Все сайты используют HTML и CSS. Прелесть технологий — в их простоте: их легко освоить на среднем уровне за 2-3 недели. Если вам интересно работать в интернете — попробуйте.

JavaScript

Один из самых популярных языков для работы с сайтами. До сих пор использование этой технологии — едва ли не единственный способ сделать страницу интерактивной, заставить сайт реагировать на действия пользователя. Изначально JS создавали специально для веб-разработки, но сейчас с его помощью можно делать очень многое:

  • серверные и консольные приложения;
  • игры и сервисы для мобильных;
  • программы для десктопа.

Этот язык быстро развивается, востребован на фрилансе. Часто именно JS рекомендуют в ответ на вопрос, какой язык программирования выбрать для быстрого старта. Его легко освоить.

Начинающий разработчик на JavaScript может рассчитывать на 30 тысяч рублей в месяц. Средний — 45–90 тысяч и больше. C опытом от трех лет — на 135 тысяч и больше.

Особенности:

  • Неявная типизация. Когда разработчик пишет код, он использует переменные — строки, числа и прочее. В языках со строгой типизацией программисту приходится объявлять тип переменных — сообщать обработчику, что это, например, число или строка. В языках с неявной типизацией обработчик «понимает» это сам. С одной стороны, это плюс — код пишется быстрее. С другой стороны — минус, потому что новички часто ошибаются и создают операции для переменных с разными типами данных. Например, в коде порой встречается суммирование чисел и слов. Это довольно формальное объяснение, на самом деле всё сложнее. Подробнее вы поймете эти особенности после старта обучения.
  • Малонадёжность — JS не используют в сверхсложном ПО, разрабатывать банковские или промышленные продукты на нем не получится.

Стек:

  • редактор кода или IDE (среда разработки): Notepad++, Sublime Text, WebStorm;
  • отладчик: браузер, Firebug;
  • среда исполнения для серверного ПО: NodeJS + менеджер пакетов npm.

Разрабатывать удобно в редакторе кода — он подсвечивает синтаксис и подсказывает нужное написание. Отладка, или пошаговое исполнение программы, в JS происходит в DevTools браузера, дополнительное ПО необязательно.


Пример синтаксиса JavaScript — обработка формы входа

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

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

Дополнительно пригодится:

  • для десктопных программ: Electron и AppJS;
  • популярные фреймворки и библиотеки: jQuery, AngularJS, ReactJS, Ember;
  • JSON — популярный формат передачи структурированных данных;
  • MongoDB — документо-ориентированная база данных для JS-процедур.

П: парсить, патч, пет-проект, прошивка, пыха

  • Парсить (от англ. parse) — собирать и систематизировать данные с помощью специальной программы, парсера.
  • Патч (от англ. patch) — обновление, которое исправляет ошибки и прочие технические проблемы продукта.
  • Пет-проект (от англ. pet project) — проект, которым программист занимается для себя в свободное время. Например, для портфолио, прокачки навыков или просто для удовольствия.
  • Прошивка (от англ.) — версия программного обеспечения, которое управляет устройством. Такое ПО может представлять собой как набор микропрограмм, управляющий материнской платой компьютера — BIOS, так и целую операционную систему, обеспечивающую работу смартфона — Android.
  • Пыха, или пэхапэ (от англ. PHP) — язык программирования PHP.

Б: баг, бета, бэк, бэкап, бэклог, билд

Баг (от англ. bug) — ошибка в программном коде.

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

Бэк, или бэкенд (от англ. back-end) — часть программы/сервиса/приложения, которая работает на сервере.

Бэкап (от англ. backup) — резервное копирование каких-либо данных.

Бэклог (от англ

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

Билд (от англ. build) — любая работоспособная версия программного продукта

Также называется сборкой.

4 ответа

15

Лучший ответ

Чтобы избежать замены первого//в , используйте следующее regex:

PS: если вы хотите обрабатывать https, используйте вместо этого.

04 март 2014, в 15:35
Поделиться

4

будет совпадать с двумя или более слэшами.

10 нояб. 2014, в 11:17
Поделиться

2

Вот регулярное выражение:

Он находит множественные слэши в сохранении URL-адресов после протокола независимо от него.
Обрабатывает также относительные URL-адреса протокола, начинающиеся с .

Буквально означает:

  • — найдите группу: одна или несколько слэшей, а затем slash
  • — который следует за группой (* posiive lookbehind) этого (* отрицательного набора) , который исключает двоеточие и пробелы
  • — глобальный флаг поиска

12 янв. 2017, в 15:17
Поделиться

1

Я предлагаю вам просто использовать String.replace, какая документация , java.lang.CharSequence)

Что-то вроде
`myString.replace( «//», «/» );

Если вы хотите удалить первое появление:

Каков самый простой способ (без регулярного выражения). Я не знаю регулярное выражение, соответствующее, если есть эксперт, смотрящий на поток….;)

04 март 2014, в 15:21
Поделиться

Ещё вопросы

  • 2Оптимизирует ли .NET JIT пустые циклы?
  • 2Как объединить две строки в имя другой строки и вызвать эту строку?
  • 1Как автоматически обновить шаблон mailchimp с помощью node.js
  • Как удалить записи с ограничением внешнего ключа в одном запросе MySQL
  • 1Замените символы последовательно с массивом PHP
  • Извлечь user_id из таблицы MYSQL и установить атрибуты HTML (img src, ссылка href, тег h3) с помощью Jquery
  • 1Как проверить, чтобы «на номер» действовал для Twillio SMS API?
  • Нижний колонтитул исчезает с определенной длиной содержимого
  • 1Symfony: как назначить данные для шаблона в наследующем контроллере?
  • 1Сэндвич с мороженым более агрессивно закрывает приложения в фоновом режиме?
  • HTML отображается в виде текста
  • 1Цезий получает координаты от объекта, загруженного из KML
  • Ошибка в Mozilla Firefox.
  • 1php сессия не работает на сервере
  • Как я могу смешать данные столбца
  • 1smslib для Java: ошибка при отправке сообщения
  • JQuery: Почему моя рекурсивная анимация не заканчивается на вызове stop?
  • как браузер получает наш идентификатор и пароль
  • Удаленный элемент из сортируемого списка все еще отображается в массиве
  • Как кодировать букву апостроф в HTML?
  • 1.appendChild и window.print ();
  • Хранение значений из таблиц SQL в разные массивы PHP
  • Проверка класса JQuery при наведении мыши
  • 1Оценить наклон и погрешность для конкретной категории для статистических моделей и подбора
  • Неопределенная ссылка на функцию в библиотеке
  • 1AlertDialog с курсором
  • C ++ — лучшее соглашение для разрешения круговых зависимостей шаблонных классов в заголовочных файлах?
  • Что не так с этим кодом C? Я хочу знать количество 1 во входной строке
  • vector <double> для удвоения ошибки в коде c ++
  • 1Найти с _id не работает в mongodb
  • ‘background-position’ на ‘background-color’ с помощью CSS
  • md-autocomplete не ждет данных от службы. Как решить?
  • Включите файл JavaScript только один раз в Joomla
  • 1Как кэшировать подписанные файлы (Сервисный работник)
  • 1какие файлы .js должны быть включены в datepicker с использованием pickdate.js
  • 2ASP.NET mvc отображает номер int в LabelFor
  • Проверить, скрыт ли div в AngularJS от контроллера?
  • форсирование макета страницы при изменении размера окна
  • 1Уникальность атрибута в объекте
  • C ++ конкретное решение этой ошибки: переменная ‘t’ используется без инициализации
  • 2C #: Как я могу сделать autopper сопоставить свойство типа объекта?
  • 1Ошибка сборки во время установки py25-gtk на Mac OS X 10.6 с использованием MacPorts 1.8
  • 1Cakephp входной формат даты
  • 1Как расположить кнопки равных размеров по ширине телефона?
  • 1У меня работает витой реактор, как мне к нему подключиться?
  • Оператор перегрузки >>
  • Как перенаправить на другое действие на контроллере MVC?
  • jquery datatable не возвращает информацию
  • 1Изображение появляется после задержки на слайдере начальной загрузки
  • Разрешение маршрута AngularJS при вызове контроллера с использованием ng-include

Работа по трудовому договору

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

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

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

Поскольку ответственность за нарушение интеллектуальной собственности очень высока – мы рекомендуем внимательно изучать договор и ТЗ перед подписанием и с осторожностью подходить к использованию материалов, которые уже могут кому-то принадлежать.
Удачи в разработках!

Данная статья была написана по итогам INFOSTART MEETUP Питер.Online.

Мировая практика

Искусственный интеллект дополняет и постепенно заменяет программистов не только в России. В июне 2020 г. CNews писал, что компания Amazon запустила сервис Honeycode для создания приложений без необходимости написания программного кода. Проект полностью бесплатный, и использовать его могут как обычные потребители, так и крупные компании. К примеру, Slack, разработчик одноименного мессенджера, уже заявил о готовности к использованию Honeycode в своей работе.

Amazon Honeycode

В конце июня 2021 г. корпорация Microsoft запустила сервис Copilot, представляющий собой виртуального помощника программиста на базе искусственного интеллекта.

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

Помощник программиста в действии

За месяц до запуска Copilot Microsoft создала инструмент для написания ПО без развитых навыков программирования. Проект получил название Microsoft Power Apps, и он пригодится тем, кто пишет на языке Power Fx. С его помощью пользователи могут разрабатывать программы в формате диалога с компьютером. Например, при разработке приложения в сфере электронной коммерции можно будет описать в диалоге желаемую цель на естественном английском языке, после чего Power Apps задействует алгоритмы искусственного интеллекта и предложит варианты преобразования этого запроса в формулу Microsoft Power Fx.

В октябре 2020 г. в открытом доступе появилось приложение Lobe для создания готовых моделей машинного обучения. Lobe дает возможность создавать такие модели даже тем, кто не умеет программировать — от пользователей нужно лишь загрузить в нее данные, а всю работу программа выполнит сама. Lobe полностью бесплатна. Результат ее работы затем можно использовать в сторонних ПО и устройствах. Разработала Lobe все та же Microsoft.

Часто встречающиеся ошибки 1С и общие способы их решения Промо

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

Почему разработчикам-фрилансерам стоит заключать договор авторского заказа?

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

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

Недобросовестные юристы могут «спрятать» важные пункты в раздел обстоятельства непреодолимой силы (форс-мажор), поэтому на него тоже следует обратить внимание. Для того чтобы не было споров с заказчиком, попросите его включить в договор условие о возможности публикации результатов работы в рекламно-информационных целях и ссылкой на заказчика, попросите подготовить письменный отзыв о вашей работе

Еще одной интересной особенностью является возможность закрепления в договоре совместного с заказчиком владения исключительными правами (т.е. права по своему усмотрению разрешать или запрещать другим лицам использование результата такой деятельности). 

Новости для пользователей

Для уведомления пользователей программных продуктов 1С о разных событиях, в них включена подсистема «Новостной центр». Это довольно удобная штука, т.к. новостные ленты сообщают о выходе обновлений, о новостях и событиях в сфере учёта. Но можно увеличить пользу от новостной подсистемы используя её локально в рамках 1С базы. Например, внутренняя служба техподдержки или внедряющая компания может через новостную ленту оповещать пользователей информационной базы об изменениях в программе, совещаниях, проведении тестирований, заполнения нужных документов или сдача отчетов к определенной дате и т.п.

Как набрать слэш на клавиатуре

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

Косая черта расположена на клавиатуре в нескольких местах:

  • Возле правой клавиши Shift на английской раскладке.
  • В цифровой части клавиатуры независимо от раскладки и регистра.
  • Над кнопкой Enter или слева от нее (набирать нужно вместе с Shift).

Обратная косая черта обычно находится слева или над кнопкой Enter. Также она может быть между левым Shift и буквой Z (Я).

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

Для печати косой черты зажимаем клавишу Alt и набираем на цифровой клавиатуре сначала 4 затем 7, после чего отпускаем Alt.

Обратный слэш \ можно поставить таким же способом, только вместо 4 и 7 набирать 9 и 2

Java

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

На Java разрабатывают десктопные программы, приложения под Android, серверные конструкции и масштабные промышленные и банковские системы. Достаточно сложный в освоении язык.

Новички могут рассчитывать на 35–60 тысяч рублей. Специалисты среднего уровня — на 50–100 тысяч. Высокий уровень — на доход 135–270 тысяч рублей.

Синтаксис простой и понятный. Методология языка — классическое объектно-ориентированное программирование. Работает на всех операционных системах. На Java можно написать ПО любой сложности — от небольшой утилиты до комплекса с миллионами строк. Кстати, если хотите писать для Android — приложения на нем делают только на Java.

Особенности:

  • Разработка на Java подразумевает высокий уровень абстракции. С одной стороны, такое ПО легче поддерживать и развивать. С другой — типовые и простые вещи требуют бОльших усилий. Сравните: на PHP для чтения файла по ссылке нужна одна строчка кода. На Java придется написать пять-десять строк.
  • Строгость языка. Это надежно, отсутствуют неявные конструкции, нет упрощений. С другой стороны, код очень громоздкий. Представьте, что вы продаете машину. Если говорить просто, то выйдет что-то вроде: «Вот машина. Вася продал ее Пете. Петя отдал деньги Васе». На Java все то же самое придется написать в форме договора купли-продажи — когда отдают деньги, где что в машине, какие номера двигателя, корпуса. Плюс еще масса данных. Так, чтобы не было многозначности.
  • Высокий порог вхождения: синтаксис прост, примеров много, но общие принципы понять сложно. Придется очень много учиться и практиковаться. Но и возможности в итоге получите практически безграничные.

Стек:

  • IDE: Eclipse, Netbeans, IntelliJIDEA, AndroidStudio;
  • среда выполнения: JVM (Java Virtual Machine);
  • фреймворк: Spring, Swing, Hibernate, OrmLite (для Android);
  • инструменты для Android: SDK Manager, Android Emulator (эмуляторы ОС разных версий);
  • базы данных: Oracle, MySQL и любые другие;
  • менеджер зависимостей: Grandle, Ant, Maven.

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

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

Пример кода на Java — создаем окно с кнопкой

Универсальные языки программирования

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

Python

Hypertext Preprocessor (PHP) C#

Подходит для создания программ и сайтов

Широкие возможности при небольшом количестве кода

Универсальный язык программирования с разными версиями для разработки десктопных и мобильных приложений, а также веб-программирования

Формирует у пользователя собственный стиль написания кода

Подходит для создания программ, приложений, динамических и статистических веб-страниц

Создан компанией Microsoft, сочетает в себе простоту и надёжность

Большая база модулей позволяет быстро освоить основные алгоритмы

Большая библиотека модулей

Подходит для создания огромного количества приложений для всех платформ

Отличная база для освоения более сложных языков программирования

Модули легко модифицируются под нужды конкретного пользователя

Возможно использование для баз данных

Минимальный набор служебных символов

Если говорить о том насколько актуальны и востребованы универсальные языки программирования, то наиболее классический, но постепенно ослабляющий свои позиции – Python, однако для него создано огромное количество самоучителей, что способствует быстрому изучению. А вот самый востребованный — C#, ведь он стал отличной базой для изучения более сложных языков программирования и при этом позволяет создавать даже сложные приложения, в том числе и игры.

Требует ли IT-рынок реально знать несколько языков программирования?

Но вернёмся к минимальному порогу. Всё же знать четыре языка звучит реалистичнее, чем 20. Насколько часто IT-компании ищут таких эрудитов? Чтобы ответить на этот вопрос, я изучил несколько сотен вакансий на hh.ru. Большинство позиций с зарплатой от 150 тысяч выглядят примерно вот так:


Скриншот: сайт HeadHunter. Зарплатная вилка этой вакансии — от 150 до 200 тысяч рублей

Человека, который решил попробовать себя в программировании или просто не знаком с C++, такое количество иностранных слов может отпугнуть. Но опытный разработчик на C++ знает, что STL, Boost, MFC — это всего лишь библиотеки, а Qt — фреймворк. То есть в этой вакансии от вас требуется знание всего одного языка программирования — C++. И это, в общем-то, уже верхний уровень российского рынка.

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

В других вакансиях от вас могут потребовать следующее:


Скриншот: сайт HeadHunter. Зарплатная вилка этого предложения — от 150 до 260 тысяч рублей

С HTML и CSS мы разобрались выше. React, Vue.js, Node.js опять-таки инструменты профильного языка представленной вакансии — JavaScript

Обратите внимание, что базовое понимание (не владение!) C++ не обязательно, а лишь будет плюсом. Знать Go тоже не нужно, если вы уже владеете Node.js

То есть обязательных требований здесь едва ли наберётся на два языка.

Вакансии с тремя языками — огромная редкость. А если вы вдруг наткнётесь на должность, которая требует знания четырёх языков программирования на крепком уровне, то велика вероятность, что работодатель либо некорректно сформулировал должностные обязанности, либо просто некомпетентен.


Скриншот: сайт HeadHunter. Один из немногих офферов, где фигурируют три языка (всё-таки требуется отличное знание PHP 7+ и РСУБД). Но и обещанная зарплата — до 500 тысяч рублей :)

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

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

Кому и зачем нужен язык ассемблера?

Даже из нашего примера «Hello, World!» видно, что ассемблер не так удобен в разработке, как языки высокого уровня. Больших программ на этом языке сейчас никто не пишет, но есть области, где он незаменим:

  • На ассемблере разрабатывают встроенные программы для микроконтроллеров. Это миниатюрные компьютеры, установленные в системах сигнализации, пультах управления, датчиках, бытовой технике, модемах и во многих других устройствах. Микроконтроллеры используются даже в робототехнике и спутниковых навигационных системах. Объём памяти у этих мини-компьютеров ограничен, а ассемблер удобен для их программирования тем, что одна его команда транслируется в одну команду в двоичном коде. По исходному тексту программы можно определить время её исполнения и объём памяти для её хранения.
  • На ассемблере пишут драйверы устройств и некоторые компоненты операционных систем — например, ядро или загрузчик. Любительские операционные системы MenuetOS и KolibriOS полностью написаны на ассемблере. Ассемблерный код есть в программах для игровых приставок и мультимедийных кодеков.
  • Ассемблер применяется в реверс-инжиниринге — обратной разработке программ. Реверс-инжиниринг используют, чтобы понять, как работают программы, какой у них алгоритм. Это нужно в тех случаях, когда создатель по каким-то причинам не хочет публиковать исходный код. Обратной разработкой занимаются антивирусные компании, исследующие вирусы и трояны, создатели драйверов и операционных систем, а также просто любопытные. Ещё её активно применяют компьютерные злоумышленники всех мастей: взламывают программы, ищут уязвимости, пишут вирусы, генераторы ключей и тому подобное.

Затраты в растениеводстве 1С: ЕРП АПК

К сожалению, информации об отраслевом решении 1С: ЕРП АПК крайне мало. У разработчика есть методичка под названием Обучающий курс, однако она недостаточно полно описывает функционал, да и обновляется гораздо реже, чем сама конфигурация. Поэтому возникло желание написать цикл статей, где попробовать обобщить свой опыт работы с данной конфигурацией в части учета в растениеводстве.
В настоящий момент в конфигурации поддерживаются два режима формирования себестоимости в растениеводстве: ежемесячный по фактической себестоимости и расчет по плановой в течение года с расчетом фактической в конце года. Про второй вариант в данной статье не будем говорить, вариант относительно новый и на фактических данных мной еще не проверялся.

Вывод

Деление пути на сегменты с помощью
символа слеша подразумевает наличие непустых имён этих сегментов. Соответственно,
ссылка со слешем на конце видится нелогичной (хотя и не воспрещена) в том
смысле, что она вроде бы указывает на некий последний сегмент пути,
но притом никак не называет этот сегмент. Точно так как нелогична (но
тоже не воспрещена) ссылка http://domain.com/level1////levelX,
не называющая промежуточные сегменты пути, если путь рассматривать не
как набор параметров, а как иерархическую структуру.

Просторечным языком смысловое наполнение двух ссылок можно пояснить так:

  • http://domain.com/level1/level2   —
    адресует в дефолтную начальную точку второго уровня иерархии
  • http://domain.com/level1/level2/   —
    адресует в неопределённую точку внутри второго уровня иерархии,
    то есть как бы на сервер возлагают задачу, что «мы обращаемся
    ко второму уровню иерархии, а ты сам определи, какую точку
    считаешь в этом уровне дефолтной начальной».

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

Из всего сказанного выше следует, что аналогично тому, как ссылки

  • http://domain.com
  • http://domain.com/

адресуют посетителя в корень сайта, так и например ссылки

  • http://domain.com/level1/level2
  • http://domain.com/level1/level2/

адресуют посетителя во второй уровень иерархии ресурса. А то что некий
сервер может интерпретировать слеш на конце по-своему и начать
внутренне редиректить на дефолтную начальную точку уровня — скажем на
файл index.html, это уже частный случай
конкретной конфигурации. Точно так как и в реализации системы человеко-понятных
URL все записи редиректов с помощью серверного модуля mod_rewrite
определяют своё (присущее конкретному движку) понятие иерархического
строения URL, в котором элементы пути могут приравниваться к параметрам
запроса и вовсе не иметь общего с файловой структурой сайта (классический
пример: http://domain.com/ru/path,
элемент ru — это параметр текущего языка,
а не папка на сайте).

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: