Search
Write a publication
Pull to refresh
-28
0.2

Интересуюсь природой вещей

Send message

Английский. Скрытый драйвер языка

Reading time7 min
Views29K

На какие вопросы отвечает эта статья

1. Каков механизм восприятия языка “напрямую”.

2. Как тренировать этот механизм.

3. Как воспринимать английские слова как русские.

3. Почему аудирование бесполезно.

На какие вопросы не отвечает эта статья

1. Как осваивать словарный запаса.

2. Как учить грамматику.

3. Как интегрировать связь смысл-слово в дальнейшую практику.

Поэтапно буду выкладывать статьи с подробным описанием упражнений. Ответы на все неотвеченные вопросы будут в последующих статьях. 

Читать

Тренды веб-разработки в 2022 простыми словами

Reading time3 min
Views52K

Самое важное — отказ от поддержки старых браузеров в 2021. Майки окончательно убили IE, поэтому разработчикам станет проще использовать классные технологии. Гриды (83%) и флексбоксы (99%) захватили всё. TypeScript есть в 70% вакансий для мидлов. 2022 будет годом TypeScript. 

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

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

Эти и другие прогнозы о технологиях, зарплатах, вакансиях и навыках в 2022 ждут под катом.

Читать далее

Обзор состава и потенциальной эффективности 5 популярных ноотропных комплексов

Reading time6 min
Views32K

Задача ноотропных комплексов (или как их еще называют «стэков») — это создание каскадного эффекта, то есть целой цепочки эффектов оказываемых на организм.

Два самых желанных эффекта такого плана:

1. «Разгон» и расслабление в конце дня (защита от перегрузки).

2. Разгон в течение дня и усиление организма на дальней дистанции (накопительный эффект).

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

Читать далее

CatBoost, XGBoost и выразительная способность решающих деревьев

Reading time42 min
Views63K

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

Данный обзор охватывает сразу несколько тем. Мы начнем с устройства решающего дерева и градиентного бустинга, затем подробно поговорим об XGBoost и CatBoost. Среди основных особенностей алгоритма CatBoost:

• Упорядоченное target-кодирование категориальных признаков
• Использование решающих таблиц
• Разделение ветвей по комбинациям признаков
• Упорядоченный бустинг
• Возможность работы с текстовыми признаками
• Возможность обучения на GPU

В конце обзора поговорим о методах интерпретации решающих деревьев (MDI, SHAP) и о выразительной способности решающих деревьев. Удивительно, но ансамбли деревьев ограниченной глубины, в том числе CatBoost, не являются универсальными аппроксиматорами: в данном обзоре приведено собственное исследование этого вопроса с доказательством (и экспериментальным подтверждением) того, что ансамбль деревьев глубины N не способен сколь угодно точно аппроксимировать функцию y = x_1 x_2 \dots x_{N+1}. Поговорим также о выводах, которые можно из этого сделать.

Читать далее

«Минутка литературы»: классика и свежее чтиво для сисадминов — обсуждаем несколько настольных справочников

Reading time3 min
Views7.9K

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

Материалы подойдут как опытным, так и начинающим специалистам.

Читать далее

15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли

Reading time8 min
Views117K


Есть «Super Mario», признанная классика видео игр. Есть «Doom», который запускают на чайниках и тестах на беременность. Есть супер-популярные по статистике twitch.tv игры («League of Legends», «GTA V», «Fortnite», «Apex Legends») которые стримят пятая часть всех стриммеров.

А есть игры, на которые очень мало обзоров, но они супер крутые — игры про алгоритмы. Игры, в которых можно кодить на ретро-компьютере; игры, которые надо взламывать; игры, где можно программировать контроллеры или поведение персонажей; игры, где можно создавать свою игру внутри игры.

Под катом подборка классных игр про алгоритмы за последние 10 лет. Если что-то упустила — буду рада дополнениям.

Еще я создала канал в Telegram: GameDEVils, буду делиться там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →

Изобретем велосипед снова или построим график комбинаций бинарных переменных

Reading time2 min
Views1.7K

Про пакет ComplexUpset в R.

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

Читать далее

Linux-смартфоны, на которые стоит обратить внимание в 2022 году

Reading time5 min
Views102K

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

Сейчас ассортимент мобильных устройств очень большой, причем чаще всего говорят о девайсах от известных производителей. Но есть и не особо распространенные модели, на которые стоит обратить внимание, особенно IT-специалисту. О них сегодня и поговорим, правда, не о всех, а только тех, что работают на базе Linux. Кстати, часть моделей — не просто с Linux на борту, но еще и с физической клавиатурой.
Читать дальше →

Как будут выглядеть процессоры после 2025 года

Reading time6 min
Views53K


Сколько хоронили закон Мура, а он продолжает работать. Даже сейчас, на фоне острого дефицита микросхем.

Планы Intel, AMD, Apple и производителей ARM следующего поколения говорят, что мы на пороге небольшой технологической революции. Транзисторы с круговым затвором, техпроцесс 2 нм, 3D-компоновка, квантовые технологии — вот планы производства микросхем на ближайшие годы. Впрочем, обо всём по порядку.
Читать дальше →

Нарастающий итог в SQL с разрывами в данных

Reading time6 min
Views14K

Ранее мы рассмотрели способы расчёта нарастающего (накопительного) итога в SQL. Самый распространённый вопрос - как посчитать тоже самое, но на данных с разрывами? После написания исходной статьи мне его задавали неоднократно – так что есть смысл написать об этом отдельно.

Читать далее

Распознаем простые фигуры по массиву точек

Reading time6 min
Views8.6K

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

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

Читать далее

Дефицит цветов в современных фильмах

Reading time4 min
Views53K

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

Read more

Как я научился не волноваться и полюбил управление состояниями Flutter. MVI и Clean Code в комплекте

Reading time13 min
Views11K

Цель статьи — показать, как сделать ваш проект на Flutter более понятным для усовершенствования и удобным в сопровождении. Текст может быть полезным как для тех, кто только начинает изучать Flutter, так и более продвинутых пользователей, так как здесь мы рассмотрим актуальные подходы к разработке.

Если вы читали мою прошлую статью, или позапрошлую, то, наверное, уже знаете что я nerd vulgaris увлекаюсь программированием всякого. В комментариях к одной из прошлых статей было высказана идея провести параллель между приложением на Flutter и нативным приложения для Android на Kotlin c использованием view model, live data, view binding и найти аналоги привычным по Kotlin языковым средствам.

Читать далее

Безопасность для Docker-контейнеров

Reading time8 min
Views39K
Прим. перев.: Тема безопасности Docker, пожалуй, одна из вечных в современном мире IT. Поэтому без лишних объяснений представляем перевод очередной подборки соответствующих рекомендаций. Если вы уже интересовались этим вопросом, многие из них будут вам знакомы. А саму подборку мы дополнили списком из полезных утилит и несколькими ресурсами для дальнейшего изучения вопроса.



Предлагаю вниманию руководство по обеспечению безопасности Docker'а. Обратная связь приветствуется, так как это скорее сборник отрывков с разных ресурсов, и не все они были подвергнуты доскональной проверке. Рекомендации разделены на три категории:

  1. Необходимые меры внутри операционной системы хоста при работе с Docker'ом;
  2. Инструкции, относящиеся к файлу конфигурации сборки и созданию контейнеров;
  3. Инструменты для безопасности, которые могут интегрироваться со специфическими функциями Docker Enterprise.
Читать дальше →

Странный мир Python, используемого крупными инвестиционными банками

Reading time15 min
Views18K

Мир больших финансов — это чужая страна; всё в ней происходит иначе

Сегодня мы сквозь замочную скважину взглянем на группу программных систем, о которой общество знает очень мало. Я называю её «банковским Python». Реализации банковского Python, по сути, являются проприетарными форками всей экосистемы Python, которые используются во многих (но не во всех) крупнейших инвестиционных банках. Банковский Python сильно отличается от обычной разновидности Python, которую любят (или ненавидят) большинство людей.

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

Я расскажу о вымышленной, объединившей в себе черты многих, воображаемой системе банковского Python под названием «Минерва». Названия подсистем будут изменены, и хотя я попытаюсь быть точным, некоторые подробности придётся стилизовать; кроме того, мне неизвестны все детали. Возможно, я даже допущу случайную ошибку. Но, надеюсь, общая картина будет правдивой.
Читать дальше →

Работа с текстовыми данными в scikit-learn (перевод документации) — часть 1

Reading time6 min
Views57K
Данная статья представляет перевод главы, обучающей работе с текстовыми данными, из официальной документации scikit-learn.

Цель этой главы — это исследование некоторых из самых важных инструментов в scikit-learn на одной частной задаче: анализ коллекции текстовых документов (новостные статьи) на 20 различных тематик.
В этой главе мы рассмотрим как:
  • загрузить содержимое файла и категории
  • выделить вектора признаков, подходящих для машинного обучения
  • обучить одномерную модель выполнять категоризацию
  • использовать стратегию grid search, чтобы найти наилучшую конфигурацию для извлечения признаков и для классификатора

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

Без него не было бы YouTube, Instagram и Uber: пошаговая инструкция о том, как выжать максимум из Python

Reading time4 min
Views14K
Языков в мире программирования масса, но корону по праву носит Python. Многие полюбили его за гибкость, лаконичность, бесчисленное количество модулей и поддержку сообщества. Именно этот язык стал основой для самых популярных мировых площадок: YouTube, Instagram, Uber и многих других. Однако, некоторые программисты считают Python языком с ограниченными возможностями и уверены, что он «задохнется» под тяжелой архитектурой highload системы.
Я, технический директор компании STM Labs, Андрей Комягин, за несколько минут смогу переубедить всех скептиков и доказать обратное.


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

У Unity всё плохо

Reading time9 min
Views105K

На просторах интернета, и в частности хабра, очень трудно встретить статьи с критикой игрового движка Unity. Я решил это исправить, и приготовил вам текст о переходе на DOTS, насилию над C#, знаменитых UI пакетах, MonoBehaviour, универсальности и о многом другом.

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

Читать далее

Linux pipes tips & tricks

Reading time8 min
Views195K

Pipe — что это?


Pipe (конвеер) – это однонаправленный канал межпроцессного взаимодействия. Термин был придуман Дугласом Макилроем для командной оболочки Unix и назван по аналогии с трубопроводом. Конвейеры чаще всего используются в shell-скриптах для связи нескольких команд путем перенаправления вывода одной команды (stdout) на вход (stdin) последующей, используя символ конвеера ‘|’:
cmd1 | cmd2 | .... | cmdN

Например:
$ grep -i “error” ./log | wc -l
43

grep выполняет регистронезависимый поиск строки “error” в файле log, но результат поиска не выводится на экран, а перенаправляется на вход (stdin) команды wc, которая в свою очередь выполняет подсчет количества строк.

Логика


Конвеер обеспечивает асинхронное выполнение команд с использованием буферизации ввода/вывода. Таким образом все команды в конвейере работают параллельно, каждая в своем процессе.

Размер буфера начиная с ядра версии 2.6.11 составляет 65536 байт (64Кб) и равен странице памяти в более старых ядрах. При попытке чтения из пустого буфера процесс чтения блокируется до появления данных. Аналогично при попытке записи в заполненный буфер процесс записи будет заблокирован до освобождения необходимого места.
Важно, что несмотря на то, что конвейер оперирует файловыми дескрипторами потоков ввода/вывода, все операции выполняются в памяти, без нагрузки на диск.
Вся информация, приведенная ниже, касается оболочки bash-4.2 и ядра 3.10.10.

Простой дебаг


Утилита strace позволяет отследить системные вызовы в процессе выполнения программы:
$ strace -f bash -c ‘/bin/echo foo | grep bar’
....
getpid() = 13726                   <– PID основного процесса
...
pipe([3,  4])                       <– системный вызов для создания конвеера
....
clone(....) = 13727                <– подпроцесс для первой команды конвеера (echo)
...
[pid 13727] execve("/bin/echo",  ["/bin/echo",  "foo"],  [/* 61 vars */] 
.....
[pid 13726] clone(....) = 13728    <– подпроцесс для второй команды (grep) создается так же основным процессом
...
[pid 13728] stat("/home/aikikode/bin/grep",   
...
Видно, что для создания конвеера используется системный вызов pipe(), а также, что оба процесса выполняются параллельно в разных потоках.
Читать дальше →

Information

Rating
4,323-rd
Location
Москва, Москва и Московская обл., Россия
Registered
Activity