Pull to refresh
-1
0
Антон Носов @inot

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

Send message

Переносим пользователей из AD в FreeIPA

Reading time3 min
Views10K

В связи с уходом Microsoft из России у многих возник вопрос о переносе службы каталогов на open-source или решения из реестра отечественного ПО. Одним из доступных решений является FreeIPA. Проект живет при поддержке RedHat и доступен в репозиториях отечественных операционных систем.

В этой статье мы рассмотрим перенос учетных записей с нужными нам атрибутами из Active Directory в FreeIPA 4.10.1. В качестве инструмента мы будем использовать Microsoft PowerShell.

Читать целиком
Total votes 9: ↑9 and ↓0+9
Comments6

Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако

Reading time3 min
Views35K

Фото из сравнения микрофонных массивов для DIY-устройств типа самодельной умной колонки

Системы вроде Amazon Echo передают в облако для хранения ваши конфиденциальные разговоры (даже записанные случайно). В некоторых случаях записи прослушиваются живыми операторами. Это не просто потеря конфиденциальности. Это как добровольно впустить в свою квартиру «товарища майора», который стоит рядом 24 часа в сутки, слушает и внимательно записывает, притворяясь услужливым ассистентом.

Вместо покупки коммерческой системы у корпораций типа Google, Amazon или «Яндекс», вы можете собрать аналогичную опенсорсную систему на базе Raspberry Pi 2-3 B/B+, персонального компьютера или ноутбука.

Rhasspy — безопасный голосовой помощник, который работает автономно. Он ничего не передаёт на удалённые сервисы, при этом успешно справлятся с распознаванием речи и голосовых команд.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments51

QR-коды уже здесь или как Китай стал на 101% цифровым

Reading time6 min
Views21K
Китайцы первыми поняли, что хороший процесс — автоматизированный процесс. Чем меньше бумаги, чем меньше участие человека в каком-то рутинном массовом процессе — тем лучше. То же самое касается и разнообразной бюрократии — в очень многих случаях гораздо проще стандартизировать некий процесс, доверить компьютерам его решение и привлекать чиновника непосредственно на финальной стадии решения. Потом весь бизнес это осознал — и теперь Китай стремительно несется в эру, когда участие человека ограничивается использованием. О том, каково это, я и предлагаю поговорить в этой статье.

На написание всего этого меня, если честно, вдохновили мои гости с Couchsurfing, которые каждый раз жаловались на крайнее неудобство жизни в Китае. Именно в плане взаимодействия с местным Интернетом. Так что получился небольшой пост-опровержение.

На картинке ниже — первый из немногих регионов за пределами США, разрешивший эксплуатацию робомобилей на дорогах общего пользования Гуандун. Стартап WeRide, который запустился буквально месяц назад. Регистрация пока только по инвайтам.

image
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments55

.NET Core 3 для Windows Desktop

Reading time6 min
Views21K
В сентябре мы выпустили поддержку .NET Core для создания настольных приложений Windows, включая WPF и Windows Forms. С тех пор мы были рады видеть, что многие разработчики делятся своими историями о переносе настольных приложений в .NET Core. Мы постоянно слышим от .NET-разработчиков настольных приложений для Windows истории о том, как они поддерживают свой бизнес с помощью WPF и Windows Forms, особенно в тех случаях, когда десктоп выигрывает, включая:

  • FOD-приложения (forms over data) с плотным UI
  • Отзывчивый пользовательский интерфейс с низкой задержкой
  • Приложения, которые должны работать в автономном режиме
  • Приложения с зависимостями от кастомных драйверов устройств

Заглядывайте под кат, чтобы узнать больше о преимуществах .NET Core для создания приложений Windows.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments13

7 бесплатных курсов для разработчиков от Microsoft

Reading time5 min
Views82K
Привет, Хабр! Сегодня мы начинаем серию статей, в которую войдет 5 подборок бесплатных обучающих курсов от компании Microsoft. В этой статье у нас самые крутые курсы для разработчиков, которые сильнее всего нравятся программистам.

Кстати!

  • Все курсы бесплатные (вы даже сможете попробовать платные продукты бесплатно);
  • 6/7 на русском языке;
  • Начать обучение можно мгновенно;
  • По окончании вы получите бейдж об успешном прохождении обучения.

Присоединяйтесь, подробности под катом!

Новая серия статей


Следующая серия статей, начало 2020 года


Эта серия статей, 2019 год


Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments18

Периодическое обновление данных

Reading time4 min
Views5.1K
Сразу хочу оговорится, что наш код выполняется в виртуальной среде(машине) .NET Framework которая в свою очередь исполняется на операционной системе общего назначения, поэтому говорить о какой либо точности даже в пределах 1-2 мс мы не будем. Но тем не менее попытаемся сделать все от зависящие, чтобы увеличить временную точность.

Зачастую в нашей программе, возникает необходимость обновление какой-либо информации c определенным временным интервалом. В моем случаи это было обновление снапшотов (изображений) с ip камер. Зачастую бизнес логика приложения устанавливает перед нами определенные ограничения частоты обновления данных. Для это время составляет 1 секунда.
Решение в лоб — это установить Thread.Sleep(1000)/Task.Await(1000) после запроса снапшота.

static void Getsnapshot()
{
  var rnd = new Random()
  var sleepMs = rnd.Next(0, 1000);
  Console.WriteLine($"[{DateTime.Now.ToString("mm:ss.ff")}] DoSomethink {sleepMs} ms");
  Thread.Sleep(sleepMs);
}

while (true)
{
  Getsnapshot();
  Thread.Sleep(1000);
}

Но срок выполнения нашей операции — недетерминированная величина. Поэтому имитация взятия снапшота выглядит примерно так:
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments25

Занимательная практика для разработчика

Reading time3 min
Views18K
Человек остается начинающим в течение 1000 дней. Он находит истину после 10000 дней практики.

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

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

(предыдущие списки заданий для тренировки: 1) 8 учебных проектов 2) Еще список проектов, на чем потренироваться)

Проект 1: Pacman


image

Создайте свою версию Pacman. Это отличный способ получить представление о том, как разрабатываются игры, понять основы. Используйте JavaScript-фреймворк, React или Vue.

Вы узнаете:

  • Как передвигаются элементы
  • Как определить какие клавиши нажимать
  • Как определить момент столкновения
  • Вы можете не останавливаться на достигнутом и добавить управление движением призраков

Пример этого проекта вы найдете в репозитории GitHub

«Мастер совершает больше ошибок, чем новичок — попыток»
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments1

Делегаты и события в C#

Reading time8 min
Views72K
Перевод статьи подготовлен специально для студентов курса «Разработчик С#».




Что такое события в C#?


Событие может быть использовано для предоставления уведомлений. Вы можете подписаться на событие, если вам нужны эти уведомления. Вы также можете создавать свои собственные события, которые будут уведомлять вас о том, что случилось что-то, что вас интересует. .NET Framework предлагает встроенные типы, которые можно использовать для создания событий. Используя делегаты, лямбда-выражения и анонимные методы, вы можете создавать и использовать события удобным способом.
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments9

9 лучших опенсорс находок за сентябрь 2019

Reading time2 min
Views52K

Доброго Хактоберфеста, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за сентябрь 2019.


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Python, C, Rust, Ruby, JavaScript, Go.
Тематика: веб разработка, администрирование, инструменты разработчика.


Прошлый выпуск.

Читать дальше →
Total votes 115: ↑112 and ↓3+109
Comments19

Многопоточность в .NET: когда не хватает производительности

Reading time26 min
Views43K


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

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

Под катом — видео и расшифровка моего доклада с конференции DotNext, где я разбираю несколько примеров, когда использование средств из стандартной библиотеки .NET (Task.Delay, SemaphoreSlim, ConcurrentDictionary) привело к просадкам производительности, и предлагаю решения, заточенные под конкретные задачи и лишённые этих недостатков.
Total votes 49: ↑48 and ↓1+47
Comments87

Как найти работу с релокацией в Европу: практический гайд для IT-специалистов

Reading time7 min
Views91K
Сам по себе поиск работы в сфере IT достаточно прост. Что же касается поиска вакансий с возможность релокации, здесь уже сложнее. Несмотря на то, что технологические компании по всему миру сейчас активно нанимают разработчиков и других IT-специалистов из-за рубежа, поиск таких вакансий забирает достаточно много сил и времени.

В этой статье я решил собрать наиболее популярные сайты/ресурсы, на которых реально найти вакансии с переездом в страны Европы.

Telegram-каналы



Джоб-борды для IT-специалистов и нишевые сайты


AngelList


На сегодняшний день AngelList является одним из наиболее популярных сайтов по поиску работы в стартапах по всему миру. Процесс поиска вакансий с релокацией на этом сайте очень прост – во вкладке «Compensation» выбираем опцию «Company Will Sponsor Visa». Чтобы сузить полученный список вакансий до максимально релевантных, можно использовать фильтры «Role» и «Location».

image

Glassdoor


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

Чтобы найти вакансии, которые предлагают релокейт, пишем в поисковой строке relocation developer или relocation и название интересной вам позиции. Чтобы сузить результаты поиска, уточняем город/страну, куда хотели бы переехать.

image

Поскольку на сайте Glassdoor нет специального фильтра для поиска работы с переездом, при поиске вакансий описанным выше методом могут попадаться нерелевантные. В целом же, ключевое слово relocation в поисковой строке делает свое дело.
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments23

Атрибуты C#: обо всех аспектах

Reading time19 min
Views41K
Здравствуй, читатель. В этой статье описаны атрибуты со всех сторон — начиная от спецификации, смысла и определения атрибутов, создания собственных и работе с ними, заканчивая добавлением атрибутов на рантайме и наиболее полезными и интересными существующими атрибутами. Если вам интересна тема атрибутов в C#, то добро пожаловать под кат.

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments1

Обход блокировок РКН с помощью DNSTap и BGP

Reading time10 min
Views58K


Тема довольно изъезжена, знаю. К примеру, есть отличная статья, но там рассматривается только IP-часть блоклиста. Мы же добавим еще и домены.


В связи с тем, что суды и РКН блокируют всё направо и налево, а провайдеры усиленно пытаются не попасть под штрафы, выписанные "Ревизорро" — сопутствующие потери от блокировок довольно велики. Да и среди "правомерно" заблокированных сайтов много полезных (привет, rutracker)


Я живу вне юрисдикции РКН, но на родине остались родители, родственники и друзья. Так что было решено придумать легкий для далеких от ИТ личностей способ обхода блокировок, желательно вовсе без их участия.


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

Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments42

Душевный Mikrotik против бездушного РКН и такого же провайдера

Reading time3 min
Views78K
Статья описывает способ получения доступа к ресурсам ошибочно попавшим под раздачу плюшек Роскомнадзором (далее РКН). Именно ошибочно попавшим. Мы законопослушные граждане и не ходим туда куда нам запрещают наши госорганы. Так что если вдруг вы решите воспользоваться способом для того что бы пойти на какие то “законно” заблокированные ресурсы, суровый меч правосудия возможно взметнется над вашей головой и я в этом не виноват, поскольку вот прямо сейчас я вас предупредил!
Читать дальше →
Total votes 58: ↑49 and ↓9+40
Comments91

iOS для творчества: рисование

Reading time5 min
Views34K


Привет! В прошлой статье я делал обзор возможностей iOS для написания музыки, а тема сегодняшней — рисование

Я расскажу вам про Apple Pencil и другие приложения для работы с растровой и векторной графикой, пиксель-артом и другими видами рисования.

Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments33

Удалённая разработка в VS Code: ваша жизнь никогда не будет прежней

Reading time3 min
Views65K

У нас в TestMace Visual Studio Code является одним из самых популярных инструментов. И тем более отрадно, что он развивается семимильными шагами. Вашему вниманию предлагается перевод статьи об еще одной вкусной фиче, которая доступна пока только в VS Code Insiders.


Согласен, немного переборщил с заголовком, просто меня переполняют эмоции. Я решил поделиться своими первыми впечатлениями от удалённой разработки в VS Code, на момент написания статьи доступной в VS Code Insiders.

Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments10

Практические задачи по Java — для курсов и прочих занятий

Reading time35 min
Views759K

Практические задачи по Java — для курсов и прочих занятий


Несколько вводных слов


Последние несколько лет я читаю курс по программированию на Java. Со временем он менялся — то добавлялись, то выкидывались разные части, менялась последовательность тем, менялся подход к построению плана самих занятий, и так далее. То есть, курс совершенствовался. Одной из основных проблем, возникших при подготовке курса — это задачи. О них и пойдёт речь.

Дело в том, что каждое моё занятие состоит из двух частей. На первой я выступаю в роли лектора — рассказываю с примерами кода о какой-то новой теме (классы, наследование, дженерики и так далее). Вторая часть — практическая. Очевидно, что нет смысла просто рассуждать о программировании, надо программировать. Приоритет на занятиях — решение задач, то есть программирование чего-то как-то. Программирование на занятиях отличается от программирования дома, так как на занятиях можно задать вопрос, показать код, получить быструю оценку кода, комментарии по улучшению, исправлению написанного. Очень легко было найти задачи для самых первых занятий. Задачи на циклы, условные операторы, и ООП (к примеру, написать класс «Собака» или класс «Вектор»). Сервисы вроде leetcode позволяют даже проверить правильность решения таких задач сразу, онлайн. Но какие задачи дать студентам на занятии, которое было посвящено коллекциям? Потокам? А аннотациям? За несколько лет я придумал, или переработал несколько таких задач, и эта статья, по сути, является сборником этих задач (к некоторым задачам прилагается решение).
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments20

Советы начинающим разработчикам

Reading time7 min
Views8.1K
Я работаю iOS разработчиком более шести лет. Мне довелось работать в нескольких различных компаниях и командах. Я работал как в outsource так и в outstaff, довелось даже поучаствовать в startup. И вот спустя несколько лет коммерческой разработки, а также пару-тройку лет программирования в университете, я стал выделять некоторые принципы или правила качественного подхода к разработке приложений. Сначала это были советы моему другу. Давая ему советы, я подумал, что мне не хватало подобных советов, когда я только начинал свой путь разработчика. Та что там говорить, некоторые моменты я понял для себя сравнительно недавно, а некоторые уже на новом месте работы. И вот родилась идея составить список советов, которыми мне бы хотелось поделиться с самим собой пять-шесть лет назад. Я уверен, что ещё через пять лет у меня будет что сказать себе сегодняшнему. Но это оставим пожалуй на будущее.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments9

12 способов не накосячить со вспышкой

Reading time8 min
Views352K
После трёх лет работы со студийным светом я думал, что знаю про накамерную вспышку если не всё, то очень много. Три недели назад я попал в гости к одному особо опытному стробисту, который рассказал и показал столько, что я сразу понял, что надо садиться и делать перепись грабель, а потом тестить, тестить и ещё раз тестить.

Ниже — достаточно известные вещи, которые, однако, вызывали facepalm у тех, кто был вместе со мной или же у меня. В списке грабель вы с некоторой вероятностью можете найти что-нибудь новое. Если хотя бы она фича использования вспышки окажется для вас полезной, то мою задачу можно считать выполненной.
Читать дальше →
Total votes 228: ↑223 and ↓5+218
Comments73
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity