Как стать автором
Обновить
10
0
latv @latv

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

Отправить сообщение

Можно ли закрыть обратно открытый исходный код?

Время на прочтение5 мин
Количество просмотров19K


Эта концепция кажется довольно простой для любого человека, некоторое время работавшего с открытым исходным кодом: проект, однажды выпущенный в виде открытого кода, остаётся открытым навсегда. Конечно, разработчик может решить, что будущие версии проекта будут закрытыми, и иногда такое случалось, но то, что уже выпущено на свободу, отозвать обратно не получится. У интернета нет кнопки «удалить»; опубликовав свой код, и дав миллионам людей потенциальную возможность скачать его, загнать джина обратно в бутылку не получится.

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

Из-за того, что некоторые люди считают вынужденным изменением в правилах поведения разработчиков Linux, у некоторых разработчиков наиболее исключительного проекта с открытым кодом в мире возникают вопросы. С такой ситуацией сообществу приходится сталкиваться редко, и такого ещё никогда не случалось с проектом подобного масштаба.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии33

Как я тестировал QoE (Quality of Experience)

Время на прочтение6 мин
Количество просмотров4.1K


За последние полгода я часто стал слышать на конференциях и от знакомых про различные продукты, основанные на понятии «качество восприятия» услуги (Quality of Experience, QoE). Этот термин становится все более популярным. Довольно много исследований ведется по созданию новых методов определения качества восприятия пользователей, того или иного сервиса или услуги, но сейчас не хочется углубляться в теорию, кому интересно тот сможет самостоятельно погуглить.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии6

15 советов по работе с Github

Время на прочтение8 мин
Количество просмотров62K

Я 10 лет разрабатываю ПО, участвовал в нескольких open source-проектах и в многочисленных не-open source-проектах, работал в больших и малых командах, и везде мы использовали Github в качестве репозитория версионирования.

За это время я перепробовал разные рабочие процессы, и хочу поделиться советами, как построить эффективный и прагматичный рабочий процесс по созданию и сопровождению качественного ПО, который можно применять в любом проекте.
Читать дальше →
Всего голосов 56: ↑51 и ↓5+46
Комментарии25

В каждой «serverless» платформе есть серверы

Время на прочтение5 мин
Количество просмотров7.1K
image

Последние несколько лет мы все чаще слышим термин «Serverless» по отношению к облачным сервисам. Более того, в Европе наш собственный Voximplant часто называют «Serverless телефонией для разработчиков». Но ведь у нас есть серверы, и много! Откуда такое странное название и что именно имеют в виду те, кто его использует? Чтобы обобщить и собрать в одном месте информацию про «Serverless», организация с длинным названием «Cloud Native Computing Foundation» посвятила ей официальный документ, Swapnil Bhartiya его внимательно изучил и написал интересную статью (интересные статьи про linux и open source он пишет уже лет 15), а мы адаптировали перевод для Хабра. Кстати, в очередной раз обновляя холивар «зачем переводить для Хабра». Во-первых, по-русски, если перевод адекватный, читать быстрее и когнитивно менее напряжно. Даже с очень хорошим английским. Физиология, ничего личного. Во-вторых, если кто-то решил перевести статью — то она, скорее всего, того стоит. Если вы не эксперт в чем-то, можно смело пропустить 100 статей, вышедшие по интересной теме за последний месяц, а посмотреть только те две, что перевели для Хабра.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии9

Видеоконференция за 6 шагов

Время на прочтение5 мин
Количество просмотров8.6K

Вчера мы развернули бета-версию наших новых видеоконференций, которые распределяют видео между участниками через наши собственные серверы по технологии SFU. До 30 участников в одной конфе, запись видео, VoxEngine для управления звонками из облака в реальном времени – все это можно попробовать уже сейчас и поделиться со мной идеями и пожеланиями. Что касается записи, на данным момент можно записать видео от одного юзера (локальное видео) и аудио от всех участников одним файлом. Под катом пошаговая инструкция по сборке минимальной видеоконференции, а через личку я готов поделиться ресурсами Voximplant, чтобы вы могли все оценить сами, не тратя на это деньги.
Всего голосов 24: ↑24 и ↓0+24
Комментарии0

Создаем iOS секундомер на React-Native (субтитры)

Время на прочтение1 мин
Количество просмотров6K

Привет, Хабр! Готовы субтитры к очень простому туториалу по React Native, в котором будет рассмотрена разработка приложения "Секундомер". За основу был взят секундомер на iOS.


Читать дальше →
Всего голосов 7: ↑5 и ↓2+3
Комментарии0

Let’s Encrypt начал выдавать wildcard сертификаты

Время на прочтение1 мин
Количество просмотров105K

Let’s Encrypt перешагнул важную веху — с 14 марта каждый может получить бесплатный SSL/TLS сертификат вида *.example.com. Пример установленного сертификата:


https://subdomain.baur.im
https://any-text.baur.im

Читать дальше →
Всего голосов 65: ↑62 и ↓3+59
Комментарии117

SQL ключи во всех подробностях

Время на прочтение18 мин
Количество просмотров250K
В Интернете полно догматических заповедей о том, как нужно выбирать и использовать ключи в реляционных базах данных. Иногда споры даже переходят в холивары: использовать естественные или искусственные ключи? Автоинкрементные целые или UUID?

Прочитав шестьдесят четыре статьи, пролистав разделы пяти книг и задав кучу вопросов в IRC и StackOverflow, я (автор оригинальной статьи Joe «begriffs» Nelson), как мне кажется, собрал куски паззла воедино и теперь смогу примирить противников. Многие споры относительно ключей возникают, на самом деле, из-за неправильного понимания чужой точки зрения.

Содержание



Давайте разделим проблему на части, а в конце соберём её снова. Для начала зададим вопрос – что же такое «ключ»?
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии120

Нагрузочное тестирование «не-HTTP». Ч.1 JMeter

Время на прочтение7 мин
Количество просмотров12K

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


В этой статье мы расскажем, как писать код для нагрузочного тестирования «не-HTTP» протоколов на примере Apache Thrift с помощью таких инструментов, как JMeter и Gatling (часть 2). Тестировать будем микросервис, который должен справляться с 50K RPS. С одной нагрузочной машины постараемся достичь производительности, заявленной в этом твите:


Всего голосов 13: ↑12 и ↓1+11
Комментарии9

Узники системы

Время на прочтение5 мин
Количество просмотров23K

Привет! Меня зовут Ваня. За последние 10 лет меня покидало по разным специализациям. Я занимался и фул стек веб-разработкой, и мобильными приложениями, а последние лет 5 — играми. Теперь вот в Microsoft занесло. Хочу поделиться историей о том как менялось мое отношение к разным особенностям профессии.


Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии57

Взломать Wi-Fi за 10 часов

Время на прочтение12 мин
Количество просмотров1.5M
Еще не так давно казалось, что беспроводная сеть, защищенная с помощью технологии WPA2, вполне безопасна. Подобрать простой ключ для подключения действительно возможно. Но если установить по-настоящему длинный ключ, то сбрутить его не помогут ни радужные таблицы, ни даже ускорения за счет GPU. Но, как оказалось, подключиться к беспроводной сети можно и без этого — воспользовавшись недавно найденной уязвимостью в протоколе WPS.


Читать дальше →
Всего голосов 304: ↑294 и ↓10+284
Комментарии164

Более чем 80 средств мониторинга системы Linux

Время на прочтение12 мин
Количество просмотров320K
Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.



1. первый инструмент — top

Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
читать дальше
Всего голосов 94: ↑82 и ↓12+70
Комментарии68

GSM-ловушки: ещё один привет от Большого Брата

Время на прочтение11 мин
Количество просмотров129K


Предлагаю сегодня поговорить о скрытой и неизведанной области — GSM-связи. Почему же неизведанной, спросите вы? Ведь все носят в кармане сотовый телефон, чуть ли не дошкольники ходят с ними, а базовые станции висят на каждом столбе? Увы, обыватель считает, что всё просто и прозрачно: совершает звонки, посылает СМС. И редко задумывается над процессами, которые обеспечивают все эти действия. В этом статье я попробую показать, что GSM-связь — с одной стороны весьма непрозрачная тема, а с другой — прорва уязвимостей. Если конкретнее – то поговорим о так называемых IMSI-ловушках (или IMSI-catchers).

Подробности
Всего голосов 41: ↑39 и ↓2+37
Комментарии37

Calltracking в Minecraft или как быстро сделать трехмерный UI

Время на прочтение5 мин
Количество просмотров25K
Пару месяцев назад назад я показал детям Minecraft, а чуть позже — купил им книгу по программированию в MineCraft. Правда, детям купил, чес-слово. Ну сам взял полистить, ну написал пару скриптов…

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

В этот момент отдельные части сложились в цельную картину и я подумал — о! статистика звонков в Minecraft.



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

А если серьезно — то кто сказал что интерфейсы должны быть двумерными?
И кто сказал что трехмерный интерфейс это долго и сложно?
Вся затея у меня заняла 3 часа (57 строк на питоне), учитывая, что первые полчаса я разбирался как на python парсить джейсон.

Под катом — вся история целиком, видео с результатом и бонус для дочитавших до конца — все 3 часа разработки в 3 минутном time-lapse видео.
Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии19

Рынок Виртуальных АТС умер

Время на прочтение6 мин
Количество просмотров41K
Рынок Виртуальных АТС умер, не успев появиться. МСП так и не стали пользоваться ВАТС, несмотря на их доступность. Попытка расширить рынок на малый бизнес, у которого нет средств на покупку традиционных АТС, не оправдала себя. У малого и микробизнеса нет обоснованных причин платить за ВАТС.

Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии21

С чего начать новичку в Go

Время на прочтение2 мин
Количество просмотров160K
Если вы решили попробовать замечательный язык Go, но не знаете с чего начать, вам прямая дорога в этот пост, где я постарался перечислить все необходимые для новичков ресурсы.
Читать дальше →
Всего голосов 56: ↑50 и ↓6+44
Комментарии50

Как правильно писать RFP на разработку ПО

Время на прочтение16 мин
Количество просмотров39K

Данная статья предназначена вам, дорогие заказчики, будущие и настоящие, наши и не наши. Говорят, что правильно заданный вопрос — половина ответа. Правильно написаное задание заказчиком — залог хорошего и точного предложения от нас, разработчиков, а в итоге — хорошо сделанного проекта, в срок, в рамках бюджета и с высоким качеством. Такую первичную постановку задачи, предназначенную для отправки разработчику, называют запросом на предложение, или RFP (request for proposal).

Уже много лет приходится работать на проектах по разработке ПО. За 15 лет через меня прошли сотни запросов на предложения самого разного качества. Во многих из них я наблюдаю общие проблемы. Попробую — обобщить основные узкие места и дать рекомендации по тому, как избежать их в будущем.

Итак, перед вами поставлена задача — найти достойного подрядчика на разработку ПО. Чтобы найти самого лучшего, вы решаете подготовить и разослать по списку достойных компаний запрос на предложение, провести тендер, и в итоге сделать выбор. Вы открыли чистый лист в ворде и… С чего начать?

Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии9

Security Week 43: непростые простые числа, криптография в HDD, патчи Adobe и Oracle

Время на прочтение8 мин
Количество просмотров14K
Открывая дверь в мир криптографии, будьте осторожны! Может выйти так, что закрыть не получится. Конечно это совпадение, но едва я пришел в себя от новости прошлой недели про коллизии в SHA-1, как тут же возникла тема о взломе зашифрованного трафика, с атакой на протокол Диффи-Хеллмана. Ну, уже по названию понятно, в чем дело, да? Эксперт в области криптографии Брюс Шнайер в мае этого года опубликовал гневный пост о «любительском шифровании». В любой другой сфере деятельности высказывания типа «оставьте это профессионалам, вы все равно ничего не понимаете» обычно вызывают волну критики, но применительно к шифрованию, с таким утверждением, пожалуй, можно и согласиться. Тем более что история вокруг протокола Диффи-Хеллмана, с участием математиков, программистов и даже Эдварда Сноудена, является хорошим тому доказательством. Это история о том, как хороший, годный алгоритм плохо реализовали на практике.

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

Все эпизоды сериала можно найти тут.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии13

Пятничный формат: Как писать код, который никто не сможет сопровождать

Время на прочтение16 мин
Количество просмотров95K


Благодаря советам экспертов в области Java вы научитесь писать код, который будет настолько сложно сопровождать, что любому, кто будет с ним работать после вас, потребуются годы, чтобы внести даже малейшие правки. Более того, если будете неизменно следовать этим правилам, вы сможете гарантировать себе пожизненное рабочее место, так как никто кроме вас не сможет разобраться в вашем коде.
Читать дальше →
Всего голосов 89: ↑74 и ↓15+59
Комментарии119

Как я, в итоге, написал новую RTOS, протестированную и стабильную

Время на прочтение40 мин
Количество просмотров83K
Я работаю со встраиваемыми системами в течение нескольких лет: наша компания разрабатывает и производит бортовые компьютеры для автомобилей, зарядные устройства, и т.д.

image


Процессоры, используемые в наших продуктах — это, в основном, 16- и 32-битные микроконтроллеры Microchip, имеющие RAM от 8 до 32 кБ, и ROM от 128 до 512 кБ, без MMU. Иногда, для самых простых устройств, используются еще более скромные 8-битные чипы.

Очевидно, что у нас нет (разумных) шансов использовать ядро Linux. Так что нам нужна какая-нибудь RTOS (Real-Time Operating System). Находятся даже люди, которые не используют никаких ОС в микроконтроллерах, но я не считаю это хорошей практикой: если железо позволяет мне использовать ОС, я ее использую.

Несколько лет назад, когда мы переходили с 8-битников на более мощные 16-битные микроконтроллеры, мои коллеги, которые были гораздо более опытными, чем я, рекомендовали вытесняющюю RTOS TNKernel. Так что это — та ОС, которую я использовал в разных проектах в течение пары лет.

Не то, чтобы я был очень доволен ею: например, в ней нет таймеров. И она не позволяет потоку ждать сообщения сразу из нескольких очередей. И в ней нет программного контроля переполнения стека (это действительно напрягало). Но она работала, так что я продолжал ее использовать.
Читать дальше →
Всего голосов 162: ↑161 и ↓1+160
Комментарии61
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Королев, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность