Search
Write a publication
Pull to refresh
28
0.2
Михаил @Flammar

Java (+Javascript) fullstack developer

Send message

Как одним движением сжечь 10000$ и получить удар током

Reading time14 min
Views115K

Представим себе в сущности довольно-таки заурядную ситуацию: у вас сломался сетевой источник питания. Вы берете в руки мультиметр и измеряете напряжение на входе и выходе источника. На входе у вас честные 230 В переменного тока из розетки, а на выходе по нулям. Вы знаете, что ваш источник питания – импульсный, и вы в курсе про то, что транзисторами источника управляет ШИМ-контроллер, который очень легко идентифицируется на плате.
На столе у вас стоит новенький осциллограф Tektronix DPO 7254 или какой-нибудь LeCroy WavePro 7300A ценою более 10000$, и вы решаете посмотреть с его помощью сигналы ШИМ-контроллера, чтобы диагностировать его исправность или неисправность. На щупе осциллографа написано, что его максимально допустимое напряжение равно 1000 В, это с хорошим запасом больше напряжения в розетке. Непосредственно на самом осциллографе рядом с разъемами для подключения щупов написана цифра 400 V, кроме того, у вас щуп с делителем 1:100, что тоже вселяет уверенность, что все будет в порядке. Вы включаете осциллограф и пробуете подключить его щуп к плате источника питания, однако, как только вы касаетесь щупом осциллографа платы источника питания, проскакивает искра и раздается громкий ба-бах. Экран вашего новенького осциллографа безжизненно потухает, сам осциллограф не реагирует ни на какие кнопки, а комнату заполняет характерный запах сгоревшей электроники. Что же произошло? Почему сгорел осциллограф и как такого избежать? Обо всем этом читайте под катом.
Читать дальше →

Струйная печать Epson под микроскопом: сравнение качества печати на 9 видах бумаги двумя типами чернил

Reading time16 min
Views29K
Недавно наши японские коллеги провели опрос пользователей печатной техники на территориях некоторых стран СНГ и очень удивились, узнав, что в России отношение к струйной печати до сих пор во многом строится на «раннем» опыте работы со струйными аппаратами. Ну знаете, когда картриджей хватало на малое число отпечатков, сами отпечатки расплывались на бумаге и все такое.

С первым мы уже разобрались. И не раз. И не два. И не три.

А вот со вторым сложнее… Ибо до тех пор, пока человек воочию не убедится в том, что современный струйник печатает совсем не «гуашью», а может не уступать по качеству печати документов лазерному аппарату, с таким убеждением бороться почти бесполезно. При этом мы-то сами в офисе Epson уже лет 10 печатаем только на струйных принтерах, и все никак не могли собраться и показать, почему, чем и на чем мы печатаем.

Так вот наконец-то взяли и собрались!


Для этого задействовали два наших струйных бескартриджных МФУ, закупились всевозможной бумагой (в том числе неоригинальной), подготовили «универсальный» шаблон и распечатали не менее сотни страниц, сделав кучу сканов и фотографий. На выходе – практически вся возможная гамма «сцепления» чернил с различными бумажными носителями. По ходу дела заодно проверили и влагостойкость отпечатков.

Если интересно — прошу под кат. Осторожно, МНОГО трафика!

Смартфон как системный блок, почему нет?

Reading time8 min
Views125K

Linux Deploy от Антона Скшидлевского aka meefik

Современные смартфоны по CPU и объёму оперативной памяти практически сравнялись с настольными компьютерами и ноутбуками: не редкость 8 ГБ оперативной памяти и флэш-накопитель на 512 гигабайт. Например, в последнем айфоне 6-ядерный CPU и 4-ядерный графический процессор, причём CPU сделан по 5-нанометровому техпроцессу. Сейчас ни один CPU для настольных компьютеров не производится по такой технологии. То есть мы дошли до того, что технический прогресс сначала обслуживает смартфоны, потом ноутбуки, а до настольных компьютеров доходит в последнюю очередь.

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

Всё-таки удобнее вводить команды в Linux-консоли с клавиатуры, а не прицеливаться пальцами по экрану.

Блеск и нищета модели предметной области

Reading time28 min
Views62K


Мартин Фаулер в книге «Patterns of Enterprise Application Architecture» описывает «Модель предметной области (Domain Model)» как сложный подход к организации бизнес-логики. Метод заключается в создании классов, соответствующих объектам предметной области из реального мира как с точки зрения структуры данных, так и поведения. При этом технические аспекты, такие как хранение данных, аутентификация и авторизация, управление транзакциями, выносится за пределы слоя бизнес-логики. Паттерн реализуется одним из двух способов:

  1. Богатая (насыщенная) модель — данные и поведение инкапсулируются внутри объектов предметной области.
  2. Анемичная модель — в объектах предметной области инкапсулируются только данные, поведение (методы) выносится в отдельный слой сервисов.

Фаулер и Эванс считают анемичную модель анти-паттерном. Однако многие кодовые базы, с которыми мне доводилось работать, реализованы именно в стиле «анемичной» модели. Под катом расшифровка и видео моего доклада с DotNext 2019 Moscow, посвященного сравнению сильных и слабых сторон обоих подходов и не очевидным деталям реализации модели предметной области в парадигме ООП и в функциональном стиле.
Читать дальше →

Реактивный самолёт своими руками: «Два дебила — это сила»

Reading time2 min
Views277K
Настало время турбореактивных аппаратов для всех желающих.



Игорь со своим дружбаном в феврале засели за винишком и задумали построить планер легче 115 кг (чтобы хакнуть Росавиацию). Ставить электромоторы было не круто, поэтому они поставили турбореактивные движки. Потому что могут.


10 ноября 2018 был совершен первый полет на самодельном планере весом до 115 кг с турбореактивным приводом (2х30кг JetCat P-300 Pro). Даже петлю Нестерова выполнили.
«Я думал что будет круто, но я не думал что будет настолько о… енно! Мы сделали это! Два дебила — это сила».
— Игорь, пилот-испытатель
Под катом — экспресс фотоотчет (очень хочется побыстрее поделиться новостью, поэтому не ругайте за видео с мобильника и прочие ляпы).

DISCLAIMER — комментарии сугубо мои, пилоты и техники разговаривали на непонятной суперпрофессиональной белиберде, которую я не разобрал. (Меня уже отругали за «изнасилованные термины» и за «самолёт», который планер.)
Читать дальше →

Как живется в США «неайтишникам». Другая сторона

Reading time10 min
Views241K
image

На Хабре есть не только айтишники. Тут и электрики, и схемотехники, и химики, и маркетологи и кого только нет. И возможность переезда в другую страну в качестве специалиста широкого профиля интересна и им тоже. В довесок к истории Дудя и аналогичным статьям я хочу рассказать свою историю про переезд в США, на противоположный от Калифорнии берег с противоположной от IT профессии. Про жизнь, траты, поиск и смены работы и перспективы. Мне 36, я по образованию биотехнолог, семья — два человека, английский язык — так себе. Живу в Северной Каролине почти два года.

Поскольку написанного вышло много, вот короткая версия. При переезде практически гарантировано снижение социального статуса. Прожить можно на $1500. Средняя зарплата «неайтишника» $30к-50к в год. Средняя стоимость дома $200к. Получить медицинскую страховку бесплатно можно. Много плюшек от государства. Поиск нормальной работы очень нетривиален. Язык сам не учится, но есть бесплатные курсы. Жить комфортно. Наше образование никому не нужно. Очень многие мечтают о карьере в IT.

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

Zettelkasten: как один немецкий учёный стал невероятно продуктивным

Reading time18 min
Views453K
Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша

Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хотите создать собственную базу знаний, систематизировать идеи и перестать забывать важные мысли.

Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новых статей можно в моём телеграм-канале. Подписывайтесь, чтобы ничего не пропустить!
Читать дальше →

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

Reading time6 min
Views118K
Ругательства — это неотъемлемая часть любого языка. И даже если вы не собираетесь их использовать в жизни, их нужно изучать и знать.

Но есть ситуации, когда без «крепкого словца» не обойтись. И чтобы не потерять свой имидж культурного человека, мы предлагаем вам целую коллекцию «mild curses» — легких ругательств и идиоматических выражений на английском языке, которые не считаются матами, но при этом помогут выразить всю палитру эмоций. Поехали!


Да мой старый laptop в несколько раз мощнее, чем ваш production server

Reading time5 min
Views99K
Именно такие претензии я услышал от наших девелоперов. Самое интересное, что это оказалось правдой, дав начало длительному расследованию. Речь пойдет про SQL servers, которые крутятся у нас на VMware.


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

Коронавирус: опасная иллюзия смертности

Reading time12 min
Views1M
Безответственная пресса начинает заполнять наше информационное поле новостями о погибших от коронавируса, хотя таких сведений не озвучивает ни лечащий врач, ни ВОЗ. Из-за своей невнимательности журналисты де-факто самостоятельно называют причины смерти. И эта маленькая неточность в формулировке имеет колоссальное значение для общества. Сегодня крайне важно не путать общую смертность людей с подтверждённым коронавирусом и смертность непосредственно от коронавируса.

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

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

В своей предыдущей статье «Коронавирус: как мы себя обманываем» я уже демонстрировал разницу между смертностями на примере демографических данных Италии по одной возрастной группе. А сейчас я хочу поделиться свежим графиком Дэвида Шпигельхальтера, именитого статистика из Университета Кембриджа. В его распоряжении был полный объём данных по Великобритании от Имперского колледжа Лондона.

Таблица с данными + те же значения на логарифмической шкале
Читать дальше →

10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

Reading time3 min
Views100K

Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного


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


image


А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Читать дальше →

Крошечный Excel на чистом JavaScript (30 строк кода)

Reading time2 min
Views137K
Особенности:
  • Около 30 строк обычного JavaScript
  • Использованные библиотеки: отсутствуют
  • Синтаксис как в Excel (формулы начинаются с "=")
  • Поддерживаются произвольные выражения(=A1+B2*C3)
  • Обнаруживаются циклические ссылки
  • Автоматическое сохранение в localStorage

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

Wechat или действительно всеобъемлющее приложение. Что с ним может делать разработчик

Reading time9 min
Views33K
Я уже не раз и не два писал про этот мессенджер. Но он настолько всеобъемлющ, полезен, используется настолько широко и предоставляет настолько гигантский инструментарий, что всего не упомянешь и в двадцати статьях. Тут я все же попытаюсь собрать все, что он может предложить и что из этого может извлечь разработчик(или же компания, ведущая любой бизнес).
Читать дальше →

Математика в космонавтике: ротационный детонационный двигатель

Reading time11 min
Views18K


Отправка кого-то или чего-то за пределы нашей планеты и по сей день является крайне сложным и дорогостоящим удовольствием. В то время как космические путешественники из различных научно-фантастических произведений массовой культуры используют ретрансляторы («Mass Effect»), варп-двигатели («Стартрек») или даже звездные врата («Звездные врата»), в реальности же все куда прозаичнее. На данный момент нам не известны такие нереальные технологии, потому мы используем ракетное топливо. Естественно, для запуска одного шаттла или ракеты-носителя топлива нужно крайне много. Решить эту проблему может новый вид двигателей — ротационный детонационный. Пока процесс его разработки далек от завершения, ученые из Вашингтонского университета решили создать математическую модель данного устройства, чтобы лучше понять принцип его работы. Это позволит инженерам проводить точные тесты прототипов и лучше понимать, какие именно улучшения необходимо внедрять. Итак, как выглядит ракетный двигатель глазами математика и что удалось узнать благодаря моделированию? Ответы на эти вопросы ждут нас в докладе исследовательской группы. Поехали.
Читать дальше →

Стандарты проектирования баз данных

Reading time8 min
Views41K

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

Эта статья не про нормализацию БД. Если хотите этому научиться, то здесь я вкратце рассказал основы.

Если у вас есть рабочая БД, то нужно ответить себе на вопрос: «какие стандарты можно применить для облегчения использования этой базы данных?». Если эти стандарты применялись широко, то вам будет легко пользоваться БД, потому что не придётся изучать и запоминать новые наборы стандартов каждый раз, начиная работу с новой БД.
Читать дальше →

Новый плацкарт — как капсульный отель

Reading time5 min
Views92K


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



Понятное дело, пассажиры настроены скептически и не очень готовы ко всему новому. Плюс не все понимают, чем альфа-версия (макет) отличается от опытного экземпляра. Но как по мне — то, что выкатили сейчас — это очень здравая вещь. Со мной можно спорить, а ТМХ — присылать баги и реквесты.

Самое важное

Макет плацкарта разделен пополам шкафом. Верхняя полка полностью изолирована от нижней. Третья полка убрана, и теперь можно нормально сидеть наверху. Есть столик для ноутбука. Полки у изголовья на 20 сантиметров шире, чем в ногах (до середины купе, фактически). Через стену можно открыть окно к соседу и объединить две полки в одно пространство «этажа».
Читать дальше →

Заметки о жизни в США

Reading time12 min
Views136K

image


Недавно в корпоративном блоге Parallels выходила статья, где приводились размеры оплаты труда разработчиков на западе со словами "в любом случае российские зарплаты пока не дотягивают до европейских". Частое столкновение с тем, как люди очень выборочно сравнивают условия жизни поросенка Петра и тех, кто не уехал, побудили поделиться некоторыми наблюдениями о жизни в США изнутри. Цель данного поста — подтолкнуть подходить к вопросу комплексно и делать сравнение яблок с яблоками, а не точечно сравнивать то, что выгодно, и закрывать глаза на остальные важные аспекты. Если вам покажется, что в данной статье есть иные подтексты — прошу списать это на то, что "чукча — не писатель" и по возможности игнорировать их.

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

У меня нулевая текучка

Reading time9 min
Views180K
Однажды на заводе, где я работал ИТ-директором, готовили отчетность к какому-то очередному мероприятию. Надо было рассчитать и предоставить показатели по выданному перечню, среди них затесалась текучесть кадров. И тут оказалось, что у меня она равна нулю.

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

В сумме я работал руководителем лет 7-10 (точно не знаю, какие периоды сюда включать), но нулевая текучка сохранилась. Никто никогда от меня не уходил, никого никогда я не выгонял. Только набирал.

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

Worst-case thinking

Reading time5 min
Views3.4K
В 2010 году на одной конференции по защите информации круглый стол был посвящён пессимистичным сценариям. На протяжении нескольких часов кряду выдающиеся специалисты по безопасности пугали друг друга возможными крупномасштабными атаками на коммуникационную инфраструктуру, энергетику, экономику вкупе с военным ударом и прочая, и прочая.



Мой пессимистичный сценарий был таков: в будущем все станут обсуждать только пессимистичные сценарии.

Дело в том, что пессимисты многое не принимают во внимание. Раздувая принцип осторожности, они пытаются вообразить последствия самого неудачного стечения обстоятельств и поступать так, как будто самое неудачное стечение обстоятельств является наиболее вероятным. Воображение заменяет логику, слухи заменяют анализ рисков, страх одерживает верх над здравым смыслом. Общество начинает остро ощущать своё бессилие и уязвимость, страх парализует граждан. Worst-case thinking делает нас уязвимыми к террору.
Читать дальше →

Чешские программисты бесплатно написали сайт стоимостью 16 миллионов евро? Правда?

Reading time11 min
Views133K
В конце января 2020 г. чешские программисты на безвозмездной основе за два дня разработали портал продажи билетов на право пользования скоростными дорожными магистралями Чехии. На разработку этого портала изначально был выделен 401 миллион чешских крон (около 16 миллионов евро) министерством транспорта Чехии, но энтузиазм сообщества позволил сохранить колоссальные бюджетные средства.

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

Такое изложение событий было приведено в пересказе издания CNews или, по крайней мере, таким образом было интерпретировано читателями.

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

Целью данного поста является устранение этого пробела.
Читать дальше →

Information

Rating
4,515-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity