Архив за 21 апреля 2016 - 9

Привет geektimes. Мне из Китая пришла одна приблуда, схему которой нашёл в сети, и когда рассматривал, то обнаружил для себя очень интересную часть, вот она:

image
Читать полностью »

Видеокарта GeForce GT 710 вряд ли привлечёт того, кто хотя бы иногда играет в игры на ПК. Производительность этого устаревшего решения, основанного на GPU GK208 со 192 ядрами CUDA, намного ниже, чем у многих современных интегрированных решений.

Но и такие 3D-карты иногда могут пригодиться. В случае с моделью Zotac GT 710 1GB PCIE x 1 всё несколько интереснее. Она, как можно понять из названия, предназначена для установки в слот PCIe x1. Такие видеокарты встречаются достаточно редко и могут выручить в определённых ситуациях, когда полноценная видеокарта не подходит.

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

Замминистра подчеркнул, Читать полностью »

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

Введение в программирование шейдеров: часть 3 - 1
Читать полностью »

Некоторое время назад передо мной была поставлена задача по определению смены местоположения пользователя на карте. По результатам эксперимента в статье, для этих целей, по точности определения и энергоэффективности, прекрасно подходит Google Services Geofences.

image

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

Пример автора на github, к сожалению, даже не компилировался, поэтому я решил его завести под свежие версии библиотек. На мое удивление, изменений в API между com.google.android.gms:play-services:4.0.30 и com.google.android.gms:play-services:8.4.0 оказалось много! Собственно, о них дальше и пойдет речь в статье.

Читать полностью »

Стремление к нулю: как за четверть века менялись цены на мобильную связь - 1

Как известно, цена товара определяется в первую очередь его себестоимостью, спросом, объёмом предложения и конкуренцией. То же самое можно сказать и о стоимости услуг, в том числе и на телеком-рынке. Сегодня мобильник в кармане — настолько привычная вещь, что многие уже с трудом вспоминают времена, когда он был роскошью, а уж тем более, когда их совсем не было. Да что там, многие даже не застали начало распространения мобильной связи в России. И если мы время от времени умиляемся тому, как громоздко и нелепо выглядели раньше сотовые телефоны, то уж о стоимости самой услуги связи в былые годы задумываются совсем единицы. А ведь когда-то мобильная связь считалась в нашей стране уделом лишь очень обеспеченных людей.
Читать полностью »

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

Последние версии iOS и Android имеют поддержку более 1200 символов эмодзи, но «десктопный» рынок не может похвастаться такими успехами. Мы же в Badoo хотим и делаем все, чтобы пользователям было комфортно общаться на всех платформах, не имея никаких ограничений в переписке.
Далее я расскажу, каким способом мы добились 100% поддержки эмодзи для веба.
Читать полностью »

Думаю, как уже понятно из названия, речь пойдет о таких вещах, как Microsoft Project Oxford и Telegram API.

Что такое Microsoft Project Oxford — набор готовых REST API, в доступной форме дающих разработчикам всю мощь алгоритмов машинного зрения, анализа естественного языка и распознавания голоса для использования в своих приложениях. Стоит отметить, что доступность сервисов в виде REST API позволяет использовать его на совершенно любых платформах и с помощью своих любимых технологий разработки, не ограничиваясь предложенными Microsoft. Более подробно — тут или тут.

Telegram Bot API — (думаю и так многие знают) кто не знает идет сюда.

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

Итак, начнем (рассказывать о том, как создать бота, я не буду, т.к информации об этом куча). После того, как зарегистрировали бота, webhooks и получили ключ API, преступаем к написанию.

Писать решил на PHP. Почему? бес попутал
Читать полностью »

image

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

Сам проект написан на Django, в качестве бекенда — PostgreSQL. В самом начале работы было решено, по крайней мере, частично отказаться от использования Django ORM в пользу «сырого» SQL и хранимых процедур. Другими словами, почти вся бизнес-логика вынесена на уровень базы данных. Сразу скажу, что готовить ORM я умею, но в данном случае требовалось производить многоступенчатые вычисления, связанные с множеством выборок, а это лучше делать на сервере БД и не таскать промежуточные данные в приложение.

Столкнувшись с необходимостью поддержания структуры базы данных вручную, без приятностей Django Migrations, я выяснил, что вручную писать инкрементальные SQL патчи возможно, но трудно уследить за зависимостями объектов БД. К примеру, когда функции, которая используется где-то еще, добавляешь еще один аргумент, простого CREATE OR REPLACE недостаточно — ее нужно сначала DROP, а потом CREATE. При этом нужно предварительно удалить зависимые от нее функции, а потом создать заново (а если от этих функций еще кто-то зависит, тогда надо и их пересоздать).

Под катом краткое описание возможностей в виде туториала. Встречайте — Sqlibrist.Читать полностью »

В этой статье я хотел бы рассказать как написать простой парсер на примере сайтов aimp.ru и geekbrains.ru. Статья предназначена строго для тех, кто уже имеет базовые знания о языке программирования C# и уже написал свой первый «Hello world».

Мне всегда нравился аудиоплеер Aimp (нет, это не реклама), но встроенных скинов у него слишком мало, а заходить на сайт, смотреть скины, скачивать и пробовать как они будут смотреться на деле не было никакого желания. Поэтому я решил написать парсер скинов с данного сайта. Немного посмотрев сайт, я заметил, что скины там хранятся последовательно с присвоенным id. Т.к. до недавнего времени я знал только 1С и немного командную строку, то недолго думая я решил написать его в командной строке. Но при тестировании обнаружил, что если скачивать большое количество файлов, то во-первых часть может просто не скачаться, а во-вторых может произойти переполнение оперативной памяти. В итоге я тогда бросил эту затею.

Не так давно начав изучать C# я решил вернуться к этой идее, дабы попрактиковаться немного. Что из этого получилось читайте под катом.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js