Search
Write a publication
Pull to refresh
-1
0
Send message

Как НЕ надо строить надежные системы

Reading time12 min
Views21K


При проектировании системы знание анти-паттернов и подвохов зачастую оказывается более полезным, чем знание самих паттернов. Отталкиваясь от этой идеи, я решил написать данную статью, чтобы рассказать о факторах, которые, на мой взгляд, приведут к созданию ненадёжных систем. В её основе лежит мой собственный опыт проектирования преимущественно распределённых корпоративных приложений. Будет здорово, если ниже вы поделитесь собственным опытом и полезными идеями по теме.
Читать дальше →

Простое понимание замыканий в Rust

Reading time5 min
Views11K

У вас бывало такое, что вы никак не можете скомпилировать код с замыканиями в Rust? Уже и все варианты Fn-трейтов перебрали, и move написали везде, где можно, а borrow checker все равно не унимается? И тут оказывается, что просто нужно внутри замыкания клонировать переданную переменную окружения! Сложно и непонятно. Дурацкий привереда Rust.


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

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

Что не так с китайским экономическим чудом, или почему оно закончилось?

Reading time9 min
Views74K

Еще совсем недавно многие экономисты предрекали Китаю и китайской экономике большое будущее. Некоторые известные экономисты, такие как Рей Далио, вообще выпускали целые книги, объясняющие, что цикл верховенства США в мире закончен, и теперь пришло время Китаю вырваться вперед.

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

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

Читать далее

Опенсорс учёный: 15 полезных инструментов с искусственным интеллектом и машинным обучением

Reading time13 min
Views16K

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

Неудивительно, что open source с каждым годом завоевывает все большую популярность и начинает преобладать даже в корпоративном секторе, где традиционно доминировало проприетарное ПО. Согласно опросу, проведенному Red Hat среди почти 1300 ИТ-руководителей крупнейших компаний мира, свыше 80% предприятий планируют увеличить использование enterprise-технологий с открытым исходным кодом в ближайшие два года.

В этой статье рассмотрим 15 проектов с открытым исходным кодом, которые на наших глазах меняют мир искусственного интеллекта и машинного обучения. Некоторые из них — просто программные пакеты на основе AI/ML алгоритмов, другие — полнофункциональные фреймворки или платформы для машинного обучения. Но каждый из представленных ниже инструментов достоин внимания разработчика, интересующегося перспективными технологиями.

Читать далее

Деловое письмо на английском языке как особый вид искусства

Reading time4 min
Views5.4K

Я - гражданка Великобритании, путешествую и работаю в России несколько лет. За это время мне приходилось прочесть довольно много писем, написанных русскими на английском. Хочется отметить, что я впечатлена качеством этих писем, уровнем владения английским. Большинство писем написано очень хорошо, без грамматических ошибок.

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

Читать далее

Бюджет потерь USB 3.2

Reading time17 min
Views32K

Откуда столько названий стандартов USB? Какие допустимые потери сигнала в кабеле по спецификации, и почему почти никто ей не следует? Как измерить потери в дифференциальной линии и не продать почку?

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

Страх и ненависть в спецификации USB

Гальваническое покрытие 3D-печатных моделей

Reading time11 min
Views23K

Картинка youtube-канал Jason Welsh

С распространением трёхмерной печати множество любителей получили уникальные возможности, которые, однако, ограничены свойствами самого материала – пластиковой основы. В одной из прошлых статей мы рассказывали об интересном способе изготовления металлических отливок из 3D-печатных моделей, используя плавление металлов в обычной домашней микроволновке.

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

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

JavaScript: редко используемые, но полезные API

Reading time13 min
Views11K


Привет, друзья!


В продолжение разговора, начатого в этой статье, хочу рассказать вам еще о некоторых API, которые редко встречаются в "дикой природе", но могут оказаться весьма полезными в "пограничных ситуациях":



Репозиторий с примерами.

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

Как стиральная машина управляет двигателем. Часть I — подключение двигателя и алгоритм стабилизации

Reading time8 min
Views64K


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

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

Электронная начинка современных бытовых приборов, особенно если речь идёт не о наколенной сборке в мастерской дядюшки Ли, а известных брендах, представляет собой чудеса оптимизации. Занимаясь ремонтом, я попутно подсматриваю достойные внимания технические решения, улыбаюсь замечая промахи проектировщиков. Временами их бывает крайне сложно объяснить чем то иным, кроме как требованиями маркетологов вносить в конструкцию элементы “планового устаревания”.

Погода на дворе не очень, очередной прототип отправляется на опытную эксплуатацию, почему бы не рассказать о чём то интересном? Давно я не писал на Хабр!
Почему двигатель, почему стиральные машины?
Ответ под катом

Next.js v13. Что нового и чего ждать в будущем

Reading time6 min
Views7K

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

Next.js — крупнейший фреймворк для разработки веб-приложений. Он был создан 6 лет назад, 25 октября 2016 года. За это время было выпущено 12 крупных релизов, делая веб всё быстрее и быстрее. Несмотря на громоздкость фреймворка, размеры каждого последующего релиза не становились меньше, хоть и замедлялись в темпах.

Три года назад команда Next.js впервые провела конференцию, посвящённую релизу и сделала её ежегодной. Исключением стала презентация 11-ой версии, которая прошла в июне 2021 года. В данной статье речь пойдёт о том, какой функционал был завершён в последних обновлениях и что может нас ждать на завтрашней конференции.

Читать далее

Чтоб два раза не вставать: продажи программистскими методами

Reading time9 min
Views11K

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

На всякий случай представлюсь: я руковожу командой программистов. Моя цель – набирать их, учить, обеспечивать интересной работой, как-то веселить и удерживать. Да, ещё я много программирую – люблю.

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

Поэтому приходится заниматься ещё и деньгами. Соответственно – продажами. Из дальнейшего изложения станет понятно, почему – это я предваряю возражение «менеджеры же есть, пусть они продают».

Есть менеджеры, их много. Но с ними хуже.

Читать далее

Как подготовиться к собеседованию в зарубежных компаниях по методике STAR и почему это не очередная выдумка HR

Reading time9 min
Views16K

Среди российских IT-специалистов бытует мнение, что главное в компании — выполнять обязанности из должностной инструкции. А всё, что касается гибких навыков и корпоративной культуры — это лишние опции, думать о которых не обязательно. Это показывают даже простейшие опросы на Хабре — и рейтинги статей. К сожалению, иногда это тормозит развитие карьеры и снижает шансы на трудоустройство в международные компании. 

Читать далее

Все способы легального вывода денег из России: детальный разбор со ссылками

Reading time12 min
Views118K

Многие сейчас временно или навсегда релоцируются из РФ. При этом задача вывоза накопленных внутри страны денег часто оказывается непростой. В этом гайде я систематизировал все работающие на текущий момент способы, которыми поделились участники нашего сообщества RationalAnswer.

Читать далее

Как разрезать полметра стали, в домашних условиях, почти бесшумно — используя электричество?

Reading time8 min
Views72K

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

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

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

Спектрометр из смартфона, картона и осколка DVD-диска: смотрим на спектры лампочек, фонариков, солнца

Reading time14 min
Views31K

Всем привет! Продолжаем придумывать, как можно использовать устаревший смартфон в новом качестве. Эта статья подготовлена по материалам второго сезона видеокурса “Galaxy Upcycling - новая жизнь старого смартфона”. В  уроках первого сезона мы уже сделали 3D-голограмму, проектор (и написали об этом статью на Хабр), микроскоп, часы, гирлянду, а сегодня делаем еще один исследовательский прибор.

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

Читать далее

Что случается с металлоломом и зачем там хардкорное ИТ

Reading time9 min
Views36K
Вот приехал вагон лома, мы опускаем туда краном два огромных магнита и передвигаем ими внутри вагона. Так мы разгружаемся:



Если вы присмотритесь к этому лому, то увидите, что он не совсем чистый: где-то есть земля, где-то — тряпки, где-то может попасться ветка дерева. Несмотря на подъём магнитом, из-за того, что железяки у нас довольно корявые, за них цепляется мусор и потенциально может уйти в переплавку. А мы очень не любим, когда на переплавку пытается уехать, например, батарея отопления. Батарея отвратительна, потому что в сантехническом чугуне очень много фосфора, и её надо обрабатывать дополнительно. Древесина и тряпки вообще не плавятся, а горят, земля повышает количество шлака, и поэтому все они не только портят расплав, но ещё и сильно уменьшают КПД электродуговой печи за счёт дополнительных затрат энергии. Поэтому мы очень хотим контролировать качество лома.

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

Естественно, поставщики не стремятся сильно очищать лом, потому что, чем больше там будет мусора, тем меньше металла нужно для поставки — это им выгодно. А потребители лома готовы мириться с порогами в 1,5-2 % мусора (это закреплено в ГОСТах и ТУ), но не больше.

И вот здесь на разгрузку ворвались наши цифровизаторы, очень быстро и очень весело решив проблему. Точнее, они решали одну проблему, а в результате получилось нечто даже более крутое.
Читать дальше →

Один большой сервер на хозяйстве

Reading time10 min
Views14K


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

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

Как писать нормальные тексты на английском, не будучи носителем языка

Reading time10 min
Views89K
Ксения Каланова, выпускница нашего курса по копирайтингу и маркетолог в MERA, написала колонку для блога Нетологии о том, как заставить текст звучать «по-английски», даже когда до уровня Advanced еще далеко.

Вся моя жизнь связана с английским языком: школьные олимпиады, подготовка к вступительным экзаменам в вуз, пять лет на переводческом факультете, лето в США и путешествия по миру. В студенческие годы я работала письменным переводчиком, а сразу после выпуска — устным.

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

Если бы не опыт работы переводчиком, меня такие просьбы поставили бы в ступор. Ведь мой текст увидят иностранцы — клиенты компании, руководители!



В этой статье я поделюсь секретами, как заставить текст звучать «по-английски», если вы не носитель языка. Для этого расскажу о 5 основных ошибках, которые мешают написать нормальный англоязычный текст.
Читать дальше →

«Магическая константа» 0x5f3759df

Reading time9 min
Views127K
В этой статье мы поговорим о «магической» константе 0x5f3759df, лежащей в основе элегантного алгоритмического трюка для быстрого вычисления обратного квадратного корня.

Вот полная реализация этого алгоритма:

float FastInvSqrt(float x) {
  float xhalf = 0.5f * x;
  int i = *(int*)&x;  // представим биты float в виде целого числа
  i = 0x5f3759df - (i >> 1);  // какого черта здесь происходит ?
  x = *(float*)&i;
  x = x*(1.5f-(xhalf*x*x));
  return x;
}

Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

image

Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
Читать дальше →

Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов

Reading time11 min
Views170K
Продолжение: Рассказ о том, как не дать мне украсть номера кредиток и пароли у посетителей ваших сайтов
Представляем вам перевод статьи человека, который несколько лет воровал имена пользователей, пароли и номера кредитных карт с различных сайтов.


То, о чём я хочу рассказать, было на самом деле. Или, может быть, моя история лишь основана на реальных событиях. А возможно всё это — выдумка.

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

В результате, скрепя сердце, я решил выложить всё начистоту и рассказать всему миру о том, как я в последние несколько лет воровал имена пользователей, пароли и номера кредитных карт с самых разных сайтов. Возможно, вы — администратор или разработчик одного из них.
Читать дальше →

Information

Rating
6,880-th
Registered
Activity

Specialization

Backend Developer, Frontend Developer
Lead
Git
Linux
Python
React
TypeScript
JavaScript
Ansible
Rust