Как стать автором
Обновить
-1
0

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

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

Windows Defender SmartScreen вредит независимым разработчикам

Время на прочтение4 мин
Количество просмотров29K
Допустим, вы независимый разработчик и выпустили своё приложение. Чтобы упростить установку, вы создаёте установщик и начинаете его распространять. Какой-нибудь смелый экспериментатор загружает, запускает инсталлятор — но видит строгое предупреждение:


Windows SmartScreen блокирует запуск исполняемого файла

Действительно, в текущем окружении Windows активно блокирует запуск бинарных файлов через функцию SmartScreen.
Читать дальше →
Всего голосов 63: ↑63 и ↓0+63
Комментарии305

Аллокаторы памяти

Время на прочтение20 мин
Количество просмотров100K
Всем привет! Не так давно, после очень плотного изучения аллокаторов и алгоритмов распределения памяти, а также в последующем применении их на практике мне в голову пришла идея написать статью, в которой будет максимально подробно рассказано о них. Считаю, что данная тема будет достаточно востребованной, так как в сети, особенно в русскоязычной части, на данный момент существует очень мало источников, посвященных этому вопросу.
Читать дальше →
Всего голосов 30: ↑27 и ↓3+37
Комментарии15

Как ускорить игру «Жизнь» в сто раз

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

Сложно найти человека, не знакомого с игрой "Жизнь", придуманной английским математиком Джоном Конвеем еще в 1970 году, и до сих пор не теряющей своей популярности. Многие программисты писали свою реализацию этой игры, и еще одна вряд ли кого-то удивит. Однако эта игра является отличным примером, показывающим, насколько полезной может оказаться оптимизация вычислений, даже не меняющая асимтотическую сложность алгоритма. Мы начнем с простейшей реализации на c# и будем последовательно применять различные оптимизации, ускоряя работу программы.

Мы также улучшим алгоритм на JavaScript, ускорив его в 10 раз по сравнению с неоптимизированной версией.

В конце статьи дана ссылка на код, а также на online-реализацию игры с оптимизированным алгоритмом на JavaScript, выполняющим до двухсот итераций в секунду на поле размера 1920x1080 (Full HD), где вы можете убить время поиграть в эту замечательную игру.
Читать дальше →
Всего голосов 58: ↑57 и ↓1+81
Комментарии124

Дистрибутивы Linux для гейминга

Время на прочтение5 мин
Количество просмотров88K
Linux предлагает как универсальные дистрибутивы для работы и игр, так и специализированные, заточенные под гейминг. В этом посте о том, какие игровые дистрибутивы Linux актуальны на сегодняшний день (сугубо ИМХО, конечно же), а вы можете поучаствовать в опросе и поделиться своим мнением на этот счёт.


Игры под Linux стали набирать популярность в 2013 году, когда Valve объявила о создании SteamOS на базе Linux. Кроме того, в январе 2013 года Valve портировала на Linux свою игру Half-Life. Пользователи Linux получили возможность играть в качественные игры, для которых в прошлом нужна была операционная система Windows или даже игровая консоль. Всё начиналось довольно скромно: всего несколько компаний (CD Projekt Red, Deep Silver, Valve и некоторые другие), добавили значок пингвина Linux в свой список совместимости. Но в конечном итоге даже Gearbox и Square Enix выпустили Linux-версии своих лучших игр. Сегодня благодаря проекту Valve Proton игры, у которых нет официального релиза для Linux, по-прежнему могут работать в SteamOS и других дистрибутивах Linux.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+25
Комментарии55

Алгоритм Мамдани в системах нечеткого вывода

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

Введение


Так уж повелось, что любую статью о нечеткой логике принято начинать с упоминания имени Лотфи Заде. И я не стану исключением. Дело в том, что этот человек стал не только отцом-основателем целой научной теории, написав в 1965 году фундаментальный труд «Fuzzy Sets», но и проработал различные возможности ее практического применения. Он описал свой подход в 1973 году в тексте «Outline of a New Approach to the Analysis of Complex Systems and Decision Processes» (опубликованном в журнале IEEE Transactions on Systems). Примечательно, что сразу после его выхода одна предприимчивая датская фирма весьма успешно применила изложенные в нем принципы для усовершенствования своей системы управления сложным производственным процессом.

Но при всех заслугах Л. Заде, не менее важный вклад внесли последователи этой теории. Например, английский математик Э. Мамдани (Ebrahim Mamdani). В 1975 году он разработал алгоритм, который был предложен в качестве метода для управления паровым двигателем. Предложенный им алгоритм, основанный на нечетком логическом выводе, позволил избежать чрезмерно большого объема вычислений и был по достоинству оценен специалистами. Этот алгоритм в настоящее время получил наибольшее практическое применение в задачах нечеткого моделирования.
Читать далее
Всего голосов 55: ↑53 и ↓2+51
Комментарии15

IPv6 — прекрасный мир, стоящий скорого перехода на него

Время на прочтение8 мин
Количество просмотров41K
Практически все статьи, которые я видел на тему «чем хорош IPv6 и почему на него стоит пошустрее переходить», говорят только о просто более широком адресном пространстве. В лучшем случае, упомянут автоматическую конфигурацию адресов и маршрутов (stateless address autoconfiguration (SLAAC)). Это удручает, а ведь IPv6 имеет много ещё других неявных плюшек, являясь очень продуманным стеком протоколов (IPv6 + ICMPv6 + NDP)! Создаётся впечатление, что IPv6 это просто тупо про расширение адресов, а дальше то особо никакого профита. Или же некоторые статьи плачутся о том, что они не видят сиюминутного профита от внедрения/перехода. Простоту и удобство, гибкость и расширенные возможности (из-за одного только избавления от NAT-а) не так то легко измерить, как какие-нибудь задержки и пропускную способность. Решил поэтому собрать моё видение прекрасного мира IPv6 протокола и его плюсы в этой статье.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+44
Комментарии459

Single sign-on для SSH своими руками

Время на прочтение13 мин
Количество просмотров20K
TL;DR В этот статье мы установим single sign-on для SSH от Google. За кулисами мы воспользуемся OpenID Connect (OICD), краткосрочными SSH сертификатами, несколькими хитростями конфигурации SSH, и опенсорсными пакетами step-ca и step от Smallstep. Мы настроим SSH Certificate Authority и воспользуемся им, чтобы загрузить в нашей системе нового пользователя и новый хост. Этот метод привносит много преимуществ помимо single sign-on, так как отпадает нужда в сборе, передаче и контроле файлов authorized_keys, хоть и требует больше подготовительной работы по сравнению с настройкой типичной пары открытого/секретного SSH ключей.

Как не следует пользоваться SSH


Еще в далеком 2004 году кто-то научил меня копипастить открытый ключ в файл authorized_keys. С тех пор я продолжал невинно копировать один и тот же старый публичный ключ на каждый сервер, с которым мне приходилось работать, и у меня постоянно не получалось сделать это с первого раза, потому что я забывал корректно настраивать chmod.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии4

Почему Apple удаляет файлы с компьютеров пользователей

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

Личные файлы переносят в облако и удаляют с диска, некоторые безвозвратно


Некоторые пользователи Apple столкнулись с необычной проблемой: на их компьютерах пропали музыкальные файлы в форматах MP3 и WAV. Ситуацию в ярких красках описывает один из пострадавших Джеймс Пинкстоун (James Pinkstone), который лишился музыкальной коллекции на 122 гигабайт. Программа iTunes просто удалила файлы с диска.

Джеймс безуспешно искал решение на форумах, а затем обратился с помощью в техподдержку с вопросом, почему программа iTunes удалила его личные файлы без разрешения. Там объяснили, что программное обеспечение Apple функционирует в штатном режиме, ему и положено так работать. Всё сделано в полном соответствии с соглашением пользователя, которое он принял при оформлении подписки на Apple Music. Файлы просто перенесли в облако. К сожалению, некоторые файлы пришлось перекодировать в другой формат с потерей качества, но оригиналы уже удалены. Всё в порядке, волноваться поздно.
Читать дальше →
Всего голосов 74: ↑67 и ↓7+60
Комментарии251

Юлия → Iuliia. Всё о транслитерации

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

Транслитерация


Транслитерация — это запись кириллических слов латиницей (Анна → Anna, Самара → Samara). Её используют в загранпаспортах, водительских удостоверениях, трансграничной доставке, библиотечных каталогах и множестве других международных процессов.


Так вышло, что я недавно окунулся в эту тему, а в Википедии она раскрыта слабо. Поэтому расскажу, что к чему (спойлер — если вы думаете, что с транслитерацией всё плохо, то на самом деле всё ещё хуже).


И конечно, поскольку это Хабр — предложу open-source библиотеки для решения проблемы.

Читать дальше →
Всего голосов 146: ↑145 и ↓1+191
Комментарии545

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

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

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Всего голосов 155: ↑150 и ↓5+191
Комментарии342

Почему я люблю IKEv2 больше других VPN

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


Сейчас все вокруг настраивают VPN для удаленных сотрудников. Мне больно смотреть, как люди устанавливают монструозные глючные программы, настраивают какие-то сертификаты, устанавливают драйвера TUN/TAP и делают множество сложных операций, в то время как лучшее решение уже встроено в операционную систему.

IKEv2 — это современный протокол VPN, разработанный Microsoft и Cisco. Он используется по умолчанию для новых VPN-подключений в Windows, macOS, iOS. Он быстрее и безопаснее большинства VPN-протоколов и может легко настраиваться на стороне клиента в два клика без использования сторонних программ.

Я считаю, что IPsec IKEv2 отлично подходит не только для соединения серверов, но и для обычных VPN-подключений конечных пользователей. В этом посте я постараюсь убедить вас использовать IPsec IKEv2 для обычных домашних пользователей вместо OpenVPN.
Читать дальше →
Всего голосов 42: ↑33 и ↓9+50
Комментарии163

Вычисления на GPU – зачем, когда и как. Плюс немного тестов

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


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

IMHO, как писать на Хабр

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


Акронис на прошлой неделе попросил меня рассказать про опыт на Хабре. После семинара я обещал выложить основные тезисы. Возможно, вы найдёте что-то полезное ниже.

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

При этом активных (голосующих) пользователей всего около 3 тысяч. Уровень знаний аудитории на входе в пост — в примерно 95% случаев низкий, в 5% — экспертный (разбиение оценочное). Проще говоря, есть люди, которые вообще не понимают, что вы хотите сказать (и их большинство), и есть те, кто разбирается в теме на голову лучше вас. Поэтому лучший пост — это тот, что проходит от ликбеза к хардкору. На площадке довольно высокий уровень агрессии (точнее, желания проверить материал на прочность). Ранее был экстремально высок. Средняя или низкая внимательность читателя (ранее была высокая).

Разумеется, это всё моё личное мнение, и можно поспорить. Сейчас постараюсь объяснить, почему я так считаю, и как это влияет на посты. Я основываюсь на опыте примерно 1500 постов за 6 лет, которые написал сам или помогал готовить.

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


Данные тут на конец августа, я их к другому семинару (в Хабре для владельцев блогов) готовил.
Читать дальше →
Всего голосов 200: ↑182 и ↓18+164
Комментарии165

Эффективная работа из дома: общее и личное

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


Моё домашнее рабочее место


Да, о работе из дома есть уже миллион текстов, в том числе и на Хабре. Но многие советы из них вроде «оденьтесь по-офисному, и тогда будет рабочий настрой» для меня выглядят слишком обобщающими. Люди разные, и одним формальная одежда действительно помогает, а другим куда лучше работается в пижаме.


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


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

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

Помощь и просьба о ней. Статья про информационную безопасность для рядовых пользователей

Время на прочтение118 мин
Количество просмотров101K
Я предлагаю вам некоторые шаги по повышению безопасности и приватности в интернет сети (и не только) для рядовых пользователей. Обоснование почему это необходимо – в начале статьи. Для тех, кто всё знает и недоумевает, почему этот текст находится здесь — просьба прочитать пункт «Для тех, кто уже всё знает». Три месяца назад я написала этот текст, но в связи с моей необразованностью и нескончаемым потоком новостей о новых угрозах безопасности, мне надоело переделывать, так что пусть в этом тексте остаётся всё как было).
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии98

Как избежать популярных ошибок сетевой безопасности

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


В середине сентября стало известно об утечке почти 2Тб данных, в которых содержалась информация о работе системы оперативно-розыскных мероприятий (СОРМ) в сети одного российского оператора связи. Утечка произошла из-за неправильно настроенной утилиты резервного копирования rsync. Подобные ошибки – частая причина проблем крупных компаний. В этой статье мы разберем семь самых популярных ошибок сетевой безопасности: расскажем, как их можно обнаружить и устранить.

Распространенная причина успеха развития атак внутри сети — ошибки конфигурирования каналов связи или систем обработки и хранения данных, а также нарушения регламентов ИБ. Все это снижает эффективность используемых средств защиты и увеличивает шансы злоумышленников на взлом и развитие атаки. Во время проектов по расследованию инцидентов и анализа трафика наша команда PT Expert Security Center регулярно находит типичные ошибки в конфигурациях информационных систем и нарушения корпоративных регламентов ИБ. Давайте посмотрим, что это за ошибки.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+8
Комментарии2

Тонкое резервирование файловых систем Linux. Как создавать рабочие копии трехтерабайтной СУБД MySQL за 20 секунд

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


Меня зовут Юрий, я руководитель группы системного администрирования в Ситимобил. Сегодня поделюсь опытом работы с технологией тонкого резервирования (thin provisioning) файловых систем Linux и расскажу, как ее можно применять в технологических CI/CD-процессах компании. Мы разберем ситуацию, когда для автоматического тестирования кода при доставке его в production нам как можно быстрее необходимы копии БД MySQL, максимально приближенные к «боевой» версии, доступные на чтение и на запись.

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

Умные телевизоры Samsung, LG, Vizio и TCL ежесекундно снимают «отпечатки» экрана и отправляют на сервер

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

Сетевая активность телевизора Samsung 5 Series. Скриншот: Geoffrey Fowler/The Washington Post

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

Об этом не принято говорить, но факт: если из умного телевизора убрать «умную» функциональность, то он станет дороже. Дело в том, что производители ТВ плотно вовлечены в индустрию контента, рекламы, маркетинга, дата-майнинга и торговли данными пользователей. По объёму собираемых данных эти платформы догоняют Google и Apple.

Издание The Washington Post провело небольшой эксперимент и отследило, как четыре крупнейших производителя ТВ записывают всё, что мы смотрим. Сетевой трафик телевизоров Samsung, LG, Vizio и TCL изучали программой IoT Inspector от Принстонского университета.
Читать дальше →
Всего голосов 97: ↑97 и ↓0+97
Комментарии391

Методы наименьших квадратов: текст, написанный программистом для программистов

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

Итак, задача на сегодня: научиться простейшей обработке геометрии, чтобы, например, суметь преобразовать мою голову в истукана с острова Пасхи:


Читать дальше →
Всего голосов 66: ↑62 и ↓4+76
Комментарии13

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

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

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность