Search
Write a publication
Pull to refresh
2
0

Программист

Send message

Оптимизация веб-приложений: на что стоит обратить внимание

Level of difficultyEasy
Reading time6 min
Views10K

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

В конкурентном мире онлайн-сервисов производительность стала ключевым фактором успеха — пользователи ожидают мгновенного доступа к информации и легкости взаимодействия. 

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

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

Читать далее

Как из вакансии понять, что наниматель-муд**: 5 признаков

Reading time3 min
Views56K

Всем привет! Я Тёма Логинов, за 4 года работы в digital я неоднократно искал работу, нанимал людей и помогал это делать другим.

Многие компании оформляют вакансии по-странному: предлагают работу за три рубля или вешают на одного сотрудника работу целого отдела. Рассказываю, как распознать такие вакансии, чтобы уберечь себя от работы на [ч]удаков.

Читать далее

Корпоративные войны: почему бастовали сценаристы Голливуда?

Level of difficultyEasy
Reading time16 min
Views12K

Остановка производства сериалов и фильмов, перенос премьер, отмена анонсированных проектов… Нет, это не закат Голливуда, речь идет о второй крупнейшей забастовке «WGA». Она стала ответной реакцией на жадность в край обнаглевших корпоратов из стриминг-сервисов, которые не захотели договориться на берегу. Каждые три года «AMPTP» («Альянс продюсеров кино и телевидения»), куда входят «Netflix» и другие, заключает с «WGA» («Гильдия сценаристов США») новый контракт. В нем приходят к согласию в таких вещах, как минимальная оплата труда для различных проектов, медицинское страхование, пенсионные отчисления, роялти и так далее. Проще говоря, это главный документ, регулирующий отношения между сценаристами и Голливудом.

«Альянс» встал в позу по причине внесенных «Гильдией» новых положений контракта, за каждым из которых скрывается целый ворох проблем. Но можно выделить четыре основных требования: авторские отчисления за фильмы и сериалы на стримингах, повышение минимальной ставки, борьба со сценарными «мини-комнатами» и ограничение использования нейросетей. Чтобы лучше понять ситуацию, стоит рассмотреть все по отдельности и разобраться в некоторых нюансах.

Читать далее

Краш-курс: Как менеджерская революция Boeing породила катастрофу 737 MAX

Reading time34 min
Views118K
На Хабре уже есть материалы, углубляющиеся в некоторые технические стороны крушений последнего самолета Boeing. Эта драматическая статья рассказывает, что к этим крушениям привело.


Фото: Getty

Почти за два десятка лет до того, как система MCAS компании Boeing погубила два новых самолета 737 MAX, Стэн Соршер знал, что все более токсичная обстановка в его компании приведет к какой-то катастрофе. «Культура безопасности», которая долго была предметом гордости, стремительно вытеснялась, по его словам, «культурой финансовой херни, культурой группового мышления».

Соршер, физик, проработавший в компании Boeing более двух десятилетий и возглавлявший там переговоры о создании профсоюза инженеров, стал одержим культурой управления. Он сказал, что ранее не представлял, что смелая новая управленческая каста Boeing создаст такую глупую и вопиюще очевидную проблему, как MCAS (Maneuvering Characteristics Augmentation System; система улучшения характеристик маневрирования, как ее окрестила горстка разработчиков ПО). В основном его беспокоило, что сокращение доли рынка будет уменьшать продажи и численность сотрудников, то есть то, что не дает спать по ночам постиндустриальным американским профсоюзным лидерам. В какой-то степени, однако, он все это предвидел; он даже показал, как убытки от запрета полетов самолета перекроют краткосрочные экономии от аутсорсинга в одном из своих докладов, который никто не читал, еще в 2002 году.
Читать дальше →

Софт для Boeing-737 Max писался аутсорсерами, зарабатывающими $9 в час

Reading time8 min
Views147K
image

В разгар кризиса вокруг Boeing-737 Max, до сих пор остается загадкой: каким образом компания, прославленная своим тщательным подходом к проектированию, допустила, судя по всему, детские ошибки при разработке софта, приведшие к двум катастрофам с человеческими жертвами. Инженеры, работающие в компании много лет, говорят, что разработка была осложнена из-за делегирования части работы низкооплачиваемым контракторам.

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

Более того, икона американского самолетостроения и ее субподрядчики, доверяли временным работникам, зарабатывающим всего лишь $9 в час, разрабатывать и тестировать свое программное обеспечение. Зачастую, это были работники из стран с неразвитым самолетостроением, а именно из Индии.
Читать дальше →

Знаменитые дизайнеры vs научные исследования про читаемость шрифтов

Reading time6 min
Views71K
Я работаю дизайнером около 10 лет. В дизайне не очень много объективных и проверяемых законов, и когда мне нужно было что-то выяснить, я искала информацию в профессиональных книгах, блогах крутых ребят, спрашивала у знакомых арт-директоров и приставала к людям в коридорах.

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

Мы в Тинькофф сравнили мнение знаменитых дизайнеров и ученых о том, какие шрифты легче читать: антикву(с засечками) или гротески(без засечек).


Читать дальше →

Сколько на самом деле звезд в нашей Вселенной?

Level of difficultyMedium
Reading time10 min
Views40K

Учитывая ~400 миллиардов звезд в Млечном Пути и ~6-20 триллионов существующих в нашей Вселенной галактик, кажется, что звезд в мире должно быть очень-очень много. Как минимум несколько септиллионов. Но на самом деле их может оказаться далеко не так много, как мы думаем. Всё это связано со скоростью формирования звезд во Вселенной и тем, как мы видим далекие галактики.

Читать далее

VPN-сервер на роутере. Автоподключение VPN в Windows с блокировкой доступа к интернету кроме VPN-соединения

Reading time4 min
Views286K
Полный и подробный туториал как поднять VPN-сервер на роутере, реализовать автоподключение к нему в системе Windows и разрешить выход в интернет только через VPN.

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

Для чего это может пригодиться:

  • Вы фрилансер на сайтах вроде freelancer.com, upwork.com и т.д. И вы часто путешествуете. Есть большая вероятность, что вас забанят при заходе в аккаунт с другого IP. В этой статье описано одно из решений данной проблемы.
  • Иная необходимость удаленно использовать определенный IP.
  • Предоставление кому-либо в любой точке мира именно вашего IP.
Читать дальше →

Перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures»

Reading time3 min
Views67K
imageПривет, Хабр!

Мы (@ali_aliev и avenat) с удовольствием представляем вашему вниманию перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures» от Брэда Миллера (Brad Miller) и Дэвида Ранума (David Ranum) из Luther College, что в Айове, США.

О чём?

В учебнике подробно рассматриваются, объясняются и анализируются наиболее часто используемые структуры данных и алгоритмы. Изложение идёт от простого (что такое алгоритм, как оценить его производительность) к сложному (деревья, графы) с живыми примерами и кодом. В качестве языка программирования выбран Python, а для тех, кто с ним плохо знаком, в первой главе есть большой раздел с его концентрированным описанием.

Авторы рассказывают о таких структурах данных, как стеки, очереди (в том числе с приоритетом), деки, хэш-таблицы, списки, деревья и графы. Последним двум вообще посвящены весьма не маленькие главы. Изложение не просто описательное: для каждой структуры предлагается вариант (а иногда и не один) её реализации на Python. Упор, естественно, делается на объектно-ориентированное программирование: создаётся класс, к нему пишутся методы, некоторые из которых авторы оставляют читателям для самостоятельной доработки. Затем идут примеры использования рассмотренной структуры и описание алгоритмов с её участием.

Одна из глав учебника посвящена рекурсии, в том числе её графическому представлению (фракталы). Разбирается несколько известных рекурсивных задач, а в конце наглядно демонстрируется, что эта методика, несмотря на её элегантность, отнюдь не «серебряная пуля».

Не обделены вниманием и классические алгоритмы для сортировки и поиска. И, естественно, для каждого из них анализируются производительность и «подводные камни», а так же даются рекомендации по применению. В последних главах, посвящённых деревьям и графам, даётся много материала об их разновидностях и связанных с ними алгоритмах. Изложение тут становится более сжатым, многие моменты просто описываются с тем, чтобы после прочтения главы читатель реализовал их самостоятельно.
Читать дальше →

Основы контейнеризации (обзор Docker и Podman)

Reading time16 min
Views176K

Привет, Хабр!

К 2022 году о контейнеризации не слышал только ленивый. Большинство специалистов, так или иначе имеющих отношение к ИТ, хотя бы раз в жизни запускали программное обеспечение в контейнерах. Однако так ли эта технология проста и понятна? Давайте разбираться вместе!

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

Читать далее

Земля круглая!

Reading time2 min
Views20K
image

Уважаемые хабравчане!
Осмелюсь ознакомить вас с результатами астрономических наблюдений и математических расчетов, которые я проводил в течение многих лет. Из них неопровержимо следует, что:
1. Земля является телом сферической формы, свободно плавающим в пространстве,
2. Земля вращается вокруг Солнца, которое является подобным Земле телом большего диаметра.
Как мне кажется, открытие носит эпохальный характер и способно заинтересовать всех, кто неравнодушен к современной науке.
Читать дальше →

Убийство разработки: опыт Selectel

Reading time8 min
Views34K

Итак, я зашел в раздел с постами и там увидел диаграмму (пик рилейтед).

А под ней ссылка на статью «Разработчики - в стойло, менеджеры в - башню из слоновой кости: создаем касту избранных в 4 шага».

Фейл за фейлом

Обзор расширения OPCache для PHP

Reading time33 min
Views130K


PHP — это скриптовый язык, который по умолчанию компилирует те файлы, которые вам нужно запустить. Во время компилирования он извлекает опкоды, исполняет их, а затем немедленно уничтожает. PHP был так разработан: когда он переходит к выполнению запроса R, то «забывает» всё, что было выполнено в ходе запроса R-1.

Очень маловероятно, что на production-серверах PHP-код изменится между выполнением нескольких запросов. Так что можно считать, что при компилированиях всегда считывается один и тот же исходный код, а значит и опкод будет точно таким же. И если извлекать его для каждого скрипта, то получается бесполезная трата времени и ресурсов.
Читать дальше →

Lua: маленький язык, который смог

Level of difficultyEasy
Reading time6 min
Views79K

Lua — это, пожалуй, мой любимый "маленький язык", с низкой когнитивной нагрузкой и простотой в изучении и использовании. Он встроен во многое ПО, такое как Redis, NGINX через OpenResty и Wireshark (прим. перевод.: и многое другое). Он также используется в качестве скриптового языка в таких играх, как World of Warcraft и Roblox через Luau (прим. перевод.: и многих других). Этот пост — краткое признание в любви языку с некоторыми примерами того, почему он мне так нравится.

Читать далее

Как я открыл и развалил сеть ночных клубов? От 6 городов к 4 млн долгов

Level of difficultyEasy
Reading time4 min
Views41K

С 2017 по 2018 год я открыл сеть ночных клубов SODA night club & concert hall в городах: Великий Новгород, Псков, Мурманск, Орел, Белгород и Липецк.

4 года отдавал долги и теперь можно вспомнить как это было: плюсы и минусы собственного ночного клуба.

Читать далее

Принципы SOLID в картинках

Reading time4 min
Views534K


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

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

Основная цель этой статьи – лучше усвоить принципы SOLID через отрисовку иллюстраций, а также определить назначение каждого принципа. Дело в том, что некоторые из принципов кажутся похожими, но функции выполняют разные. Может получиться так, что одному принципу следуешь, а другой при этом нарушаешь, хотя с виду особой разницы между ними нет.

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

Ну, приступим.
Читать дальше →

Почему поиск по фото у Google и Apple не способен найти обезьян

Level of difficultyEasy
Reading time7 min
Views44K

В мае 2015 года Google выпустила отдельное приложение «Фотографии». Люди были поражены тем, что оно способно анализировать изображения, разбирать их на детали, а потом маркировать людей, места и вещи. Даже переводить текст!

Была только одна проблема. Google внедрил «категоризацию фотографий» — все фотографии автоматически размечались и организовывались в папках на основании того, что на них было. И через пару месяцев 22-летний программист-фрилансер Джеки Альсине обнаружил, что все фотографии, на которых был изображен он и его девушка, оба чернокожие, были помечены как «гориллы». Причем если на фотографиях был виден белый человек или человек со светлой кожей, Google маркировал их правильно — например, «выпускной» или «поход в бар». М-да.

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

Читать далее

Пишем на Python как на Rust

Level of difficultyMedium
Reading time17 min
Views32K

Я начал программировать на Rust несколько лет назад, и это постепенно изменило мой подход к разработке программ на других языках программирования, особенно на Python. До того, как я начал использовать Rust, я обычно писал код на Python очень динамично, без подсказок типов, повсюду передавая и возвращая словари и время от времени возвращаясь к интерфейсам со «строковой типизацией». Однако, испытав на себе строгость системы типов Rust и заметив все проблемы, которые она предотвращает, я внезапно стал сильно беспокоиться всякий раз, когда возвращался к Python и не получал тех же гарантий.

Читать далее

Что такое VCS (система контроля версий)

Reading time18 min
Views141K

Система контроля версий (от англ. Version Control System, VCS) — это место хранения кода. Как dropbox, только для разработчиков!

Она заточена именно на разработку продуктов. То есть на хранение кода, синхронизацию работы нескольких человек, создание релизов (бранчей)... Но давайте я лучше расскажу на примере, чем она лучше дропбокса. Всё как всегда, история с кучей картиночек для наглядности ))

А потом я подробнее расскажу, как VCS работает — что значит "создать репозиторий", "закоммитить и смерджить изменения", и другие страшные слова. В конце мы пощупаем одну из систем VCS руками, скачаем код из открытого репозитория.

Итого содержание:

Читать далее

Как два программиста хлеб пекли

Reading time5 min
Views263K


Я работаю программистом уже много лет, на протяжении которых, как это ни странно, я всё время что-то программирую. И вот какую интересную вещь я заметил: в коде, написанном мной месяц назад, всегда хочется что-то чуть-чуть поправить. В код полугодичной давности хочется поменять очень многое, а код, написанный два-три года назад, превращает меня в эмо: хочется заплакать и умереть. В этой статье я опишу два подхода. Благодаря первому архитектура программы получается запутанной, а сопровождение — неоправданно дорогим, а второй — это принцип KISS.

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →

Information

Rating
9,111-th
Location
Кишинев, Молдова, Молдова
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Senior
From 5,000 €
PHP
PostgreSQL
SQL
JavaScript
Laravel
Symfony
OOP
Git
English
Database