Search
Write a publication
Pull to refresh
0
0
Вова Рудный @wova

User

Send message

Создаем эффективные стили для каруселей

Reading time9 min
Views12K
Эта статья не о дизайне эффективных каруселей, а об эффективном создании стиля. Другими словами, речь пойдет не о UI-дизайне, а о конструкциях CSS – смене элементов карусели, их позиционировании и размерах.

Зависимость от JavaScript с точки зрения взаимодействия, а не стиля

«Эффективная карусель» — это карусель, которая не зависит от JavaScript с точки зрения:

• отзывчивости
• содержания любого количества элементов
• отображения любого количества элементов
Читать дальше →

Создание объектов унаследованных от null на Node.js

Reading time4 min
Views12K
От переводчика: поприще переводчика для меня ново, по этому прошу вас не судить строго.

Когда-то, читав Принципы Объектно-ориентированного JavaScript за авторством Nicholas Zakas, я наткнулся на совет об использовании Object.create(), для создания объектов унаследованных от null. Такой объект не унаследует Object.prototype и, соответственно, не будет иметь его, Object.prototype, методов. Zakaz предположил, что это может быть использовано для создания безопасного объекта «cache». Мне очень понравилась эта идея, но в соответствии с MDN (Mozilla Developer Network), Object.create() не поддерживается до IE9, что делает этот метод более требовательным при использовании в браузере. Но в Node.js, на сервере, этот метод поддерживается полностью.
Читать дальше →

OAuth с использованием JWT на salesforce

Reading time7 min
Views26K

Общая информация по JWT потоку OAuth





JSON Web Token (JWT, произносится как английское слово jot) это зашифрованный JSON секюрити токен (security token), который делает возможной идентификацию и предоставление защищенного доступа к информации со стороннего домена.
Читать далее

Введение в fetch

Reading time5 min
Views311K

Прощай, XMLHttpRequest!


fetch() позволяет вам делать запросы, схожие с XMLHttpRequest (XHR). Основное отличие заключается в том, что Fetch API использует Promises (Обещания), которые позволяют использовать более простое и чистое API, избегать катастрофического количества callback'ов и необходимости помнить API для XMLHttpRequest.
Читать дальше →

Война символов, или что придет на смену яблоку

Reading time3 min
Views5K
Воображение, создающее аналогии или соответствия и передающее их образом, вот формула символизма.
Рене Гиль. Этюды о французских книгах


image

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

На цитаты давно разобрали и интервью Стива Джобса, и его презентации, и даже его манеру одеваться – вспомним о руководителе Xiaomi, которого пресса прозвала «китайским Джобсом», не в последнюю очередь из-за комплекта джинсы-черная футболка. Восхищение основателем Apple, которое после его смерти закономерно приняло облик культа, иногда мешает рассмотреть стадии становления гигантской корпорации и детально разобрать историю Apple на слагаемые успеха.
Читать дальше →

Создан открытый аналог Siri — Sirius, доступный по лицензии BSD

Reading time1 min
Views17K


Группа Clarity Lab, находящаяся в университете Мичигана, предлагает решение с открытым исходным кодом для персонального компьютерного помощника. Их программа распознаёт голос и ищет ответы на запросы, точно как делают Siri от Apple, Google Now от Google, и аналогичные решения от Microsoft и Amazon. Проект под названием Sirius умеет даже больше, чем его аналоги – например, ему можно предоставить картинку и задать по ней вопрос.

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

В поисках решения: как стать мистером Вульфом?

Reading time3 min
Views16K
Каждый хотел бы стать мистером Вульфом из “Криминального чтива”. Да лааааадно, по-честному! Люди или хотят быть мистером Вульфом, который приезжает за несколько минут и решает проблемы, или просто не смотрели “Криминальное чтиво”. Если вы не смотрели “Криминальное чтиво” — отложите чтение прямо сейчас, посмотрите “Криминальное чтиво” товарища Квентина Тарантино и потом вернитесь к письму. А если смотрели, то вы точно хотите так же быстро и офигительно эффективно решать проблемы.

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

Смотрите, все же просто: если ты понимаешь что надо сделать — это называется задача. Если ты не знаешь как решить поставленную задачу, а решить надо — это становится проблемой. И мы ищем решение проблемы. Если нет ресурсов на поиск способа решения — это кризис. Между задачей и кризисом, которые являются краями кривой распределения, есть процентов 80% ситуаций, которые можно отнести к проблемам. Мистер Вульф просто умеет решать ситуации, которые для многих станут кризисом, если их не решать. Он делал что-то особенное? Управлял временем? Отменял случившиеся события? Правил матрицу? Да, вроде, нет. Он просто явно понимал что надо делать в ситуации, в которой другие не понимают. Крут? Безусловно. Талантлив? Скорее всего. Можно ли этому научиться? Да.

image
Почему мы не любим тех, кто нам дает советы?

О роли CTO (главного инженера / технического директора)

Reading time3 min
Views35K
Меня часто просят определить роль СТО, и я решил поделиться своими мыслями по этому вопросу.

Начнём с того, кем СТО не является.

1) СТО – это не инженер. Это не верхушка технологической карьеры, не естественная позиция на пути роста инженера. Это позиция не для тех людей, которым нравится кодить, проектировать архитектуру и разрабатывать технический дизайн.

2) Из первого пункта следует, что СТО не обязательно будет лучшим инженером компании.

Так кто же такой СТО, если не лучший кодер и не венец карьеры инженера?
Читать дальше →

Мигрируем на HTTPS

Reading time5 min
Views125K
В переводе этого документа описываются шаги, которые необходимо предпринять для перевода вашего сайта с HTTP на HTTPS. Шаги можно выполнять с любой скоростью – либо всё за день, либо один шаг за месяц. Главное, делать это последовательно.

Каждый шаг улучшает ваш сервер и важен сам по себе. Однако, сделать их все – обязательно для того, чтобы гарантировать безопасность вашим посетителям.
Читать дальше →

Хостинг на AWS (EC2, EBS, S3) для чайников

Reading time4 min
Views139K
На хабре уже проскакивали периодически заметки посвященные AWS (Amazon Web-Services) — так что тема не новая. Однако, если для меня лично (да и для многих моих знакомых как выяснилось) — этот термин был знаком — однако каких-либо деталей я не знал. Попробую на основании только-что полученного опыта рассказать немного подробней, а так же изложить основные шаги по организации хостинга сервера на AWS и его преимущества. Как и несколько ссылок, которые могут оказаться полезными.
image
Читать дальше →

Настраиваем Amazon Elastic Load Balancing: с email forwarding-ом и редиректами

Reading time4 min
Views8.8K
image

Время релиза моего проекта выходного дня приближалось. Мобильные приложения были загружены в магазины приложений и мы ждали ответа от Apple, поскольку проверка в Google Play проходит довольно быстро и безболезненно. Весь код серверного приложения был уже написан, делать было нечего, а свободного времени было около недели. Я подумал, что неплохо было бы заранее обзавестись load balancer-ом, чтобы в будущем не тратить много времени на его настройку, да и к тому же настройка после релиза наверняка привела бы к тому, что сервер какое-то время перестал бы обслуживать пользователей. Для хостинга серверов мы использовали Amazon EC2, поэтому и load balancer выбрали амазоновский — Amazon Elastic Load Balancer (ELB).
Читать дальше →

Freemium против Free: почему мы избавились от бесплатной подписки

Reading time5 min
Views24K
image

Выйдя из состояния бета-версии, в нашем стартапе Trak.io мы приняли непопулярное решение: убрали бесплатную подписку и заменили её подпиской за $9/мес.

Я хочу объяснить причины, по которым это было сделано, и почему мы думаем, что это наилучшее решение как для компании, так и для клиентов.

Надеюсь, другие основатели SaaS-компаний найдёт для себя нечто полезное и дважды подумают, прежде чем начать работу по системе Freemium. Если не продумать всё хорошенько, вы просто-напросто будете раздавать свой продукт бесплатно.
Читать дальше →

100 ресурсов для технологических предпринимателей

Reading time4 min
Views49K


На сегодняшний день существенное внимание уделяется советам для тех, кто занимается технологическими стартапами, но в большей степени нам бы пригодились ресурсы, сервисы и все, что помогает создавать, продавать и развиваться. Именно в этом и заключается суть нашей (дополненной и адаптированной) подборки – никаких советов, только инструментарий.
Читать дальше →

Использование npm для глобальной установки приложений, наделённых GUI и основанных на nw.js

Reading time4 min
Views20K
Команда «npm install» в менеджере пакетов npm чаще всего употребляется для локальной установки зависимостей некоторого модуля, совершаемой в его подкаталоге «/node_modules».

Однако возможен и запуск этой команды с ключом «-g» (от слóва «global»). Он обеспечивает установку указанного ей пакета в некоторое глобальное (то есть общее для всей системы) место. Кроме того, в PATH (для последующего запуска из любого желаемого каталога) оказывается прописанною та команда, которая была указана в свойстве «"bin"» в файле package.json у установленного пакета.

Таким общим местом, согласно документации, под Windows служит подкаталог «/node_modules» в каталоге установки Node. В остальных же системах таким общим местом чаще всего оказывается каталог «/usr/local/lib/node_modules» (тогда как Node там устанавливается в каталог «/usr/local/bin»).

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

  • Команда «npm install jshint -g» обеспечивает появление в PATH команды «jshint», служащей для запуска JSHint.
     
  • Команда «npm install browserify -g» обеспечивает появление в PATH команды «browserify», служащей для запуска Browserify.
     
  • Команда «npm install less -g» обеспечивает появление в PATH команды «lessc», служащей для запуска Less.js.

Однако на CLI (на командной строке) свет клином не сошёлся — и читателям Хабрахабра должно уж вполне быть известно, что приложение на языке JavaScript, употребляющее API Node.js, можно снабдить и GUI (графическим интерфейсом пользователя), сочинённым на языках HTML и CSS. Для этого придётся и запускать такое приложение вместо Node на том движке, который до прошлого года назывался node-webkit, а в нынешнем (2015) году оказался 14 января переименованным в nw.js.

Ваши GUI-приложения также могут глобально быть установлены в системе из npm-пакета при помощи npm. Давайте поговорим об этом.

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

Некоторые тонкости работы с Github и NPM — со вкусом ES6

Reading time10 min
Views21K
Здравствуйте, меня зовут Александр, и я пишу велосипеды по выходным программист.



В нашем клубе анонимных велосипедостроителей считается особым шиком не только сотворить очередной шедевр, но и поделиться им с сообществом. Так как существует просто огромное количество статей о том, как выложить проект на Github или npm, я не буду в 100500 раз пересказывать одно и то же.

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

22 photoshop-плагина для фронтенд-разработчика

Reading time2 min
Views74K
Предлагаю читателям «Хабрахабра» подборку 22 дополнений (скриптов) помощников, необходимых фронтенд-разработчику.

Hexy


Hexy

Печально выбирать слои в макете и каждый раз запускать палитру цветов только для того, чтобы получить шестнадцатиричное значение того или иного цвета. Hexy позволяет использовать инструмент «Пипетка»: нажмите на цвет объекта и скопируйте его непосредственно в буфер обмена.
Читать дальше →

Верстка email рассылок от А до Я для чайников

Reading time9 min
Views414K
Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
Читать дальше →

Количественные CSS селекторы

Reading time7 min
Views94K
Вам когда-нибудь хотелось прямо в CSS коде посчитать, в меню 4 элемента или 10? Для четырех задать им ширину по 25%, а если набралось десять — прижать их друг к другу и уменьшить отступы?
Как выяснилось, CSS умеет работать с разным количеством элементов, позволяя избавиться от головных болей и лишнего кода на js.


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

10 отвратительных практик найма, или Как распугать лучших соискателей

Reading time6 min
Views34K
Переведено в Alconost.

Если бы вы были главой компании и вам понадобилось бы нанять пару человек, как бы вы подошли к этому? Вы, конечно же, начнете с тщательного обдумывания, что же вам нужно от новых сотрудников. И составите дружественное, привлекательное объявление о вакансии.

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

Когда резюме начнут поступать, каждое из них вы удостоите приветливого и человечного ответа. Слава технологиям, это стало простой задачей еще 35 лет назад! Вы проведете интервью с несколькими кандидатами и отправите вдумчивое «Нет, спасибо» остальным.

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

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

Это очень серьезно, и к каждому, кто ответил на объявление, я буду относиться как к ценному партнеру — ведь именно таков каждый из них!»

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

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

3 лучших инструмента для описания RESTful API

Reading time3 min
Views123K

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity