Pull to refresh
-2
0
webportal @webportal

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

Send message

Обзор Windows­-приложений для наведения порядка в фотоархивах

Reading time9 min
Views256K
Задавшись вопросом найти все фотографии близкого человека, или разбирая фотки из похода, турпоездки и т.д. мы часто начинаем мониторить папки на компьютере. Однако, уже спустя час-другой многие бросают эту затею, пройдя меньше половины фотоархива и устав от поиска ненужных снимков среди сотен «Новых_папок_222» и десятков «DCIM».

image

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

Революция дата-байндинга с Object.Observe()

Reading time17 min
Views38K

Введение


Грядет революция. Появилось новое дополнение к JavaScript, которое изменит всё, что вы когда-либо знали о дата-байндинге. Помимо этого, изменится и подход ваших MVC библиотек к наблюдениям за редактированием и обновлением моделей. Вы готовы?

Хорошо, хорошо. Не будем тянуть. Я рад вам представить Object.observe(), который появился в бета версии Chrome 36. [ТОЛПА ЛИКУЕТ]

Object.observe() является частью следующего ECMAScript стандарта. Он позволяет асинхронно отслеживать изменения JavaScript объектов… без использования каких-либо сторонних библиотек, он позволяет наблюдателю отслеживать изменения состояния объекта во времени.
Читать дальше →

Switch to Sketch. Часть 1

Reading time10 min
Views144K


О программе Sketch я узнал еще год назад. Скачал демо тогда еще 2-й версии. Признаться, она меня совершенно не впечатлила. Какой-то слишком простой показалась. Я привык к навороченным интерфейсам софта от Adobe, а расположение панелей в стиле Apple iWork (Pages, Numbers, Keynote) мне по какой-то причине не нравится. К тому же мне оказалось комфортнее работать с темным интерфейсом, каковой нынче есть в Photoshop CC. Плюс Sketch 2 был достаточно кривоватый, содержал немало досадных багов, да и вообще впечатления не оказывал скоростью работы. В общем, поигрался с демкой и благополучно забыл. Впрочем, оказалось, что зря…

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

Изучение TDD через интенсивную практику

Reading time11 min
Views27K
Примечание от переводчика: мой опыт знакомства с разработкой через тестирование во многом схож с тем, что описывает автор (хотя и начался на несколько лет позже). Я начинал изучать TDD самостоятельно, на работе, исправляя баги и создавая новые модули с нуля. Эффект от применения TDD произвёл на меня настолько мощное впечатление, что породил желание делиться умением применять эту технику с другими. Я также проводил Code Retreat-ы внутри и вне своей компании. И я вижу те же проблемы в своих тренингах — очень сложно взять и «впихнуть» понимание сути TDD в чужие головы.

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


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

TL;DR?


Многие сторонники TDD рекомендуют подход под названием «интенсивная практика», но я догадываюсь, что у Вас не будет возможности тратить много рабочего времени на практику. Я советую людям «применять TDD осознанно», но до сих пор не знал хорошего способа достаточно доступно объяснить смысл этих слов, что снижало ценность моего совета. Вы можете начать применять оба подхода (интенсивный и осознанный) одновременно, если начнёте исправлять баги через тесты. Даже если Вы до сих пор не умеете проектировать софт на экспертном уровне, то, по крайней мере, Вы уже можете учиться как эксперт. И исправление багов через тесты даст Вам естественную и не слишком рискованную возможность делать это. У Вас будет возможность практиковаться в TDD усердно и осознанно. Если у Вас есть возможность исправлять баги на работе в одиночку, то Вы можете использовать эти практики, не привлекая лишнего внимания, которое обычно возникает при разговорах об «интенсивной практике». Просто говорите всем, что Вы исправляете баги. Это всем понравится.

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

Подробности

Обновился HTTP/1.1

Reading time1 min
Views33K
Вот так неожиданно, через 15 лет после начальной публикации, обновилась спецификация HTTP/1.1
Обновлений много, я бы даже сказал, дофига. Добавили много проясняющего текста, разбили спецификацию на 6 RFC (раньше было 2), добавили новый статус 308, стандартизировали X-Forwarded-For (теперь он просто Forward), и еще много всего.

Неполный спискок изменений:
  • Новый статус 308 — Permanent Redirect, но с отправкой этих же самых данных. Т.е. запрос не меняется на GET, как раньше.
  • Новый заголовок Forward, который призван заменить X-Forwarded-For и X-Forwarded-Proto
  • Убрано ограничение на 2 подключения к серверу
  • Убрана поддержка HTTP 0.9
  • Убрана кодировка ISO-8859-1 по умолчанию
  • Убран заголовок Content-MD5
  • Запрет использования Content-Range на POST-запросах
  • Добавлено кеширование кодов 204, 404, 405, 414 и 501
  • Изменена документация кодов 301 и 302 таким образом, чтобы позволить перенаправлять метод с POST на GET. Т.е. задокументировали текущую реализацию всех браузеров.
  • Добавлены разграничения между запретом отправки referer и случаем, когда referer нет. Теперь следует отправлять Referer: about:blank, если referer-а не было.
  • Location теперь может перенаправлять на ссылку с хештегом.
Читать дальше →

Темная сторона мобильного трафика

Reading time6 min
Views150K
Специально для Хабра мы взяли интервью с представителем “темной стороны” рынка мобильного трафика.
“Вы считаете, что работая с CPA агентствами вы приобретаете хоть сколько нибудь живой трафик? Вы верите в модель CPI? Угадаете долю живого трафика в подобных сетях? На самом деле, доля “серого” трафика намного больше, чем Вы могли подумать."
Интересно?
image
Перейти на темную сторону

30 полезных сервисов для веб-разработчика

Reading time2 min
Views163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →

Нужно больше Landing Page

Reading time3 min
Views8.6K
image Landing Page — один из самых обговариваемых и используемых способов рекламы и взаимодействия с покупателем. Огромная популярность подхода вызвала шквал публикаций, в результате которых возникло множество домыслов, неточностей и откровенно неверной информации. В том числе, бытует мнение о том, что достаточно одной целевой страницы. При этом они упускают из внимания тот факт, что набор продуманных лэндингов позволяет диверсифицировать направления из продвижения и охватить большую аудиторию пользователей.

Каждая новая страница – это еще одна возможность быть найденным в поисковике, шанс продать продукт и заполучить клиента. Только не стоит увлекаться, между «много» и «достаточно» огромная разница.
Читать дальше →

Аттестация программистов: наш опыт

Reading time4 min
Views41K


Дисклеймер: если после прочтения этого текста вы захотите внедрить KPI для программистов — сходите прочитать еще и это.

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

Итак, какие цели преследует аттестация.
Читать дальше →

Git: за пределами возможного

Reading time8 min
Views25K

Глава 1



Все началось с того, что мне подарили PipBoy. Очень удобная вещь: захотелось пиццы — набрал команду callPizza() и вот уже курьер везёт тебе горячий круг! «Как здорово!» — думал я.
Недавно я устроился на работу в должности программиста. Коллеги мне сразу стали расхваливать систему контроля версий Git. Ну что ж. Раз говорят, что хороший — нужно читать про него. Прочитав первую книгу, в голове был полный сумбур. Я решительно ничего не понимал. «Что за бабуйня такая? Для чего вообще это нужно?» — показалось мне.
После тяжёлого трудового дня я направился домой. Был тёплый августовский вечер, во дворе играли детишки. У каждого из них на руке был свой PipBoy. Насколько же проникли технологии в нашу жизнь. Ведь совсем недавно ничего этого не было, а первые образцы стоили сотни тысяч долларов. А вот теперь почти у каждого на руке! Погрузившись в свои мысли, я вовсе не заметил, как из-за угла кто-то выехал на мотоцикле. Мчавшись на огромной скорости, он совершенно не замечал людей на дороге. А тем более во дворе.
Продолжение?

Баллада о продающих письмах

Reading time9 min
Views39K
В Facebook мне попался очень интересный пост «Баллада о продающих письмах» на странице Антона Гладкова. Не могу не поделиться этим с Хабром, так как материал считаю чрезвычайно полезным. Но для этого пришлось произвести рерайт, поскольку оригинал насыщен запрещенными здесь словами. Надеюсь безобидный овощ под холодец сможет хотя бы частично передать эмоции автора, не нарушая правил.



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

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

250 миллионов международных событий в одном месте

Reading time1 min
Views12K

Исследователь Кавел Литару, из Джордтаунского университета, собрал каталог из 250 миллионов событий произошедших в мире с 1979, который ежедневно обновляется и доступен каждому желающему кто хочет его изучить.

Каждая запись набора имеет 58 атрибутов. А сам набор делится на 300 различных категорий. На настоящий момент каталог имеет объем 100 Гб, а хостером является Goolge.
Читать дальше →

Почем нынче на рынке яблочки?

Reading time2 min
Views13K
Яблочный рынок приложений, или Apple App Store, потребляет и порождает деньги. Чем больше Вы вкладываете денег, тем выше отдача. Однако, заработанное не всегда больше потраченного. С недавних пор в моей голове вдруг сформировался типичный график потраченных/полученных средств.

image

Зеленая прямая — график потраченных денег. На что потраченных? На покупку траффика. В результате Ваше приложение выходит в ТОП100, ТОП25 или (ого!!) ТОП10 США и начинает приносить деньги. Красная линия — это заработанное. Если заработанное больше потраченного, то красная линия на графике выше зеленой и Вы отдыхаете на Гавайях, пересыпая между ладоней белый песок Вайкики.
-Чему равна точка Ж?,- спросит сообразительный читатель.

В 2011 году она равнялась 5000 долларов, этого хватало войти в ТОП10. Приложение приносило не менее 1000 долларов в день. Те времена ушли. Теперь в 2014 году надо потратить 50000 долларов, приложения из ТОП10 зарабатывают в день не менее 10000 долларов в день.

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

Как же определить показатель степени для Вашего приложения? Для этого не надо тратить 50000 долларов.
Ловко я Вас заманил под кат?
Читать дальше →

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

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

Intercooler.js


Кто нибудь помнит FullAjax — разработку Руслана Синицкого sirus (нынешний основатель Jelastic)? Вкратце это библиотека для работы с AJAX с помощью объявления определенных атрибутов у элементов, а подробнее об этом написано в постах «Прямые ссылки на AJAX веб-сайтах – наша технология Fullajax Direct Link», «Полный AJAX. Теория и Примеры. Фишки и Фичи» и «Fly AJAX — пишите меньше, имейте больше. Нестандартный AJAX и индексация поисковиками». Вернемся к Intercooler, это нечто похожее:

<div id="targetDiv">Results Div...</div>
<i id="indicator" style="display:none" class="fa fa-spinner fa-spin">
<input id="hiddenInput" type="hidden" name="hidden" value="42"/>

<div ic-trigger-on="click" ic-verb="POST" ic-src="/example" ic-include="#hiddenInput" ic-indicator="#indicator" ic-target="#targetDiv" ic-transition="none">
    Click Me!
</div>

После клика по div, отправляется POST запрос со значением поля с #hiddenInput, а в процессе будет отображаться #indicator. Ответ будет передан в блок #targetDiv. Разве не здорово?

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

Скретч 2.0

Reading time2 min
Views39K


На Хабрахабре неоднократно писали о великолепном графическом редакторе Scratch (Скретч) для программирования в интуитивно понятной визуальной среде. Здесь можно перетаскивать объекты мышью, устанавливать взаимодействия между ними, словно в конструкторе Lego. Рабочие программы собираются из разноцветных кирпичиков-команд.

Несколько дней назад разработчики из Массачусетского технологического института выложили на Github исходный код Скретч 2.0 под свободной лицензией. Этот код используется как основа для онлайновой и офлайновой версий Скретча.
Читать дальше →

Охотники на волков с Wall Street. Часть 3

Reading time6 min
Views20K

Изображение: Mark Finn — Unsplash

В первых двух частях нашей дискусси (1, 2) вокруг книги Майкла Льюиса «Высокочастотная революция на Уолл-стрит» мы обсудили отдельные моменты из главы о том, как трейдер из достаточно консервативного канадского банка начал работать на Wall Street. В ходе своего карьерного роста он добился ежегодного оклада в полтора миллиона долларов и возглавил крупный отдел из двадцати специалистов, но дальше все пошло не так гладко, как хотелось бы.
Читать дальше →

Потоковое интернет-видео на LG Smart TV

Reading time3 min
Views126K
image
Одним из самых распространенных неудобств, с которыми сталкиваются владельцы телевизоров LG, является невозможность просмотра видео с сайтов через встроенный браузер. В большинстве случаев видео просто «вылетает» через 30-40 минут. И хотя многие считают, что делается это специально, с тем, чтобы направить внимание пользователей на платный контент приложений LG Smart World, причина данной проблемы достаточно банальна и никакой конспирологии здесь нет.
Читать дальше →

Чеклист по оптимизации VPS на PHP/Mysql/Nginx

Reading time3 min
Views45K
Как обеспечить более высокую производительность VPS сервера, который работает на Nginx + PHP + Mysql? В этой статье приведен чеклист основных настроек, которые позволят существенно оптимизировать работу сервера. Настройка займет не более 10 минут и не требует ничего, кроме редактирования конфигурационных файлов.
Читать дальше →

Замолвим слово об отладке и профилировании [PHP]

Reading time5 min
Views40K
Все идет от лени. Вы получили чужой очень большой проект в котором нужно сделать небольшие правки, или же написали скрипт и сразу не очевидно, что в нем еще требует оптимизации. Как быть? Читать и анализировать код, выводить каждый шаг на экран или в файл (var_dump() и т.д.) не всегда эффективно, ведь можно воспользоваться средствами отладки, которых на сегодняшний день очень много. Кратко перечислю часто встречающиеся…
Читать дальше →

Information

Rating
Does not participate
Location
Набережные Челны, Татарстан, Россия
Date of birth
Registered
Activity