Как стать автором
Обновить
3
0
Александр Бычков @EvokSinister

Разработчик .NET

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

Пишем поиск подстроки лучше, чем в учебниках

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


Жизнь инженера полна сюрпризов: особенно, когда приходится иметь дело с производительностью. Например, что произойдет, если попытаться запустить этот кусок Java-кода? Выглядит довольно невинно:

// Для использования String.repeat нужен JDK 11 и выше:
final var needle = "A".repeat(500000) + "B";
final var haystack = "A".repeat(1000000) + "B";
System.out.println(haystack.indexOf(needle));

Мы ждем, ждем, ждем… По крайней мере, на моем ноутбуке 2015 года c OpenJDK 13 поиск иголки в стоге сена занимает около минуты. Наша старая добрая JVM прошла сквозь десятилетия перформанс-тюнинга, в ней эффективно реализованы интринсики для String.indexOf и так далее. Что же могло пойти не так?
Это начало серии из нескольких статей, любезно предоставленных их автором, Linas Medžiūnas, и изначально опубликованых в блоге WiX Engineering.

Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии11

Создание виртуальных окружений и установка библиотек для Python 3 в IDE PyCharm

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

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


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


Статья начинается с базовых вещей: с установки Python 3, инструментов разработки Pip и Virtualenv и среды разработки PyCharm в Windows и в Ubuntu. Для многих это не представляет трудностей и возможно, что уже всё установлено.


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

Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии20

Вечная классика: чему современным экшен-играм стоит поучиться у DOOM

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


Сколько игр завоевали такую популярность, что были установлены на большее число компьютеров, чем Microsoft Windows?

Успех и влияние DOOM на индустрию изучают уже больше 25 лет, пытаясь понять, что особенного в этом тайтле 1993 года. Про DOOM можно говорить бесконечно: начиная с технических достижений, спидранов, модов и заканчивая левел-дизайном игры. Ни в одну статью это не влезет.

Лучше посмотрим, какие уроки могут извлечь экшен-игры из DOOM: хорошие и плохие.
Всего голосов 57: ↑53 и ↓4+49
Комментарии130

5 инструментов геймдизайнера, которые помогут вашей игре

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


Видеоигры существуют более 50 лет. За это время технологии скакнули от текстовой The Oregon Trail до фотореалистичной Red Dead Redemption 2. Не говоря уже о VR-тайтлах вроде Half-Life: Alyx, которая выходит в конце марта.

И все же, игровая индустрии еще очень молодая. Постоянно появляются новые способы и инструменты, которые помогают изучать и улучшать геймдизайн. О пяти из таких — в переводе под катом.
Всего голосов 34: ↑34 и ↓0+34
Комментарии5

Sherbet: эргономичная игровая клавиатура

Время на прочтение11 мин
Количество просмотров17K
Перевод статьи из блога самодельщика Billiam

Через некоторое время после того, как мою Logitech G13 перестали выпускать, она у меня сломалась, и я решил разработать для неё замену, которую назвал Sherbet.

Сначала – что получилось:


Клавиатура с джойстиком

Файлы для печати и инструкция по сборке: www.prusaprinters.org/prints/5072-sherbet-gaming-keypad

Проектирование


Мне хотелось сделать аналоговый джойстик под большой палец, как и у G13, а ещё я решил включить в проект несколько эргономических улучшений от других клавиатур — Dactyl keyboard, Dactyl Manuform, Kinesis Advantage и Ergodox. Конкретно – смещение клавиш от вертикали, смещения по высоте, кривизна столбцов и более удобный наклон.
Много фоток
Всего голосов 37: ↑36 и ↓1+35
Комментарии17

Компьютерные бренды 90-х

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


Некоторые компании, работавшие на рынке компьютеров в 90-х годах, известны и поныне. Однако лет 25 назад их было значительно больше. Cloud4Y предлагает немножко поностальгировать и вспомнить компьютерные бренды, популярные в 90-х годах. Осторожно, будет много фото.

UPD: обновили статью, добавив фотографии Commodore 64 от ASh_XX
Названия из комментариев соберём, чтобы написать вторую часть. Спасибо за ваш интерес!
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии75

Внезапно: кавычки против мракобесия. Что бы это ни значило

Время на прочтение6 мин
Количество просмотров29K
Есть на свете вещи действительно важные. Наверное, есть. Должны быть. Да по любому есть.
А есть на свете вещи «важные». Чувствуете разницу? «Важных» вещей полно на работе, в политике, в телевизоре и интернете. Сегодня поговорим только про работу.

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

Так исчезают вещи «важные», и появляются важные, Важные, ВАЖНЫЕ и СУПЕРВАЖНЫЕ!!! Я за то, чтобы такого не было. Всё должно быть адекватно реальности. Поэтому я, читая письма и слушая речи, всегда применяю к ним фильтр. Он уже автоматом срабатывает, как предустановленное сглаживание и размывание фона в камере смартфона.

Главный фильтр, конечно, кавычки.
Читать дальше →
Всего голосов 105: ↑82 и ↓23+59
Комментарии67

Инфографика средствами Excel и PowerPoint

Время на прочтение16 мин
Количество просмотров36K
«Какой толк в книге, — подумала Алиса, — если в ней нет ни картинок, ни разговоров?»
Льюис Кэрролл, «Алиса в Стране чудес»

Всем привет!

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

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

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

И в статье будет не про космические корабли, бороздящие просторы вселенной, а про кастрюли…

Источник
Читать дальше →
Всего голосов 66: ↑65 и ↓1+64
Комментарии28

Собеседование здорового человека

Время на прочтение4 мин
Количество просмотров98K
Эта статья написана как ответ на статью «Собеседование в Додо Пиццу» со стороны разработчика с опытом синьора. Я не претендую на истинность суждений, мне хотелось бы выразить довольно популярное среди моих знакомых мнение о процессе найма в частности и жизни разработчика в целом.
Читать дальше →
Всего голосов 355: ↑341 и ↓14+327
Комментарии473

Как я создал, а затем развалил свою компанию

Время на прочтение8 мин
Количество просмотров53K
Занимательная история о том, как выгорание владельца смогло прикончить вполне перспективную ИТ-компанию.
Читать дальше →
Всего голосов 125: ↑113 и ↓12+101
Комментарии55

Фишеры icloud и где они обитают

Время на прочтение12 мин
Количество просмотров62K
Внимание! Несмотря на то, что для работы над этой статьей я потратил не один десяток часов, но ты все еще можешь в ней поучаствовать.

Если у тебя чешутся руки — попробуй осилить этот текст.

История больше похожа на комикс, так как содержит более 50 изображений, поэтому аккуратнее, если ты с мобильного. А ещё — тут скорее всего нарушается 152-ФЗ, поэтому я не удивлюсь, если её удалят, так что читай быстрее. Эта история пока не имеет конца, но у нее есть начало…
Читать дальше →
Всего голосов 263: ↑262 и ↓1+261
Комментарии78

Создание Outline эффекта в Unity Universal Render Pipeline

Время на прочтение15 мин
Количество просмотров27K
В Universal Render Pipeline, создавая свои RendererFeature, можно легко расширить возможности отрисовки. Добавление новых проходов в конвеер рендеринга позволяет создавать различные эффекты. В этой статье, используя ScriptableRendererFeature и ScriptableRenderPass, создадим эффект обводки объекта (Outline) и рассмотрим некоторые особенности его реализации.

Outline Effect

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

Чистый CSS: 4 метода анимирования цвета ссылок

Время на прочтение6 мин
Количество просмотров32K
Автор статьи, перевод которой мы сегодня публикуем, предлагает, пользуясь чистым CSS, создать механизм изменения цвета текста ссылки при наведении на неё мыши. Но это должна быть не обычная смена цвета. Новый цвет должен заполнять ссылку слева направо, заменяя старый.


Для того чтобы это сделать, можно прибегнуть к одному из четырёх методов, описанных в этом материале. Рассмотрим эти методы, обращая особое внимание на разные важные вещи вроде доступности контента, производительности решения и браузерной поддержки.
Всего голосов 31: ↑31 и ↓0+31
Комментарии3

Анализируем рекомендации по защите персональных данных и ИБ — на что стоит обратить внимание

Время на прочтение5 мин
Количество просмотров11K
На днях мы рассмотрели целый ряд книг о рисках в ИТ, социальной инженерии, вирусах и истории хакерских группировок. Сегодня попробуем перейти от теории к практике и посмотрим, что каждый из нас может сделать для защиты персональных данных. На Хабре и в СМИ можно найти большое количество базовых советов: от использования менеджеров паролей и двухфакторной аутентификации до внимательного отношения к письмам и потенциальным признакам фишинга.

Несомненно, эти меры важны в качестве основы кибергигиены, но не стоит ограничиваться только ими. Рассказываем о менее очевидных моментах, касающихся ИБ при работе с интернет-сервисами.

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

Предсказываем финансовые кризисы с помощью Python

Время на прочтение12 мин
Количество просмотров20K
По состоянию на 9 марта 2020 мы имеем резкое снижение рынков США начиная с исторического максимума в 20-числах февраля 2020, которое на данный момент составило около -16%. Новости пестрят заголовками про надвигающуюся рецессию из-за коронавируса, Россия вышла из сделки Опек+, что ударило по ценам на нефть (-20% за день) и завтра, (10 марта 2020) ожидается снижение рынка ММВБ также на 20%, судя по котировкам наших акций на западных рынках.


Ждет ли нас глобальная рецессия? В этой статье мы попробуем разобраться как можно заранее увидеть сигналы начала рецессии средствами Python.
Читать дальше
Всего голосов 18: ↑17 и ↓1+16
Комментарии38

Сети для начинающего IT-специалиста. Обязательная база

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

Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой техники, менеджерами в it-сферу и так далее.


Эта статья как раз для таких 80%, кто только закончил университет с какой-либо IT-специальностью и уже начал мониторить вакансии, например, на должность системного администратора или его помощника, либо выездного инженера в аутсорсинговую фирму, либо в техническую поддержку 1-й/2-й линии.


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


За время своей трудовой деятельности в сфере IT я столкнулся с такой проблемой, что в университетах не дают самую основную базу касательно сетей. С этим я столкнулся сначала сам, когда, после окончания университета, ходил по собеседованиям в 2016 году и не мог ответить на простые (как мне сейчас кажется) вопросы. Тогда мне конечно показалось, что это я прохалтурил и не доучил в университете. Но как оказалось дело в образовательной программе. Так как сейчас, я также сталкиваюсь с данным пробелом знаний, когда обучаю новых сотрудников.


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


Именно поэтому я решил собрать основные темы в одну статью и объяснить их как можно проще «на пальцах».

Читать дальше →
Всего голосов 77: ↑66 и ↓11+55
Комментарии99

Пожалуйста, перестаньте рекомендовать Git Flow

Время на прочтение6 мин
Количество просмотров199K
Прим. перев.: Новая статья с критикой полюбившейся многим Git Flow получила столь заметное внимание, что даже оригинальный автор модели обновил публикацию 10-летней давности, актуализировав свой взгляд на её применение сегодня. Публикуем перевод как самой критики, так и официальной реакции.



Git-flow — это методология ветвления и слияния, сильно популяризированная заметкой 2010 года под названием «A Successful Git branching model» (была переведена на хабре как «Удачная модель ветвления для Git» — прим. перев.).

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

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

На этом можно заканчивать, так? Ну, не совсем. Наверняка некоторые из вас скептически отнеслись к моей цепочке рассуждений, поэтому давайте копнем поглубже и попытаемся понять, почему модель ветвления Git-flow должна поджариться на медленном огне.
Читать дальше →
Всего голосов 98: ↑89 и ↓9+80
Комментарии177

Почему Мастерхост был обречен: взгляд изнутри

Время на прочтение8 мин
Количество просмотров104K
замок с алтуфьево

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

Я проработал там 5 лет, и я хочу рассказать, что именно было не так с этой компанией.
Читать дальше →
Всего голосов 279: ↑275 и ↓4+271
Комментарии301

Полная домашняя автоматизация в новостройке. Продолжение

Время на прочтение9 мин
Количество просмотров90K
Неожиданно статья про мой опыт автоматизации однокомнатной квартиры площадью 41 кв. м. в новостройке, опубликованная две недели назад, стала популярна и на 10 марта её добавил в закладки 781 image человек, просмотрели 123 921 раз и Хабр даже запилил рекламный блок в разделе «Рекомендуем» с пометкой «Интересно».


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

Перед вами продолжение истории, где я отвечу на комментарии, приведу фотографии квартиры с мебелью, получившиеся электрические щиты, а также расскажу о тех сложностях, с которыми я столкнулся после того, как перешёл c openHAB в другую систему домашней автоматизации — Home Assistant.
Самая умная однушка ...
Всего голосов 57: ↑55 и ↓2+53
Комментарии368

Как сделать стартовое меню и миникарту

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

Всем доброго дня


В этой небольшой статье я расскажу как сделал стартовое меню и миникарту с помощью ассетов из Unreal Engine Marketplace.

Читать дальше →
Всего голосов 5: ↑3 и ↓2+1
Комментарии7

Информация

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