Содержание
Последние проблемы
sluhai.club
(9 м. 15 с. назад)
mos.ru
(18 м. 10 с. назад)
2i91.com
(34 м. 44 с. назад)
easuz.mosreg.ru
(53 м. 33 с. назад)
2i91.com
(1 ч. 7 м. 15 с. назад)
kizdar.net
(1 ч. 10 м. 31 с. назад)
v-s.mobi
(2 ч. 51 м. 59 с. назад)
ozon.ru
(4 ч. 32 м. 27 с. назад)
allmovie.pro
(7 ч. 1 м. 55 с. назад)
2i91.com
(8 ч. 23 м. 24 с. назад)
stoloto.ru
(8 ч. 28 м. 53 с. назад)
smotrim.ru
(8 ч. 32 м. 31 с. назад)
hotscopes.to
(9 ч. 6 м. 41 с. назад)
stoloto.ru
(9 ч. 58 м. 31 с. назад)
perdos.club
(10 ч. 11 м. 19 с. назад)
2i91.com
(11 ч. 31 м. 23 с. назад)
co.torrminator.com
(15 ч. 55 м. 34 с. назад)
sbermarket.ru
(15 ч. 55 м. 40 с. назад)
hydraruzxpnew4afaonion.co
(16 ч. 10 м. 29 с. назад)
omegle.com
(16 ч. 46 м. 55 с. назад)
vmeste.tv
(17 ч. 30 м. 35 с. назад)
ru.investing.com
(18 ч. 4 м. 23 с. назад)
xt.com
(18 ч. 26 м. 17 с. назад)
2i91.com
(19 ч. 46 м. 33 с. назад)
stoloto.ru
(19 ч. 59 м. 24 с. назад)
Проблемы
Ну а теперь переходим к «плохим новостям». Полная свобода это огромный плюс, но в то же время страшный минус. В некотором роде это анархия, ограниченная правилами платформы GitHub. Унижать и оскорблять других участников нельзя, но как строить процессы разработки, кто главный и что со всем этим делать — нигде не регламентировано. Всё это сформировало проблемы описанные ниже.
Иерархия
Перед началом работы на любом проекте всегда хорошо провести onboarding, чтобы рассказать суть проекта, объяснить ключевые технические моменты и познакомить с командой. На последнем этапе, как правило, я узнавал кто здесь босс, кто сосед, а кто кофе приносит, иными словами изучал иерархию. Так вот в отрытом исходном коде этих ролей нет, от чего сложно ориентироваться в пространстве и что-либо делать, как минимум первое время.
Прочитав все CONTRIBUTION.md и поучаствовав в нескольких обсуждениях, можно определить активных участников и «теоретических» боссов. Казалось бы всё, вопрос решен, но! Никто ни за что не отвечает, ни в масштабах проекта, ни в масштабах отдельной задачи. Нет начальника, который назначит задачу и дедлайн, нет исполнителя, который обязан закрыть issue. Также как от меня никто не может требовать написания тестов для v14 Node.js, также и я не могу требовать этого от других. В результате, может случится так, что эти тесты никто и никогда не напишет.
Немного двуличия: мне нравится безответственный подход, когда это касается меня, и раздражает в случае с другими.
- Как можно релизить не покрытую тестами новую версию продукта?
- Кто за это отвечает?
- Кто должен был написать тесты?
На коммерческом проекте эти вопросы резонны, в open source — нет. Это так называемая коллективная ответственность, в которой нет ни героев, ни виноватых.
Планирование
В отличие от коммерческих проектов, здесь отсутствует привычный план разработки. Здесь нет JIRA/Trello карточек, прикрепленных к конкретным личностями. Это non-paid участие и следовательно никто не может устанавливать сроки и требовать выполнения задач. Такое положение вещей приводит к хаосу, где каждый делает то, что ему вздумается.
Можно возразить, что мол есть GitHub Projects (Trello на минималках встроенный в GitHub) и Milestones, которые используются на серьезных проектах.
Наверное пора открыть завесу тайны — деда мороза не существует эти доски ведутся «заинтересованными» людьми. Интересом может выступать:
- финансовая поддержка — оплачиваемая из спонсорских взносов
- энтузиазм — авторы идеи или core-разработчики, которые просто радеют за продукт
В таких случаях всё работает по правилам коммерческой разработки, и если с денежной мотивацией всё ясно — работает пока платят, то с энтузиазмом — всё очень неконтролируемо. Из этого я сделал вывод, что модель бесплатного open source не может похвастаться стабильностью и планомерностью, что в свою очередь влияет на производимый продукт и developer experience. Оплачиваемый open source пока только начинает набирать обороты, поэтому его в расчет не берем.
Пинг
Последнее и пожалуй самое ненавистное для меня это задержка в коммуникации. Если я сделал PR с фиксом сегодня, то никто не гарантирует, что его посмотрят, одобрят и смерджат в тот же день. Первая проблема это географическое положение всех участников. У меня разгар рабочего настроения, а единственный товарищ от которого я жду «LGTM!» сейчас спит на другом конце света и наоборот.
На проблему с часовыми поясами дополнительно накладывается отсутствие обязательств — никто не должен и не будет спешить отвечать вам, если на основной работе завал. Простой пример тайминга, максимально приближенный к реальности:
- day 0: я создал issue
- day 0: Отметил целевых участников: user1, user2
- day 1: user1 отреагировал смайликом 0_0
- day 2: user2 добавил метку «bug» и прокомментировал «Thanks for contribution. I’ll take a look»
- day 5: user1 прокомментировал «please add details about X and Y»
- day 6: я добавил комментарий с деталями по X и Y
- day 7: user1 прокомментировал «okay thanks»
- day 12: я прокомментировал «any progress»
- day 24: я прокомментировал «friendly reminder»
- day 30: я прокомментировал «ping ping»
- day 60: user2 прокомментировал «was busy for last months, will take a look soon»
- day 60: я прокомментировал «sounds great, thanks»
- day 65: user2 прокомментировал «PR with fix #000»
- day 67: issue закрыто после успешно принятого PR
SearchInform
«Контур информационной безопасности СёрчИнформ» — DLP-система со встроенными аналитическими инструментами.
Функции и фичи
- Система в режиме реального времени анализирует компьютеры сотрудников в офисе и на удалении.
- SearchInform ориентирована на исследовательскую и аналитическую работу. Все действия сотрудников помещаются в архив, после чего нужно анализировать полученную информацию и, при необходимости, блокировать действия.
- Блокировка для устройств. К примеру, есть возможность заблокировать отправку файлов на флешку.
- Если факт попытки слива информации состоялся, перехват сохраняется и позволяет восстанавливать детали прошедших событий (полезно при возникновении необходимости расследования).
Из уникальных плюсов отметим работу с поиском информации и инцидентов. Работа с архивными данными продумана отлично, есть фирменный «поиск похожих».
Недостаток: блокировка сетевых каналов реализована далеко не идеально: письма отправляются в карантин, пока администратор лично не просмотрит инцидент.
Удобство в использовании
Еще во время установки системы вы поймете, что SearchInform — это комплексное взаимодействие нескольких систем. Настройки перехвата создаются в одной консоли, просмотр теневого копирования — в другой, создание отчетов — в третьей и так далее. Соответственно, устанавливать и работать с системой не очень легко, совершенно точно понадобится специальная документация. В отзывах о SearchInform пользователи пишут про хаотичное управление системой и, как мы отметили выше, про зашкаливающее количество консолей. Есть плюс: в SearchInform найдется все, поскольку отлично развит набор инструментов для эффективного поиска — это очень удобно. Резюмируем: минусов в управлении системой существенно больше, чем плюсов.
Цена
На официальном сайте стоимость услуг мы не нашли. В 99 случаях из 100 отсутствие прайса в открытых источниках — признак дорогой услуги, хотя это и оценочное суждение. Впрочем, такие клиенты SearchInform как Газпром, Сбербанк и ВТБ лишь подтверждают наше мнение. Цена тут тоже, скорее, минус, чем плюс.
Вывод
SearchInform нацелена на анализ данных. Назвать эту DLP-систему лучшей для защиты данных и предотвращения утечек мы не можем, поскольку функции блокировки сетевых каналов развиты на зачаточном уровне.
«Открытые» BI-системы: за и против
Open source и BI остаются двумя сегментами софтверного рынка, где Forrester Research отмечает растущий интерес пользователей, а также увеличивающееся проникновение решений. По данным на август 2010 года, около 7% опрошенных Forrester компаний использовали BI решения с открытым исходным кодом (для сравнения – более половины этих же компаний в аналогичный момент времени использовали open source операционные системы).
Какие из ниже перечисленных решений open source использует ваша компания?
Forrester Research, август 2010
Выгоды использования open source BI, по мнению экспертов Forrester, аналогичны тем, что характерны и для других классов open source продуктов:
- Низкие капиталовложения (capex): главное качество, которое склоняет пользователей именно в сторону использования open source BI. Софт бесплатен, впрочем, это не отменяет расходы на поддержку решения, как со стороны внешнего поставщика или системного интегратора, так и усилиями внутренней команды, которые также должны быть оплачены.
- Гибкие источники поддержки: когда речь идет о покупке проприетарной системы, нормальной считается стоимость годового соглашения о поддержке, составляющая 20-25% от бюджета. Такая поддержка гарантирует две возможности: обращаться в службу поддержки и обновлять продукт до новых версий. Эти опции оплачиваются даже в том случае, если они не используются. В случае с open source BI у заказчиков всегда есть возможность отказаться от поддержки, сменить провайдера сервиса или инвестировать средства в создание собственной службы поддержки.
- Широкие возможности для интеграции: в случае с open source BI отсутствуют какие бы то ни было ограничения на интеграцию таких систем с другими корпоративными приложениями. Проблемы несоответствия API не существует, так что такая интеграция может осуществляться сколь необходимо глубоко.
- Участие в «судьбе» решения: компании, использующие open source продукты на протяжении долгого времени, отмечают следующий феномен. Отсутствие коммерческого закрытого кода стирает барьеры между пользователями и разработчиками, так что предприятия могут следить за изменениями в ядре продукта и даже подспудно оказывать влияние на них.
Однако, использование open source на уровне предприятия традиционно рассматривается с осторожностью, поскольку использование системы, разрабатываемой свободным сообществом, с каким бы энтузиазмом они это ни делали, всегда заставляет учитывать риск поддержки такой системы в дальнейшем. Точнее, отсутствия такой поддержки
Поэтому все больше число компаний выбирают третью модель – коммерческий open source BI, поскольку она сочетает преимущества первых двух подходов.
Вводная
Ранее на Хабре очень подробно освещалась тема Автоматизации десктопных GUI приложений на Python. В то время меня очень сильно привлекла эта статья, потому что в ней раскрываются элементы, схожие с элементами создания роботов. А так как по роду своей профессиональной деятельности я занимаюсь роботизацией бизнес-процессов компании (RPA — область, в которой не было полнофункциональных OpenSource аналогов до недавнего времени), данная тема была очень актуальна для меня.
Топовые существующие IT решения в области RPA (UI Path, Blueprism, Automation Anywhere и другие) имеют 2 существенные проблемы:
- Проблема 1: Технические ограничения функциональности платформы, так как скрипты роботов создаются только в графическом интерфейсе (да, там есть возможность вызывать программный код, но эта возможность имеет ряд ограничений)
- Проблема 2: Крайне дорогая лицензионная политика продажи этих решений (Для топовых платформ около 8000$ за одного постоянно работающего робота в год). Сделайте с десяток роботов, чтобы попасть на ежегодную крупную сумму в виде лицензионных отчислений.
Так как этот рынок очень молодой и очень активный, уже сейчас Вы запросто сможете найти в гугле 10+ решений роботизации с разной ценовой политикой. Но полнофункционального OpenSource решения, до недавнего времени, найти было невозможно. Причем речь именно про полнофункциональный OpenSource, потому что частичные свободные решения роботизации найти можно, но они предлагали только часть ключевых технологий, на которых базируется концепция RPA.
Introduction
Open Source Point of Sale is a web based point of sale system.
The main features are:
- Stock management (Items and Kits with extensible list of Attributes)
- VAT, GST, customer and multi tiers taxation
- Sale register with transactions logging
- Quotation and invoicing
- Expenses logging
- Cashup
- Receipt and invoice printing and/or emailing
- Barcode generation and printing
- Suppliers and Customers database
- Multiuser with permission control
- Reporting on sales, orders, expenses, inventory status
- Receivings
- Giftcard
- Rewards
- Restaurant tables
- Messaging (SMS)
- Multilanguage
- Selectable Boostrap (Bootswatch) based UI theme
- Mailchimp integration
- reCAPTCHA to protect login page from brute force attacks
- GDPR ready
The software is written in PHP language, it uses MySQL (or MariaDB) as data storage back-end and has a simple but intuitive user interface.
The latest 3.x version is a complete overhaul of the original software.
It is now based on Bootstrap 3 using Bootswatch themes, and uses CodeIgniter version 3 as framework.
It also has improved functionality and security.
Шик, блеск, красота
И, напоследок, опциональные фишки, которые, тем не менее, производят приятное впечатление и могут существенно помочь пользователям вашего кода.
Бейджи
Отличная штука. Очень удобно с первого взгляда на README получить представление о статусе проекта. Лично я считаю наиболее наглядными следующие характеристики:
- процент покрытия
- актуальная стабильная версия
- статистика скачиваний в реестре / звезд, или другая фаллометрия свидетельствующая о популярности или востребованности
Главное не переусердствовать.
Интеграция с сервисами
Рынок CI последние годы очень активно развивался и существует огромный выбор сервисов по анализу кода, хранению артефатов сборки и тестирования и т.п. Большинство из них, как правило, легко интегрируются с github и бесплатны для открытых проектов.
- https://codecov.io
- https://codeclimate.com/
- https://www.bithound.io
- https://scrutinizer-ci.com/
- https://codeship.com/
- … тысячи их под любой язык и задачу
Делитесь в комментария интересными находками!
Docker?
Казалось бы, при чём тут докер?
А вот: он может быть использован для тестирования, разработки и поставки вашего детища.
Некоторые CI-сервисы используют докер. Некоторые виды тестирования удобно автоматизировать при помощи контейнеризации.
Раньше приходилось использовать vagrant для унификации рабочего окружения. Docker вполне может взять эту задачу на себя. Многие задачи по сборке, которые надо выполнять на машине разработчика могут быть контейнеризированы. Это поможет избежать дополнительных усилий по настройке локальной машины под проект и проблем типа «а у меня все работает…».
Некоторые программные решения удобно поставлять в виде докер-образа, учитывая что многие уже используют docker-compose и stack в своих проектах. В этом случае подключение вашей разработки упрощается до пары строчек в docker-compose.yml.
Счастье — в модульности
Некоторые разработчики нашли себя, сосредоточившись на создании небольших, легко обслуживаемых, фрагментов кода и тем самым сознательно избавились от избыточной ответственности. «Я не люблю разрабатывать ПО, требующее масштабной поддержки, — говорит Джеймс Халлидей (James Halliday), создатель большого количество модулей Node.js. — Вообще стараюсь делать модули минималистичными. Уверен, многие инструменты выиграли бы от того, что над ними перестали работать, перестали вносить изменения без объективных причин». Дополнительные функции приводят к избыточной сложности, и каждое изменение влечет за собой риск появления новых багов.
Хэллидей (более известный под ником substack) — сторонник политики невмешательства и пассивного подхода. «У меня отключены все уведомления от GitHub», — говорит он. В самом деле, любой разработчик может форкнуть код и исправить обнаруженную проблему или добавить новый функционал в модуль. В конце концов, именно так работает Open Source. Джеймс перестает отслеживать issues или pull request’ы для пакетов, которые считает завершенными. «Постоянно следить за каждой мелочью, которую я написал много лет или десятилетий назад, — это не про меня, — отмечает он. — Я всегда занят новыми проектами, что было бы невозможно, если бы постоянно возвращался к старым».
Не существует идеального подхода к разработке, который пришёлся бы по вкусу всем разработчикам открытого и свободного ПО. Многие из них счастливы поддерживать свои проекты или работать с сообществом над улучшениями. Установка в духе «меньше — значит больше» становится все более популярной альтернативой для поддержания крупных проектов и сообществ. Как отмечает Эгбал в своей книге Working in Public: The Making and Maintenance of Open Source Software, добавление новых участников в проект фактически означает дополнительную работу для его авторов. Те рискуют оказаться на своеобразном крючке, связанном с необходимостью не только проверять чужой код, но и поддерживать новые функции, если новички уходят из проекта. Эгбал обнаружила в сообществе Open Source тенденцию к более модульному проектированию и разработке, когда авторы создают компактные пакеты, требующие меньшего числа maintainer’ов и меньшего объема работ. Даже такие крупные проекты, как Ruby on Rails, постепенно переходят на модульный подход.
Между тем, в отчете GitHub State of the Octoverse-2020 говорится, что Open Source-разработчики предпочитают вносить небольшие, постепенные изменения, тем самым создавая меньше проблем для тех, кто занимается поддержкой. «Главной лучшей практикой был признан небольшой охват pull request’ов, поскольку такой подход облегчает их рассмотрение (review), способствует более качественному анализу и упрощает откат в случае возникновения проблем, — сказано в отчете. — Также он улучшает обратную связь, стимулируя и способствуя повышению производительности команды».
Хотя модульный подход может облегчить жизнь Open Source-разработчикам, он также создаёт новые проблемы для крупных предприятий, увеличивая число пакетов, которые необходимо проверять и обновлять. «Объём потенциальных проблем ещё больше. Слишком много зависимостей, при этом за каждую отвечают разные программисты», — пишет Эгбал.
В некотором смысле такова цена использования свободного программного обеспечения. «Помните, что Open Source-программисты обычно делают эту работу ради общего блага, часто безвозмездно, и не могут контролировать то, как их софт используется, — говорит руководитель отдела безопасности GitHub Майк Хэнли (Mike Hanley). — Полагаясь на Open Source и стороннее ПО, необходимо проявлять должную осмотрительность в отношении того, какое ПО вы включаете в проект и как его используете. При этом не забывайте делиться своими улучшениями, интересными примерами использования или багфиксами».
Помимо этого, у компаний и энтузиастов имеется множество возможностей для более активного участия в сообществах Open Source, начиная с финансирования и поддержки и заканчивая основанием новых сообществ. Начинать рекомендуется с более пристального изучения софта, лежащего в основе вашего кода, и открытия ранее невиданной инфраструктуры, которая за ним стоит.
Symantec
DLP-система Symantec выполняет 3 основные функции: контроль действий пользователей, мониторинг перемещения секретных данных по сетевым каналам связи, сканирование локальной сети на предмет неупорядоченного хранения важных документов.
Функции и фичи
- Обнаружение конфиденциальной информации в открытом доступе, в системах документооборота, почтового обмена, базах данных, на серверах и файловых хранилищах.
- Отслеживание и блокировка перемещения информации внутри корпоративной сети и за ее пределы.
- Контроль веб-сервисов и облачных хранилищ, мобильных приложений, входящих и исходящих сообщений электронной почты на мобильных устройствах.
Удобство в использовании
Удобный интерфейс, понятный на интуитивном уровне функционал управления политиками безопасности и инцидентами. Явных минусов не обнаружено.
Цена
Ситуация повторяется: на официальном сайте стоимость услуг мы не нашли. В других открытых источниках прайс тоже можно получить по запросу. Поэтому делаем выводы: дорого.
Выводы
DLP-система Symantec — продукт корпоративного класса с удобным интерфейсом, широкими возможностями контроля и аналитическими функциями. Компания Symantec является мировым лидером в разработке и внедрении DLP систем и уже давно зарекомендовала себя на этом рынке и в России.
С чего начиналось свободное ПО
С 1952 по 1955 год компания IBM начала выпускать IBM 701, первый коммерчески доступный компьютер. ЭВМ не продавали конечным потребителям, а сдавали в аренду научным институтам, военным компаниям и госпредприятиям. Машины поставлялись без операционной системы и программ. Ученые и инженеры начали писать софт сами и делились им с коллегами из других компаний, у которых были аналогичные ЭВМ.
Со временем коммерческих моделей компьютеров становилось больше, и они стали доступны обычным пользователям. Однако под каждую из этих моделей придумывали отдельное ПО. Компании-производители создавали каждый свою операционную систему: BESYS, Compatible Time-Sharing System или CP/CMS. Эти ОС начинали продавать вместе с ПК, и иногда они стоили дороже самого компьютера.
Разработчик Ричард Столлман присоединился к лаборатории искусственного интеллекта при Массачусетском технологическом институте (MIT). Он принимал участие в работе над свободным ПО, например, над EMACS — текстовым редактором для мини-компьютеров семейства PDP. Позднее редактор продали коммерческому дистрибьютору. В 1984 году Столлман решил основать проект свободного ПО под названием GNU (рекурсивный акроним от англ. GNU’s Not UNIX).
Ричард Столлман в МГУ
(Фото: Wikipedia)
В рамках этого проекта энтузиасты придумали термин «свободное ПО» и сформулировали его критерии: использование, изучение, шеринг и улучшение. Они опубликовали манифест GNU. В 1985 году Столлман основал фонд Free Software Foundation (FSF) для развития свободного ПО за счет пожертвований. В 1989 году появилась первая версия лицензии GPL — General Public License («Универсальная общественная лицензия GNU»). Она должна защитить свободу всех пользователей программ, давать права на копирование, модификацию и распространение софта. Столлман добавил в лицензию понятие «авторское лево» в противовес «авторскому праву», по которому пользователи всех производных программ получают все оригинальные права создателя. Позднее появились другие лицензии, которые позволяют использовать свободное ПО, например, лицензия MIT от Массачусетского технологического института или лицензия BSD от Калифорнийского университета в Беркли.
К 1991 году разработчикам удалось создать независимую работоспособную ОС, но ей не хватало ядра. Тогда Линус Торвальдс выпустил ядро Linux с открытым кодом, а в 1992 году лицензировал его по GPL.
Линус Торвальдс
(Фото: YouTube)
В середине 1990-х годов в open source пришла первая крупная компания Netscape. Ее браузер Navigator был одним из самых популярных в мире, но с появлением Internet Explorer он стал вытесняться с рынка. В 1998 году в Netscape решили открыть исходный код своего браузера. Год спустя компании не стало, но исходный код Navigator стал основой для одного из самых популярных браузеров — Mozilla Firefox.
В 1998 году возникла организация Open Source Initiative (OSI), которая занимается популяризацией открытого кода. В том же году разработчики придумали альтернативу термину «свободное ПО». Они решили внедрить понятие open source, чтобы сменить парадигму бесплатности на доступность. Впоследствии разработчики Эрик Реймонд и Брюс Перенс написали «Определение Open Source».
В 2014 году представители фонда поддержки открытых проектов Linux Foundation заявили, что в будущем 80% стоимости технологий будет приходиться на открытый код и только 20% — на платные программы.
Reporting Bugs
If you are taking a release candidate code please make sure you always run the latest database upgrade script and you took the latest code from master.
Please DO NOT post issues if you have not completed this step.
Versions ≥ 3.3.0:
Please Copy the info under System Info tab in configuration section in order to give us the required details.
Versions
Bug reports must follow the below schema:
- Ospos version string with git commit hash (see ospos footer)
- OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 20, Windows 10)
- Web Server name and version (e.g. Apache 2.4, Nginx 1.12, Nginx 1.13)
- Database name and version (e.g. MySQL 5.6, MySQL 5.7, MariaDB 10.2, MariaDB 10.3)
- PHP version (e.g. 7.2, 7.3, 7.4)
- Language selected in OSPOS (e.g. English, Spanish)
- Any configuration of OSPOS that you changed
- Exact steps to reproduce the issue (test case)
- Optionally some screenshots to illustrate each step
If above information is not provided in full, your issue will be tagged as pending.
If missing information is not provided within a week we will close your issue.
3. Как это работает
Проект с открытым исходным кодом обычно включает три этапа. Давайте быстро рассмотрим каждый этап.
Этап 1. Содействие
Если вы хотите участвовать в проекте с открытым исходным кодом, вы можете начать с обращения в организацию, которая находится за самим программным обеспечением, и спросить, какие возможности у них есть. Этот метод будет хорошо работать для небольших проектов или стартапов, однако вы должны знать, что большинство проектов с открытым исходным кодом не будут платить за вашу работу и что все делается на добровольной основе.
Раньше, когда я работал над проектами с открытым исходным кодом, мне приходилось ждать недели (и в одном случае, два месяца), прежде чем я получил ответ, но вы должны сидеть там и ждать, пока получите все важные электронные письма с подтверждением.
Альтернативно, для крупномасштабных проектов вы можете просто начать кодирование и разветвление собственной версии программного обеспечения
Вам следует с осторожностью относиться к тому, что если многие люди работают над одним и тем же проектом, что и вы, то ваш тяжелый труд не может быть включен в окончательную версию продукта, поэтому будьте готовы к отказу
Если вы ищете вдохновение в проекте, над которым нужно начать работать, всегда есть много интересных проектов, особенно если вы смотрите на сайтах, таких как GitHub, SourceForge и Google Code.
Прежде чем приступить к фактической работе над проектом, вы должны ознакомиться с тем, как выполняется проект и какова его структура, чтобы вы знали, к кому обратиться, если вам требуется в чем-либо помощь. Кроме того, рекомендуется проверить, правильно ли вы все делаете, прежде чем начинать, поскольку вы же не хотите запутаться в чем-то, либо потратить время на работу над функцией, над которой уже работает кто-то другой.
Этап 2: фиксация
Когда вы внесли необходимые изменения или внедрили функцию, которую вы задумали, вы передаете свои изменения основному проекту и отправите их разработчикам проекта для просмотра.
Это можно сделать с помощью GitHub или на платформе SourceForge. Обычно ваши изменения получают ответ от организации или команды, отвечающей за проект: да или нет, указывая, будут ли ваши изменения включены в проект. Если да, то настало время для стадии распространения. Если нет, то возвращаемся на первую стадию.
Этап 3. Распространение
Возможно, наиболее сложным этапом является распространение проекта с открытым исходным кодом. Здесь окончательная версия передается в репозиторий, где был размещен проект, а обновленные версии для не-разработчиков обновляются. На данный момент организация и разработчики попрощались с их напряженной работой и передали ее общественности для общего пользования, и, конечно, критики.
Фреймворки для интеграции с 1С
Еще одна важная категория – инструменты для интеграции с 1С. В эту категорию также вошли фреймворки, позволяющие разрабатывать приложения с использованием объектной модели, аналогичной той, что применяется в 1С:Предприятии.
-
Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 https://github.com/vbondarevsky/Connector (167 голосов) – библиотека для работы с HTTP запросами. Берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п. Поставляется в виде конфигурации, содержащей общий модуль, который можно использовать в своих решениях. Репозиторий с библиотекой OneScript, содержащей аналогичную функциональность – https://github.com/vbondarevsky/1connector. Описание использования разработки представлено в публикации Инфостарта https://infostart.ru/public/709325/.
-
Metadata.js https://github.com/oknosoft/metadata.js (159 голосов) – библиотека для разработки бизнес-ориентированных и учетных offline-first приложений на JavaScript. Предоставляет программисту высокоуровневые объекты данных, аналогичные тем, которыми пользуются программисты 1С (перечисления, справочники, документы, регистры и т.д.), инструменты декларативного описания метаданных и автогенерации интерфейса, схожие по функциональности с метаданными и формами платформы 1С. На Инфостарте фреймворк описан в публикациях https://infostart.ru/public/535370/ и https://infostart.ru/public/540168/.
-
PinkRabbitMQ library https://github.com/BITERP/PinkRabbitMQ (115 голосов) – внешняя Native API компонента для 1C 8.3, которая реализует методы для работы с сервером Rabbit MQ через TCP IP протокол (репозиторий включает исходникина C++). На Инфостарте проект представлен в публикации https://infostart.ru/public/1099423/.
-
FoxyLink Integrations https://github.com/FoxyLinkIO/FoxyLink (60 голосов) – подсистема для фиксации событий, предоставляет унифицированную модель для надежного управления задачами интеграции и запуска их на кластере серверов «1С:Предприятие 8». Описание функциональности подсистемы на Инфостарте представлено в публикации https://infostart.ru/public/1091360/
-
Simple1C https://github.com/ivan816/simple-1c (51 голос) – транслятор запросов и LINQ-провайдер для 1С, библиотека на .NET для обмена данными с 1С:Бухгалтерией. Репозиторий содержит исходники исполняемого приложения, которое преобразует запрос в формате языка запросов 1С в чистый sql для исполнения его на реальной СУБД и позволяет выполнять обычные запросы языка 1С (выбрать * из Справочник.Контрагенты) без участия самой 1С — напрямую через СУБД. Публикация на Инфостарте https://infostart.ru/public/532535/.
-
1C# (OneCSharp) https://github.com/zhichkin/one-c-sharp (41 голос) – платформа для разработки серверных приложений, доступных через web, позволяет сделать интеграцию между SQL-базами более гибкой. На Инфостарте проект представлен в публикациях https://infostart.ru/public/1244088/, https://infostart.ru/public/1226230/ и https://infostart.ru/public/1228025/.
-
Telegram Database library for 1C:Enterprise https://github.com/Infactum/telegram-native (37 голосов) – внешняя компонента 1С Native API для взаимодействия с Telegram без Bot API. В репозитории представлены исходники на C++. Описание проекта на Инфостарте – https://infostart.ru/public/834836/.
-
Web фреймворк на платформе 1С:Предприятие https://github.com/1cwa/OneCWebFramework (25 голосов) – Позволяет эффективно и быстро создавать веб-порталы к существующим прикладным решениям на платформе 1С:Предприятие без привлечения веб-разработчиков. Описание проекта на Инфостарте – https://infostart.ru/public/1237578/.
-
Google Analytics + 1C:Enterprise https://github.com/petypen/GA_SAMPLE (22 голоса) – пример обработки взаимодействия 1С:Предприятия и Google Analytics. На Инфостарте проект описан в публикации https://infostart.ru/public/723481/.
-
PHP-драйвер к OData-интерфейсу 8.3 https://github.com/Falseclock/dbd-php (7 голосов) – позволяет кэшировать данные из 1С для интеграции с сайтами, использующими в качестве СУБД PostgreSQL, MSSQL и MySQL. Описание проекта на Инфостарте https://infostart.ru/public/605427/.