Я ненавижу константы в Ruby

Автор: admin от Вчера, 21:40, посмотрело: 15

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



Несмотря на заголовок, гнева в посте не будет.

Категория: Программирование » Веб-разработка

 

Серия #notNULL — Twig

Автор: admin от Вчера, 12:50, посмотрело: 34

Приветствую, Хабрасообщество!



Давно я забросил переводы тех. литературы по Objective-C / Swift и несколько непереведённых глав из Core Data остались далеко в черновиках. Однако любовь к переводам, разработке и обучению не угасла — изменился подход и мысли о том, как можно всё это упаковывать и организовывать.



Я влюбился в формат обучающих видео.Серия #notNULL — Twig

Категория: Программирование

 

Конвертирование из Sketch в PSD

Автор: admin от Вчера, 12:45, посмотрело: 16

Конвертирование дизайн-макетов из формата .Sketch в .PSD


Конвертирование из Sketch в PSD

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

К сожалению, пользоваться этой артиллерией могут лишь обладатели компьютеров на платформе MAC OS. Продукты Adobe являются доминирующим инструментом для веб-дизайнеров, работающих под ОС Windows, но сильно уступают перед «Sketch». Исходя из этого, вопрос конвертации макета для просмотра на обоих операционных системах актуален как никогда.

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

Категория: Программирование » Веб-разработка

 

Система оружия через компоненты в Unreal Engine 4

Автор: admin от Вчера, 12:10, посмотрело: 7

Здравствуйте, в этой статье я хочу поделиться с читателями своим взглядом на подход к разработке на Unreal Engine 4 и использовании такого полезного класса как Actor Component.



Я заметил, что в разных туториалах к Unreal Engine 4 часто используют глубокую и сложную иерархию наследования классов. Хотя сам движок Unreal Engine 4 подталкивает использовать компонентный подход на базе Actor Component.

Категория: Программирование » Веб-разработка

 

Создание игр на Python 3 и Pygame: Часть 1

Автор: admin от Вчера, 12:10, посмотрело: 6

Многие разработчики приходят в разработку ПО, потому что хотят создавать игры. Не все могут стать профессиональными разработчиками игр, но любой может создавать собственные игры из интереса (а может быть, и с выгодой). В этом туториале, состоящем из пяти частей, я расскажу вам, как создавать двухмерные однопользовательские игры с помощью Python 3 и замечательного фреймворка PyGame.



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



Мы реализуем следующие функции и возможности:




  • простые стандартные GameObject и TextObject

  • простой стандартный Game object

  • простая стандартная кнопка

  • файл конфигурации

  • обработка событий клавиатуры и мыши

  • кирпичи, ракетка и мяч

  • управление движением ракетки

  • обработка коллизий мяча с объектами игры

  • фоновое изображение

  • звуковые эффекты

  • расширяемая система спецэффектов



Не стоит ожидать, что игра будет очень красива графически. Я программист, а не художник, меня больше интересует эстетика кода. Созданный мной дизайн может неприятно удивить. С другой стороны, у вас будут почти неограниченные возможности по улучшению графики этой версии Breakout. Если вы отважитесь повторять за мной, посмотрите на скриншот:



Создание игр на Python 3 и Pygame: Часть 1

Готовый исходный код выложен здесь.

Категория: Программирование » Game Development

 

Квантовая гонка: разработки 2017 года

Автор: admin от Вчера, 11:50, посмотрело: 7

Прошлый год был отмечен множеством разработок, связанных с квантовыми коммуникациями. Одной из наиболее «громких» новостей в этой связи стала информация об ученых из Китая, которые организовали передачу данных в рамках квантовой сети на расстояние более 1200 километров. По словам Scientific American, этот эксперимент выводит Китай в лидеры «квантовой гонки» за создание безопасной глобальной сети квантовых коммуникаций.



Расскажем, чем примечателен этот эксперимент и какие еще разработки в сфере квантовых коммуникаций развивались в прошлом году — в том числе в Университете ИТМО.



Квантовая гонка: разработки 2017 года

Категория: Программирование » Веб-разработка

 

Как я чинил интерактивный логин, или Что там в кишках у //chrome/test/ChromeDriver?

Автор: admin от Вчера, 11:50, посмотрело: 10

Эта статья возникла из-за одной моей ошибки и двух багов — по одному в Chromium Headless и ChromeDriver. В результате пришлось собрать всё это из исходников (в статье есть подробнейшая инструкция), отладить цепочку взаимодействия Selenium<ChromeDriver<Chromium в отладчике IntelliJ IDEA и Microsoft Visual Studio, покопаться в Java, C++ и JS.



Статья будет интересна тем, кто хочет понять, чем им грозит переход на Selenium + Headless Chrome и как с этим жить. А также всем, кто просто хочет немного поглумиться над несчастным быдлокодером.



Под катом есть пачка скриншотов (трафик!).



Как я чинил интерактивный логин, или Что там в кишках у //chrome/test/ChromeDriver?



Кстати, всё это можно было бы сделать скринкастом — но нельзя, потому что время компиляции C++ необычайно долгое. Вместо этого тут будут скриншоты для привлечения внимания.



Вначале напомню названия участвующих продуктов. Их три штуки:




  • Chromium — это браузер. Небрендированная версия Google Chrome, без автообновлений, анальных следящих зондов, но и без несвободных компонентов типа кодеков.

  • Chromium ChromeDriver — это часть Chromium, которая отвечает за управление им с помощью внешних инструментов. Это standalone фронт-сервер (отдельный exe-файл), реализует стандарт W3C WebDriver и использует в качестве бэкенда Chrome DevTools.

  • Selenium и его Selenium Chrome Driver — эта штука предоставляет Java API для управления Хромиумом. Джава тут не принципиальна, на javascript и jWebDriver было бы то же самое (а на Puppeteer — возможно, нет, ибо он использует DevTools напрямую).



Всё вместе даёт нам в руки браузер, управляемый с помощью API на Java, javascript и так далее.



Вспомнили? Поехали дальше.

Категория: Программирование » Веб-разработка

 

Дайджест свежих материалов из мира фронтенда за последнюю неделю №298 (15 — 21 января 2018)

Автор: admin от Вчера, 11:50, посмотрело: 7

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.



Дайджест свежих материалов из мира фронтенда за последнюю неделю №298 (15 — 21 января 2018)

Категория: Программирование » Веб-разработка

 

Соглашения по именованию CSS-сущностей и экономия времени

Автор: admin от Вчера, 11:50, посмотрело: 6

Я слышал, как многие разработчики говорят, что ненавидят CSS. Опыт подсказывает мне, что причина здесь в том, что они не уделяют достаточно времени для того, чтобы изучить CSS. Да, речь идёт о не самом дружелюбном «языке», но он успешно используется для стилизации веб-страниц уже более 20-ти лет. Это впечатляет, и с технологиями такого уровня распространённости приходится считаться. Однако, по мере роста объема стилей, задействованных в некоем проекте, проявляется один большой минус CSS: его очень сложно поддерживать. А плохо написанные стили быстро превращаются в кошмар.



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



Соглашения по именованию CSS-сущностей и экономия времени


Вы уже бывали в подобной ситуации, правда?

Категория: Программирование » Веб-разработка

 

Шпоры по сертификатам X.509

Автор: admin от Вчера, 05:30, посмотрело: 14

Чудище обло, озорно, огромно, стозевно и лаяй.

Набор технологий, который мы по привычке именуем сертификатами SSL, представляет из себя здоровенный айсберг, на вершине которого зеленый замочек слева от доменного имени в адресной строке вашего браузера. Правильное название X.509 сертификат, который восходит к X.500 стандарту ITU-T DAP (Directory Access Protocol). DAP не взлетел, в IETF его посчитали неудобным для использования со всеми этими OSI нагромождениями и вместо него придумали LDAP, Lightweight DAP где первая буква обозначает «легковесный». Те, кому пришлось настраивать, или что хуже производить его отладку могут оценить иронию в полной мере. Никогда еще первая буква аббревиатуры так не лгала, не считая SNMP.



Шпоры по сертификатам X.509



Кстати что общего между LDAP, SNMP и X.509 ну кроме того, что им еще не скоро предстоит собрать стадионы фанатов? Их объединяет ASN.1 — мета-язык описания объектов древности. Если бы эти технологии создавали сейчас, в ход бы пошли XML, DTD или какой-нибудь другой ML. Но в то время стандарты создавались титанами, для которых даже SNMP был простым делом.

Категория: Программирование » Веб-разработка

 
Назад Вперед