Как стать автором
Обновить
1
0
George V @geebv

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

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

OWASP Web Security Testing Guide: как улучшить защищённость web-приложений

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров11K

Open Web Application Security Project (OWASP) — одна из самых известных организаций, целью которой является улучшение защищённости приложений. Большинство специалистов в области информационной безопасности знакомы с OWASP Top Ten. У OWASP есть множество других проектов для различных этапов жизненного цикла разработки программного обеспечения (SDLC).

В предыдущей статье на Хабр я рассказывал о стандарте OWASP ASVS, в котором перечислены требования к безопасности web-приложений. А как убедиться в том, что эти требования выполняются? Ответ на этот вопрос даёт Web Security Testing Guide (WSTG) — Руководство по тестированию безопасности web-приложений, перевод которого я хотел бы представить вашему вниманию.

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

Go: детектор утечек горутин (Goroutine Leak Detector)

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

Утечку горутин можно легко обнаружить с помощью APM, который отслеживает количество работающих горутин. Вот пример из NewRelic — график, который мониторит горутины:

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

Как я людей на типы делил

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

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

Проявить любопытство
Всего голосов 35: ↑28 и ↓7+21
Комментарии60

За что IT-компании платят экономистам и сколько стоит человеческая жизнь?

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

На этой неделе наших соцсетях выступал Евгений Канашевский, экономист из Zalando, Economics Phd университета Штата Пенсильвания.

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

Делимся с вами расшифровкой эфира.



Меня зовут Евгений Канашевский. Сегодня мы поговорим о том, за что IT-компании платят экономистам, о том, чем экономисты отличаются от обычных data scientist-ов, и ответим на интересные вопросы вроде «сколько стоит человеческая жизнь?», которыми занимаются экономисты.

Для начала я представлю себя. Я сейчас работаю экономистом/data scientist-ом в большой компании Zalando. Это онлайн-магазин, который продает одежду, обувь, косметику в 16 странах Европы и планирует расширение на новые рынки. До того, как я присоединился к Zalando в 2020 году, я делал PhD по экономике в университете штата Пенсильвания. Я начал интересоваться экономикой задолго до этого, когда учился в МФТИ и потом также в Российской экономической школе.

До того, как поехать на PhD по экономике, я работал 2 года в агентстве контекстной рекламы в Москве; очень сильно хотел узнать больше о том, что такое экономика и как она устроена. Чтобы утолить свою жажду, я поехал в итоге на PhD. Сейчас я надеюсь поделиться с вами этим знанием. Надеюсь, вам будет интересно, и мы поймем, зачем бизнесу экономисты.
Всего голосов 38: ↑37 и ↓1+36
Комментарии12

Мы компания в айти — нам всё равно, куда идти

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

«Забудь дедукцию, давай продукцию», —  эту формулу я усвоил сразу после окончания института. Тогда я ещё был финансистом и мир науки и образования меня буквально выкинул в мир бизнеса. Я ждал матриц, проектных структур, менеджмента строго по Мескону и Хедоури, а получил «твою мать, какого х** бюджет не сводится, давай, подрисуй цифирь и отправим это уже главнюкам». Вооот, а это была компания на 120 человек с чистой прибылью в пару сотен миллионов. Это было начало 2008 года, который компания пережила, сократив 23 человека. А вот декабрь 2014-го стал последним месяцем существования всего холдинга. Я, уже большой чувак, понимал, что это всё — результат череды управленческих ошибок. К тому времени я работал сисадмином в ИТ-компании и был уверен, что здесь всё будет круто. Сменив три ИТ-компании, я понял, что айтишники при всей инженерной стройности управляют и развиваются без вектора. И знаете, сейчас меня это тревожит.

Короче, я вам щас про реальный менеджмент затру. Субъективно.

Читать далее
Всего голосов 96: ↑88 и ↓8+80
Комментарии62

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

Время на прочтение8 мин
Количество просмотров125K
Прошлую неделю я провёл в поиске приложения для заметок, которое было бы идеально для использования каждый день. После некоторого обширного исследования я нашёл на рынке множество хороших вариантов. Задача свелась к анализу различных параметров приложений, чтобы найти подходящее.

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

Приятного чтения
Всего голосов 24: ↑23 и ↓1+22
Комментарии76

Языковая механика профилирования памяти

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

Прелюдия


Это третья из четырех статей в серии, которая даст представление о механике и дизайне указателей, стеков, куч, escape analysis и семантики значения/указателя в Go. Этот пост посвящен профилированию памяти.

Оглавление цикла статей:

  1. Language Mechanics On Stacks And Pointers (перевод)
  2. Language Mechanics On Escape Analysis (перевод)
  3. Language Mechanics On Memory Profiling
  4. Design Philosophy On Data And Semantics

Посмотрите это видео, чтобы увидеть демонстрацию этого кода:
DGopherCon Singapore (2017) — Escape Analysis

Вступление


В предыдущем посте я обучил основам escape analysis, используя пример, который разделяет значение в стеке горутины. Я не показал вам других сценариев, которые могут привести к переносу значений в кучу. Чтобы помочь вам с этим я собираюсь отладить программу, которая делает аллокации неожиданным образом.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Оценка задач в Story Points

Время на прочтение9 мин
Количество просмотров194K
Практически каждый человек, который сталкивался с разработкой ПО знает что такое оценка задач в Story Points (SP), тем не менее периодически мне доводится рассказывать коллегам из других отделов или новичкам в команде, которые ни разу не сталкивались с таким подходом, зачем мы используем SP и почему это удобно для команды и эффективно для компании.

Цель этого текста – рассказать, что такое SP, как их использовать для оценки задач и почему эта методика получила такое широкое распространение.
Всего голосов 14: ↑12 и ↓2+10
Комментарии20

Почему разработчикам не нравится Agile?

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

HR-специалист одной компании недавно сказал такую фразу: “разработчики не хотят к нам идти, как только узнают, что мы работаем по Agile”. И хотя я сам нередко слышу недовольство, высказываемое разработчиками в отношении Agile, такая категоричность меня удивила.


Ведь одна из целей Agile – создание комфортных условий для работы тех самых разработчиков. Agile-практики стремятся освободить разработчиков от рутины, поощряют творческий подход. Самоорганизация, минимизация бюрократии – всё это призвано упростить жизнь разработчиков. Happiness (счастье) разработчиков – одна из Agile-метрик, которую нужно повышать.


Почему же не стыкуются отзывы реальных разработчиков с декларируемыми целями Agile?

Читать дальше →
Всего голосов 34: ↑21 и ↓13+8
Комментарии723

Ресайз изображений на лету с помощью Nginx и LuaJIT (OpenResty)

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

Уже довольно давно, вдохновившись статьей Ресайз изображений на лету был настроен ресайз изображений с помощью ngx_http_image_filter_module и все работало как надо. Но появилась одна проблема, когда менеджеру понадобилось получать изображения с точными размерами для заливки на некоторые сервисы, т.к. это были их технические требования. К примеру, если мы имеем оригинал изображения размером 1200x1200, и при ресайзе мы пишем что-то вроде ?resize=600x400, то получим пропорционально уменьшенное изображение по наименьшему краю, размером 400x400. Так же невозможно получить изображение с бОльшим разрешением (upscale). Т.е. ?resize=1500x1500 вернет все тоже изображение 1200x1200


На помощь пришла статья OpenResty: превращаем NGINX в полноценный сервер приложений для понимания как работает Nginx с Lua и сама библиотека для Lua isage/lua-imagick — Lua pure-c bindings to ImageMagick. Почему было выбрано такое решение, а не, скажем, что-нибудь на python — потому что это быстро и удобно. Вам даже не понадобится создавать никаких файлов, все прямо в конфиге Nginx (не обязательно).

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

Профилирование и оптимизация веб-приложений на Go

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

enter image description here


Привет, меня зовут Павел Мурзаков, я – разработчик в команде Features в Badoo. Нам важно, чтобы наши сервисы потребляли как можно меньше ресурсов, поскольку каждый дополнительный сервер стоит денег. Поэтому мы часто профилируем и оптимизируем код. Часть наших демонов написана на Go, с оптимизацией кода на котором мне пришлось работать в последнее время. Благо в стандартной библиотеке Go есть множество готовых инструментов для этого.


Недавно мне попалась эта статья, в которой собрана информация о многих инструментах и на конкретном примере показано, как начать ими пользоваться. Кроме того, в ней есть несколько хороших рецептов по написанию эффективного кода. Эта информация будет полезна любому начинающему Go-разработчику (более продвинутые тоже смогут найти что-то для себя), поэтому я сделал для вас перевод. Enjoy!

Читать дальше →
Всего голосов 64: ↑63 и ↓1+62
Комментарии5

Большой список ценных советов президента Y Combinator

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


Доброго времени суток, уважаемые хабравчане! Один из наиболее влиятельных акселераторов в мире Y Combinator выпустил потрясающий материал The Startup Playbook. Издание TechCrunch опубликовало 62 слайда с цитатами президента YC Сэма Альтмана. Я же в свою очередь перевёл их на русских. По факту, без повторений получилось 59 изречений. Признаюсь, к подобным большим спискам лично я отношусь с определенной долей скепсиса. Но уверяю вас, что это не очередной бизнес-цитатник. Убежден, каждый подчерпнет для себя что-то ценное и полезное.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии8

Кластер высокой доступности на postgresql 9.6 + repmgr + pgbouncer + haproxy + keepalived + контроль через telegram

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

На сегодняшний день процедура реализации «failover» в Postgresql является одной из самых простых и интуитивно понятных. Для ее реализации необходимо определиться со сценариями файловера — это залог успешной работы кластера, протестировать его работу. В двух словах — настраивается репликация, чаще всего асинхронная, и в случае отказа текущего мастера, другая нода(standby) становится текущем «мастером», другие ноды standby начинают следовать за новым мастером.

На сегодняшний день repmgr поддерживает сценарий автоматического Failover — autofailover, что позволяет поддерживать кластер в рабочем состоянии после выхода из строя ноды-мастера без мгновенного вмешательства сотрудника, что немаловажно, так как не происходит большого падения UPTIME. Для уведомлений используем telegram.

Появилась необходимость в связи с развитием внутренних сервисов реализовать систему хранения БД на Postgresql + репликация + балансировка + failover(отказоустойчивость). Как всегда в интернете вроде бы что то и есть, но всё оно устаревшее или на практике не реализуемое в том виде, в котором оно представлено. Было решено представить данное решение, чтобы в будущем у специалистов, решивших реализовать подобную схему было представление как это делается, и чтобы новичкам было легко это реализовать следуя данной инструкции. Постарались описать все как можно подробней, вникнуть во все нюансы и особенности.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии45

Разбираемся в Go: пакет io

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

Перевод одной из статей Бена Джонсона из серии "Go Walkthrough" по более углублённому изучению стандартной библиотеки в контексте реальных задач.


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


Пакет io является одним из самых фундаментальных во всей стандартной библиотеке. Он предоставляет набор интерфейсов и вспомогательных функций для работы с потоками байтов.


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

Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии31

jsPDF + canvas: экспорт в PDF многостраничной таблицы на русском языке

Время на прочтение4 мин
Количество просмотров27K
Генерация PDF… Эта тема не нова, однако порой можно столкнуться с некоторыми тонкостями, в итоге став на тернистый путь велосипедостроения. Сегодня я расскажу, как разрабатывал один такой велосипед.

Мне понадобилось сделать генерацию отчетов в PDF. По ряду причин я решил сделать это на стороне клиента. Беглый поиск предоставил мне выбор между jsPDF и pdfmake. Остановился на первом. А теперь подробнее…

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

Информация

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