Search
Write a publication
Pull to refresh
17
0.2
Send message

Метаинформация, возможности файловых систем и децентрализованные сети будущего

Reading time16 min
Views12K

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

Читать далее

Мифология и реальные методы прагматичного программирования

Reading time12 min
Views21K

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

Меня зовут Кирилл Мокевнин, и я — сооснователь школы программирования Хекслет. За последние пару лет я провел собеседования с более чем 400 человек, потенциальными наставниками по совершенно разным направлениям в разработке. В результате у меня собралась большая выборка наблюдений, которые мы и разберем в этой статье.

Читать далее

Анти–Тьюринг

Reading time19 min
Views6.3K

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

Читать далее

Григорий Остер — Вредные советы для учителей программировать

Reading time15 min
Views29K

Есть у человека такой замечательный перк. Он может обучить другого человека чему-то полезному. Да, конечно, некоторые животные тоже так могут делать, но им далеко до того грандиозного масштаба, с которым мы обучаем друг друга. Мы это дело поставили на поток и проворачиваем в таких объёмах, что тут можно только позавидовать.

Доводилось ли Вам кого-нибудь учить?

Что? Вас уже корёжит и передёргивает от одного только упоминания этого мероприятия? Вы постоянно вспоминаете о том самом стажёре, который был настолько туп, что Вы просто не могли себя сдержать?

Кто-то обвалил собранную базу данных, потому что не увидел разницы между rm -rf ./old и rm -rf . /old?

Бывали ли Вы когда-нибудь на курсах дополнительного образования, которые существуют только для галочки? А может быть, Вы помните себя, когда Вам уж очень хотелось стать пилотом самолёта, но после шести месяцев сидения в бесполезной школе, Вы решили на всё забить, потому что самолёт Вам можно будет увидеть только в следующей жизни?

Заходите, поговорим.
Читать дальше →

Яндекс.Практикум: самый подробный отзыв

Reading time31 min
Views307K

Хочу поделиться личным опытом (об/м)учения в Яндекс.Практикуме на курсе "Веб-разработчик", и почему, вернувшись на год назад в прошлое, я бы никогда не стал там учиться даже за бесплатно.

Для начала расскажу о причинах, по которым я решил войти в IT (спойлер: и в итоге всё-таки вполз), и почему я выбрал именно Яндекс.Практикум.

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

1) прибыльную (на комбинате я получал 24 тысячи в месяц);

2) перспективную (в IT действует меритократия, а в строительной сфере без связей, которых у меня нет, далеко на уедешь и высоко не взлетишь);

3) интересную и интеллектуальную. 

У меня есть старший брат – веб-разработчик с 10-летним стажем, за плечами которого опыт разработки в Яндексе, TopTal и нынешняя работа senior-программистом в Amazon. Я специально так подробно рассказываю о своём брате, т. к. далее эта информация понадобится для понимания контекста.

Брат, видя, как я страдаю от невозможности реализовать себя в профессии, на обучение которой потратил 8 лет, предложил попробовать себя в IT-сфере и посоветовал найти подходящие IT-курсы по профессии веб-разработчик, а он будет меня менторить.

Почему я выбрал именно веб? Потому что по личному опыту брата и его друзей-айтишников порог входа в веб ниже, чем в других IT-профессиях. И мне, как визуалу, важно видеть результаты своего труда (чертежи, запроектированные и построенные здания). И как раз фронтенд-разработка предоставляет эту возможность.

Читать далее

Вехи развития GUI: Alto, Apple, Blit, Paintbox и другие ранние системы

Reading time12 min
Views9.8K

Привет, Хабр!

Перед следующей статьей из цикла «Приключения микропроцессоров» мы решили поговорить с вами о GUI. Из года в год система взаимодействия ОС, ПО и пользователей совершенствовалась. Аппаратные методы общения с компьютером уступили место интерфейсу командной строки. Командная строка «сдалась» под напором файл-менеджеров. И, наконец, появились полностью графические интерфейсы пользователя с привычными окнами, выпадающими меню и прочими удобствами.

Сегодня мы хотели бы поговорить о том, как развивался графический пользовательский интерфейс на протяжении последних 50 лет. Под катом рассмотрим некоторые интересные образчики применения GUI, необычные ОС и компьютеры. Как обычно, с массой фото- и видео-материалов. Потому что, как говорила Алиса, «что же это за книжка, в которой нет картинок?».

Читать далее

Разработка, сборка, деплой и мониторинг сервисов: от общего к частному и обратно

Reading time8 min
Views7.9K

Привет, Хабр! Меня зовут Андрей Перепелкин. Я руководитель группы бэкенд-разработчиков, вошел в IT более 15 лет назад, 10 лет занимаюсь Java и около 4 плотно работаю с микросервисами. 

В этой статье я расскажу, как:

— мы организовали разработку микросервисов так, чтобы вынести инфраструктуру из продуктового проекта и управлять ей отдельно;

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

— встраиваем микросервисы в инфраструктуру и собираем метрики и логи, не загружая этим разработчиков.

Читать далее

Самые странные вопросы на собеседовании и зачем их задают

Reading time9 min
Views35K

Портал Superjob провёл опрос работодателей и выяснил, что 18% компаний используют при подборе кадров IQ-тесты, чаще всего речь идёт о руководителях, менеджерах и инженерах. Представители компаний поясняли, что IQ-тесты помогают им «оценить способности кандидатов оперативно принимать решения и обрабатывать большие объёмы информации». Для соискателя такие вопросы могут выглядеть странными. Мы спросили у специалистов, какие вопросы на собеседованиях вызывают недоумение. А у работодателей — зачем они их задают.

Читать далее

Тестирование производительности приложений как часть ежедневного цикла разработки

Reading time8 min
Views4.1K

Каждый продукт в какой-то момент приходит в ту точку, когда вопросы производительности начинают выходить на первый план, и возникает задача: внедрить решение для тестирования и отслеживания изменений. Первый вопрос, с которым может столкнуться менеджер - в какой момент начинать тестирование? С самого начала цикла разработки, на стадии feature complete, перед отправкой в продакшн? А может внедрить мониторинг как часть CI?

Читать далее

Хочу жить в такой же: как мы научились искать квартиры по фотографиям

Reading time9 min
Views5.9K

Привет, Хабр!

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

В статье поговорим о том, как мы решили задачу с помощью алгоритмов глубокого обучения, и расскажем, что там под капотом этой функции и как мы подружили EfficientNet с FAISS. В работе над статьей мне помогал Владимир Филипенко (@vovaf709): он изложил самые основы, чтобы текст мог понять и неспециалист.

Итак, начнём

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

Reading time15 min
Views35K


Привет, Хабр! Я врач-невролог, и ко мне часто попадают пациенты с РАС или подозрением на РАС. Поскольку я детский невролог, то занимаюсь детьми и подростками. Пожалуй, из всего спектра моей работы именно аутизм больше всего подвержен разным выдумкам и мифам как среди пациентов, так и среди специалистов. В последние годы появилось немало новых научных исследований с хорошими уровнями достоверности, которые меняют представление о том, что можно сделать, а что — нет. И поэтому давайте разберём основные мифы.

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

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

В общем, давайте я расскажу, с чем часто сталкиваюсь в работе, и попробую объяснить, чем на самом деле можно помочь пациентам с РАС. Ниже будут список мифов и разбор каждого из них.
Читать дальше →

Коммуникации, отсутствие которых приводит к катастрофам

Reading time13 min
Views7K

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

Если вы хотите понять, все ли у вас в порядке в отделе QA — моя статья для вас. Я рассказываю об этом потому, что 14 лет работаю в IT, и большую часть из них — в качестве QA-лида. Я собирала QA-отделы с нуля и запускала процессы как в продуктовой компании, так и в аутсорсе, поэтому все кейсы масштабируются для компаний разных типов.

Небольшое отступление для тех, кто больше любит слушать — запись моего выступления на KnowledgeConf 2020. Для остальных же продолжу рассказ буковками.

Читать далее

Си должен умереть

Reading time21 min
Views112K

Язык Си - один из наиболее влиятельных языков программирования за всю историю. Он стал незаменимым инструментом разработки операционных систем, сместив с этого пьедестала языки ассемблера. Изучение Си обязательно для любого уважающего себя программиста. Этот язык любим за свою внешнюю простоту и ненавидим за беспощадность к ошибкам. Благодаря нему у нас есть ядро Linux и тысячи уязвимостей в нём же в придачу.

Попробуем понять, что же такое этот противоречивый язык Си - благословение или проклятие?

Читать далее

Знакомство с трансформерами. Часть 1

Reading time13 min
Views29K

Трансформеры (transformers) — это очень интересное семейство архитектур машинного обучения. Существует много хороших учебных материалов по этой теме (например — вот и вот), но в последние несколько лет трансформеры, в основном, становились всё проще. Поэтому сейчас гораздо легче, чем раньше, объяснить принципы их работы. Этот материал представляет собой попытку, что называется, «на пальцах», объяснить то, как работают современные трансформеры.

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

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

Здесь можно найти видеолекции о трансформерах. А в этом репозитории имеется реализация простого трансформера с использованием PyTorch.

Читать далее

Архитектурное тестирование

Reading time4 min
Views8.8K

О том зачем тестировать архитектуру приложения. Что можно "покрыть" такими тестами. Какие инструменты для этого существуют. А так же о перспективах данного направления.

Читать далее

Хабр… не такой уж и токсичный? Сравнение с другими площадками

Reading time4 min
Views36K


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


Недавно я попробовал примерить на себя роль автора контента сразу на нескольких площадках и естественно разложить их модели на составляющие и сравнить их с Хабром. За деталями прошу под кат.


Заранее прошу всех уважать друг друга в комментариях, тема дискуссионная.

и почему же?

Конкордантность смысла

Reading time16 min
Views2.6K

В [1, 2, 3] тексты (знаковые последовательности с повторами) с помощью матричных единиц, как образов слов, превращались (координатизировались) в алгебраические системы. Координатизация — необходимое условие алгебраизации любой предметной области...

Читать далее

Тестирование с использованием BDD

Reading time5 min
Views160K

Введение


Современные проекты все чаще предъявляют высокие требования к покрытию автоматическими тестами. В наше время писать тесты не просто признак хорошего тона, но одно из требований, которое предъявляется к коду. Все чаще мы слышим такие аббревиатуры, как TDD (Test Driven Development) и BDD (Behaviour Driven Development) и многие строго следуют этим подходам в разработке.
BDD это одна из разновидностей TDD, и об этом я хотел бы написать в этой статье. Точнее не о самом BDD, а о frameworks, которые нам предоставляет индустрия на сегодняшний день. А если уж быть совсем точным, то о трех из них: spock, easyb и cucumber.
Читать дальше →

Information

Rating
3,815-th
Registered
Activity

Specialization

Specialist
SQL