Open source — TechCave

Открытое программное обеспечение (англ open-source software) — программное обеспечение с открытым исходным кодом.


Открытое программное обеспечение (англ open-source software) — программное обеспечение с открытым исходным кодом.

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

Стена группы

Загрузка...
Den
5 месяцев назад
#

Скрестить ежа (Marathon) с ужом (Spring Cloud). Эпизод 2



В первом эпизоде у нас получилось вытянуть информацию из Mesos Marathon прямиком в бины Spring Cloud-а. Вместе с тем у нас появились первые проблемы, одну из которых мы разберём в текущей части повествования. Давайте вспомним нашу конфигурацию подключения к Marathon-у:



spring:  
    cloud:
        marathon:
            scheme: http       #url scheme
            host: marathon     #marathon host
            port: 8080         #marathon port


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



Источник
Загрузка...
5 месяцев назад
#

Как мы выбирали между Elastic и Tarantool, а сделали свою (самую быструю) in-memory БД. С Join и полнотекстовым поиском



Всем привет.



С середины 2016 года мы проектируем и разрабатываем новое поколение платформы. Принципиальное отличие от первого поколения — поддержка API «тонкого» клиента. Если старая платформа предполагает, что на клиента при запуске загружается метаинформация о всем контенте, который доступен для абонента, то новая платформа должна отдавать срезы данных отфильтрованные и отсортированы для отображения на каждом экране/странице.



Высокоуровневая архитектура на уровне хранения данных внутри системы — постоянное хранение всех данных в централизованном реляционном SQL хранилище. Выбор пал на Postgres, тут никаких откровений. В качестве основного языка для разработки — выбрал golang.



У системы порядка 10м пользователей. Мы посчитали, что с учетом профиля теле-смотрения, 10М пользователей может дать сотни тысяч RPS на всю систему.





Это означает, что запросы от клиентов и близко не стоит подпускать к реляционной SQL БД без кэширования, а между SQL БД и клиентами должен быть хороший кэш.



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



Источник
Загрузка...
5 месяцев назад
#

Моделирование автопилота на авиасимуляторе



Можно ли использовать продольно расположенный полупроводниковый гироскоп, который измеряет угловую скорость разворота самолета, для удержания крена? Проверим это на авиасимуляторе с внешним автопилотом. А также хотелось бы проверить алгоритмы управления самолетом. Такую возможность предоставляет авиасимулятор XPLANE.





Рис.1



Почему именно XPLANE? Он позволяет выводить данные с датчиков симулируемого самолета



Источник
Загрузка...
5 месяцев назад
#

Как построить сообщество. Перевод книги «Социальная архитектура»: Глава 3. Сообщество ZeroMQ



Можем ли мы целенаправленно строить сообщества?


imageМеня иногда спрашивают, что такого особенного в ZeroMQ. На это я всегда отвечаю, что ZeroMQ — возможно лучший ответ, который у нас есть на злободневный вопрос
«Как создавать распределенные программные средства, которые требуются от нас 21 век?». Но, помимо этого, ZeroMQ выделяется благодаря своему сообществу. Что и отличает волков от овец.

Есть три основных open source паттерна. Во-первых, когда крупная фирма выбрасывает на рынок код, чтобы расправится с конкурентами. Это модель Apache Foundation. Во-вторых, когда крошечные команды и маленькие компании строят свою мечту. Это наиболее распространенная open source модель, которая может быть наиболее коммерчески успешна. И наконец, агрессивные и разнообразные сообщества, всей толпой пробирающиеся сквозь дебри проблем. Это модель Linux, и вот к ней мы и стремимся в ZeroMQ.

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

Источник
Загрузка...
5 месяцев назад
#

Интервью с главным digital-стратегом Adblock Plus: «Отлично мне спится, Бурумыч, отлично!»



image

Вопрос от Бурума: Как вам спится?

Лаура Софи Дорнхайм,
главный диджитал-стратег eyeo: Я сплю и вижу, как бы я поубивала всех журналистов… Шучу. Мне отлично спится.

На кого вы учились, что взламывали в детстве?

Лаура: Давным-давно, В 14-15 лет я начала интересоваться интернетом. В то время крупнейший в Германии интернет-провайдер работал так: когда пользователь логинился, создавался URL, который имел
timestamp, который было легко воссоздать, зная только e-mail адрес и алгоритм конструирования URL. Так я получила доступ ко входящим сообщениям моих друзей. Это была моя самая крупная хакерская атака, и с тех пор я ни-ни.

Я поступила на бизнес-информатику, но там было ооочень уныло. Я поклялась, что не буду заниматься PR и маркетингом, но для ЭТОЙ компании я счастлива заниматься этими направлениями.

Источник
Загрузка...
Den
5 месяцев назад
#

Еще раз о SWAP в Linux «на горячую» на AWS EC2 Instance



Все мы знаем, как важен SWAP. И как без него бывает плохо. Особенно когда ОЗУ не так много, а на сервере появился «прожорливый» процесс.



В данной статье хочу рассмотреть способы добавления SWAP на AWS EC2 серверах «на горячую», без перезагрузки сервера.



Источник
Загрузка...
Den
5 месяцев назад
#

Rust: «Назад к корням»



Мне приходит в голову множество разных целей для Rust в текущем 2018 году, к слову, 2017 год прошел для меня очень быстро, так что я задался следующим вопросом: если бы я мог выбрать одну-единственную цель для Rust в 2018 году, то что бы я выбрал?



Я буду пристрастен, и вот мое мнение:



Источник
Загрузка...
5 месяцев назад
#

Как начать создание Open Source проекта





Меня зовут Дима и я Ruby разработчик. Сегодня я хочу поделиться своим опытом создания open source решения, в этой статье вас ждет:

  • Мой опыт создания Open Source проекта

  • Определение целей и планирование

  • Тонкости оформления

  • Мои ошибки



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

Источник
Загрузка...
Den
5 месяцев назад
#

Почему я до сих пор не занимаюсь опенсорсом



В предыдущей опубликованной мной на Хабре статье ("Так почему же ты не участвуешь в разработке Open Source программного обеспечения?") автор поднимал вопрос — почему разработчики не участвуют в опенсорс проектах. Сегодня предлагаю посмотреть на ситуацию глазами разработчика желающего помочь опенсорсу, но раз из раза откладывающему этот шаг. Что ему мешает?

Брендон Хейс (Brandon Hays) еще в 2011 году написал на эту тему
отличную статью перевод которой я публикую ниже. Через опыт автора мне хотелось выйти на системное понимание проблем, делающих опенсорс “недружелюбным” для новичков. Буду очень рад, если читатели поделятся свои опытом: изменилось ли что-то за последние годы? как вы решали/решаете обозначенные проблемы? что нужно сделать, чтобы в опенсорс проектах было легче участвовать?

И да — несмотря на все сказанное, лично я считаю, что Open Source — это единственно возможное будущее для разработки ПО. Многие со мной не согласятся — прошу не кидаться камнями, я постараюсь подробнее развить эту мысль в наших следующих статьях.

Источник
Загрузка...
5 месяцев назад
#

Как построить сообщество. Перевод книги «Социальная архитектура»: Глава 6. Живые Системы



image«Живой Системой» называется такая система, которая развивается в естественной среде, самостоятельно приспосабливаясь к новым условиям. Живые Системы могут существовать довольно долгое время, легко адаптируясь к любым изменениям, являясь, таким образом, чрезвычайно эффективными. В отличие от них, “Спланированные Системы” являются, как правило, неустойчивыми, плохо реагирующими на изменения и, как следствие, недолговечными. В этой статье я расскажу о Живой Системе на примере программного обеспечения и общества, а также расскажу о том, как создать подобную систему.

Почему “Живые Системы”

Согласно Википедии, «Живые Системы» — это сущности, состоящие из самоорганизующихся элементов, активно взаимодействующих с окружающей средой. Эти системы поддерживаются благодаря потокам информации, энергии и веществ.” Данный термин был предложен психологом Джеймсом Гриером Миллером для обозначения концепций жизни.

Я хочу воспользоваться этим термином для создания новой метафоры для систем программного обеспечения и занимающихся ими организаций — двух типов систем, которые представляют для меня наибольший интерес. Эти две системы не просто похожи. Программное обеспечение это продукт, созданный группой людей, и, как отметил Конвэй,
структура системы программного обеспечения отражает структуру организации, которая эту систему разрабатывает. Хочу сказать, что “психология программного обеспечения — это психология людей”.

Источник
Загрузка...
Den
5 месяцев назад
#

Внезапно: новая версия ONLYOFFICE с макросами



У нас важные новости: вышла новая версия десктопов с макросами. Вы можете
скачать её на официальном сайте и попробовать всё сами.

В этой статье мы расскажем, что у нас за макросы, чем они отличаются от макросов Microsoft и как с ними работать.



Источник
Загрузка...
5 месяцев назад
#

42/C4: Collective Code Construction Contract



  • Имя: rfc.zeromq.org/spec:42/C4

  • Статус: Стабильный

  • Редактор: Питер Хинченс ph@imatix.com



Collective Code Construction Contract (C4) — это эволюция модели github.com
Fork + Pull Model, целью которой является создание оптимальной модели сотрудничества для проектов свободного ПО. Это 2 версия спецификации C4 и она обесценивает RFC22.

image

1. Цели

Спецификация C4 предназначена для обеспечения оптимальной неоднократной модели сотрудничества для проектов с открытым исходным кодом. Она преследует следующие цели:

  1. Расширение сообщества, формируемого вокруг проекта, уменьшение порога вхождения для новых участников и создание масштабируемой модели партнерства с позитивной обратной связью;

  2. Уменьшение зависимости от ключевых лиц путем распределения требуемых наборов навыков по разным специалистам, чтобы на любую область приходился высокий уровень компетенции;

  3. Обеспечение более быстрой и точной разработки проекта путем развития процесса принятия решений;

  4. Поддержание жизненных циклов версий проекта от экспериментальной до стабильной, путем проведения безопасных экспериментов, быстрого реагирования на неполадки и изолированием стабильного кода;

  5. Уменьшение внутренней сложности репозиториев, что приводит к облегчению для участия контрибьюторов и уменьшению объема ошибок;

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



Источник
Загрузка...
5 месяцев назад
#

Небезопасные абстракции



Небезопасные (
unsafe) абстракции

Ключевое слово unsafe является неотъемлемой частью дизайна языка Rust. Для тех кто не знаком с ним: unsafe — это ключевое слово, которое, говоря простым языком, является способом обойти проверку типов (type checking) Rust'а.



Существование ключевого слова unsafe для многих поначалу является неожиданностью.
В самом деле, разве то, что программы не «падают» от ошибок при работе с памятью,
не является особенностью Rust? Если это так, то почему имеется легкий способ обойти
систему типов? Это может показаться дефектом языка.



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



Данная заметка представляет ключевое слово unsafe и идею ограниченной «небезопасности».
Фактически это предвестник заметки, которую я надеюсь написать чуть позже.
Она обсуждает модель памяти Rust, которая указывает, что можно, а что нельзя делать в unsafe коде.



Источник
Загрузка...
5 месяцев назад
#

Вышел GitLab 10.3: статическое тестирование безопасности приложений и тестирование производительности в браузере



Картинка для привлечения внимания



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



Источник
Загрузка...
Den
5 месяцев назад
#

Биоинформатический пайплайн с использованием Docker



В этой статье я хочу поделиться опытом разработки
пайплайна с использованием Docker для анализа биомедицинских данных. Наверное, одним читателям будет интересен сам биоинформатический пайплайн, а кому-то — использование Docker, поэтому разобьем статью на две части.

Источник
Загрузка...
5 6 8 9

Авторизация

Пользователи

Seangle
Галя Рубцова
Ольга Телюкова
Zhenya
Лариса Аксиненко
Dmitry Loginov
Dimas Potapov
Ваня Берёзкин
Володя Рудомаха