Рубрика «Go» - 16

В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопасности, то оказывается, что в этой сфере у Go всё в полнейшем порядке. А именно, с 2002 года в реестре CVE имеется запись лишь об одной уязвимости Golang.

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

6 рекомендаций по разработке безопасных Go-приложений - 1

Автор статьи, перевод которой мы сегодня публикуем, сформулировал, на основе данных OWASP, 6 рекомендаций по разработке безопасных приложений на Go.
Читать полностью »

Уже четыре года мы поддерживаем IT-комьюнити в России. Мы провели кучу митапов в московском офисе Авито, а потом подумали, что отсутствие офиса в городе — не повод не проводить там митап.

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

Так родилась идея провести свои региональные мероприятия, чтобы поближе со всеми познакомиться. Мы назвали её AvitoTech On Tour.

В феврале мы проведём два митапа в Казани: первый по Go с сообществом GolangKazan, второй по фронтенду. На них выступят классные спикеры из Санкт-Петербурга, Минска, Казани и Москвы. Казанские митапы — наша пилотная попытка провести мероприятия вместе с локальными комьюнити в регионах, так что пожелайте нам удачи и приходите поддержать.

Под катом — даты мероприятий, имена спикеров, подробные программы и ссылки на регистрацию.

AvitoTech On Tour: митапы по Go и фронтенду в Казани - 1

Читать полностью »

Вот вы берёте код под лицензиями BSD, MIT и Apache2 и в ус не дуете, а потом – бац! – вторая смена, и в транзитивной зависимости рисуется код под AGPL. Мы стараемся следить за этим и предпочитаем скорее перебдеть, чем недобдеть.

Веская причина для проверки ваших зависимостей: AGPL-edition - 1
Читать полностью »

Donate — демон для автоматической оплаты задач на GitHub - 1Российский хакер Михаил Клементьев (jollheef) как аноним представил на LOR'е новый опенсорсный проект donate, который он описывает как «self-hosted сервис пожертвований на задачи».

Cервис можно использовать для оплаты работы над опенсорсными проектами. Вероятно, таким способом спонсоры могут оплачивать труд мейнтейнера или направлять его внимание на конкретные тикеты. Или владелец репозитория может деньгами стимулировать сообщество закрывать задачи, на которые у него самого нет времени. Текущий список вознаграждений для проектов GitHub обновляется на страничке donate.dumpstack.io.

Главные особенности сервиса — абсолютная простота, отсутствие комиссий, поддержка нескольких криптовалют и разных хостингов (пока только GitHub).
Читать полностью »

Эффективное хранение сотен миллионов маленьких файлов. Self-Hosted решение - 1

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

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

Знакомы ли вы с историей Python packaging? Ориентируетесь ли в форматах пакетов? Знаете ли, что распутывать клубок зависимостей придется даже когда кажется, что вот оно чудо — zero dependency? Уверен, что знакомы со всем этим не так хорошо, как автор библиотеки DepHell.

Хаос зависимостей в Python - 1

Мне удалось поговорить с Никитой Вороновым, больше известным как Gram или orsinium, и расспросить его о теме будущего доклада и болях плохих решений резолвинга зависимостей. Мы поговорили о DepHell, pip, принципе first match wins, о Гвидо и сообществе, Pipflie, инкрементальном развитии Python, какое решение из Go можно было бы взять в Python, и о будущем экосистемы в плане работы с зависимостями.
Читать полностью »

image

Введение

Я очень люблю программировать, я любитель и первый и последний раз заработал на программировании в далёком 1996 году. Но для автоматизации повседневных задач иногда что-то пишу. Примерно год назад открыл для себя golang. В качестве инструмента создания утилит golang оказался очень удобным. Итак.

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

Данные практически CSV, только разделитель табуляция или пробелы.

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

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

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

Читать полностью »

Cинхронизаци кэша через Redis для сервиса на Go - 1

Введение

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

Читать полностью »

Хабрачат-2020

Уважаемые коллеги!

Скоро-скоро Новый год! Пришло время всем нам вновь собраться и хорошо провести время в уютном новогоднем хабрачате!
Читать полностью »

ELFийские трюки в Go - 1

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

Предупреждение: ничему полезному эта мини-статья вас не научит.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js