Гуру велосипедостроения
О вреде GOTO-фобии (с примерами на C)
Готофобия – это боязнь использовать инструкции goto. Обычно возникает из-за непонимания и незнания контекста этой проблемы, а также из-за историй о незапамятных временах в истории программировании. Разработчики, страдающие готофобией, готовы жертвовать удобочитаемостью своего кода, только бы не прибегать к goto.
Neo4j. Вместо тысячи join-ов…
Если вы столкнулись с задачей хранения сильно связанных данных, то отличным вариантом будет использовать графовую модель данных. Мы в Текфорс сделали именно так. Почему - разберем в этой статье.
YAML из Ада
Формат данных YAML чрезвычайно усложнён. Он задумывался как удобный для человека, но в стремлении к этой цели сложность настолько увеличилась, что, по моему мнению, его разработчики достигли противоположного результата. В YAML есть куча возможностей выстрелить себе в ногу, а его дружелюбие обманчиво. В этом посте я хочу продемонстрировать это на примере.
Данный пост является нытьём и он более субъективен, чем мои обычные статьи.
Как я засунул Stable Diffusion в IPhone
Каждый год выпускают новый iPhone, который, судя по заявлениям, быстрее и лучше прошлого по всем параметрам. И да, эти новые модели компьютерного зрения и новые датчики изображений могут использовать возможности телефона по максимуму. Однако и десять лет назад на iPhone можно было делать хорошие снимки. Такие улучшения оказываются инкрементными.
Инкрементные запросы требуют только инкрементных улучшений. Впрочем, раз в несколько лет появляются программы, которые едва шевелятся даже на самых мощных вычислительных устройствах. Однако эти новые программы с новыми возможностями настолько великолепны, что люди готовы смириться со страданиями.
В последний раз такое происходило с глубокими нейронными сетями, а до этого — с 3D-графикой. Наверно, сейчас настал третий раз. На самом деле, я настолько в этом уверен, что создал приложение, чтобы подтвердить свою точку зрения.
Налоговый и валютный резидент РФ —последствия приобретения и утраты статусов — полный FAQ с примерами
Друзья, всех приветствую и предлагаю ознакомиться, как мне кажется с довольно полным FAQ по теме налогового и валютного резиденства РФ. По ходу материала есть некоторые примеры, а внизу вопросы & ответы.
Прионная болезнь. Романтический ужас
История открытия прионных болезней представляет собой одну из самых романтических страниц в истории борьбы человека против инфекционных болезней.
В свою очередь, история исследования прионов насчитывает чуть более пятидесяти лет. Открытие этих инфекционных агентов сыграло выдающуюся роль в формировании представления о медленных инфекциях, впервые представив доказательства распространения медленных инфекций среди не только животных, но и людей.
Прионные инфекции отличает длительный инкубационный период
(в течение нескольких месяцев и даже лет), медленно прогрессирующий характер течения, необычность поражения органов и тканей и неизбежный летальный исход.
В мире в настоящее время учёным и врачам знакомы шесть прионных заболеваний животных: скрепи, трансмиссивная энцефалопатия норок, хронический синдром истощения оленей и лосей, коровье бешенство.
Известны также четыре прионных болезни человека: куру, болезнь Кройтцфельда-Якоба, синдром Герстманна-Штреусслера-Шейнкера и фатальная семейная бессонница. В данном очерке рассказ будет о трёх самых известных и наиболее распространённых прионных болезнях человека и животных: скрепи, куру и болезни Кройтцфельдта-Якоба.
«Ленивый сахар» PostgreSQL
SQL - декларативный язык - то есть вы описываете "что" хотите получить, а СУБД сама решает, "как" именно она будет это делать. Некоторые из них при этом позволяют им "подсказывать", как именно лучше выполнять запрос, но PostgreSQL - нет.
Тем не менее, "синтаксический сахар" некоторых языковых конструкций позволяет не только писать меньше кода (учите матчасть!), но и добиться, что ваша база будет делать часть вычислений "лениво", только при фактической необходимости.
Дефицит есть, а денег не дают. Почему?
Мы уже выяснили, что у нас есть дефицит рабочих рук во всех отраслях. На примере СССР увидели, что дефицит легко закрывается деньгами и плюшками, что сейчас и происходит в IT. Однако при дефиците рабочих рук в остальных отраслях зарплаты остаются на уровне Румынии и никак не подтягиваются. Почему?
Как работать в команде и не сойти с ума
Я посмотрела 1,5 часовое выступление скрам мастера и стендап комика Ильи Якямсева про работу в команде. Под катом расшифровка выступления на 15-20 минут чтения. А вот выжимка на 30 секунд:
- Если команда/компания работает в цикле выгорания — вы тоже выгорите.
- Для некоторых компаний цикл выгорания — способ не платить за переработки.
- Общение с командой должно идти с командой, а не с отдельными представителями / лидерами / менеджерами и пр.
- Электронная почта для общения команды — зло, мессенджеры с каналами рулят.
- Если какой-то процесс должны регулярно выполнять два и больше людей, автоматизация в помощь.
- Если вас можно понять неправильно, вас поймут неправильно. Избавьтесь от двусмысленности. Для особо сложных случаев — заведите словарь проекта.
- Абсолютного знания не существует. Есть опыт прошлого в контексте прошлого.
- Психологическая безопасность в коллективе — когда в коллективе люди не боятся сморозить глупость по рабочему вопросу.
- Флудильня — индикатор, живой у вас коллектив или как.
Промотать к видео
Говорите, пожалуйста
Я совершенно случайно заговорил про депрессию и выгорание. Я не специалист по выгоранию, как человек, который сидел в доме во время пожара — не специалист по пожарам. Я просто пережил «пожар» и рассказал свои ощущения.
Безопасность для айтишников: как научить разработчиков устранять уязвимости и создавать безопасные приложения
Разработчики уделяют большое внимание дизайну программных продуктов для гаджетов, стараясь сделать их максимально удобными. Люди охотно устанавливают мобильные приложения и регистрируются в них. А что насчет безопасности данных, которые мы доверяем производителям этих приложений? И как научить(ся) создавать безопасные приложения?
На PHDays наши коллеги из «Яндекса» поделились своим опытом в обучении разработчиков и показали участникам систему, позволяющую тренироваться в поиске и исправлении уязвимостей. Каждое задание в этой системе состоит из кода, содержащего уязвимости. Задача разработчика — найти заложенную проблему и исправить ее.
Рассказ получился, как говорится, о наболевшем: из зала так и сыпались вопросы, и коллег не отпускали минут двадцать. Сегодня мы решили поделиться их докладом в нашем блоге. Итак, передаем слово ребятам.
Не хотите читать? У нас отличная новость: можно послушать подкаст-версию этой статьи. Выбирайте удобную вам платформу — и вперед!
Кстати, у нас есть целый подкаст, где мы говорим о практической безопасности, современных киберугрозах и защите от них, а также делимся самыми интересными выступлениями с форумов PHDays. Уже доступны 19 выпусков.
Фантасты, которых стоит почитать любителям английского юмора
Английский юмор — словосочетание, которое интуитивно-понятно, но объяснить его тяжело. «Википедия» утверждает, что он несет в себе сильный элемент сатиры над «абсурдностью повседневной жизни». Пожалуй, к этому определению стоит добавить иронию, самоиронию, а вместе с этим — невозмутимый тон рассказчика.
Если вам такое сочетание по душе, то вот несколько авторов фантастики и фэнтези, чьи книги невозможно себе представить без фирменного английского юмора.
Гайд начинающего тимлида
В данной статье хотелось бы помочь разобраться в профессии начинающим тимлидам, или тем, кто об этом только думает.
Всё это я проговаривал на вебинаре в Хекслете тут https://www.youtube.com/watch?v=y_HkXvFovAc
Однако я уверен, что есть такие люди, которым не хочется 2 часа смотреть вебинар, а хочется за 15 минут прочитать структурированный текст. Поэтому я размещу его тут, в надежде на то, что он найдет своего заинтересованного читателя.
Общий стаж моей работы в ИТ - около 14 лет. Я начинал с системного администрирования, потом перешел в разработку, поработав как в аутсорсе, так и в продукте. Не один раз проходил путь от рядового разработчика до тимлида.
Школа юных управленцев
Люди сейчас «новая нефть», и только ленивый не говорит о том, как важны soft skills.
Так было не всегда. Менеджмент как таковой в нашей стране появился только в девяностые. Жизнь тогда била ключом, страна менялась на глазах. Менялись и мы с друзьями: многие тогда начали управленческую карьеру.
Не всё было гладко. Интернета ещё не было, социальных сетей тоже. Приходилось читать много книг и периодики. К сожалению, западные методики на постсоветскую действительность так просто не ложились.
Мы с друзьями собирались на кухне, обсуждали попытки внедрения прочитанного и разбирали интересные случаи из практики. Это всё и сформировало наше общее видение мастерства управления.
IQueryable порождает сильную связанность
Время от времени я встречаю людей, пытающихся выразить API в терминах IQueryable<T>
. Почти всегда это плохая идея. В этой статье я объясню почему. Вкратце, IQueryable<T>
— это один из лучших примеров заголовочного интерфейса (Header Interface), предлагаемых платформой .NET. Его почти невозможно реализовать полностью.
Эта статья о проблемах реализации API на основе интерфейсаIQueryable<T>
. Это не претензия к интерфейсу как таковому. Кроме этого, это не претензия к замечательным методам LINQ, доступным для интерфейсаIEnumerable<T>
.
Можно сказать, что IQueryable<T>
— это одно сплошное нарушение принципа подстановки Лисков. Я буду использовать закон Постела, чтобы объяснить почему это так.
Принцип устойчивости, также известен как закон Постела в честь Джона Постела: «Будь либерален к тому, что принимаешь, и консервативен к тому, что отсылаешь (Be liberal in what you accept, and conservative in what you send)».
Эффект неисправного монитора для текста, картинок и SVG
Реализация этого эффекта на CSS выглядит вполне убедительно. Мне пришлось немного поломать голову, чтобы выяснить, как он работает, и теперь я хочу объяснить это вам. Кроме того, я воспроизвёл этот эффект не только для текста, но и для растровых изображений и SVG, а так же написал несколько примесей Sass, чтобы облегчить работу с ним.
Как программировать если совсем не хочется? План спасения на случай перегорания или дедлайна
Никакой воды в этой статье, только описание конкретного плана действий в случае если вы перегорели, у вас дедлайн, прокрастинация, депрессия, а также методики и советы, помогающие привести этот план в действие.
Чего я не знал о CSS
Это ещё в 1999 году, когда мы писали
<font size="4" color="#000000">
и т. д., а DHTML был модным.Когда появился CSS, мой подход к обучению не отличался. Но я действительно жалею, что не потратил время, чтобы изучить CSS должным образом — и пропустил много фундаментальных понятий.
Вот некоторые вещи, которых я не знал, но хотел бы узнать раньше.
Уничтожение комаров
Вводные.
- Комар типичный русский может летать на 100 метров, а отдельные виды летают на запах до 5 километров, что акула. Это значит, что для того, чтоб у вас не было комаров, комаров не должно быть в радиусе 100 метров.
- Комар плодится каждые 5 дней. Поэтому, если в сутки уничтожается менее 1/5 популяции комаров, то методы будут бесполезны.
- Комарам нужно много воды. Они живут возле заболоченых мест, либо там где вода. На участках они обычно вылетают вечером после жаркого дня, когда выпадает роса — чтоб напиться.
Методики уничтожения комаров
Litho: лучшие практики для создания эффективного UI в Android
Как его использовать, что происходит под капотом, и действительно ли с UI можно работать только из одного потока?
Cookbook по Litho в расшифровке моего доклада с конференции Mobius 2019 Moscow под катом.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity