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

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Преобразование Уолша-Адамара

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

На сайте hackerrank.com есть отличная задача. По заданному массиву short[] A; найти максимальное количество его подмассивов, xor элементов которых будет одинаковым. Сам этот xor тоже нужно найти.

Максимальная длина массива равна 105, так что квадратичный алгоритм не укладывается в лимит по времени исполнения. Я в своё время с этой задачей не справился и сдался, решив подсмотреть авторское решение. И в этот момент я понял почему не справился — автор предлагал решать задачу через дискретное преобразование Фурье.

Читать далее
Всего голосов 64: ↑64 и ↓0+64
Комментарии5

Мега-Учебник Flask Глава 1: Привет, мир! (издание 2024)

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

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

Начать изучение
Всего голосов 44: ↑44 и ↓0+44
Комментарии11

Китайская компания Intellifusion представила 14-нм ИИ-процессор. Что это за чип и для чего он нужен?

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

В КНР, как известно, сейчас есть сложности с закупкой ИИ-чипов Nvidia и AMD. Поэтому китайским организациям, которым нужны GPU для работы с искусственным интеллектом, приходится решать проблемы собственными силами. Есть разные способы, один из них на днях представила компания Intellifusion, которая разработала специализированные процессоры. Причем стоимость таких компонентов очень невысокая. Подробности под катом!
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии4

Бэкапы для самых маленьких и матерых

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

Представьте: вы недавно основали небольшое веб-приложение. Но только он стал расти как полноценный проект — Бац! — серверы легли, а данные не сохранились. Нужно было делать бэкапы. Казалось бы, совет достаточно простой и базовый, но какой тип резервного копирования выбрать? И как правильно к нему «подойти»?

Сегодня — международный день бэкапов. Кажется, это отличный повод, чтобы вспомнить, почему резервное копирование так важно, какое оно бывает и как его настроить. Подробности под катом!
Читать дальше →
Всего голосов 33: ↑33.5 и ↓-0.5+34
Комментарии10

Истории

Представляем планировщик Go: Вы никогда не смотрели на горутины с этой стороны

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

Вероятно, вы слышали о планировщике Go раньше, но насколько хорошо мы знает о том как он работает? Как он связывает горутины с потоками?

Разберем по очереди операции, которые выполняет планировщик.

Читать далее
Всего голосов 36: ↑33 и ↓3+30
Комментарии1

Desert Racer: Первая игра, разработанная исключительно на CSS с возможностью управления свайпом

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

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

Идеален ли CSS для этой задачи? На данный момент, возможно, нет. Однако CSS начинает заменять некоторые функции обработчиков событий JavaScript. Я надеюсь, что эта статья внесет вклад в продвижение к этой цели. В конце концов, как творческому человеку, мне нравится использовать неподходящие инструменты для создания чего-то, что считается невозможным — это вызов, который я не могу игнорировать. У меня было предчувствие, что это должно работать, и оно оправдалось.

Эта статья предложит вам интерактивный и, надеюсь, вдохновляющий опыт. Приятного прочтения! (По крайней мере, вы можете прокрутить вниз, чтобы посмотреть крутые GIF-анимации)

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии5

Этот опасный рефакторинг

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

Ошибки во время рефакторинга могут дорого обойтись. Модернизация, ведущая к отказу системы, или внесение новой функциональности параллельно с ошибочными правками явно принесут вред. Но степень вреда может быть разной.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии19

Нидерланды сделают все, чтобы оставить ASML в стране: миллиардные инвестиции и всесторонняя помощь

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

Привет, Хабр! Недавно мы опубликовали статью «ASML собирается уйти из Нидерландов. Производитель литографов целится на международный уровень». В ней говорилось о том, что производитель самых современных литографов в мире планирует перенести штаб-квартиру из Нидерландов из-за проблем с инфраструктурой и логистикой. Но теперь, кажется, все изменилось: чиновники решили помочь компании решить все эти проблемы. Подробности под катом!
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Комментарии65

О Wikidata для тех кто вообще не слышал: открытая база данных, сестринский проект Википедии — с ней же и интегрирован

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

Здравствуйте, на Хабре не много о Викиданных, хочу рассказать об этом бесплатном открытом интересном и полезном сервисе. Веб интерфейс располагается по адресу https://www.wikidata.org/wiki/Wikidata:Main_Page.

Читать далее
Всего голосов 41: ↑38 и ↓3+35
Комментарии11

Как выжить на первом испытательном сроке в IT и не только

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

Всем привет! Меня зовут Артём Харченков, и я руководитель подразделения разработки программных продуктов в компании Crosstech Solutions Group. Сегодня я расскажу, как успешно пройти свой первый испытательный срок, что нужно делать обязательно и чего лучше не делать. 

Для начала – кратко обо мне, чтобы было понятно, почему мне стоит доверять в таком вопросе.

/слайд обо мне/

Образование у меня ИБ-шное, в ИТ я работаю с 2012 года. За свою карьеру занимался внедрением, был разработчиком, инженером, главным техническим специалистом в группе разработчиков и даже делал проекты практически в одиночку :) В «Кросстех Солюшнс Групп» руковожу разработкой чуть более трех лет. Здесь мы создаем системы для обеспечения безопасности данных, сейчас импортозамещаем зарубежные продукты, ушедшие с российского рынка. К слову, активно нанимаем сотрудников: еще в прошлом году в компании было 50 человек, а в этом году стало уже больше 200.

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

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

Читать далее
Всего голосов 34: ↑33 и ↓1+32
Комментарии16

Делаем код-ревью правильно

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

В начале своей карьеры я как-то работал над одним заказом, создавая платформу сентимент-анализа для социальных сетей. В то время Twitter ещё был Twitter’ом. Наша команда состояла из семи человек, среди которых я был джуниором. Мы были молоды и полны энтузиазма. Наш девиз можно было описать как: «Мы гибкие, быстрые и всё ломаем!». Да, мы действительно гордились своей скоростью. Код-ревью? Я вас умоляю. Мы считали эту практику бюрократическим пережитком корпоративного мира.

И что вы думаете? Через несколько месяцев наша база кода стала подобна минному полю. Причём баги нас волновали меньше всего, хотя их была уйма. Реальная проблема заключалась в том, что никто не мог понять код, написанный другими. У нас во многих местах дублировалась логика, и в модулях использовались разные стили кода. Всё было очень печально.

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

Итак, в двух словах: если вы не проводите код-ревью, или делаете их «для галочки», то обрекаете себя на боль, пусть не сразу, но в конечном итоге однозначно. Это можно сравнить с возведением дома на фундаменте из песка. Какое-то время он, может, и простоит, но явно недолго. А в мире стартапов второго шанса у вас может уже не быть.
Читать дальше →
Всего голосов 74: ↑72 и ↓2+70
Комментарии25

Самое худшее собеседование

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

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

P.S. Далее вы столкнетесь с субъективным мнением автора, которое может не соответствовать вашим ожиданиям

Читать далее
Всего голосов 50: ↑38 и ↓12+26
Комментарии97

Как программировали в 1969 году

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

Я провёл это интервью со своей матерью Марианной Эрнерфельд в декабре 2018 года. В посте приведён немного урезанный перевод. Полное интервью на шведском языке можно прочитать здесь.

Почему ты захотела стать программистом?


Я решила стать программистом в 1965-66 годах. Прочитав статью, где на иллюстрации была показана блок-схема, я подумала: «это моё». Когда я выпустилась из старшей школы в 1967 году, не было ни одного университета, обучающего программированию, но существовал полугодовой курс в Сольне [прим. пер.: Сольна — коммуна в Швеции], который превратился в годовой курс, и на него могли выдать студенческий заём. Поэтому я подала на него заявление.

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

Однако у SJ оказалось 700 кандидатов на 50 мест, поэтому они устроили суровый процесс отбора с различными тестами. И мне удалось пройти их! Мне нужна была зарплата, чтобы оплачивать собственное жильё, так что я приняла предложение.

Выяснилось, что руководство SJ было очень недовольно тем, что брошюры о стажёрской программе рассылали студентам и мужского, и женского пола! Хотя в программу приняли и не так много девушек, но их всё равно было приличное количество.
Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии28

Ближайшие события

Внутри S3. Доклад Яндекса

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

Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получился goose. Возможно, вы также слышали про GeeseFS — это наш высокопроизводительный FUSE-клиент для S3. C его помощью вы можете на своём ноутбуке или виртуалке подмонтировать папку, которая будет работать с бакетом S3. 

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

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

Читать далее
Всего голосов 82: ↑81 и ↓1+80
Комментарии52

Продуктовый подход к pet-проекту или как я разработал музыкальное веб-приложение

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

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

Читать далее
Всего голосов 39: ↑37 и ↓2+35
Комментарии29

Ботинки, лень и роботы

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

Появившись в далёких восьмидесятых годах, фильм «Назад в будущее» до сих пор бередит сердца своих поклонников одной легендарной сценой, где Марти МакФлай легко надевает футуристичную обувь с автоматической затяжкой. С тех пор сформировалась целая армия поклонников такого решения, в которой кто-то просто с нетерпением ждёт наступления такого светлого будущего, а кто-то с инженерными знаниями пытается смастерить такое самостоятельно.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии28

Как задеплоить сайт в облако. Инструкция для новичков

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

Опубликовать сайт можно разными способами. Например, если проект лежит в репозитории на GitHub, можно воспользоваться GitHub Pages. Но если вы не боитесь трудностей, советуем попробовать кое-что поинтересней — разместить сайт на облачном сервере.

Новичкам этот способ может показаться сложным. Но на самом деле он очень удобен, потому что вы сможете легко масштабировать архитектуру проекта и гибко управлять мощностями сервера.
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии18

Впихнуть невпихуемое: как в НИЦ «Технологии» разрабатывали корпуса для IP-камер

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

Максим Тулов в своем обзоре удивился нашим "самодельным" корпусам и спросил почему бы не воспользоваться готовым китайским решением. IP-камера довольно типовой продукт, и подходящих решений на любой площадке — хоть отбавляй. Так зачем изобретать велосипед?

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

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии20

Секретная китайская плата с ЦАП: вспоминаем COVOX

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


Привет, Хабр! Сегодняшний радиоконструктор меня очень порадовал. Предельно простая схема позволяет получить весьма интересную форму выходного сигнала, благодаря программируемому двоично-десятичному счётчику КР1533ИЕ2 (74LS90) и резистивному цифро-аналоговому преобразователю, как в винтажной звуковой карте «COVOX».

КР1533ИЕ2 сама по себе является очень интересной микросхемой стандартной логики, которую стоит рассмотреть подробнее.
Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии14

Практическое руководство по Rust. Бонус

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



Hello world!


Представляю вашему вниманию бонусную часть практического руководства по Rust.



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


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии12