Pull to refresh
-1
0
Send message

Мой краткий чек-лист по скилам системного аналитика

Reading time7 min
Views59K

Привет! Меня зовут Валид Панин, я главный системный аналитик в Альфа-Банк. Хочу поделиться кратким чек-листом скилов аналитика. Расскажу какие харды и соф-скилы использую в своей работе с примерами, пояснениями и списком литературы и ресурсов, которые помогут подтянуть знания. Мне бы пригодился такой чек-лист как карта развития, если бы я был начинал свой путь аналитиком.

Читать далее
Total votes 27: ↑25 and ↓2+23
Comments32

Как понять, что стоматолог адекватный

Reading time13 min
Views20K

Лечите нерв без такой штуки? Утройте оценку рисков.

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

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

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

Разберём частые процедуры, как они могут проводиться, как они должны проводиться с точки зрения оценки рисков и оптимума цена/качество — и как понять, что что-то пошло не так, не обладая медицинским образованием.

Так что, граждане, приготовьтесь, сейчас я вам вручу немного ответственности за своё здоровье.
Читать дальше →
Total votes 39: ↑33 and ↓6+37
Comments24

Как правильно имитировать Agile?

Reading time15 min
Views36K

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

Зато за это время накопился опыт "внедрений" Agile в разных условиях, в разных компаниях, который следует обобщить и повсеместно распространять.

Читать далее
Total votes 77: ↑74 and ↓3+86
Comments40

Роль платежного сервиса в онлайн-транзакциях

Reading time6 min
Views28K
В первой части истории, посвященной эволюции финансовой транзакции, мы показали отражение расчетов между продавцом и покупателем, начиная от чеков и заканчивая цифровыми новациями бесконтактных платежей. Энтропия возрастает, и схемы взаимодействия меняются. В цепочке появляется новое звено — платежный сервис, выполняющий функции обработки и маршрутизации транзакции от плательщика получателю. Эти задачи бизнеса выполняет и наша платежная платформа Fondy.

image

С появлением в онлайне нового участника — платежного шлюза или PSP Gateway (Payment Service Provider Gateway), схема эквайринга стала отличаться от традиционной.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments13

Как я проник на сервер PayPal через баг в загрузке файлов и получил доступ к удаленному выполнению кода

Reading time4 min
Views25K
Пентестер (тестировщик на проникновение) рассказывает, как ему удалось найти баг в загрузке файлов и проникнуть на сервер платежной системы PayPal.

image

Привет всем!

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

На самом деле это был довольно простенький взлом, направленный на проверку уязвимости (так называемый POC). Единственный момент, с которым мне повезло — поиск и успешное определение уязвимого домена.
Читать дальше →
Total votes 48: ↑42 and ↓6+36
Comments16

Цитаты великих айтишников с человеческим лицом

Reading time4 min
Views22K

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


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


Кент Бек


Кент Бек, создатель методологии "Разработка через тестирование" (TDD), как-то написал:


"Мне платят за работающий код, а не за тесты, поэтому моя философия заключается в том, чтобы тестировать настолько мало, насколько это возможно, чтобы достичь заданного уровня уверенности".
(источник)
Читать дальше →
Total votes 35: ↑31 and ↓4+34
Comments24

Мгновенные снепшоты postgres на tablespace и btrfs

Reading time4 min
Views7.8K

Для работы бывает полезно иметь несколько копий одной реальной базы для экспериментов, фикстур или просто тестовых приложений. База растет и время копирования через разворачивание дампа или с помощью шаблона также возрастает до утомительных величин. Для решения этого кейса уже описаны варианты использования файловой системы с поддержкой CoW - Btrfs. В интернете находил  такие инструкции, они сводятся к тому, что делается снепшот всего сервера. И для работы второго "скопированного" нужно перегенерировать pid и сменить порт для предотвращения конфликтов. Этот способ довольно универсальный относительно конфигурации баз на сервере, но кажется имеет ограничение для неопределенного кол-ва параллельных снепшотов серверов.

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

Инструкция linux only, про поддержку CoW файловых систем на Windows не в курсе.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments9

Как начать писать приложения на ClojureDart

Reading time4 min
Views5.2K

16 апреля зарелизился ClojureDart, а это значит, что для любителей Clojure открылась возможность писать мобильные, веб- и десктоп-приложения на Flutter. Зачем использовать для этого Clojure, как бы очевидно это ни было, выходит за границы фокуса статьи.

На текущий момент инструменты еще не отшлифованы, нет репла(!) и автодополнений для dart-интеропа, но пользоваться можно, и некоторые плюшки кложуры уже показали себя (например, nest-макрос, убирающий проблему вложенности).

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

Читать далее
Total votes 8: ↑7 and ↓1+8
Comments3

TypeScript: худший лучший язык программирования

Reading time13 min
Views81K

На конференции FrontedConf 2021 Андрей Старовойт показал плюсы и минусы TypeScript. Если вы сомневаетесь, стоит ли его использовать — эта статья для вас, чтобы вы смогли для себя всё решить. Если вы уже любите и используете TypeScript, то надеюсь, вам тоже будет интересно.

Все преимущества и недостатки языка описаны, конечно, через призму опыта Андрея. Несмотря на то, что последние 7 лет он работает в компании JetBrains над продуктом WebStorm на Java Kotlin, пишет он и на TypeScript. Попутно много смотрит на код других людей, пытаясь понять, что с ним можно сделать внутри WebStorm и почему типы выбились неправильно. А также — какие инспекции можно применить так, чтобы люди стали счастливы, а их код — лучше.

Читать далее
Total votes 53: ↑46 and ↓7+50
Comments42

Вторая часть гайда по интервью за рубежом — Coding, System Design и Culture Fit

Reading time8 min
Views8.2K

Мы GeekFactor. Вместе с GetMentor мы помогаем разработчикам найти работу за границей, а компаниям подбираем подходящих кандидатов.

Главные этапы в собеседовании зарубеж — подача резюме, system design interview, coding interview и culture fit interview. На что обратить внимание и как готовиться, мы рассказываем в двух статьях. 

В первой части мы поговорили о том, из чего состоит собеседование за рубежом, как составлять резюме и что нужно помнить, когда проходишь screening interview — разговор с эйчаром. В этой — раскроем подробнее тему coding interview, culture fit interview и system design interview.

Примечание: да, с текущими событиями найти работу с релокейтом стало сложнее. Но советы остаются актуальны — мы проверили.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments1

Алгоритмы на кристалле (анонс книги)

Reading time7 min
Views13K
Я начал работать над книгой.
Уже опубликованы:
Глава 1(начало): Вычислительная модель.
Глава 1(продолжение): Быстродействие элементарных схем.

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

О чем и для кого эта книга


Я собираюсь рассказать об удивительном мире, где для решения любой алгоритмической задачи вы имеете право построить какую-угодно вычислительную машину и как угодно по своему желанию ее запрограммировать. Больше никаких чужих правил, чужих архитектур и чужих языков программирования – полная свобода фантазии и изобретательства. Это мир, в котором вы сами решаете, какую именно микросхему реализовать на полупроводниковом кристалле. Чтобы вам в этом помочь, я постарался собрать некий базовый набор приёмов того, как проектировать эффективные логические цифровые схемы.

Основной акцент повествования сделан на математическую и алгоритмическую стороны решаемых задач. Это скорее не «еще одно» руководство по проектированию электронных схем, а учебник по очень специфическому способу реализации алгоритмов. Я надеюсь, что его содержание заинтересует и увлечет широкий круг любителей математики и программирования, даже если они раньше никогда и не сталкивались с разработкой микросхем. В то же время я старался подобрать материал так, чтобы и типичный hardware-разработчик мог легко в нем разобраться и с пользой применить в своем ремесле.
Читать дальше →
Total votes 46: ↑44 and ↓2+57
Comments51

История одного НЕ-ОТВЕТА на stackoverflow

Reading time25 min
Views22K

Недавно наткнулся на stackoverflow на такой вопрос Need to check if code contains certain identifiers и в ходе размышлений преобразился из «маленького помощника Санты» в «адвоката дьявола». Что, конечно, гораздо веселее. Но мораль не в этом.

Читать далее
Total votes 39: ↑38 and ↓1+44
Comments22

Безопасное хранение данных IoT в частном блокчейне Ethereum. Часть 3

Reading time10 min
Views2.6K

Основная задача:

Изучить, как хранить данные IoT на комбинации on-chain (Ethereum Blockchain) и off-chain хранилищ (IPFS и Ethereum Swarm) в зашифрованном виде и использовать их в модели публикации-подписки в режиме реального времени без использования каких-либо протоколов M2M, таких как MQTT или CoAP. Оценить производительность этой системы с точки зрения количества транзакций, которые могут быть выполнены в секунду и оптимизировать ее работу.

Предыдущие части статьи:
Безопасное хранение данных IoT в частном блокчейне Ethereum. Часть 1
Безопасное хранение данных IoT в частном блокчейне Ethereum. Часть 2

В этой части статьи в главе 6 мы проводим эксперименты по хранению данных с использованием традиционных баз данных, а также предложенной системы с использованием Ethereum Blockchain, IPFS и Swarm. Чтобы понять стоимость безопасности IoT, мы проводим эксперименты по оценке производительности предложенной системы.

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

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments0

Уровень изоляции «Repeatable Read»

Reading time4 min
Views17K

Эта статья была опубликована на SQL.RU Другие опубликованные там статьи на тему MS SQL Server можно найти в блоге https://mssqlforever.blogspot.com/ Telegram-канал блога тут: https://t.me/mssqlhelp

По материалам статьи Craig Freedman: Repeatable Read Isolation Level

В двух предыдущих статьях (12) было продемонстрировано как запросы с уровнем изоляции «read committed» могли порождать неожиданные результаты. Это становилось возможным из-за выполняющихся в одно и то же время изменений затронутых запросом строк. Чтобы недопустить подобных неожиданностей (но не всех), следует использовать для выборки уровень изоляции «repeatable read». В этой статье мы как раз и рассмотрим как одновременные изменения ведут себя с уровнем изоляции «repeatable read» (повторяемое чтение).
В отличие от просмотра с «read committed», просмотр с «repeatable read» удерживает блокировки каждой затронутой строки до окончания транзакции. На всём протяжении транзакции заблокированными могут оказаться даже некоторые строки, которые не соответствуют выборке в результате запроса. Такое блокирование гарантирует, что затронутые запросом строки не будут изменены или удалены в параллельном сеансе, пока текущая транзакция не будет завершена (независимо от того, будет ли она зафиксирована или произойдёт её откат). Эти блокировки не защищают от изменения или удаления те строки, которые еще не были охвачены просмотром, и не препятствуют вставке новых строк межу уже заблокированными строками.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments0

4 столпа продуктивной удаленной работы. Опыт цифрового кочевника

Reading time6 min
Views12K

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

Читать дальше →
Total votes 25: ↑16 and ↓9+11
Comments9

Как приручить DDD. Часть 1. Стратегическая

Reading time13 min
Views26K

DDD — одна из моих основных рабочих методологий, я применяю её больше пяти лет. Хотя она довольна сложная, в том числе потому что это верхнеуровневый набор практик. DDD - это не фреймворк, когда нет опыта, его немного сложно применять. Тем не менее мы переводили на DDD работающие проекты, запускали с помощью нее новые — и у нас сложились некоторые практики и подходы.

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

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments4

Как приручить DDD. Часть 2. Практическая

Reading time16 min
Views24K

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

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

Читать далее
Total votes 17: ↑15 and ↓2+20
Comments3

Настройка LEMP сервера с помощью docker для простых проектов. Часть первая: База

Reading time21 min
Views45K

Настройка LEMP сервера с помощью docker для простых проектов. Часть первая: База

Мы продолжаем цикл обучающих статей для начинающих системных администраторов. В серии "Настройка LEMP сервера с помощью docker для простых проектов" мы разберем docker и docker-compose, рассмотрим, как поднять стек LAMP+Nginx с помощью docker, а также расскажем вам, в чем преимущество контейнеризации и виртуализации.

Читать далее
Total votes 20: ↑19 and ↓1+19
Comments9

Как мы ускоряли е2е-тесты на Cypress в GitLab

Reading time4 min
Views4.6K

Всем привет! На связи Николай Мезинов, разработчик фронтенда в продуктовой команде DevPlatform. Хочу поделиться опытом, как мы ускоряли прохождение e2e-тестов на Cypress в пайплайнах GitLab.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments4

Как правильно сделать Kubernetes (обзор и видео доклада)

Reading time10 min
Views17K

В конце мая «Флант» участвовал в конференции DevOpsConf 2021, которая наконец-то вернулась в offline, пусть и с некоторыми ограничениями. Я выступил с докладом о том, как делать Kubernetes так, чтобы были довольны все: разработчики, инженеры и бизнес. Представляем текстовую выжимку из доклада (и видео с его полной версией).

Читать далее
Total votes 46: ↑46 and ↓0+46
Comments9

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity