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

Технотекст

Julia и Engee: созданы для параллельных вычислений

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.7K

Как загрузить GPU инженерными вычислениями? Давайте я расскажу, как с помощью Julia наконец смог втащить высокопроизводительные вычисления в свою немудрёную инженерную работу. Это был долгий путь, но мне кажется, что Julia стала моим лучшим другом в мире GPU/HPC.

Читать далее

Куда катится MobAIle-разработка

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров14K
Индустрия ИТ всегда была очень динамичной и быстро эволюционирующей. Например, мы в мобильной разработке всегда жили в информационном пространстве с конкурирующими и сменяющими друг друга фреймворками, парадигмами, библиотеками, операционными системами.

В целом, информационное пространство мобильной разработки довольно обособлено. Не выходя из него намеренно, мы редко узнаём про новости из мира backend, web-frontend или ML. При этом со временем тренды приходят из одной области в другую. Как пример — мода на реактивное программирование, завезенная из мира Java и бэкенда, которая постепенно сменяется асинхронным программированием благодаря языку Kotlin, который теперь активно захватывает свою долю в мире бэкенда. Или UDF-архитектуры, которые перетекли к нам из фронтенда, сменив MVP-архитектуру, когда-то перенесённой из бэкенда.

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

Конструирование лучшей команды (мечты). Социальная инженерия. Часть 1

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.6K

Получить лучшую, преданную ИТ-команду, можно только целенаправленно сконструировав ее.

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

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

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

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

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

Читать далее

Новая компьютерная программа для запоминания иностранных слов и фраз

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров20K

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

Да, это все помогает в освоении иностранного языка, но хотелось бы работать именно с обучающими программами. Поэтому, раз не нашел подходящей для себя программы, то пришлось написать ее самому. В результате получилось приложение под названием «L'école, v. 1.00» либо, в упрощенном наименовании, «Lecole, v. 1.00»

Лично для меня, это хорошая программа и я, с удовольствием, учу язык с ее помощью. Другим она не обязательно может понравиться, но, как говориться: «моё дело – предложить, ваше дело - отказаться». Ибо, на вкус и цвет товарищей нет. Кому-то нравится для этих целей использовать онлайн-сервисы, кому-то мобильные приложения, а кто-то любит работать с десктопными программами. Спорить о том, что лучше, не вижу особого смысла, если есть желание использовать что-то готовое – используем, если нет, то пытаемся, в меру своих сил, создавать что-то другое.

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

Кроме того, даже если прототип подобной программы либо сервиса уже существует, то написать собственный аналог тоже может иметь смысл, например, для целей развития навыком программирования. 

Короче говоря, было решено создать собственную программу, удовлетворяющую следующим условиям:

Читать далее

Реализация шифра «Магма» на языке RUST

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.7K

Привет! Сегодня мы продолжаем реализовывать шифрование. В этой статье мы рассмотрим алгоритм шифра "Магма", который был разработан и использовался в СССР.

Читать далее

Трассировка на Go

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.4K

Всем привет, этой мой первый пост на данной платформе, прошу любить и жаловать.

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

Читать далее

Между строк: Анимации в UI Toolkit

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.3K

Рано или поздно пытливый программист замечает то, что предпочитал игнорировать — словно краем глаза видит тень в темном углу. А что, если за этой тенью скрывается нечто большее?

В этой статье мы исследуем тайны создания анимации вершин в UI Toolkit и узнаем, как придать вашим интерфейсам новую жизнь.

Перейти к делу

Манифест Киберправды

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров4.6K

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

Читать далее

Как я создал Vanilla Calendar Pro — легкий и гибкий календарь на JavaScript с использованием TypeScript

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров18K

Привет, Habr!

Честно говоря, долго сомневался, стоит ли писать эту статью. Я понимаю, что среди комментариев наверняка будут такие, кто скажет: «Очередной никому не нужный датапикер». Но сегодня, когда Vanilla Calendar Pro собрал больше 480 звезд на GitHub и получает 17 тысяч скачиваний в месяц, я решил поделиться своей историей.

Хочу сразу отметить: я не претендую на лавры лучшего разработчика календарей и датапикеров. Эта статья о моем первом опыте в open source, о том, как я создавал проект с нуля и как он стал полезен другим разработчикам.

Читать далее

Стань серьезным  Web-программистом за 1 час. С ноля и бесплатно

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров16K

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

Для понимания и усвоения материала нужны только базовые знания питон (синтаксис и базовые понятия).

Не нужны знание и понимание html, css, xml, javascript(typescript), REST, Websockets,  и всех фреймворков для фронт и бэк Web-программирования.

Ну давай стану

Об артефактах продуктовой разработки и командном взаимодействии

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5K

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

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

Читать далее

Не все расписания занятий одинаково полезны

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

Как утверждал один из классиков, мы живем в вероятностном мире, в котором нет гарантированных способов достижения успеха. Но при этом, парадокс (!), в мире существуют гарантированные способы облажаться. Если в учебном заведении хорошее расписание учебных занятий - это еще не гарантия того, что все выпускники получат высококлассное образование. Однако если для реализации образовательной программы сформировано плохое расписание занятий, шансы получить качественное образование начинают резко сокращаться даже у потенциального гения. А вы никогда не задумывались, как можно измерить качество расписания занятий в учебном заведении?

Читать далее

Zero Tolerance Underground: постигая тайну дополнения

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.1K

Когда речь заходит о истории формирования видеоигрового жанра FPS на ум всегда приходят такие шутеры как Doom и Wolfenstein 3D. Но был еще один тайтл находящийся на рубеже становления жанра о котором может помнить юный обладатель 16‑битной приставки Sega Mega Drive и Genesis в далеких 90‑х и нулевых годах. Многие называют его как «Doom моего детства», так оно и было для геймеров нового тысячелетия. Имя этого шедевра Zero Tolerance.

Фанаты вселенной всегда считали Beyond Zero Tolerance прямым продолжением игры, но оставалось много вопросов. Например, как элитный ударный отряд узнал о родной планете пришельцев и как добрался до того самого мира, где происходит действие не вышедшего продолжения? Как будто существовала некая нерассказанная история между этими двумя частями.

Читать далее

Инженер на минималках: установка и настройка ClickHouse

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров22K

Базы данных — один из важнейших инструментов в арсенале аналитика. А ClickHouse — это высокопроизводительная аналитическая СУБД, которая заточена на то, чтобы переваривать огромные массивы данных. Поэтому полезно будет разобраться, как самостоятельно установить ClickHouse в Yandex Cloud или на VDS-сервере, как создать пользователей и активировать веб-интерфейс и доступ по сети. Этим и займемся в статье.

Читать далее

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

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

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

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

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

Читать далее

Как работает графика PS1

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров12K

Когда в середине 1990-х годов была выпущена приставка PlayStation 1, она не только ознаменовала собой выход Sony на рынок игровой индустрии, но и возвестила о начале новой эры 3D-игр. Несмотря на свой новаторский статус, PS1 не была лишена недостатков. Аппаратное обеспечение консоли, хотя и было передовым для своего времени, накладывало существенные ограничения, которые приводили к появлению уникальных графических артефактов - косяков, определивших целое поколение игр. Давайте поговорим о технической стороне графических возможностей PS1 и рассмотрим как ее ограничения привели как к визуальным недостаткам, так и к творческим прорывам. Исследуя тонкий баланс между аппаратными ограничениями и изобретательностью разработчиков, мы узнаем, как графика PS1 стала культовой, пусть и несовершенной и почему она продолжает влиять на игры и по сей день.

Читать далее

Кривая дорожка или приставными шагами в DevOps

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3K

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

Данная статья рассчитана прежде всего на только «входящих в ИТ» или начинающих ИТ‑специалистов, которые стремятся к получению роли DevOps в будущем или просто хотят расширить багаж собственных знаний, но не знают с чего начать. Опытным специалистам указанные источники могут показаться недостаточно полными в силу того, что они собраны мной субъективно и без нацеленности на узконаправленное изучение одного из направлений, чего должно быть достаточно для начинающих специалистов, но при этом не должно негативно сказаться на желании изучения новых материалов.

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

Читать далее

Python: как переменные работают на самом деле? Погружаемся в байткод и C

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров18K

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство.

Сегодня я хочу рассказать, как на самом деле работают переменные в CPython.

Под катом куча кишков питона и видео на 46 минут с дополнительными кишками питона (ни один настоящий питон не пострадал при написании данной статьи).

Читать далее

Бизнес-моделирование в ИТ-разработке

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.4K

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

Читать далее

Учимся (не) проходить финалы на стажировку в Яндекс

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров39K

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

Читать далее