Pull to refresh
-4
0
Send message

Несколько интересностей и полезностей для веб-разработчика #33

Reading time5 min
Views53K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Walkway.js и Vivus.js




Вы видели этот великолепный лэндинг посвященный анонсу Sony PlayStation 4? Обратите внимание на анимацию SVG объектов состоящих из контуров. Они словно рисуются художником в режиме реального времени. Отныне этот эффект можно легко повторить с помощью Walkway и Vivus. Обе библиотеки максимально просты в использовании и применимы только для path элементов, поскольку принцип их работы основывается на взаимодействии с CSS свойством strokeDashoffset. Хоть и у Walkway значительно больше звезд на Гитхабе, зато Vivus предоставляет несколько вариантов отрисовки: Delayed, Async и OneByOne.

//Walkway
var svg = new Walkway('#test');

svg.draw(function() {
  console.log('Animation finished');
});

//Vivus
new Vivus('my-svg-id', {type: 'delayed', duration: 200}, myCallback);

Читать дальше →
Total votes 66: ↑52 and ↓14+38
Comments5

Дайджест интересных новостей и материалов из мира PHP № 51 (26 октября – 16 ноября 2014)

Reading time4 min
Views19K


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

Приятного чтения!
Читать дальше →
Total votes 61: ↑40 and ↓21+19
Comments44

Подборка интересных CSS рецептов «Голые пятницы #3»

Reading time4 min
Views49K
голые пятницы

Здравствуй, дорогой читатель хабра!
Сегодня мы поговорим о градиентных границах, режимах наложения, о том, как рациональнее сверстать стандартную иконку меню. А так же откроем для себя заново старое css-свойство visibility и рассмотрим новое медиа-выражение @Supports.
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments14

Создание универсального UIAlertController'а для различных версий iOS

Reading time7 min
Views14K
Одними из самых востребованных классов в UIKit до выхода iOS версии 8 являлись UIAlertView и UIActionSheet. Наверное, каждый разработчик приложений под мобильную платформу от Apple рано или поздно сталкивался с ними. Показ сообщений или меню выбора действий — это неотъемлемая часть практически любого пользовательского приложения. Для работы с этими классами, а точнее для обработки нажатий кнопок, программисту требовалось реализовывать в своем классе методы соответствующего делегата — UIAlertViewDelegate или UIActionSheetDelegate (если не требовалось чего-то сверх, то достаточно было реализовать метод clickedButtonAtIndex). На мой взгляд это очень неудобно: если внутри объекта создавалось несколько диалоговых окон с разными наборами действий, то их обработка все равно происходила в одном методе с кучей условий внутри. С выходом 8 версии iOS в составе UIKit появился класс UIAlertController, который пришел на смену UIAlertView и UIActionSheet. И одной из его главных отличительных черт является то, что вместо делегатов он использует блочный подход:

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Hello" message:@"Habr!" preferredStyle:UIAlertControllerStyleAlert];
    
    [alertController addAction:[UIAlertAction actionWithTitle:@"Action" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        // код обработчика кнопки
    }]];

Такой подход позволяет писать более структурированный и логичный код. Отныне программисту больше не требуется разделять создание диалогового окна и обработку событий — UIAlertController устраняет это недоразумение, но одновременно с этим привносит историческую несправедливость из-за невозможности использования в iOS 7 и более ранних версиях. Решить эту проблему можно несколькими способами:

  • Не обращать внимание на UIAlertController и продолжать использовать устаревшие UIAlertView и UIActionSheet.
  • Использовать нестандартные диалоговые окна. Программист либо пишет собственную реализацию, что приводит к увеличению временных затрат, либо подключает сторонние компоненты (например, SIAlertView), использование которых имеет ряд недостатков:
    1. программные модули с хорошей поддержкой можно пересчитать по пальцам (зачастую их создатели быстро забрасывают это неблагодарное дело);
    2. если в проекте используются несколько компонентов от разных разработчиков, то при их взаимодействии могут возникать проблемы (редко, но это возможно).

  • Проверять версию iOS и создавать либо UIAlertController, либо UIAlertView или UIActionSheet.

Последний вариант наиболее логичен, и большинство разработчиков, я уверен, выбрали бы именно его, но данный метод имеет существенный недостаток — условие проверки версии операционной системы придется писать каждый раз, когда потребуется отобразить диалоговое окно. Столкнувшись с этим на практике, я создал специальный класс-обертку UIAlertDialog, который позволяет забыть об этой проблеме.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments9

Ecmascript 6 — что можно использовать уже сейчас

Reading time4 min
Views60K


Примечание: статья расчитана в основном на не-Javascript программистов — иногда я буду вдаваться в объяснения достаточно основных вещей, но надеюсь будет полезна и тем, кто просто не успел ознакомиться с большинством нововведений ES6.

Как известно, стандарт Ecmascript 6 собираются опубликовать в июне 2015. Но так как многое уже имплементировано в современный браузерах, почему-бы не начать использовать это прямо сейчас?
Поскольку jsFiddle и аналоги ES6 не поддерживают, буду использовать es6fiddle для примеров. К сожалению, не все в нем можно показать из-за багов. При отсутствии ссылок на es6fiddle рекомендую копировать сниппеты кода в консоль современного браузера и выполнять их — для наглядности. Рекомендую крайний стабильный Firefox (версия 33 на момент написания статьи) — там все работает «из коробки».

Читать дальше →
Total votes 67: ↑48 and ↓19+29
Comments39

Тонкости nodejs. Часть I: пресловутый app.js

Reading time5 min
Views42K
Я работаю с node.js более трех лет и за это время успел хорошо познакомиться с платформой, ее сильными и слабыми сторонами. За это время платформа сильно изменилась, как, собственно, и сам javascript. Идея использовать одну среду и на сервере и на клиенте пришлась многим по душе. Еще бы! Это удобно и просто! Но, к сожалению, на практике все оказалось не так радужно, вместе с плюсами платформа впитала в себя и минусы используемого языка, а разный подход к реализации практически свел на нет плюсы от использования единой среды. Так все попытки реализовать серверный js до ноды не взлетели, взять тот же Rhino. И, скорее всего, node ждала та же участь, если бы не легендарный V8, неблокирующий код и потрясающая производительность. Именно за это его так любят разработчики. В этой серии статей, я постараюсь рассказать о неочевидных на первый взгляд проблемах и тонкостях работы, с которыми вы столкнетесь в разработке на nodejs.

Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments20

25 PHP-разработчиков, на которых можно подписаться

Reading time4 min
Views27K
Статья является переводом 25 PHP Developers to Follow Online.

Создание PHP фреймворков — это тяжелое занятие, но следить за их развитием и деятельностью коммиттеров в Твиттере — очень просто. Если вы захотите увидеть в какую сторону движется PHP-сообщество, что сейчас является трендом и какие инструменты применяются в передовых проектах, просто посмотрите, подпишитесь на этих людей.
Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments11

Астрономы впервые обнаружили сложные углеродные соединения в местах зарождения звёзд

Reading time2 min
Views22K
Охота на расстоянии в 27 тысяч световых лет принесла астрономам добычу в виде внезапного открытия молекулы на основе углерода — такой с ветвящейся структурой – в гигантском газовом облаке в межзвёздном пространстве. Словно обнаружив молекулярную иголку в стоге космического сена, астрономы задетектили радиоволны, испускаемые изопропилцианидом. Это открытие означает, что сложные молекулы, необходимые для зарождения жизни, могут иметь межзвёздное происхождение.


Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments25

Palo Alto Longevity Prize: миллион долларов за замедление процессов старения

Reading time3 min
Views52K


Как известно, не так давно корпорация Google основала дочернюю компанию Calico, которая занимается вопросами бессмертия, или, если проще, то «лечением старости». У Google и партнерских компаний (одна из них — фармацевтический гигант из Чикаго, корпорация AbbVie) достаточно финансов, чтобы поддерживать исследования любого масштаба и интенсивности. Сейчас размеры инвестиций в Calico составляют полтора миллиарда долларов США.

Тем не менее, на днях было объявлено еще об одном проекте по борьбе со старостью и смертью. Речь идет о премии Palo Alto Longevity Prize, размер которой — 1 миллион долларов США. О премии было объявлено в Сан-Франциско, и вручена она будет ученому или коллективу, кто сможет справиться с двумия намеченными вопросами (соответственно, за решение каждого вопроса ученый или коллектив получает по 500 тысяч долларов США).

Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments33

Как я попал в Google [перевод]

Reading time14 min
Views101K
image

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

Я пообещал что расскажу об этом, но всё как-то не выходило. Надеюсь, что ещё не поздно и кому-нибудь это покажется полезным. Я очень постараюсь обобщить тот опыт что я получил, всё произошедшее со мной и дать пару советов.

Ах, да, ещё кое что. Это не пособие о том, как получить работу в Google. Основываясь на моём опыте, я не думаю что подобное вообще существует. Я не буду описывать интервью в деталях (вы не узнаете, что за вопросы мне задавали), дабы не разглашать никакой конфиденциальной информации.

Основная цель этого текста — рассказ о моём личном опыте полученном в период «до-Google». Надеюсь, что это будет хоть немного полезному кому-нибудь из вас.
Читать дальше →
Total votes 71: ↑49 and ↓22+27
Comments40

Rosetta — ядро кометы уже близко

Reading time3 min
Views44K
Близится к кульминации многолетняя космическая экспедиция Rosetta. Этой осенью состоится уникальная посадка космического аппарата Philae на ядро кометы 67P/Чурюмова-Герасименко, а пока Rosetta с каждым днем приближается к комете и уже получает интригующую научную информацию.

20140515_Comet_on_30_April_zoom
Читать дальше →
Total votes 71: ↑67 and ↓4+63
Comments8

Как легализовать доход от Google AdSense для ИП

Reading time3 min
Views56K
Относительно недавно у Google AdSense появился новый способ выплаты, а именно — перевод средств на валютный счет в USD. Пока данный способ является экспериментальным и устанавливается по запросу в службу поддержки. Так уж получилось, что я стала участником эксперимента и расскажу о своем опыте перевода денег от гугл напрямую на ИП в России.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments58

Наглядно о том, почему я не беру кредиты

Reading time4 min
Views234K
Кредит — это когда банк вас грабит и вы ему за это ещё платите.
Пожарный Сидоров бездействовал: банк горел — кредит гасился.



Привет, Хабр!

Многие из вас, наверняка, слышали не раз подобные шутки про кредиты и ипотеку. Некоторые, наверное, не раз пользовались калькуляторами вкладов и кредитов, и оценивали выгодность того или иного способа накопления денег. Я тоже недавно заинтересовался этой темой, и подошёл к этой проблеме математически.
Читать дальше →
Total votes 123: ↑77 and ↓46+31
Comments283

Как нам улететь с Земли: краткое пособие для выезжающих за орбиту

Reading time5 min
Views138K
Недавно на хабре появилась новость про планируемую постройку космического лифта. Для многих это показалось чем-то фантастическим и невероятным, вроде огромного кольца из Halo или сферы Дайсона. Но будущее ближе, чем кажется, лестница в небо вполне возможна, и может быть мы даже увидим ее на своем веку.
Сейчас я постараюсь показать, почему мы не можем пойти и купить билет «Земля-Луна» по цене билета «Москва-Питер», как нам поможет лифт и за что он будет держаться, чтобы не рухнуть на землю.

С самого начала развития ракетостроения головной болью инженеров было топливо. Даже в самых современных ракетах топливо занимает где-то 98% массы корабля.
Если нам захочется передать космонавтам на МКС пакетик пряников массой в 1 килограмм, то на это потребуется, грубо говоря, 100 килограмм ракетного топлива. Ракета-носитель одноразовая, и на Землю вернется только в виде обгоревших обломков. Дорогие получаются прянички. Масса корабля ограничена, а значит и полезный груз на один запуск строго лимитирован. И каждый запуск требует расходов.
А если мы хотим полететь куда-то дальше околоземной орбиты?

Инженеры со всего мира сели и стали думать: каким должен быть космический корабль, чтобы увезти на нем больше, и долететь на нем дальше?

Читать дальше →
Total votes 111: ↑100 and ↓11+89
Comments215

Копи деньги смолоду или пара утверждений, легко проверяемых в Excel

Reading time2 min
Views210K
На хабре регулярно появляются посты, посвященные системам личных финансов. Системы эти бывают простенькие, навороченные, красивые и т.д. Но! Большинство из них почему-то напрочь игнорирует такую простую штуку как сложные проценты (простите за каламбур). А ведь это основа личных финансов.

Приведу два простых примера, иллюстрированных табличками в Excel. Для затравки вопрос: имеются два ровесника: Вася и Петя. Вася фрилансер и ему 22 года. Он начал откладывать по штуке долларов в год и откладывал их до 30 лет (всего 8 лет). Потом родился ребенок, с деньгами стало туговато и откладывать он больше не смог. Петя же наоборот, в начале карьеры откладывать не мог, но в 30 лет он стал тимлидером и наконец-то смог относить в банк по той же штуке ежегодно. Делал он это аккурат до выхода на пенсию, т.е. до 65 лет (итого 36 лет). Вопрос: у кого в 65 лет денег на счету больше? Правильный ответ: конечно же у Васи.
Читать дальше →
Total votes 87: ↑46 and ↓41+5
Comments340

Проверка идеи боем: fake landing page

Reading time6 min
Views37K

Основная проблема любой идеи стартапа — никто не знает, нужно ли это вообще кому-нибудь или нет. Готовы ли люди изменить своё поведение, свои привычки и начать пользоваться новым продуктом? И главное — готовы ли они за него заплатить?



Десятки-сотни тысяч стартапов ежегодно запускаются, не зная ответа на этот вопрос. Это понятно — никогда нельзя быть абсолютно уверенным в успехе нового бизнеса. Тем не менее, существуют несколько методов проверки идеи — и все они с разной степенью могут предсказать будущее продукта. Один из самых эффективных методов — это разработка fake landing page.



Начнем «раскручивать» термин с конца. Landing page («посадочная страница») называют страницу сайта, на которую пользователь переходит по нажатию на рекламное сообщение. Обычно на этой странице кратко и полно описывается суть продукта, а так же размещается action button, например «Зайти», «Начать», «Узанать подробнее». Цель landing page — «взять на руку» человека, пришедшего извне по рекламе, быстро и четко объяснить, что здесь происходит, и показать один путь, куда двигаться дальше. Переход же на главную страницу сайта, как часто делают многие рекламодатели, обычно является серьезной ошибкой — большое количество информации, которая понятна уже постоянному пользователю, пугает новичка — и даже не надейтесь, что он найдет раздел «О нас» или «Что это?».



С появлением приставки fake — фальшивый, ненастоящий — проявляется сакральный смысл всей идеи проверки будущего стартапа на реальности. Мы создаем landing page для еще несуществующего продукта, «пригоняем» траффик посредством рекламного объявления и проверяем, как ведут себя наши потенциальные клиенты. Итоговым результатом является четкий ответ — сколько из всех, кто в принципе заинтересован предложенной идеей (нажали на рекламное объявление) готовы стать вашими клиентами (нажали на кнопку «Зайти» на fake landing page).


Дальше - конкретные шаги по созданию fake landing page
Total votes 73: ↑66 and ↓7+59
Comments16

PCI DSS – как и зачем получать сертификат соответствия

Reading time7 min
Views92K
Привет, %username%!
Этот пост мы подготовили для тех, кто работает в сфере интернет-коммерции и планирует принимать (или уже принимает) платежи на собственном сайте. Мы расскажем о международном стандарте безопасности данных PCI DSS. Поговорим о его основных требованиях к информационной инфраструктуре, которая обеспечивает обработку и обеспечение безопасности данных банковских карт. Также мы рассмотрим основные причины прохождения сертификации и возможности, которые получает сертифицированная компания.
Подробности
Total votes 2: ↑1 and ↓10
Comments11

Кредит как способ финансового самоубийства…

Reading time3 min
Views3.4K
… или почему я против потребительских кредитов.
Раз пошла такая пьянка тема, полезно было бы осветить в данном «блоге тематических перепечаток» отношение к данным вопросам.

Начну с того, что для меня ипотека — такой же потребительский кредит, как и кредит на покупку холодильника. Только срок больше и сумма тоже.
Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments207

FAQ по программированию под Android от новичка, и для новичков

Reading time16 min
Views158K
Предисловие к FAQ.

Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
На данный момент выпущено 7 программ и две находятся в разработке.
Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

Надеюсь, что приведенные примеры окажутся полезными.
Читать дальше →
Total votes 114: ↑98 and ↓16+82
Comments23

Information

Rating
Does not participate
Location
Россия
Registered
Activity