Search
Write a publication
Pull to refresh
44
0.1
Березников Алексей @gdt

Разработчик C#

Send message

Как оценить уровень владения английским языком

Reading time4 min
Views128K


На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

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

Y-метод — действительно простой способ собрать кубик Рубика

Reading time7 min
Views337K

Введение


В статье рассматривается «Y-метод» сборки кубика Рубика — его легко понять и запомнить. Он основан всего на одной последовательности, которая называется «Y-движение». Поняв этот алгоритм, вы навряд ли забудете как собрать кубик самостоятельно.
Читать дальше →

Глобальный отчёт по VPN на мобильных устройствах в 2019 году

Reading time18 min
Views15K


За последние 12 месяцев в мире зарегистрировано 480,1 млн скачиваний мобильных приложений VPN, что на 54% больше прошлогоднего. На интерактивной карте можно посмотреть статистику по странам. Например, Россия — 10,92 млн скачиваний (+19%), Украина — 6,38 млн (−18%), Беларусь — 0,49 млн (+38%), Казахстан — 4,1 млн (+210%, третье место в мире по темпам роста).
Читать дальше →

.NET Core с блокнотами Jupyter — Preview 1

Reading time3 min
Views9.8K
Когда вы думаете о блокнотах Jupyter, на ум, вероятно, приходит код Python, R, Julia или Scala, а не .NET. Сегодня мы рады сообщить, что вы можете писать .NET-код в Jupyter Notebooks.

Try .NET развился, чтобы поддерживать больше интерактивных возможностей в Интернете с помощью сниппетов исполняемого кода, генератора интерактивной документации для .NET Core с глобальным инструментом dotnet try. Ну а теперь .NET доступен в Jupyter Notebooks.

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

Низкорисковые биржевые инвестиции: как использовать счета ИИС и облигации как альтернативу банковским вкладам

Reading time3 min
Views17K


Изображение: Unsplash

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

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

Общая теория и археология виртуализации x86

Reading time37 min
Views49K

Введение


Авторский коллектив


Автор: Антон Жбанков (AntonVirtual, «BeerPanda. Органично недоразвитый DevOps»)
Со-авторы: Григорий Прялухин, Евгений Парфенов

Общие понятия виртуализации


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

Наверное, самым близким определением понятия “виртуализация” будет “абстрагирование” из объектно-ориентированного программирования. Или, если переводить на нормальный русский язык — это сокрытие реализации за абстрактным интерфейсом. Что, конечно, все сразу объяснило. Попробуем еще раз, но для тех, кто не изучал программирование.
Виртуализация — сокрытие конкретной реализации за универсальным стандартизованным методом обращения к ресурсам / данным.

Если попробовать применить на практике данное определение, то окажется, что оно вполне работает на совершенно неожиданных предметах. Скажем, часы. Вот были придуманы несколько тысяч лет назад солнечные часы, а в средневековье были придуманы механические. Что же там общего? Солнце и какие-то шестеренки? Бред какой-то. А потом кварцевые генераторы и все остальное.
Суть в том, что мы имеем стандартный интерфейс — стрелочный или цифровой указатель, который в универсальной стандартной форме указывает текущее время. Но имеет ли для нас значение как конкретно реализован этот механизм внутри коробки, если время указывается с достаточной для нас точностью?
— Позвольте, — можете сказать вы, — но я-то думал, что виртуализация про машины, процессоры там, и так далее!
Да, она и про машины, и про процессоры, но это лишь частный случай. Давайте рассмотрим более широко, раз уж статья смело претендует на общую теорию.
Читать дальше →

Описание архитектур процессоров в LLVM с помощью TableGen

Reading time15 min
Views5.7K
На данный момент LLVM стала уже очень популярной системой, которую многие активно используют для создания различных компиляторов, анализаторов и т.п. Уже написано большое количество полезных материалов по данной тематике, в том числе и на русском языке, что не может не радовать. Однако в большинстве случаев основной уклон в статьях сделан на frontend и middleend LLVM. Конечно, при описании полной схемы работы LLVM генерация машинного кода не обходится стороной, но в основном данной темы касаются вскользь, особенно в публикациях на русском языке. А при этом у LLVM достаточно гибкий и интересный механизм описания архитектур процессоров. Поэтому данный материал будет посвящен несколько обделенной вниманием утилите TableGen, входящей в состав LLVM.

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

Конспект по «Машинному обучению». Теория вероятностей. Формула Байеса

Reading time2 min
Views9.1K


Теория вероятностей. Формула Байеса


Пусть проводится некоторый эксперимент.

$w_1, ..., w_N$элементарные события (элементарные исходы эксперимента).
$\Omega = \{w_i\}_{i =1}^N$пространство элементарных событий (совокупность всевозможных элементарных исходов эксперимента).
Читать дальше →

Введение в эксплоитинг и реверсинг (уже не с нуля) с использованием IDA FREE и других бесплатных инструментов

Reading time5 min
Views21K
Привет, Хабравчане.

Для тех кто не знает, совсем недавно Рикардо начал новый курс, который посвящен реверсингу и эксплоитингу. Это продолжение предыдущего оригинального авторского курса, который закончился на 67 главе. Я узнал про курс сразу, так как Рикардо подписал меня на свою рассылку КрэкЛатинос. После появления этой новости я сразу побежал искать папочку с английским переводом и очень обрадовался когда нашел его там. Над английским переводом постарался человек под ником Fare9, за что ему честь и хвала. Также я хочу передать привет и сказать спасибо Ильфаку Гильфанову за его прекрасный инструмент, которым пользуются в каждой стране. Перед ним я снимаю шляпу и делаю низкий поклон.
Читать дальше →

ДА вздрогнет FAANG* или [практическое руководство] по поиску работы в США/Европе для айтишника

Reading time5 min
Views24K
*FAANG — акроним 5 крупнейших tech компаний (Facebook, Apple, Amazon, Netflix and Google), предоставляющих одни из самых хороших возможностей для разработчиков, которые мечтают/планируют/хотят приобщиться к волне IT-эмиграции.

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

К сожалению, на практике подобный процесс поиска работы часто заканчивается неудачами. Сайты со списком вакансий — один из самых низкоэффективных способов, по крайней мере в США.

Под катом я поделюсь практическими рекомендациями, которые помогут «твикнуть» систему и существенно увеличить шансы на получение предложения от топ-компаний в сжатые сроки.

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

5 способов сделать Python-сервер на Raspberry Pi. Часть 2

Reading time9 min
Views26K
Привет, Хабр.

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



Статья рассчитана для начинающих.
Читать дальше →

Мы ускорили планировщик Tokio в десять раз

Reading time23 min
Views18K
Мы в поте лица готовим очередную мажорную версию Tokio, асинхронной среды выполнения для Rust. 13 октября для слияния в ветку оформлен пул-реквест с полностью переписанным планировщиком задач. Результатом станет огромное улучшение производительности и уменьшение задержки. В некоторых тестах зафиксировано десятикратное ускорение! Как обычно, синтетические тесты не отражают фактическую выгоду в реальности. Поэтому мы также проверили, как изменения в планировщике повлияли на настоящие задачи, такие как Hyper и Tonic (спойлер: результат замечательный).

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

Статья начинается с высокоуровневого обзора дизайна, в том числе политик захвата работы. Затем погрузимся в детали конкретных оптимизаций в новом планировщике Tokio.
Читать дальше →

Деревянные игрушки — эпилог, что осталось прибитым к потолку

Reading time5 min
Views17K
Своеобразная уборка хвостов — что-то забытое мной или просто заметное, но не упомянутое в основном цикле по причинам отсутствия значимости лично для меня. Конечно, можно было бы добавить это в соответствующие части, но я всё же предпочёл отделить личное от «общественного». Список получился довольно длинным, но разбивать на части уж не буду.
Эти игры я не устанавливал, потому скриншоты заимствовал из интернетов, в основном с old-games.ru и mobygames.com

image

Содержание:

Деревянные игрушки — эпилог, что осталось прибитым к потолку
Деревянные игрушки, часть последняя — 1997
Деревянные игрушки, часть десятая — 1996
Деревянные игрушки — неписи
Деревянные игрушки, часть девятая — 1995
Деревянные игрушки, часть восьмая — 1994
Деревянные игрушки, часть седьмая — 1993
Деревянные игрушки, часть шестая — 1992
Деревянные игрушки, часть пятая — 1991
Деревянные игрушки, часть четвертая — 1990
Деревянные игрушки, часть третья — 1989
Деревянные игрушки, часть вторая — 1986-1988
Деревянные игрушки, часть первая — 1982-1985
Читать дальше →

Город без пробок

Reading time58 min
Views31K

Глава вторая.
(ссылка на первую главу)

Искусство проектирования дорожных сетей


Транспортные проблемы города глазами человека из «Computer Science»


Если бы мне порекомендовали статью с названием «Искусство проектирования дорожных сетей», я бы тот час поинтересовался, как много дорожных сетей было построено с участием ее автора. Должен признаться, моя профессиональная деятельность лежала далеко от дорожного строительства и была последнее время связанна с проектированием микропроцессоров, где я, в том числе, занимался ресурсоемкостью коммутации данных. Так получилось, что мой стол тогда стоял как раз напротив панорамного окна, открывавшего прекрасный вид на длинный участок Волгоградского шоссе и части ТТК с их нескончаемыми пробками с утра до вечера, от горизонта до горизонта. И тут, в один из дней меня вдруг осенило:«Черт возьми, ведь сложности процесса коммутации данных, с которыми я борюсь на кристалле, точь в точь должны быть похожи на те трудности, с которыми сталкивается поток автомобилей внутри паутины уличных дорог».
Вероятно, именно взгляд со стороны и применение нетрадиционных для исследуемой области методов дали мне шанс разобраться в причине возникновения пробок и выработать рекомендации, как преодолеть их проблему на практике.
Читать дальше →

Вышли обновления ML.NET и Model Builder: что нового

Reading time2 min
Views3.1K
Мы рады сообщить о выходе обновлений Model Builder и ML.NET. ML.NET — это кроссплатформенная среда машинного обучения с открытым исходным кодом (Windows, Linux, macOS) для разработчиков .NET.

ML.NET предлагает Model Builder (простой инструмент пользовательского интерфейса) и интерфейс командной строки, созданные для того, чтобы упростить создание пользовательских моделей ML с использованием AutoML.

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

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

Регулярная Авалония

Reading time4 min
Views7.4K
Иногда мы не понимаем как работает регулярное выражение, которое мы составили, и хотим проверить. Есть множество восхитительных приложений встроенных в различные среды или онлайн. Мне захотелось добавить еще одно к этому списку.

В данной статье мы посмотрим, как можно обернуть Regex в кроссплатформенную графику и получить простенькое приложение для теста регулярных выражений.


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

Как я поступал в 18 университетов США

Reading time65 min
Views134K
Всем привет. Меня зовут Даниил, и в этой статье я хочу поделиться с вами своей историей поступления в бакалавриат 18 университетов США. В интернете достаточно много рассказов о том, как можно учиться в магистратуре или аспирантуре совершенно бесплатно, но мало кто знает, что возможность получить полное финансирование есть и у студентов-бакалавров. Несмотря на то, что описываемые здесь события происходили давно, большая часть информации актуальна и по сей день.

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

Небольшая заметка
Имена некоторых персонажей были умышленно изменены. Глава 1 является вводной и рассказывает о том, как я дошёл до такой жизни. Вы мало что потеряете, если пропустите её.

Как проводить код-ревью

Reading time18 min
Views55K
Из документации Google's Engineering Practices

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


См. также Руководство автора CL, в котором даются подробные советы разработчикам, чьи коммиты проходят ревью.
Читать дальше →

Книги по психологической самопомощи: есть ли в них хоть какой-то смысл, и, если да, какие выбрать?

Reading time18 min
Views77K
Многие не любят психологов и психологию, но немногие отрицают наличие у людей [вообще, а не у себя лично] психологических «заморочек». На этом фоне идея разобраться с этими сложностями самостоятельно может выглядеть привлекательно. Этим пользуются авторы и издатели, предлагающие разного рода «книги по самопомощи».


Что под катом: обзор литературы, посвящённой исследованию [не]эффективности самостоятельной работы над психологическими проблемами по книгам (спойлер: эффективна, но с некоторыми оговорками), несколько списков книг, которые (опять же, с оговорками) можно для этих целей использовать.
Читать дальше →

System.IO.Pipelines — малоизвестный инструмент для любителей высокой производительности

Reading time14 min
Views30K
Здравствуй, читатель. Прошло уже достаточно много времени с момента выхода .NET Core 2.1. И такие крутые нововведения, как Span и Memory, уже рассмотрены весьма широко, про них можно достаточно много прочитать, посмотреть и услышать. Однако, к сожалению, библиотека под названием System.IO.Pipelines не удостоилась такого же внимания. Почти все, что есть по этой теме — единственный пост, который многие перевели и разместили у себя. Информации должно быть однозначно больше, чтобы интересующиеся могли взглянуть на технологию с разных углов.


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

Information

Rating
6,156-th
Location
Кемерово, Кемеровская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer
Senior
C#
.NET
Software development
Object-oriented design
Multiple thread
Git
WPF