Pull to refresh
5
0
Рустам @RustamS

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

Send message

Работа веб-проекта в условиях нестабильного подключения

Reading time5 min
Views26K
Здравствуйте, меня зовут Александр Зеленин, я веб разработчик. Сегодня хочу рассказать, как могут работать сайты в условиях нестабильного подключения как и обещал. Проще говоря, что делать если отключили интернет, а деньги зарабатывать надо.

Рассмотрим 3 примера: интернет-магазин, кинотеатр и онлайн-плеер. Для магазина и кинотеатра так же идет разделение на 2 части — что делать на стороне пользователя и на стороне оператора/продавца.
Так что делать при потере коннекта?

PHP-Дайджест № 76 – итоги 2015 года, подборка интересных ссылок + конкурс от компании JetBrains

Reading time7 min
Views20K


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

Под катом вас также ждет конкурс с призами от компании JetBrains.
С наступающим Новым годом! Приятного чтения.
Читать дальше →

Как «одушевить» продукт? Леттеринг

Reading time4 min
Views34K


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

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

Существует много способов «одушевить» продукт: придумать зверюшку-символ, использовать образы людей, фотографии, иллюстрации. Я расскажу вам о леттеринге. Осторожно — много картинок!
Читать дальше →

Дайджест продуктового дизайна, декабрь 2015

Reading time12 min
Views10K
Уже пять лет я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-ноябрь 2015.

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

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №191 (20 — 27 декабря 2015)

Reading time7 min
Views28K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


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

Дайджест интересных материалов для мобильного разработчика #135 (21-27 декабря)

Reading time3 min
Views11K
В последнем дайджесте 2015 года история Сбербанка, песочница для Swift, конкурс игр Unity для Windows Store, конкурс приложений ВКонтакте, много аналитики. Ну а вообще – с Новым годом! Делайте хорошие приложения, не делайте плохих! :)

C наступающим!

Быстрый старт за 5 минут с Angular 2 beta

Reading time16 min
Views161K
Вашему вниманию предлагается перевод туториала «5 min quickstart» от команды Angular. Туториал описывает процесс создания «Hello World»-приложения на новом фреймворке Angular 2, который недавно получил статус «бета».

Давайте начнём с нуля и построим суперпростое приложение Angular2 на TypeScript.

Демо


Запуск работающего примера — это самый лучший способ увидеть, как оживает приложение на Angular 2.
Нажатие этой ссылки открывает новую вкладку, загружает пример в plunker и отображает простое сообщение:
My First Angular 2 App

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

bala.js — убийца jQuery в менее чем 400 символах кода *

Reading time6 min
Views43K
* Это шутка.

image
(картинка позаимствована где-то в интернете)

[ Репозиторий ]

Всем привет.

Уже давно прошли времена обязательной поддержки 6, 7, 8 Ослов и неизбежного использования jQuery, DOM API постепенно приводится к единому виду, но я всё так же часто встречаю на просторах интернета утверждения о том, что VanillaJS — это длинная колбаса.

Мол, зачем мне писать вот так:
document.querySelector('.selector');

Если я могу написать вот так:
$('.selector');

Я отчасти согласен с этим, потому что, периодически, необходимо выбирать элементы много раз в приложении. Приходится определять функции, делающую выборку, прямо в коде:

// selects one node matched given selector
function $(selector, ctx) {
	return (ctx || document).querySelector(selector);
}

// selects all nodes matched given selector
function $$(selector, ctx) {
	return [].slice.call((ctx || document).querySelectorAll(selector));
}

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

Open-source реализации отечественных криптоГОСТов

Reading time2 min
Views62K
На выходных решил поискать open-source реализации отечественных криптографических стандартов. Прежде всего интересовали новые: хэш-функция Стрибог (ГОСТ Р 34.11-2012), Кузнечик (ГОСТ Р 34.12-2015) и ЭЦП (ГОСТ Р 34.10-2012 или 2001 (без 512-бит) ). Старый ГОСТ 28147-89 специально не искал, поскольку найти его реализацию никаких проблем нет уже давно.
Итак, давайте посмотрим, что же получилось. Сразу предупреждаю, что корректность реализаций не проверял.
Читать дальше →

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

Reading time6 min
Views26K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


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

Вы можете не использовать инструменты

Reading time2 min
Views8K
Недавно я взял небольшую халтурку по улучшению сайта некоммерческого приюта для животных, расположенного в нашем городе. Существующий был сделан на старинной версии Microsoft FrontPage, поэтому все мои действия с ним по определению были улучшением.

Минут за 20 я сделал простой дизайн на HTML, а затем потратил несколько часов на его редактирование, переделку и улучшения. Итого, я уменьшил 25-страничный сайт до 8-страничного, который стал более дружественным.

Дальше мне сразу захотелось применить какой-нибудь новомодный инструмент. Генератор статических сайтов, CMS, Sass, решётки, ещё какие-то модные штучки…

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

Это инструменты, сделанные гиками для гиков. Зачем 8-страничному сайту CMS? Зачем вообще заморачиваться Sass? Старый добрый CSS прекрасно со всем справится.
Читать дальше →

Дайджест интересных материалов для мобильного разработчика #133 (7-13 декабря)

Reading time3 min
Views12K
На этой неделе мы обсуждали различия PhoneGap и Cordova, модерацию Роскомнадзором магазинов приложений, разработку для Apple TV, отказ Mozilla от Firefox OS, тренды 2016 года и многое другое. Добро пожаловать в новый дайджест!

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

Как научить полиглота новому языку?

Reading time14 min
Views33K

Интервью с Дмитрием Петровым


Интервью с известным психолингвистом, полиглотом, синхронным переводчиком, теле- и радио-ведущим, создателем уникальной системы изучения иностранных языков, Президентом Центра Инновационно-Коммуникативной Лингвистики, учителем с большой буквы и отличным собеседником. Дмитрий Юрьевич научил меня базовому уровню 4 иностранных языков, а я попытался приоткрыть перед ним дверь в увлекательный мир программирования. В конце статьи специальный презент для ГИКов и маглов →.


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

Как ботаники заведения автоматизируют

Reading time8 min
Views27K
image

Привет, Хабр. Прошло почти 2 года после моего последнего поста. Очень рад, что он оказался для многих полезным. За эти 2 года мы сделали очень многое. И мне хотелось бы поделиться опытом и своими впечатлениями.

С 20 заведений-клиентов из одной страны мы выросли почти до 4 000 из 12 стран. Наша команда выросла в 5 раз. Открыли офис в Москве и Варшаве. Выпустили приложение, помимо iOs и Web, еще на Android и Windows. Значительно увеличили функционал. Перевели Poster на 5 языков. За последний квартал приняли участие в 3-х международных выставках. Тесно дружим с такими компаниями как Epson, Microsoft, Intel. За нами пристально следят несколько крупных инвесторов. Европейская компания предложила нам поглощение.

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

Нейросеть на Python, часть 2: градиентный спуск

Reading time16 min
Views60K
Часть 1

Давай сразу код!


import numpy as np
X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
alpha,hidden_dim = (0.5,4)
synapse_0 = 2*np.random.random((3,hidden_dim)) - 1
synapse_1 = 2*np.random.random((hidden_dim,1)) - 1
for j in xrange(60000):
    layer_1 = 1/(1+np.exp(-(np.dot(X,synapse_0))))
    layer_2 = 1/(1+np.exp(-(np.dot(layer_1,synapse_1))))
    layer_2_delta = (layer_2 - y)*(layer_2*(1-layer_2))
    layer_1_delta = layer_2_delta.dot(synapse_1.T) * (layer_1 * (1-layer_1))
    synapse_1 -= (alpha * layer_1.T.dot(layer_2_delta))
    synapse_0 -= (alpha * X.T.dot(layer_1_delta))

Часть 1: Оптимизация


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

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

Как правильно пасти котов. История построения системы контроля и учета рабочего времени для ИТ-компании

Reading time9 min
Views19K

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

Ещё раз про семь основных методологий разработки

Reading time8 min
Views1.1M
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


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

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

Reading time7 min
Views24K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


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

Дайджест интересных материалов для мобильного разработчика #132 (30 ноября-6 декабря)

Reading time3 min
Views10K
На этой неделе главная новость – публикация Apple исходного кода Swift. Кроме того Google назвал лучшие игры и приложений 2015 года, Perk купил Corona Labs, «Яндекс» сделал клавиатуру для iOS, а Госдума предложила ввести НДС для покупок в магазинах приложений. Все это и многое другое в новом дайджесте!

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

Проектирование в PostgreSQL документо-ориентированного API: Полнотекстовый поиск и сохранение многих документов(Часть 2)

Reading time5 min
Views10K
В первой части этой серии статей, я создал хорошую функцию сохранения, равно как и другую функцию, позволяющую создавать изменяемые документо-ориентированные таблицы на лету. Они работают исправно и делают именно то, что надо, но мы можем сделать еще многое. Особенно: я хочу полнотекстовый поиск, индексируемый на лету и сохранение многих документов внутри транзакции.

Давайте сделаем это.
Читать дальше →

Information

Rating
Does not participate
Location
Казахстан
Registered
Activity