Обновить
0
@Dreadnautread⁠-⁠only

Пользователь

Отправить сообщение

Поддержка мультиязычности в веб-проектах — базовые варианты реализации

Время на прочтение4 мин
Охват и читатели57K

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

Полезные материалы для мобильного разработчика #48 (7-13 апреля)

Время на прочтение3 мин
Охват и читатели19K
Несколько отличных историй о разработке приложений из «первых рук», юридический ликбез для инди-разработчиков, гранты от Microsoft, рассказ о традиционном боковом меню, которое «унесло» половину пользователей – все это и многое другое в еженедельной подборке новостей из мира мобильной разработки.

Читать дальше →

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №104 (6 — 12 апреля 2014)

Время на прочтение5 мин
Охват и читатели37K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →

Справочник по уязвимости OpenSSL Heartbleed

Время на прочтение4 мин
Охват и читатели61K

Что может узнать атакующий


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

Уязвимость двусторонняя: если уязвимый клиент подключается к серверу злоумышленника, то злоумышленник может читать память процесса клиента. Пример уязвимых клиентов: MariaDB, wget, curl, git, nginx (в режиме прокси).
Читать дальше →

Топ-5 простых изменений, которые значительно увеличили конверсию

Время на прочтение4 мин
Охват и читатели29K
image

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

Расширение и компоновка директив

Время на прочтение4 мин
Охват и читатели18K
Про директивы много написано, но мало о том как писать их правильно. Поделюсь опытом.

Хорошо написанная директива должна
  • решать одну задачу
  • легко расширяться
  • не конфликтовать с другими директивами


Разберем каждый пункт на примере поля для ввода пароля (думаю, всем знакомо поле с глазиком)

image

<input ng-model="user.password"
       ng-minlength="6"
       form-password
       form-error="Не менее 6 символов">


Сколько директив используется?
Читать дальше →

Использование Skype API в С++

Время на прочтение3 мин
Охват и читатели23K
Не так давно понадобилась написать приложение которое бы автоматически отправляло сообщение по Skype определенному пользователю, который есть в списке контактов. Задача была не много сложнее, но дело не в этом. Решил написать маленькую статейку по использованию Skype API.
Читать дальше →

Пять вещей, которые нужно учесть, продумывая архитектуру интернет‑магазина

Время на прочтение6 мин
Охват и читатели38K
Не секрет, что заказчики не всегда заранее знают обо всём, что им потребуется от разрабатываемого программного продукта. Многие из них также не могут отличить такие нововведения, которые можно легко добавить в уже готовую систему от таких, которые необходимо либо предусмотреть с самого начала, либо сразу готовиться к значительным правкам существующего кода, сложным миграциям данных, и, соответственно, значительным затратам времени.

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

Давайте рассмотрим, что стоит сразу же учесть при обсуждении проекта интернет-магазина.
Читать дальше →

Анализ дружеских связей VK с помощью Wolfram Mathematica

Время на прочтение6 мин
Охват и читатели44K
Не так давно, в Москве прошел семинар Wolfram Research Эра технологий Wolfram, на котором рассказывали много интересного про одну из самых мощных и определенно самую удобную систему компьютерных исследований Wolfram Mathematica. В частности, были представлены результаты исследования данных социальной сети facebook научно-исследовательской группой «Конструктивная Кибернетика». А чуть ранее, я наткнулся на новые возможности Wolfram|Alpha по всестороннему анализу странички в facebook. И после всего этого, у меня засела в голове безумная идея: «Я хочу узреть граф дружеских связей той соцсети, в которой живу (а именно, ВКонтакте)». И я все-таки нашел время на то чтобы ее реализовать. Добро пожаловать под кат.
Читать дальше →

Атаки по времени — сказка или реальная угроза?

Время на прочтение4 мин
Охват и читатели35K
Первую статью на хабр хотел написать совершенно о другом, но в один прекрасный день коллега по работе решил заморочиться и сделать защиту от «Атаки по времени» (Timing attack). Не долго разбираясь в различных материалах на эту тему, Я загорелся и решил написать свой велосипед и покататься на нем по лаборатории поэкспериментировать.



Результат этого небольшого эксперимента под катом.
Читать дальше →

Cложности создания и издательства первого Android приложения

Время на прочтение6 мин
Охват и читатели26K
Какие трудности встретит молодой разработчик на этом пути?

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

В продолжении 7 подробных пунктов, на которые стоит обратить наибольшее внимание.
Читать дальше →

Неопределенное поведение в C++

Время на прочтение9 мин
Охват и читатели70K
Достаточно сложной темой для программистов на С++ является undefined behavior. Даже опытные разработчики зачастую не могут четко сформулировать причины его возникновения. Статья призвана внести чуть больше ясности в этот вопрос.

Статья является ПЕРЕВОДОМ нескольких статей и выдержек из Стандарта по данной теме.

Что такое «точки следования»?

Стандарте сказано:
Точки следования (sequence points)– такие точки в процессе выполнения программы, в которых все побочные эффекты уже выполненного кода закончили свое действие, а побочные эффекты кода, подлежащего исполнению, еще не начали действовать. (§1.9/7)


Побочные эффекты? А что такое «побочные эффекты»?

Побочный эффект (side effect) (согласно Стандарту) – результат доступа к volatile объекту, изменения объекта, вызова функции из библиотеки I/O или же вызова функции, включающей в себя какие-то из этих действий. Побочный эффект является изменением состояния среды выполнения.

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

Например:
Читать дальше →

Как быстро подготовить кроссплатформенное мобильное приложение. Часть 1: Adobe Phonegap + AngularJS

Время на прочтение9 мин
Охват и читатели51K
Каждый, кто встречался с девушкой (-ами), знает, как эти прекрасные создания любят комплименты в свой адрес. А у нас, мужского населения планеты Земля, не всегда хватает слов, чтобы выразить свои чувства или просто сказать что-то красивое. Понимание этой проблемы натолкнуло нас на создание очередного генератора комплиментов… самого простого, в идеале с одной кнопкой и текстом на весь экран.
В первой части я расскажу о целях, которые мы поставили (концепт приложения), и средствах достижения этих целей, которые мы избрали (Phonegap + Ionic + Restangular + Phonegap Plugin Magic). Этот пост будет полезен как начинающим, так и опытным разработчикам мобильного ПО.
Читать дальше →

Пластиковый револьвер: когда одного ствола мало

Время на прочтение1 мин
Охват и читатели70K
(ни один японец при съемках фильма не пострадал)
6 патронов, резинка, фунт пластика и японец с видеокамерой



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

Методы сбора данных для анализа эффективности контекстной рекламы при оффлайн-продажах

Время на прочтение4 мин
Охват и читатели10K
Для оценки эффективности контекстной рекламы, необходимо проводить исследования поведения клиентов на различных этапах покупки продукта. Одна из задач такого исследования — отследить путь клиента с момента показа объявления до совершения покупки. Если покупка совершается онлайн, то средствами веб-аналитики подобная задача решается достаточно просто. Но если покупки совершаются оффлайн, то возникают некоторые трудности.
Люди переходят по рекламе, попадают на Landing Page, затем совершают звонки и приезжают в офис. И вот, стоит у вас в офисе новый клиент, и вы понятия не имеете откуда он взялся и сколько рублей его визит стоил, по какому объявлению кликнул и т.п. Важнейшей задачей является учет обращений по источнику траффика (рекламные кампании, группы объявлений, поисковые системы и т.д.)
Читать дальше →

FormStamp − библиотека виджетов для AngularJS

Время на прочтение7 мин
Охват и читатели14K
AngularJS − это стремительно набирающий популярность JS-фреймворк, упрощающий разработку сложных и динамичных веб-приложений. Наша команда использует AngularJS в ряде проектов со сложным пользовательским интерфейсом, и в процессе работы мы остро ощутили нехватку хорошей библиотеки, предоставляющей набор единообразных виджетов, таких как datetime picker, select, multiple select и так далее. Конечно, нам было известно о проекте Angular UI, но некоторых виджетов, которые нам были нужны, AngularUI не предоставлял.

Кроме того, мы хотели иметь аналог рельсового form builder-а, но на фронтенде. Form builder позволяет программисту описать форму декларативно, беря на себя генерацию разметки и вывод ошибок.

Решением этих проблем стала разработанная нами библиотека FormStamp, которая предоставляет:
  • Form Builder − наивысший уровень для работы с формами, созданный по аналогии с генераторами форм из экосистемы Ruby on Rails;
  • набор виджетов, покрывающих 80% задач, встречающихся при работе с формами и не решаемых стандартными элементами HTML5;
  • низкоуровневые компоненты, позволяющие собирать новые виджеты.

При разработке в библиотеку были заложены следующие принципы:
  • все виджеты написаны с нуля с использованием директив AngularJS, что позволяет сократить код и сделать его более читаемым;
  • полная интеграция с AngularJS (поддержка ngModel, ngRequired...);
  • стилизация по умолчанию с помощью Bootstrap.

Читать дальше →

Поднимаем VPN-туннель из мира домой в обход NAT

Время на прочтение2 мин
Охват и читатели154K
.

Хочу рассказать вам про то как имея в интернете свой VPS-сервер можно поднять туннель в домашнюю сеть. И не платить при этом за статический IP провайдеру, и даже находясь за NAT, все равно сделать доступными в интернете свои домашние сервисы.
Читать дальше →

Оптимизируем LIMIT offset

Время на прочтение2 мин
Охват и читатели87K
Везде, где используется LIMIT offset для больших таблиц, рано или поздно начинаются тормоза. Запросы вида

SELECT * FROM test_table ORDER BY id LIMIT 100000, 30

могут выполнятся очень долго. Например, в моем случае, на одном из сайтов кол-во комментариев перевалило за 200к и постраничная навигация по комментариям начала ощутимо тормозить, а в mysql-slow.log все чаще стали попадать запросы с временем выполнения 3-5сек.
Читать дальше →

Дайджест интересных новостей и материалов из мира PHP № 38 (9 марта — 23 марта 2014)

Время на прочтение4 мин
Охват и читатели20K


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

Приятного чтения!
Читать дальше →

Поиск людей на фотографиях на Android с помощью OpenCV

Время на прочтение6 мин
Охват и читатели43K
Недавеча столкнулся с одной интересной задачкой для мобильного “коня” на Android’e- необходимо определить контуры людей на фотографиях (если таковы там были, естественно). После поиска в интернете, было решено использовать open source проект OpenCV, который может работать на платформе Android.

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


Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность