Как стать автором
Обновить
1
0
Дмитрий Митин @Hesser

Пользователь

Отправить сообщение

Как «активный гражданин» приучает людей к фишингу

Время на прочтение2 мин
Количество просмотров26K

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

Читать дальше →
Всего голосов 79: ↑73 и ↓6+86
Комментарии51

Запускаем однофайловые программы в Java 11 без компилирования

Время на прочтение12 мин
Количество просмотров15K


Пусть исходный файл HelloUniverse.java содержит определение класса и статичный метод main, который выводит в терминал одну строку текста:

public class HelloUniverse{
      public static void main(String[] args) { 
            System.out.println("Hello InfoQ Universe");
      }
}

Обычно для запуска этого класса требуется сначала скомпилировать его с помощью Java-компилятора (javac), который создаст файл HelloUniverse.class:

mohamed_taman$ javac HelloUniverse.java

Затем нужно с помощью команды виртуальной машины Java (интерпретатора) запустить получившийся файл:

mohamed_taman$ java HelloUniverse
Hello InfoQ Universe

Тогда сначала запустится виртуалка, которая загрузит класс и исполнит код.

А если вам нужно быстро проверить фрагмент кода? Или вы новичок в Java (в данном случае это ключевой момент) и хотите поэкспериментировать с языком? Описанные два этапа могут всё усложнить.

В Java SE 11 можно напрямую запускать одиночные исходные файлы без промежуточной компиляции.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии6

Шесть задачек для Front-End разработчика

Время на прочтение2 мин
Количество просмотров46K

1. Форма кредитной карты


Клёвая форма кредитной карты с гладкими и приятными микровзаимодействиями. Включает форматирование чисел, проверку и автоматическое определение типа карты. Она построена на Vue.js, а также полностью адаптивная. (Посмотреть можно здесь.)

image

credit-card-form

Чему научитесь:

  • Обрабатывать и валидировать формы
  • Обрабатывать события (например, при изменении полей)
  • Разберетесь как отображать и размещать элементы на странице, особенно данные кредитной карты, которая поверх формы
Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии43

Гибкие таблицы на CSS Grid

Время на прочтение8 мин
Количество просмотров70K

Просмотр списка лидов («холодных» контактов)

Поскольку мы уже запустились, я, наконец, могу рассказать о секретном проекте, над которым работал последние два года. Одна из интересных функций Teamwork CRM — просмотр списка (list view).

Это мощный компонент, который встречается в приложении семь раз. По сути, таблица на стероидах. Я мог бы много рассказать, но не хочу вас утомлять. Сосредоточусь на том, как мы реализовали подобную гибкость с помощью всего нескольких строк CSS (Grid). А именно, как мы выкладываем тяжёлые таблицы данных, как поддерживаем изменение размера столбцов и многое другое.

Во-первых, нужно объяснить контекст, начиная с цели и задачи дизайна этих таблиц. Если это не интересует, не стесняйтесь перейти сразу к технической реализации.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии4

Бережливое производство — инструмент борьбы за эффективность

Время на прочтение9 мин
Количество просмотров25K
В России сконцентрировано много промышленных предприятий различных направлений. Одной из проблем этих предприятий является нерациональное использование ресурсов. Это приводит к тому, что себестоимость продукции превышает аналогичную у зарубежных конкурентов.

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

«Оптимизируй свой бизнес-процесс» — проще сказать, чем сделать! Сегодня у топ-менеджеров стол ломится от методов, стратегий, программ и лучших практик по оптимизации бизнес-процессов.

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

«Lean Six Sigma» — это американский Франкенштейн, объединивший в себе две методологии «Lean» и «Six Sigma». Методология «Lean» направлена на сокращение потерь и ускорение процессов, в то время как «Six Sigma» оперирует понятием удовлетворенность потребителя и направлена на снижение количество дефектов.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии48

Алкоголь и математик(а)

Время на прочтение2 мин
Количество просмотров91K
Это непростая, спорная и больная тема. Но я хочу попробовать её обсудить. Не могу что-то великого и искромётного рассказать про себя, поэтому сошлюсь на достаточно искреннее (среди кучи лицемерия и морализаторства по этому вопросу) выступление математика, доктора наук, Алексея Савватеева. (Само видео в конце поста.)

image

36 лет моей жизни были очень тесно связаны с алкоголем. И я выбыл из игры за пять минут до водопада, примерно. Я плыл, плыл, река всё круче становится, я водный турист, я «отстрелился». Отстрелился перед самым водопадом, видимо. Четыре года назад завязал с употреблением алкоголя. Не могу сказать фразу: «И вам того же советую». Потому что я видел людей, которые совершенно нормально пьют. Но это не мой случай.

Могу дать совет, как старый алкоголик с огромным стажем. Если вы, даже в 10% случаев (не в 100%, и даже не в 70%) вы не останавливаетесь, а пьете до падения под стол, то вам нужно завязывать.
Всего голосов 116: ↑87 и ↓29+58
Комментарии440

Зачем современную веб-разработку так усложнили? Часть 1

Время на прочтение7 мин
Количество просмотров72K
Современная фронтенд-разработка оставляет полярные впечатления: одни её любят, другие презирают.

Я большая поклонница современной веб-разработки, хотя она мне напоминает некую «магию», со своими плюсами и минусами:

  • Когда вы поймёте, как использовать волшебные инструменты (babel! бандлеры! вотчеры! и так далее!), ваш рабочий процесс становится быстрым, мощным и восхитительным
  • Если вы не понимаете волшебные инструменты, всё ужасно запутанно
  • …и попытки освоить магию слишком часто неудачны, если вам кто-нибудь не поможет продраться через джунгли жаргона, преувеличений и устаревшей информации в интернете
Читать дальше →
Всего голосов 107: ↑101 и ↓6+95
Комментарии320

Похождения электронной подписи в России

Время на прочтение16 мин
Количество просмотров60K
Государства вмешиваются в некогда гиковскую информационную область всё больше и устанавливают там правила. Один из институтов государственного регулирования в информационном пространстве — механизм «квалифицированной электронной подписи», условно неподделываемого доверенного идентификатора субъекта, которым он может заверять различного рода сделки в электронном виде от своего имени в инфопространстве. На самом деле, идея ЭП не нова и развивается давно, но в России в какой-то момент что-то пошло немного не так. Эта статья — субъективное пространное рассуждение на тему института электронной подписи в России без излишнего погружения в технологическую матчасть. Ну и немного хейта, как же без этого.


CC-BY-SA, Vadim Rybalko
Читать дальше →
Всего голосов 150: ↑145 и ↓5+140
Комментарии340

Технологии микроэлектроники на пальцах: «закона Мура», маркетинговые ходы и почему нанометры нынче не те. Часть 2

Время на прочтение21 мин
Количество просмотров36K
image

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

Disclaimer: Когда-то давно и сам баловался написанием статей про изготовление чипов, а в серии статей «Взгляд Изнутри» даже заглядывал внутрь оных, т.е. тема мне крайне интересна. Естественно, я бы хотел, чтобы сам автор оригинальной статьи опубликовал её на Хабре, но в связи с занятостью он разрешил мне перенести её сюда. К сожалению, правила Хабра не разрешают прямую копи-пасту, поэтому я добавил ссылки на источники, картинки и немножко отсебятины и постарался чуть-чуть выправить текст. Да, и статьи (1 и 2) по данной теме от amartology знаю и уважаю.
Скандалы, интриги и закон Мура
Всего голосов 59: ↑57 и ↓2+55
Комментарии40

Технологии микроэлектроники на пальцах: «закона Мура», маркетинговые ходы и почему нанометры нынче не те. Часть 1

Время на прочтение23 мин
Количество просмотров60K
image
Возможное фото 10 нм IceLake. Источник

Странные вещи творятся на процессорном рынке. Мировой лидер в лице фирмы Intel пятый год бьется в попытках перейти на 10 нм техпроцесс. Изначально заявляли о переходе на 10 нм в 2015-м году, потом в 2016-м, 2017-м… На дворе 2019-й, а 10-нм от Intel в серии так и нет. Ну как нет, есть отдельные опытные/инженерные образцы, но высокий выход годных — проблема. Реальный переход ожидается не раньше 2022 года уже.

Собственно, это и стало причиной дефицита процессоров Intel на рынке. Для его преодоления компания расширяет производство модифицированных 14 нм процессоров (те же Lake только в профиль) и даже возвращается к 22 нм. Казалось бы, регресс налицо. А в это время корейский Samsung, тайваньский TSMC и примкнувший к ним AMD с платформой ZEN 2 рапортуют о вводе в серию аж 7 нм и вот-вот перейдут на 5 нм. Достали из пыльного шкафа «закон Мура» и объявили его живее всех живых. Скоро будет и 3 нм, и 2 нм, и даже 1 нм (sic!) — pourquoi pas?!

Что же произошло? Неужто ушлые азиаты обошли клятых пендосов в ключевой отрасли? Можно открывать шампанское?

Disclaimer: Данную статью я нашёл совершенно случайно и был крайне поражён, насколько грамотно и подробно в ней раскрываются проблемы современной микроэлектроники, в частности, смерть закона Мура и маркетинг. Когда-то давно и сам баловался написанием статей про изготовление чипов, а в серии статей «Взгляд Изнутри» даже заглядывал внутрь оных, т.е. тема мне крайне интересна. Естественно, я бы хотел, чтобы сам автор оригинальной статьи опубликовал её на Хабре, но в связи с занятостью он разрешил мне перенести её сюда. К сожалению, правила Хабра не разрешают прямую копи-пасту, поэтому я добавил ссылки на источники, картинки и немножко отсебятины и постарался чуть-чуть выправить текст. Да, и статьи (1 и 2) по данной теме от amartology знаю и уважаю.
Скандалы, интриги и закон Мура
Всего голосов 96: ↑94 и ↓2+92
Комментарии74

Лопнул ли пузырь машинного обучения, или начало новой зари

Время на прочтение10 мин
Количество просмотров111K
Недавно вышла статья, которая неплохо показывает тенденцию в машинном обучении последних лет. Если коротко: число стартапов в области машинного обучения в последние два года резко упало.

image

Ну что. Разберём «лопнул ли пузырь», «как дальше жить» и поговорим откуда вообще такая загогулина.
Всего голосов 185: ↑181 и ↓4+177
Комментарии350

Исчезающие фреймворки

Время на прочтение18 мин
Количество просмотров47K
Почему мы используем фреймворки? Angular, React и Vue помогают нам строить сложные веб-приложения: структурировать код, управлять состоянием и разрабатывать сложные интерфейсы. За последнее десятилетие фреймворки стали стандартом. Дорогим стандартом. С тех пор как фреймворки вошли в обиход, JS сильно раздуло. Страниц весом несколько мегабайт становится больше, и существенная часть этого объема — фреймворк сам по себе. Кажется, это немного, но для пользователя критично — на телефоне или слабом интернете страница может даже не загрузиться. Это проблема.



Кроме лишнего веса у классических фреймворков много других минусов и они подходят не для всех проектов. Эти проблемы решены в «исчезающих фреймворках». Что это за новый тренд, почему это не «еще один JS-фреймворк», а хорошая идея и как таинственные фреймворки могут улучшить наши приложения, расскажет Павел Малышев.
Всего голосов 60: ↑51 и ↓9+42
Комментарии61

Работа с распределенной системой контроля версий Git на примере GitHub

Время на прочтение20 мин
Количество просмотров68K
Работа с распределенной системой контроля версий Git на примере GitHub
Год начала данной публикации: 2019
Год окончания данной публикации: не указан





Теоретическая часть
Практическая часть
Настройка программы Git
Инициализация локального репозитория
Работа с удаленным репозиторием
Чтобы некоторые ваши файлы не попадали в репозиторий
Модели ветвления в Git
Выводы
.gitignore. Отправка только тех файлов в репозиторий, которые необходимы



Предупреждение по использованию:
Читать дальше →
Всего голосов 32: ↑21 и ↓11+10
Комментарии9

ВИЧ – методы лечения от первых лекарств до сегодняшнего дня

Время на прочтение10 мин
Количество просмотров32K

Прежде, чем приступить к изложению материала, хотелось бы сказать несколько слов о себе: участник сообществ по борьбе с отрицанием ВИЧ („ВИЧ/СПИД диссидентством“): в 2016-2018 годах „ВИЧ/СПИД диссиденты и их дети“, с 2018 года – „ВИЧ/СПИД отрицание и альтернативная медицина“.


Моё – и далеко не только моё – мнение состоит в том, что большинство случаев отказа от лечения ВИЧ-инфекции вызвано банальным непониманием того, что это контролируемая хроническая инфекция, а также стигматизацией людей, живущих с ВИЧ – применением к ним распространённого клише, что ВИЧ – болезнь низших слоёв общества либо же наоборот, „культурной элиты“. Это давно не так – в России примерно 1% населения живёт с ВИЧ, и ситуация не планирует становиться лучше.


Около года назад несколько статей на этом ресурсе сподвигли меня на написание пяти заметок об истории борьбы с вирусами. Целью этих статей было описание принципов работы различных типов лекарств от ВИЧ (консультантами выступали микробиолог и врач-инфекционист). Надеюсь, переложение этих заметок вам понравится.

Читать дальше →
Всего голосов 88: ↑87 и ↓1+86
Комментарии110

«Пора валить из фронтенда»: Андрей Ситник о стагнации сообщества, опенсорсе и не только

Время на прочтение27 мин
Количество просмотров84K


Андрей Ситник из Злых марсиан — одно из самых известных российских имён во фронтенде: у его проектов PostCSS и Автопрефиксер счёт GitHub-звёзд идёт на десятки тысяч. Но поскольку Андрей живёт в Нью-Йорке, а путешествует по всей планете, застать в России его можно нечасто.

В мае он будет в Петербурге на конференции HolyJS, и по этому поводу его подробно расспросили участники программного комитета HolyJS Дмитрий DmitryMakhnev Махнёв и Максим Юзва. Почему Андрей считает, что фронтенд стагнирует, а код наших проектов излишне разбухший? В чём различия IT-сообществ разных стран? Как учить английский и почему это менее важно, чем кажется? Куда пропал проект Logux, презентованный на HolyJS ещё в 2016-м?
Читать дальше →
Всего голосов 102: ↑88 и ↓14+74
Комментарии296

Нормализация отношений. Шесть нормальных форм

Время на прочтение8 мин
Количество просмотров1.5M
В данной теме я затрону 6 нормальных форм и методы приведения таблиц в эти формы.

Процесс проектирования БД с использование метода НФ является итерационным и заключается в последовательном переводе отношения из 1НФ в НФ более высокого порядка по определенным правилам. Каждая следующая НФ ограничивается определенным типом функциональных зависимостей и устранением соответствующих аномалий при выполнении операций над отношениями БД, а также сохранении свойств предшествующих НФ.
Читать дальше →
Всего голосов 37: ↑22 и ↓15+7
Комментарии14

JOIN локальной коллекции и DbSet в Entity Framework

Время на прочтение11 мин
Количество просмотров17K

Чуть больше года при моём участии состоялся следующий "диалог":


.Net App: Эй, Entity Framework, будь любезен дай мне много данных!
Entity Framework: Прости, не понял тебя. Что ты имеешь ввиду?
.Net App: Да просто мне прилетела коллекция из 100k транзакций. И теперь надо по-быстрому проверить корректность цен на бумаги, которые там указаны.
Entity Framework: Ааа, ну давай попробуем…
.Net App: Вот код:


var query = from p in context.Prices
            join t in transactions on 
              new { p.Ticker, p.TradedOn, p.PriceSourceId } equals
              new { t.Ticker, t.TradedOn, t.PriceSourceId }
            select p;
query.ToList();

Entity Framework:



Классика! Думаю многим знакома эта ситуация: когда очень хочется “красиво” и быстро сделать поиск в базе, используя JOIN локальной коллекции и DbSet. Обычно этот опыт разочаровывает.


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

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии25

Как научить людей использовать Git

Время на прочтение3 мин
Количество просмотров140K
По работе приходится участвовать в разных проектах, поэтому я хорошо знаю, как работают все мои коллеги. Помню, что компания начала использовать Git буквально за пару недель до моего прихода. На мониторах разработчиков кругом висели наклейки с напоминанием: сначала add, потом коммит, затем пуш.


Они не знали, зачем. Программистам просто сказали строго следовать инструкции, иначе беда. Но проблемы возникали так часто, что я решила провести семинар по Git.
Читать дальше →
Всего голосов 77: ↑69 и ↓8+61
Комментарии384

Компиляция и запуск C# и Blazor внутри браузера

Время на прочтение5 мин
Количество просмотров16K

Введение



Если вы Web-разработчик и ведете разработку для браузера, то вы точно знакомы с JS, который может исполняться внутри браузера. Существует мнение, что JS не сильно подходит для сложных вычислений и алгоритмов. И хотя в последние годы JS cделал большой рывок в производительности и широте использования, многие программисты продолжают мечтать запустить системный язык внутри браузера. В ближайшее время игра может поменяться благодаря WebAssembly.


Microsoft не стоит на месте и активно пытается портировать .NET в WebAssembly. Как один из результатов мы получили новый фреймворк для клиенской разработки — Blazor. Пока не совсем очевидно, сможет ли Blazor за счет WebAssembly быть быстрее современных JS — фреймворков типа React, Angular, Vue. Но он точно имеет большое преимущество — разработка на C#, а так же весь мир .NET Core может быть использован внутри приложения.

Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии61

Не любите CRM-системы? Вы просто не умеете их готовить

Время на прочтение12 мин
Количество просмотров11K
«Не люблю я этот С++, то ли дело JavaScript», «Ой, не буду я использовать этот PowerShell, в админке всех 400 юзеров ручками настрою, делов-то», «К чёрту свой сервак, арендую облако, и отлично» и т.д. Наверняка вы слышали такие фразы в любой сфере жизни, и все они имеют чёткий внутренний смысл «мне лень/трудно/непонятно/некогда разобраться с С++/PowerShell и т.д., поэтому я буду их не любить и топить за привычную технологию». То же самое происходит с CRM-системами: бизнес как можно дальше откладывает внедрение, лишь бы не погрузиться в процесс, не поменять что-то внутри компании, а то фиг знает, как оно ещё там выйдет. А время уходит, клиентская база теряется, сотрудники работают на малых оборотах, бизнес не умирает, но особо далеко и не бежит. Кайф? Нет. Нужно взять и разобраться — с нас очередная итерация разборок с CRM-системой.  

Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии10

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность