Как стать автором
Обновить
62.5
Карма
0
Рейтинг
Александр Лурье @aml

Погромист

Надували, надуваем и будем надувать. Пузыри программистов

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

Лаги, джиттер и потеря пакетов: откуда берутся проблемы с неткодом и как их решать

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

Может поменять способ хранения?

Вы забыли написать объём данных, профиль нагрузки и самые частые операции, которые надо уметь делать.

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

Может поменять способ хранения?

"Файлы" это только интерфейс. Они же не прячут фундаментальные проблемы целостности и доступности. Либо у вас простая файловая система на простом диске (и тогда в случае отказа вы теряете данные), либо вы решаете все те же проблемы с репликацией, фейловером, кворумом, как и с базой данных. Nosql это по сути и есть такая распределённая фс, только без posix-слоя.

Почему в мире так много отстойного ПО

Все так. Читать надо вместе со статьей про Fizz Buzz.

После стрельбы в школе в Казани предложено обсудить запрет на анонимность в интернете

В случае преступлений против имущества есть страховки. В Швейцарии знакомого обокрали, он позвонил в полицию, а в ответ услышал: «А зачем вы нам звоните, а не в страховую?»

Но это не работает для преступлений против личности, разумеется.

Нумерология: никакого гадания, только теория чисел

Астрологи объявили неделю нумерологов.

Использование приватных свойств класса для усиления типизации в typescript

Я неопытный программист на TS, может чего-то упускаю, но разве не проще вторую задачу решить так:

ApiResponse = SuccessfulApiResponse | FailedApiResponse | ...

SuccessfulApiResponse = {scenarioSuccess: true, response: string, error: null}

FailedApiResponse = {scenarioSuccess: false, response: null, error: string}

Т.е. мы просто перечисляем валидные комбинации параметров, а дальше TS не даст сконструировать неверную комбинацию. Да, можно потом "отредактировать" ApiResponse и ввести его в невалидный режим, но это надо постараться ещё сделать - от случайных ошибок защитит.

MMORPG прошлого века: как мы создали первый Киевский игровой сервер

Так, наживка проглочена. Где же тот файл, который не стоит видеть посторонним?

Пишите зарплаты, траты и чего вы хотите. Или не пишите ничего

Ваш метод не во всех странах можно использовать. Скажем, пенсионные взносы в Швейцарии прилично отгрызают от зарплаты, и "на руки" денег остаётся мало, но пенсия накопительная, ее не конфискуют, и со временем ее можно вытащить — или на покупку недвижимости, или на открытие бизнеса, или собственно на старость. Почему бы эти деньги не считать?

Почему собственный образ ISO — самое оптимальное решение для своего сервера

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

Почему собственный образ ISO — самое оптимальное решение для своего сервера

Докер-образ ничем в этом плане не отличается от исо-образа. Или его собираете вы лично, или несёте риски безопасности.

Почему собственный образ ISO — самое оптимальное решение для своего сервера

Докер-контейнер не проще запустить? Ядро как раз берете от хостера — оно может быть затюнено под их железо и инфраструктуру, а все прочее приносите а образе.

fork() может потерпеть неудачу: это важно

Господи, это надо же, кошмар какой! Системные вызовы могут возвращать ошибки! Давайте отдельные статьи напишем про «закрытие файлов может возвращать ошибки, которые надо обрабатывать», «выделение памяти может возвращать ошибки, которые надо обрабатывать», «запись в stdout/stderr может возвращать ошибки, которые надо обрабатывать». Каждый из перечисленных случаев способен достаточно округлить глаза у программистов, которые с этим не сталкивались, и вызвать спектр проблем — от стабильности до безопасности.

Как получить доступ к ресурсам Kubernetes Pod

Ещё не нашел в статье важный момент — requests как по cpu, так и по памяти участвует не только в планировании раскладки подов по нодам, но ещё и даёт гарантированную ёмкость подам. Если под запросил скажем 1 cpu, а лимит — 2 cpu, то вот этот один будет на уровне cgroups выделен с высоким приоритетом, а уж если на машине остались свободные ресурсы, тогда они распилятся между теми контейнерами, которым хочется ещё.


Ну и про работу oom-киллера. Если память на машине физически кончилась, то контейнеры будут убиваться даже до достижения лимита. И тут важный момент — чем больше превышение использование памяти над requests, тем больше вес у этого контейнера, чтобы его убить.

Benchmarking. Введение для начинающих

Увидел название — подумал: "О как круто, наконец новичкам объяснят, что бенчмарки должны отражать то, что программа будет делать в жизни, на том железе, что будет в жизни, при том же уровне загрузки системы и т.д., что производительность программ зависит не только от cpu-bound кусков (если это не математическое вычисление, конечно, и не симуляция), и что производительность — многомерная величина — есть много узких мест, она не линейная — два процессора могут не удвоить скорость работы и т.д. и т.д. и т.д."


А тут — даже не знаю… Ну померит новичок скорость вызова функций, развернет циклы, а потом сделает 1 запрос к базе данных, и производительность упадет на 3 порядка.

В какую сторону течёт вода?

Зачем джуна? Кандидат как раз подойдёт!

Собеседование наоборот: вопросы соискателя к компании

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

Сложность должна обитать где-то

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


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


В итоге решение получилось более сложным, чем могло быть.

Хватит натягивать сову на глобус

Расскажите, пожалуйста! Я интуитивно понимаю, что это должно помочь, но как именно, хотелось бы подробностей.

Информация

В рейтинге
3,846-й
Откуда
Zürich, Zürich, Швейцария
Дата рождения
Зарегистрирован
Активность