• Начинаем использовать Handlebars для создания статических сайтов

    Предупреждение: Матёрый фронтендщик скорее всего не увидит для себя здесь ничего нового. Код в статье представляется без каких-либо гарантий и не претендует на идеологическую верность.


    На днях мой друг верстальщик, работая над очередным статическим сайтом, рассказал, что всё собирается начать пользоваться шаблонизатором. Посматривал он в сторону Handlebars, но нигде не видел простой, готовой тулзы. Которая позволяла бы собирать шаблоны в статический html, могла бы работать через FileWatcher Webstorm'а и не требовала бы развёртывания окружения с сотнями пакетов, гульпом и прочими вебпаками.


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

    Читать дальше →
  • Как я начал сходить с ума от программирования

    image

    Всем привет, меня зовут Артур, и мне 15 лет. С программированием я познакомился ещё в возрасте 12 лет, но начал изучать только с 14, потому что у меня в данный промежуток времени не было компьютера. Тогда я читал про программирование, и узнал о таком языке, как Python. «Хм, что за язык такой интересный?» — подумал я. Посмотрел пример программы «hello world» и был немного удивлен:

    print("hello world")

    Тогда я был знаком только с Си и думал, что он самый лёгкий из всех языков. Где точка с запятой, где int main? Решил попробовать. Искал хорошие учебники около двух дней. Наткнулся на Марка Лутца (эх, как же я пожалел об этом...), этот учебник был не для новичков, поэтому половину прочитанного из книги я просто не понимал, но основы языка по первой части, все же, дошли до меня, хотя я даже не дошел до классов. Я всегда записывал важную информацию в тетрадь.

    В конце учебника я вообще перестал понимать, о чём идёт речь и забросил обучение.
    Читать дальше →
  • Юридический разбор сайта онлайн-магазина

    Привет! Меня зовут Михаил Закошанский, я юрист.


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

    Читать дальше →
  • Улучшите свой Chrome, включив это

    На данный момент браузер Google Chrome в России является наиболее популярным. Более 60% россиян используют его для работы и в повседневных задачах.

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

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

    Но что делать, если хочется попробовать новые функции до их официального запуска? В Chrome есть раздел тестирования chrome://flags, где для удобства тестировщиков все невыпущенные функции можно включить и выключить.

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

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

    0. Инструкция


    Для включения тестовой функции, используйте ссылки, данные в каждом пункте статьи. Перейдите по ней, затем найдите функцию, заголовок которой подсвечивается желтым, и из выпадающего списка функции выберите пункт «Enabled». Снизу появится синяя кнопка. Нажмите на нее, чтобы перезапустить браузер (все ваши вкладки сохранятся).

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

    1. Скрытие пути URL (Chrome 85)


    Этот флаг был добавлен неделю назад в новом релизе Chrome. Так что если ещё не обновились до 85 версии, советую это сделать.

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

    А как же тогда посмотреть полный? Если вы хотите, чтобы полный адрес появлялся, когда ваш курсор находится непосредственно над URL, вам нужна эта ссылка:

    chrome://flags/#omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover

    Если нужно по взаимодействию со страницей:

    chrome://flags/ #omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-interaction

    До:

    image

    После:

    image
    Читать дальше →
  • Repeatable migrations в Flyway

    После статьи о логике в БД я много дискутирую в комментариях. Часто вижу заблуждение, что любая миграция при таком подходе — это новый файл, который невозможно сравнить со старым. Я покажу что это не так на примере Flyway.
    Читать дальше →
  • Как на «безголовой» Raspberry Pi с единственным WI-FI адаптером включить режим монитора и сохранить подключение по SSH

    Всем привет.Сейчас я расскажу как я на Raspberry Pi без экрана перевел Wi-Fi адаптер в режим монитора и сохранил подключение по ssh.

    Нам понадобится сама Raspberry Pi(я брал Raspberry Pi Zero W так как она компактная и с встроенным Wi-Fi адаптером) желательно с Wi-Fi адаптером(если его нет придется покупать USB Wi-Fi адаптер и подключать), SD-карта и USB-кабель который может передавать данные, а не только заряжать.

    Я надеюсь вы уже установили OС на карту, если нет то в интернете полно инструкций.
    Читать дальше →
  • Что нужно учесть при разработке Ui/Ux дизайна интернет магазина (часть1 — Типы пользователей)

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

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

    А пока начнем.

    8 Типов покупателей в e-commerce


    1. Эксперт — знает характеристики продукта которые ему нужны. Тщательно просматривает всю информацию о товаре, изучает отзывы, смотрит видео о продукте.
    В первую очередь ему нужно полное совпадение с тем что он ищет.
    Expert
    Читать дальше →
  • Опасности изолированных сетей

    Некоторые мысли по поводу безопасности изолированных сетей.

    Мне доводилось довольно много возиться с тем, что называют «air-gapped networks» — то есть с сетями, которых ни при каких обстоятельствах к Интернету подключать нельзя. Запрет этот диктуется, естественно, соображениями безопасности — «а вдруг нас хакнут». Идея предотвратить хаканье на корню отключением от Интернета, конечно, привлекательна своей простотой и радикальностью, но тем не менее, принимающие такое решение зачастую упускают из вида разные последствия, безопасность не улучшающие, а наоборот.
    Читать дальше →
  • Как скачать все треки в BOOM / Как добавить все свои треки в плейлист ВК

    Как добавить в плейлист ВК все свои аудио разом?


    Разом — не знаю. Но знаю, как это сделать последовательно без усилий.

    Что нужно? Компутер, браузер, страница в ВК с треками.
    Читать дальше →
  • Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство



    Введение


    Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО.

    Следует отметить, что существует определенная проблема, связанная с невозможностью интеграции ПО, полученного в on-line магазине Microsoft Store для использования в пользовательском образе Windows 10. Не вдаваясь в подробности уточню, что данная проблема связана с тем, что установленные из Microsoft Store программы связываются со служебной учетной записью Administrator, и при завершении создания пользовательского образа утилитой sysprep возникают обусловленные этим обстоятельством ошибки.

    Рассмотренный в данной статье способ позволить избежать такой проблемы при подготовке образа ОС Windows 10 с предварительно настроенной подсистемой WSL2, а также с заранее подготовленным и настроенным образом ОС Ubuntu 20.04 с GUI KDE Plasma, который в свою очередь может иметь свой набор пользовательского ПО.

    В сети Интернет имеется большое количество примеров и руководств по настройке подсистем WSL (т.е. WSL1 и сравнительно новой WSL2), с настройкой GUI интерфейса для linux систем на базе ОС начиная с версии Ubuntu 16.04 и заканчивая Ubuntu 20.04, но в основном это касалось рабочих столов на основе т.н. «легковесного» xfce4, имеющий вполне объяснимые ограничения в пользовательских настройках. Но что касается GUI KDE Plasma для Ubuntu 20.04, в сети не нашлось какой-либо существенной информации. Но именно этот вариант предоставляет конечному пользователю практически неограниченный набор настроек как внешнего вида системы, так и настроек оборудования, конечно с учетом текущих возможностей интеграции linux-систем, реализованных в подсистеме WSL2.
    Читать дальше →
  • Зачем нужно прописывать Alt-тег?

    Прописывать alt-тег очень важно, потому что именно по надписи внутри этого тега робот-поисковик Google или Yandex понимает, что это за картинка. Робот ведь не человек, он не умеет читать, он сравнивает последовательность нулей (0) и единиц (1). А именно так все кодируется: и слова, и картинки. И картинка для робота это код, где много нулей и единиц, а поисковая фраза, это тоже нули и единицы, то их много меньше.

    Так как сравнить поисковую фразу и картинку?


    Именно для этого и существует alt-тег. Это описание картинки. Описание это тоже фраза. И именно по этому описанию сравнивается код поисковой фразы и код картинки.

    Сегодня я возьму пример Красное пальто.

    Я хочу найти в Google картинки с красным пальто. И проанализирую, как сайт, на который ведет эта картинка добился того, чтобы именно его картинку Google поиск находил и выдавал в результатах поиска.

    А потом я сделаю то же самое для всех моих картинок.
    Читать дальше →
  • Хочешь ли ты поработать в другой стране и как не наступить на грабельки

    Сейчас пошел очередной всплеск практических вопросов об IT-эмиграции от размышляющих бывших коллег и друзей. Я зачастую боюсь навредить. Честно. Поэтому настоятельно рекомендую «созреть» и подготовиться.
    Читать дальше →
  • Использование Cocoapods при создании собственных библиотек

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

    Читать дальше →
  • О типографике

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

    Что же такое шрифт? Это графический рисунок начертания букв и знаков.

    Семейство всех начертаний шрифта принято называть гарнитурой.
    Начертания могут отличаться по насыщенности, наклону и т.д.
    Различное начертание шрифтов образует семейство шрифтов — гарнитуру.

    image

    Для того, чтобы выбрать гарнитуру, необходимо определиться со стилистикой своего проекта. Тут решающую роль играет контекст вашего сайта. Будет ли выбранная гарнитура уместна?
    Учитывайте настроение, которое передаёт шрифт.

    image

    Главным критерием классификации видов гарнитур являются засечки на буквах.

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

    image

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

    Антиква — вид шрифта с засечками, поэтому обычно в названии есть слово serif («засечка»).
    Популярная антиква: Times New Roman.

    image

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

    Гротеск — вид шрифта без засечек, поэтому в названии используется слово sans(«без»).
    Популярные представители гротеска: Arial, Helvetica, Verdana.

    image

    Неформальное написание шрифта даёт представление о чем-то современном и легком.
    Читать дальше →
  • Raspberry pi & Азбука Морзе

    Парусник “NaN” сигналит SOS (See Our Success) Raspberry Pi, азбука Морзе и MQTT: вместе веселее


    Меня зовут Вова Балакин, я из московской школы на Юго-Востоке имени Маршала В.И.Чуйкова (классов “Силаэдр”: vk.com/silaedr), закончил 5 класс, интересуюсь программированием и техникой. Я хочу рассказать, что я делал этой весной. У меня был парусник, он назывался “Not a Number”(“NaN”). Выходить в море без сигнализации опасно, поэтому я подумал, что ему на мачте не хватает сигнальных огней. А лучше — сигнальных огней, которыми можно управлять удаленно. А лучше — удаленно из любой точки мира! У меня был Raspberry Pi — и тогда я придумал…



    Чего мне захотелось (Постановка задачи)


    … что можно прикрепить к мачте светодиод, соединить его с Raspberry Pi и запрограммировать так, чтобы из Интернета было возможно отсылать паруснику любое сообщение — и оно переводилось в код Морзе — и диод на мачте мигал в соответствии с этим кодом. И на ту же мачту закрепить фоторезистор — декодер кода Морзе, чтобы другой компьютер в Интернете мог получить переданный код.

    Что у меня вышло (Результат)


    После двух месяцев проб и ошибок у меня получилось написать программу, которая через MQTT-брокер(http://www.hivemq.com/demos/websocket-client/) позволяет любому человеку в Интернете, знающему Topic — секретный ключ для передачи сообщения клиенту, — отправить абсолютно любое сообщение написанное латиницей — и светодиод на мачте моего промигает его азбукой Морзе!


    Вот в целом как это работает: мы пишем сообщение и отправляем его MQTT-серверу, а он в свою очередь отправляет его на Raspberry pi, который переводит его в код Морзе и подмигивает светодиодом в соответствии с кодом.

    Вот код на Node.js на гитхабе.
    Читать дальше →
  • Когда худший в мире код имеет право на жизнь

    Этот пост написан мной после прочтения более чем очевидного критического поста: Разбор худшего в мире куска кода.

    И почему же я считаю что этот код имеет право быть? Все очень просто — он отлично выполняет поставленную задачу, хотя и жертвует безопастностью и UI. И я уверен в том, что в мире существуют условия, где подобный код имеет право на жизнь, все остальное под катом.
    Читать дальше →
  • 5 девушек в IT

    Те дни, когда слова IT-специалист, программист, сисадмин, разработчик и т. д. ассоциировались с представителями мужского пола, ушли в прошлое. Некоторые девушки из IT до сих пор не могут простить Юре Дудю игнорирование женщин в его фильме про Кремниевую долину. А другие девчонки плевать на это хотели, тихо пашут и создают образовательные Youtube каналы, из которых можно почерпнуть много полезного и интересного, и получить пару эстетических оргазмов от того, какие они красивые, умные и классные. Я решила подобрать для вас несколько каналов девушек, рассказывающих о IT, технологиях, образовании и других полезных штуках. Делюсь ссылками на них, чтобы вы не думали, что их нет:
    Читать дальше →
  • Vue добавляем нативную карту Google Map без библиотек

    Google Maps API — Набор приложений, построенных на основе бесплатного картографического сервиса и технологии, предоставляемых компанией Google.

    Я покажу вам, как подключить и использовать нативную карту Google Maps без использования библиотек для Vuejs.
    Читать дальше →
  • Восстановление повреждённого видеофайла с квадрокоптера

    Случилось страшное: съездил в очередное интересное место в области (так как заграницы нынче недоступны), отлетал и отснимал на Мавике хороший материал, добрался до компьютера, чтобы его обработать, и внезапно:

    image

    Казалось бы, не страшно, такое бывает, и нам поможет VLC или ffmpeg, но они так же отказались как-либо воспроизводить файл. Так как ехать снова пару сотен километров с целью переснять материал было вообще не вариант, стал искать пути решения проблемы.
    Читать дальше →
  • Java создает документ Word

    В моей недавней работе мне нужно было сгенерировать документ Word в программе на Java. После поиска в Интернете и тестирования я успешно решил эту проблему. Сегодня я расскажу вам, как я использую Free Spire.Doc for Java для создания документов Word в приложениях Java, вставки в них изображений и форматирования абзацев.

    Конфигурация среды


    Установите пакет jar через репозиторий Maven, и код для настройки файла pom.xml выглядит следующим образом:

    <repositories>
         <repository>
              <id>com.e-iceblue</id>
              <name>e-iceblue</name>
              <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
         </repository>
    </repositories>
    <dependencies>
         <dependency>
              <groupId>e-iceblue</groupId>
              <artifactId>spire.doc.free</artifactId>
              <version>2.7.3</version>
         </dependency>
    </dependencies>
    
    Читать дальше →