Как стать автором
Обновить
@MaZaAa read-only

Пользователь

Темизация. История, причины, реализация

Разработка веб-сайтов *CSS *JavaScript *ReactJS *TypeScript *
Из песочницы

Когда веб только зарождался – единственной его целью было размещение контента (гипертекстовые страницы), чтобы у пользователей из всемирной паутины был к нему доступ. В то время не могло идти и речи о дизайне, ведь зачем нужен дизайн страницам с научными публикациями, разве они станут от этого полезнее (первый сайт). Времена меняются и сегодня во всемирной паутине далеко не только научные публикации. Блоги, сервисы, социальные сети и многое, многое другое. Каждый сайт нуждается в своей индивидуальности, ему необходимо заинтересовывать и привлекать пользователей. Даже научные сайты постепенно это понимают, ведь большинство ученых хотят не просто изучать те или иные аспекты, а доносить их до людей, тем самым повышая свою популярность и ценность своих исследований (пример – 15 из 15 научных сайтов списка сделали редизайн в последние 6 лет). Рядовым обывателям не интересен серый сайт с непонятным содержанием. Наука становится доступнее, а сайты преобразуются в приложения с удобным и приятным интерфейсом.

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

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 3.4K
Комментарии 0

Настройка VSCODE под разработку для ARM на примере отладочной платы stm32f429i-disco

Open source *C++ *Отладка *C *Программирование микроконтроллеров *
Tutorial


Всем привет!


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


Все шаги проверены на виртуальной машине со свежеустановленной Ubuntu 16.04 xenial desktop x64.


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


Все настройки, касающиеся конкретного железа (в моём случае это контроллер STM32F429 и девборда STM32F429DISCO), нужно подменить на свои. То же самое касается и путей.


Если готовы, то

Читать дальше →
Всего голосов 38: ↑37 и ↓1 +36
Просмотры 33K
Комментарии 53

ARM-ы для самых маленьких: тонкости компиляции и компоновщик

Assembler *Системное программирование *
Tutorial

Продолжая серию статей про разработку с нуля для ARM, сегодня я затрону тему написания скриптов компоновщика для GNU ld. Эта тема может пригодиться не только тем, кто работает со встраиваемыми системами, но и тем, кто хочет лучше понять строение исполняемых файлов. Хотя примеры так или иначе основаны на тулчейне arm-none-eabi, суть компоновки та же и у компоновщика Visual Studio, например.

Предыдущие статьи:


Примеры кода из статьи: https://github.com/farcaller/arm-demos

Читать дальше →
Всего голосов 54: ↑54 и ↓0 +54
Просмотры 75K
Комментарии 13

Программируем Raspberry Pi на голом железе

C++ *
Из песочницы
Tutorial
До сих пор Raspberry Pi остается одним из самых популярных технологических гаджетов.На эту плату Вы можете установить практически любую операционную систему. Но сегодня мы поговорим о том, как писать программы для этой платы без операционной системе, пользуясь лишь аппаратными средствами.

В чем подвох?


На первый взгляд задача кажется тривиальной: скачиваем keil, создаем проект… Но все не так просто. Все среды программирования(keil, IAR, Atolic) поддерживают максимум ARM9.У нас же ARM11. Это связано с негласным правилом, что на голом железе пишут до ARM9, а после на Линуксе. Но все-таки есть одна лазейка: arm-none-eabi-gcc поддерживает любой ARM.
Вторая проблема заключается в том, что под данный процессор(BCM2835) нет никаких конфигурационных файлов, header'ов и т.д. Здесь нам на помощь придет загрузчик Raspberry Pi. И ничего, что он пропритетарный. Он выполняет две функции: инициализирует процессор и его периферию, а также передает управление ядру kernel.img. Мы просто замаскируем свою программу под ядро и загрузчик её запустит.
Читать дальше →
Всего голосов 70: ↑67 и ↓3 +64
Просмотры 96K
Комментарии 62

Автоматизация микрофронтендов, или как в Тинькофф тестируют библиотеки компонентов

Блог компании TINKOFF Тестирование IT-систем *Тестирование веб-сервисов *

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


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

Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 4.8K
Комментарии 4

Еще раз о передатчиках и приемниках 433 МГц

Беспроводные технологии *Разработка под Arduino *Интернет вещей Электроника для начинающих
Простейший комплект из приемника и передатчика ISM-диапазона 433 МГц завоевал заслуженную популярность в среде любителей электроники. Комплекты дешевы (даже в «Чипе-Дипе» их можно купить рублей за 300, а на Ali, говорят, вообще за полтинник), просты и надежны. Кроме того (о чем вы, возможно, не подозреваете), это самый дальнодействующий и проникающий способ беспроводного обмена данными — сигнал на частоте 433 МГц куда лучше проходит через препятствия и действует на более далеком расстоянии, чем в популярном диапазоне 2,4 ГГц (433 МГц полностью задерживаются стенкой в полметра бетона, а Wi-Fi умирает уже на 10 сантиметрах). Допускаю, что недавно появившиеся модули MBee-868, будучи снабженными соответствующей (направленной) антенной, «стреляют» дальше, но они как минимум на порядок дороже, сложнее в подключении, требуют управления энергосбережением и предварительной настройки. И вдобавок частота 868 МГц вдвое хуже проходит через препятствия (хотя, конечно, несравненно лучше частоты 2,4 ГГц).



О приемниках-передатчиках 433 МГц написано очень много (в том числе и на хабре, конечно). Однако, правильно включать в схему этот комплект по какой-то странной причине, кажется, не умеет никто. Когда я в который раз прочел вот тут, что комплект «принимал на 8-ми метрах в пределах прямой видимости, 9-ый метр осилить не удалось», мое терпение лопнуло. Какие еще 8 метров?! В 40-50 я бы поверил, хотя в реальности, наверное, дальность еще больше.
Читать дальше →
Всего голосов 76: ↑74 и ↓2 +72
Просмотры 110K
Комментарии 57

Как найти инвестора для развития стартапа и выхода на зарубежные рынки

Блог компании Golf Robotics Развитие стартапа
29 ноября в Москве уже четвертый раз прошла одна из крупнейших в России конференций о выходе на международные рынки — Russian Startups Go Global 2019.

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

Спикеры конференции более 30 основателей глобальных компаний.



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

Встречи инвесторам можно было назначить на VC Corner.

Я постарался опросить максимальное количество инвесторов об их инвестиционном фокусе, какие стартапы и на каком этапе им наиболее интересны, какой у них средний чек.

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

Всего голосов 8: ↑6 и ↓2 +4
Просмотры 1.7K
Комментарии 18

CSS-переход свойства height от 0px до auto

CSS *JavaScript *
Из песочницы
Здравствуй, Хабр!

Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto.

Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в DataGrid — строки с дополнительным контентом. Почитав интернет, нашёл несколько способов реализации, основные — через свойство max-height и на javascript. Реализация на javascript была исключена — есть же css с поддержкой переходов и анимаций. Остался max-height, тем более в примерах с выпадающими меню всё работает.
Читать дальше →
Всего голосов 20: ↑14 и ↓6 +8
Просмотры 19K
Комментарии 42

5 полезных плагинов для webpack

Блог компании Constanta Разработка веб-сайтов *JavaScript *Программирование *Системы сборки *
Привет, Хабр!

У webpack'а есть много полезных плагинов, о которых многие не знают и не используют в своих проектах. Под катом я собрал 5 таких, они могут здорово упростить вам жизнь!


Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Просмотры 18K
Комментарии 5

4 приема, которые помогли нам оптимизировать frontend

Блог компании ePayments Платежные системы *CSS *JavaScript *

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


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


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


Читать дальше →
Всего голосов 17: ↑14 и ↓3 +11
Просмотры 14K
Комментарии 7

MySQL шпаргалки

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

Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

Читать дальше →
Всего голосов 215: ↑193 и ↓22 +171
Просмотры 776K
Комментарии 230

Список полезных идей для высоконагруженных сервисов

Высокая производительность *Разработка веб-сайтов *MySQL *
В этой статье я решил собрать сборную солянку из советов о том, как разрабатывать высоконагруженные сервисы, полученных практическим путем. Для каждого совета я постараюсь приводить небольшое обоснование, без подробностей (иначе статья бы получилась бы сравнима по размеру с войной и миром). Поскольку обоснований я буду приводить не очень много, не стоит воспринимать эту статью, как догму — в каждом конкретном случае приведенные здесь советы могут быть вредны. Всегда думайте своей головой перед тем, как что-то делать.

1. Думайте своей головой и проверяйте факты


Это самое важное. Для вас не должно существовать безусловных авторитетов. Если кто-либо говорит полную чушь, или говорит что-то, что противоречит вашей практике — не прислушивайтесь к таким советам, и не важно, насколько этот человек известный и уважаемый. Если вы разрабатываете большую систему, и она не будет работать хорошо, то спрашивать будут с вас и в данном случае «мы следовали лучшим мировым практикам» оправданием не является. Умение применять нужные технологии в нужном месте и делает вас ценным специалистом, а не слепое следование чьим-то советам — для этого как раз квалификации не требуется.
Читать дальше →
Всего голосов 38: ↑35 и ↓3 +32
Просмотры 16K
Комментарии 19

Архитектура растущего проекта на примере ВКонтакте

Высокая производительность *PHP *Анализ и проектирование систем *


Алексей Акулович объясняет жизненный путь высоконагруженного проекта на PHP. Это — расшифровка Highload ++ 2016.

Меня зовут Лёша, я пишу на PHP.

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

Начнём.
Всего голосов 65: ↑61 и ↓4 +57
Просмотры 40K
Комментарии 47

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность