Как работает диспетчеризация методов в Ruby

Автор: admin от 12-01-2016, 21:45, посмотрело: 350

Примечания переводчика:

Всем привет. Данная статья является вольным переводом (ссылка в конце). Я не претендую на какую либо 100% корректность перевода. Однако считаю, что общую суть происходящего передал полностью.

Для кого может быть полезна эта статья? Скорее всего, для начинающих Ruby on Rails разработчиков, кому просто интересно понять некоторые моменты в работе Ruby.

Для кого эта статья может быть бесполезна? Скорее всего, для чистокровных Ruby программистов и прожженых Ruby on Rails разработчиков. Высока вероятность того, что вы это уже знаете.

Зачем я сделал перевод? Эта статья мне показалась интересной и внутри меня просто появилось желание поделиться ею со всем русскоговорящим (м.б. плохо знающим английским) сообществом.

P.S. Если знаете английский, просто перейдите по ссылке в конце.

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

 

Yii 1.1.17

Автор: admin от 12-01-2016, 20:47, посмотрело: 624

Команда MVC PHP фреймворка Yii релизнула версию 1.1.17. Забрать её можно либо через Composer, либо скачать с yiiframework.com/download/.

В этом релизе 36 исправлений и улучшений. Полный список можно найти здесь.

Важно: В релиз включено ломающее совместимость изменение в работе с кешем APCu. Если используете его, читайте инструкции.

Спасибо всем, кто принимал участие в подготовке этого релиза. Без вас его бы не было.

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

 

Enhanced IP

Автор: admin от 12-01-2016, 20:47, посмотрело: 416

Как оказалось, не все мои знакомые инженеры могут дать ответ на простой вопрос: что это такое — 192.0.0.1.10.0.0.1. Нет, это не ссылка на ветку MIB протокола SNMP (были и такие версии). Сегодня мы поговорим об Enhanced IP (далее EnIP).

Если трезво смотреть на мир, то транспортная сеть состоит из кучи «костылей», чего только стоят такие технологии как nat (во всех его видах) или virtual links в ospf. Прочитав драфт rfc , посвященный EnIP, я понял, что это очередной костыль. Но честно говоря идея мне понравилась. Ну, начнем.

Не буду говорить как тяжело сейчас живется и как мало у нас IPv4 адресов (это все и так уже слышали), а перейду непосредственно к технологии.

Категория: Админитстрирование / Сетевые технологии

 

Там, где живет Единорог Пикси. Indie-повествование

Автор: admin от 12-01-2016, 20:08, посмотрело: 365

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

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

 

Isotoxin: свободный мультипротокольный мессенджер с поддержкой Tox

Автор: admin от 12-01-2016, 19:55, посмотрело: 1 390

Вы наверняка слышали о Tox. Напомню: это свободный защищенный p2p протокол для передачи сообщений, аудио и видео потоков между участниками Tox-сети. По сути — это альтернатива скайпу. Когда я впервые услышал о Tox, мой градус неприязни к скайпу был еще не слишком высок, но я уже начал поиск альтернатив. Мне очень понравилась идея, лежащая в основе Tox: мы пишем протокол со всеми нужными плюшками, а вы пишете к нему клиенты. Когда появились первые клиенты для сети Tox, я подумал: «черт возьми, я смогу сделать это не хуже!». Вобщем, подталкиваемый неприязнью к скайпу, я взялся за проект мессенджера своей мечты. Сейчас, когда в моем локальном hg-репозитории первому комиту исполнилось 19 месяцев и был сделан 414-й комит, я наконец то созрел до того, чтобы рассказать об этом клиенте широкой аудитории Хабра.

Isotoxin: свободный мультипротокольный мессенджер с поддержкой Tox

Категория: Веб-разработка / Windows

 

О пересмотре результатов конкурса по программированию на JS

Автор: admin от 12-01-2016, 18:55, посмотрело: 411

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

Мы получили множество замечаний о методике тестирования решений. Ниже наши ответы на эти замечания.

Тесты на корректность неполны


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

Тесты на производительность дают искажённые результаты из-за особенностей методики тестирования

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

 

Android IDE Template Format

Автор: admin от 12-01-2016, 18:40, посмотрело: 467

Android IDE Template Format
В процессе создания новых приложений очень часто приходится писать однотипный код и воспроизводить уже проверенные временем структуры классов. IDE (в частности Android Studio) облегчает во многом задачи, связанные с созданием новых компонентов для приложения. Список шаблонных Aсtivity растет с каждой новой версией SDK Tools. Но что если нужно создать свой собственный шаблон? Для одного файла это легко, но что делать, если нужно создать шаблон с созданием нескольких файлов? Зная возможности IDE, это вполне реализуемо, ведь Activity создается вместе с файлом разметки, да и фрагмент к ней добавить можно. Однако описание такой функциональности найдено не было, потому пришлось искать решение для данной возможности самостоятельно.

Под катом хочу рассказать вам о том, как эта возможность реализуется в Android Studio.

Категория: Веб-разработка / Game Development / Android

 

Еще немного об ошибках проектирования АСУ ТП и программирования ПЛК

Автор: admin от 12-01-2016, 15:00, посмотрело: 434

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

Возьмем ту же схему (действительно, довольно корявую надеюсь автор простит мне ее использование) из упомянутого поста:

Еще немного об ошибках проектирования АСУ ТП и программирования ПЛК

Первое слабое звено этой схемы, которое бросилось мне в глаза, совсем не реле К1, конечно тоже достойное упоминания, а надпись «Аварийный стоп» на нормально-открытом контакте кнопки SB1.

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

Helixa переделал схему в конце поста, но эта ошибка осталась.

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

 

Разбор решения занявшего второе (пока что) место в конкурсе Hola по программированию почтовых фильтров на JavaScript

Автор: admin от 12-01-2016, 14:45, посмотрело: 447

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

Я разделил второе место с Ильей Макаровым, и сейчас я расскажу…

Как это было

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

 

Наследование ActiveRecord's, описывающих одну таблицу (паттерн single table inheritance) в Yii2

Автор: admin от 12-01-2016, 14:22, посмотрело: 635

В большинстве реляционных баз данных, к сожалению, нет поддержки наследования, так что приходится реализовывать это вручную. В этой статье я хочу кратко показать, как реализовать такой подход к наследованию, как «single table inheritance», описанный в книге «Patterns of Enterprise Application Architecture» by Martin Fowler.

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

В этой статье будет использоваться следующая структура наследования моделей:

Car
|- SportCar
|- HeavyCar

Таблица `car` имеет следующую структуру:

CREATE TABLE `car` (
    `id` int NOT NULL AUTO_INCREMENT,
    `name` varchar(255) NOT NULL,
    `type` varchar(255) DEFAULT NULL,
    PRIMARY KEY (`id`)
);

INSERT INTO `car` (`id`, `name`, `type`) VALUES (1, 'Kamaz', 'heavy'), (2, 'Ferrari', 'sport'), (3, 'BMW', 'city');

Модель Car можно сгенерировать с помощью Gii.

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

 
Назад Вперед