Как стать автором
Обновить
3
0

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

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

Управление временем в Java приложениях

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

В продуктовой Java-разработке часто требуется сохранять дату и время в базу данных. Это может быть фиксация времени создания\последней модификации какого-либо объекта или указание срока действия документа, билета и т.п. Сама по себе эта задача несложная. Трудности возникают, когда мы хотим подобную систему протестировать и оценить, как она будет вести себя, скажем, через полгода или год. В будущем. Ниже я покажу несколько простых и изящных приёмов, которые позволят вам почувствовать себя настоящим доктором Стрэнджем…

Читать далее
Всего голосов 25: ↑23 и ↓2+21
Комментарии13

Отказоустойчивая архитектура контентной платформы на 4 Тбит/с — опыт VK Видео

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

Представьте идеальный мир с бесконечными ресурсами, в котором можно сколько угодно линейно масштабироваться под нагрузку: просто доставлять серверы, диски, видеокарты, как только потребуется больше мощностей. Звучит хорошо? Только оказывается, что когда серверов 5 000 и дисков 100 000, то несколько из них обязательно находятся в состоянии maintenance или repair, куда их привели обстоятельства непреодолимой силы. И главная задача здесь — обеспечить доступность сервиса в условиях постоянных сбоев. 

В статье разберём, как построить отказоустойчивую платформу, с какими неочевидными corner cases может столкнуться сервис с UGC-контентом, а ещё — как жить в реальном, а не идеальном мире и оптимизировать железо. Чтобы раздавать 4 Тбит/с можно, конечно, использовать 400 серверов по 10 Гбит/с, но гораздо интереснее грамотно всё потюнить и выжать 100 Гбит/с с Java-сервера.  

Читать далее
Всего голосов 59: ↑58 и ↓1+57
Комментарии15

70+ бесплатных инструментов для компьютерной криминалистики (форензики)

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

Расследование инцидентов в области информационной безопасности не такая горячая тема, как пентесты, но эта научная и практическая дисциплина продолжает развиваться, во многом, благодаря Open Source-сообществу.

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

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

Читать далее
Всего голосов 37: ↑36 и ↓1+35
Комментарии2

Почему наш стартап переехал с Flask на FastAPI

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

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

Алекс Морозов, co-founder & CTO в компании Datafold, рассказал, как они переехали с Flask на FastAPI и поделился собственным опытом такого переезда. Это не только то, что пишут в документации, а конкретные проблемы, с которыми они столкнулись при переезде, и как они их обошли. На примерах посмотрим, что стоит сделать, а каких решений лучше избегать.

Читать далее
Всего голосов 24: ↑22 и ↓2+20
Комментарии8

OSINT для сбора информации о рекламных идентификаторах на сайтах

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

Давайте поговорим об использовании уникальных рекламных идентификаторов на сайте и их применимости для использования в OSINT-исследованиях.

Рекламные идентификаторы прячутся в коде вебсайта. Чтобы их увидеть необходимо открыть код страницы (в Chrome - CTRL+U) и найти в нем их упоминание. Ключевые слова для поиска даны ниже, применительно к популярным рекламным площадкам:

AdSense: Pub- или ca-pub

Analytics: UA-

Amazon: &tag=

AddThis: #pubid / pubid

Metrika: mc.yandex / ym

Альтернативным средством обнаружения рекламных идентификаторов на сайте может стать использование таких сервисов:

https://themarkup.org/blacklight

https://urlscan.io/

https://www.spiderfoot.net/

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

http://www.spyonweb.com

https://analyzeid.com/

https://dnslytics.com/reverse-analytics 

https://intelx.io/tools?tab=analytics

https://intelx.io/tools?tab=adsense

Проиллюстрируем это на примере изучения сайта https://www.bleepingcomputer.com/, который имеет в коде страницы уникальный рекламный идентификатор Google Analytics UA-91740.

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии0

Подключение телеграм бота к гугл таблицам

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

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

Читать далее
Всего голосов 29: ↑27 и ↓2+25
Комментарии19

Песочница для Nginx

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

Как-то я болтала с приятелем о том, как было бы здорово, если бы был такой сайт-песочница, где бы можно было просто скопировать-вставить конфиг Nginx-а и протестировать его. И я поняла, что это не так уж сложно сделать, поэтому погрузилась в тему и сделала: nginx-playground.wizardzines.com.


screenshot

Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии21

Типичные ошибки архитектора, или Как перестать бояться и полюбить RFC

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

Всем привет! С вами Женя, разработчик Dodo Engineering и один из ведущих подкаста «Читаем вместе». Он посвящен IT-книгам. В каждом сезоне мы планируем читать и разбирать одну книгу. Уже подходит к концу первый сезон, который мы посвятили книге Fundamentals of Software Architecture. Она написана архитекторами для архитекторов, но разработчикам, особенно тем, которые интересуются, как создавать работающие системы, тоже может быть очень интересна и полезна.

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

Не можете найти концов, почему было принято то или иное решение? Рассказываете коллегам по сто раз одно и то же? Обсуждения в мессенджерах превращаются в срачи на десятки сообщений?

Знакомо? Нам тоже. Но мы смогли победить эти проблемы.

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

Читать далее
Всего голосов 38: ↑37 и ↓1+36
Комментарии5

Как оценить Soft Skills на собеседовании и помочь разработчику их развить

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

Довольно очевидно, что junior-разработчику и тимлиду требуется сильно различающийся набор навыков. И если в случае hard skills всё уже миллион раз проанализировано и посчитано, то о необходимом наборе soft skills в зависимости от должности мы можем только понимать на уровне ощущений и здравого смысла. 

Более того, в нашей индустрии не принято говорить после собеседования, что кандидату отказано из-за его уровня soft skills, хотя мы даже не пытаемся конкретизировать, что конкретно в нём нас не устраивает. Вы наверняка слышали или сами употребляли фразы вроде «просто человек странный», «почему-то не нравится» или «чувствуем, что он не вольется в команду». Но почему? Что на самом деле с ним не так?

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

Читать далее
Всего голосов 30: ↑27 и ↓3+24
Комментарии18

Подчищаем за собой: учимся удалять данные с HDD и SSD

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

Благодаря научно-техническому прогрессу контролировать данные с каждым годом становится все сложнее. И дело отнюдь не только в развитии сетевых технологий. Если раньше чтобы быть уверенным в собственной безопасности достаточно было сжечь несколько писем пикантного содержания, то сегодня удаляя компрометирующие вас документы с жесткого диска или SSD вы не можете быть на 100% уверены, что их не удастся восстановить. О том, почему так происходит и какие существуют способы гарантированного уничтожения информации, мы и поговорим в сегодняшнем материале.

Читать далее
Всего голосов 27: ↑25 и ↓2+23
Комментарии84

Nginx. О чем не пишут в книгах

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

Эта статья родилась случайно. Слоняясь по книжному фестивалю и наблюдая, как дочка пытает консультантов, заставляя их искать Иэна Стюарта, мой глаз зацепился за знакомые буквы на обложке: "Nginx".

Надо же, на полках нашлось целых три книги - не полистать их было бы преступлением. Первая, вторая, третья... Ощущение, будто что-то не так. Ну вроде страниц много, текст связный, но каково содержание? Установка nginx, список переменных и модулей, а дальше docker, ansible. Открываем вторую: wget, лимиты запросов и памяти, балансировка, kubernetes, AWS. Третья: GeoIP, авторизация, потоковое вещание, puppet, Azure. Ребята, а где про то, как вообще работает nginx? На кого рассчитаны ваши книги? На состоявшегося админа, который и так знает архитектуру этого веб-сервера? Да он вроде с базовыми настройками и сам справится. На новичка, который не знает как пользоваться wget? Вы уверены, что ему знание о существовании ngx_http_degradation_module и тем паче "облака" важнее порядка прохождения запроса?

Итак. О чем не пишут в книгах.
(здесь и дальше мы говорим только о NGX_HTTP_)

Фазы обработки запроса
Всего голосов 86: ↑86 и ↓0+86
Комментарии11

Риски IT-компаний при работе с самозанятыми

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

Кто такие самозанятые?

Понятия “самозанятые” в законодательстве нет. Под “самозанятыми” обычно понимают граждан:

1. получающих доход от самостоятельной деятельности;

2. состоящих на учете в качестве плательщика налога на профессиональный доход.

Налог на профессиональный доход - это специальный налоговый режим, который был введен в 2018 году Законом № 422-ФЗ. По закону плательщиками налога на профессиональный доход могут быть физические лица и индивидуальные предприниматели. 

Суть данного налогового режима: самозанятый самостоятельно платит налог с дохода, полученного от своей деятельности, в размере:

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии15

Хорошие новости для тех, кто всё ещё использует row-level локи в PostgreSQL

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

Для организации совместного доступа к данным в PostgreSQL программисты часто использую row-level локи. В статье поговорим об оверхеде, который получается от такого подхода и какие есть альтернативы. Давайте посмотрим, как можно поторопить слона!

Источник изображения

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

Apache Camel и Spring Boot

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

Apache Camel — это фреймворк для интеграции приложений и эффективного взаимодействия между различными системами, с чем приходится часто сталкиваться в любой корпоративной инфраструктуре. Apache Camel позволяет разработчику сосредоточиться на логике процессов, не переводя данные в канонический формат, так как Camel поддерживает более 80 API для реализации различных протоколов и типов данных. Таким образом, разработчику — то есть вам — достаточно просто знать, как Camel соединяет все вместе. В этой статье мы по шагам рассмотрим, как интегрировать Apache Camel и Spring Boot.

Но прежде чем обратиться к примеру со средой Spring Boot, разберемся с основными понятиями и терминами Camel.

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

Личный сервер shadowsocks за 10 минут без затрат

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

Недавно я набрёл на интересное решение, которое позволяет развернуть личный сервер shadowsocks без каких-либо финансовых затрат. В результате получается некий аналог собственного VPN-сервера, с которым могут работать настольные компьютеры и мобильные устройства. Соединение с сервером shadowsocks защищено и устойчиво к фильтрации DPI.

Приятной особенностью такого метода развёртывания shadowsocks является то, что он не требует больших технических познаний. И настройка клиентов shadowsocks крайне проста: вся конфигурация происходит сканированием QR-кода или одной URL-строкой.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии64

Apache Kafka: основы технологии

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

У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и читаются данные.


Статья подготовлена на основе открытого занятия из видеокурса по Apache Kafka. Авторы — Анатолий Солдатов, Lead Engineer в Авито, и Александр Миронов, Infrastructure Engineer в Stripe. Базовые темы курса доступны на Youtube.

Всего голосов 29: ↑29 и ↓0+29
Комментарии10

Домашний DPI, или как бороться с провайдером его же методами

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

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Всего голосов 246: ↑245 и ↓1+244
Комментарии187

Хватит отдавать Гуглу ваши данные. Десять альтернатив для Google Analytics

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


4 сентября 1998 года Сергей Брин и Ларри Пейдж основали компанию Google. На заре своего существования Google представляла собой «фирму одного продукта», притом продукт получился настолько крутым и классным, что быстро пошатнул рыночные позиции конкурентов. Однако перенесемся на 23 года вперед. Современный Google — это уже давно не поисковая система. Вернее, не только поисковая система. Это огромная транснациональная и очень эффективная рекламная платформа, целый завод по производству денег, использующий в качестве сырья пользовательские данные. Но стоит ли делиться с этой платформой теми самыми данными? На этот счет есть разные мнения.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии22

Изучаем ELK. Часть II — Установка Kibana и Logstash

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

В предыдущей статье была описана процедура установки Elasticsearch и настройка кластера. В этой статье будет рассмотрена процедура установки Kibana и Logstash, а также настройка их для работы с кластером Elasticsearch.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии14

Настраиваем домашний почтовый сервер и уходим с «бесплатной» почты

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

С каждым годом рекламы в интернете становится все больше, а подают ее с каждым разом все навязчивее. Дошло уже до почты: реклама в интерфейсе почтового ящика выглядит как первое непрочитанное письмо, которое машинально хочется открыть. Я не против рекламы, особенно когда она в тему и не сбивает с толку. Но маскировать её под непрочитанное письмо ‒ это перебор. Чувствуется, что следующим шагом рекламу начнут вставлять прямо в тело письма.

Читать далее
Всего голосов 108: ↑100 и ↓8+92
Комментарии338
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность