О дженериках в PHP и о том, зачем они нам нужны

Автор: admin от 26-05-2017, 21:25, посмотрело: 291

О дженериках в PHP и о том, зачем они нам нужны


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

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

 

К вопросу о константах

Автор: admin от 26-05-2017, 21:20, посмотрело: 278

Есть ли в мире что либо более постоянное, чем временные переменные.



Просматривая тематический форум, увидел традиционное «Не работает скетч, подскажите, в чем дело» — таких постов чуть меньше, чем все, но в заголовке фигурировала работа с SD карточкой, поэтому решил глянуть. Больше всего порадовала фраза, что «скорее всего, дело в карточке, но решил попросить посмотреть код, может, что интересного увидите» — не ручаюсь за точность цитаты, но смысл передал верно. Действительно, интересного там наблюдалось много, мой взгляд зацепился за выражение
unsigned long Interval = 2000;…
while (micros() < StartInterval + Interval) {};
причем дальше эта переменная использовалась, как константа в запуске задержки. Оставим за скобками способ обращения с временем, сейчас речь не об этом.

Сначала я, действуя на автомате, написал, что следует применять #define, «да призадумалась, а сыр во рту держала». Может быть, я чего-то не знаю, и применение констант в таком формате может быть выгодно при определенных условиях? Вдумчивое чтение мануалов на разные микроконтроллеры (МК) привело к интересным находкам, которыми (вместе с ответом на мой вопрос) и собираюсь поделиться под катом.

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

 

Russian Code Cup — по следам отборочного раунда

Автор: admin от 26-05-2017, 21:05, посмотрело: 262

Russian Code Cup — по следам отборочного раунда


14 мая прошёл отборочный раунд Russian Code Cup 2017. По традиции выкладываем разбор задач и подводим итоги.


A. Маленькие числа
B. Новая клавиатура
C. Складывание фигуры
D. Остроугольные треугольники
E. Объединение массивов
F. Два поддерева


В раунде участвовали 603 человека: приблизительно по 200 лучших программистов с каждого квалификационного раунда. По результатам отборочного раунда мы взяли в финал 55 участников.

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

 

Прокторинг в онлайн-экзаменах: как это работает?

Автор: admin от 26-05-2017, 18:00, посмотрело: 557

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

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

Прокторинг в онлайн-экзаменах: как это работает?


Узнать про контроль онлайн-экзаменов

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

 

Скит, Core, рок-н-ролл: как прошёл DotNext 2017 Piter

Автор: admin от 26-05-2017, 17:25, посмотрело: 306

Скит, Core, рок-н-ролл: как прошёл DotNext 2017 Piter

Когда IT-конференция проходит много лет подряд, она становится своего рода «годичными кольцами»: по ней можно проследить, как технологии росли и развивались со временем. Скажем, в прошлом июне можно было увидеть на петербургском DotNext, как Дино Эспозито распекал (ASP).NET Core за неготовность к реальным задачам. А в декабре на московском DotNext интонация уже изменилась: мол, тащить Core в продакшен ещё не требуется, но вот разбираться с ним уже стоит.

Теперь в Петербурге прошёл новый DotNext (впервые длившийся два дня вместо одного). Какое состояние .NET Core показал он? Какие ещё тенденции можно было заметить по его докладам? Как выступил Джон Скит и другие звёзды .NET-мира? Кто это такой харизматичный на фотографии выше? Все подробности — под катом.

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

 

Удваиваем ёмкость радиосети. Результаты внедрения Cambium Elevate на сетях операторов

Автор: admin от 26-05-2017, 16:50, посмотрело: 406

Удваиваем ёмкость радиосети. Результаты внедрения Cambium Elevate на сетях операторов
Как бы сотовые операторы ни пропагандировали сети 4G, а теперь и будущий 5G – рынок фиксированной беспроводной широкополосной связи даже и не думает уменьшаться.
Как показала практика, сколько бы G не было в стандарте сотовой связи — обеспечить действительно безлимитную связь в рамках сотовой технологии невозможно, и даже с новыми G-стандартами мы по-прежнему считаем GB трафика, а контент становится всё тяжелее (спасибо 4K-кино и обилию тяжеловесной рекламы).
Кстати, контент влияет и на запросы клиентов сетей фиксированной радиосвязи. Если раньше им хватало скоростей 1-3 Мбит/с, то сейчас этого явно недостаточно — нужны десятки и сотни мегабит каждому. С другой стороны, пути экстенсивного развития (получения дополнительных частот) практически исчерпаны — эфир не резиновый, да и дорого это. Поэтому сейчас как никогда остро встал вопрос об эффективности использования имеющегося частотного ресурса.
Именно для такого случая компания Cambium в прошлом году предложила идею Elevate — софт для недорого железа, который позволяет ему (без замены абонентов) работать с базовыми станциями Cambium с всеми их преимуществами — переиспользованием частот и честным TDMA. Прошло несколько месяцев, и вот первые практические результаты.

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

 

С чем столкнулись при переводе проекта на Android Studio 3.0 Preview и Gradle 4.0-milestone-1

Автор: admin от 26-05-2017, 16:20, посмотрело: 604

После того как на Google IO 2017 Keynote анонсировали новую Android Studio 3.0 Preview и Gradle 4.0-milestone-1, конечно же, руки сразу чесались все это попробовать. Если в первой просто появилось много интересных фишечек, то во втором серьезно поменялось API.


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

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

 

Путь к трансдьюсерам на чистом JavaScript

Автор: admin от 26-05-2017, 15:35, посмотрело: 258

Если вы наслышаны о так называемых «трансдьюсерах», но до сих пор не применяете их в javascript-разработке, сегодня у вас есть шанс найти ответы на вопросы: «Что такое трансдьюсеры?» и «Как ими пользоваться?». Это позволит вам понять, нужны ли они в ваших проектах, и, если нужны — поможет приступить к их использованию.

Путь к трансдьюсерам на чистом JavaScript


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

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

 

Разбираемся с Conductor

Автор: admin от 26-05-2017, 15:15, посмотрело: 209

Сейчас набирает обороты библиотека Conductor, однако в сети не очень много информации по её использованию, а из официальных источников доступны только примеры. Эта статья призвана дать вводный курс по Conductor и убрать некоторые грабли с вашего пути. Статья рассчитана на тех кто уже имеет некоторый опыт в разработке Android.


Conductor позиционируется как замена стандартным фрагментам. Основная идея обернуть View и дать доступ к методам жизненного цикла. Conductor имеет свой жизненный цикл, который сильно проще чем у фрагметов, но и в нём есть свои хитрости (об этом дальше).


Основные преимущества, которые даёт Conductor:



  • Упрощение кода

  • Транзакции выполняются мгновенно

  • Возможность построить приложение на одной Activity

  • Не ограничивает в выборе архитектуры приложения

  • Легко встраиваемые анимации

  • Отсутствие необходимости сохранять состояния между изменениями конфигураций


Так же в коробке вы получите:



  • Работа с бэкстеком

  • Стандартные коллбеки активити легко доступны

  • Несколько стандартных анимаций

  • Привязка жизненного цикла к RxJava

  • Быстрая интеграция с ViewPager


Далее мы с вами разберём несколько типовых кейсов использования, которые встречаются почти во всех приложения и попробуем разобраться в жизненном цикле контроллера.

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

 

QR-коды — проблемы безопасности: не поторопились ли мы

Автор: admin от 26-05-2017, 15:05, посмотрело: 205

QR-коды — проблемы безопасности: не поторопились ли мыQR-код — хаотично расположенные маленькие черные квадраты на белом фоне — не так прост, как кажется. QR-коды более совершенны, чем одномерный штрих-код, — они имеют более высокую емкость хранилища и могут хранить различные типы символов. По сути, эти коды похожи на физические гиперссылки, поскольку при их сканировании пользователь переходит на внешнюю ссылку или сайт. Их также часто относят к модели ведения бизнеса O2O (оффлайн-для-онлайн).

Изначально созданные в 1994 году компанией Denso Wave (дочерняя компания Toyota) для использования в японской автомобильной промышленности, QR-коды постепенно начинают использоваться разными компаниями по всему миру.

Самый популярный и самый прибыльный вариант использования QR-кодов — в индустрии платежей. Финансовые учреждения долго искали способ повысить качество обслуживания клиентов и увеличить показатель «простоты использования» своих платежных процессов. Революция смартфонов в конце 2000-х годов стимулировала развитие цифровых и мобильных платежей. Появление QR-кодов стало настоящим чудом, так как теперь любой пользователь смартфона может совершить платеж по мановению руки. В наше время, когда смартфоны широко распространены в обществе, QR-коды нашли свое место в большинстве розничных магазинов, электронной коммерции, оплате счетов и всевозможных встроенных мобильных платежах.

Категория: Гаджеты, Информационная безопасность

 
Назад Вперед