Search
Write a publication
Pull to refresh
7
0
Владимир @Arkham

Web-программист

Send message

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Reading time14 min
Views347K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →

Java по-русски. Часть первая: Книги

Reading time2 min
Views497K
Не так давно я проводил опрос «Какие материалы о Java вас интересуют на русском языке?» среди посетителей Хабра. Вторым этапом моего исследования будет обзор существующих русско-язычных ресурсов.

Книги


За 2009 на Ozon.ru можно найти 8 книг по Java (всего за последние 3 года их вышло 22 — примерно по 7 в год, на books.ru набор примерно такой же, так что наша выборка довольно репрезентативна). Посмотрим, что это за книги?
Читать дальше →

Заблуждения программистов относительно времени

Reading time3 min
Views92K
За последние пару лет я потратил много времени на дебаггинг чужих тестов. Это была интересная работа, иногда расстраивающая, но всегда поучительная. Кто-то может подумать, что в тестах нет багов, но конечно баги есть везде, и тесты не исключение.

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

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

Как хотел срубить бабла с корпорации добра

Reading time3 min
Views26K
У меня чудесная IT работа в русской провинции.
К тому же приличная зарплата. Даже по столичным меркам.
image
Несмотря на это, перед сном я мечтаю. Среди алчных мечт — получать какие-нибудь небольшие деньги за ничего-не-делание.
Ну, чтобы я спал, а денежка шла.
Доллар за день.
И доллар за ночь. Глядишь, за год можно положить под елку очередному сыну очередной iPad (=365*2$).

Понятно, для осуществления мечты нужно иметь Xcode+iPhone. Или Eclipse+Droid. Или VS+Mozart.
Мечты сбываются.
Но не сразу.

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

Создание игры на Java без сторонних библиотек, часть первая

Reading time4 min
Views279K


Введение и подготовка



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

Почему Java?

Ничего объективного я тут не скажу, а скажу лишь то, что я люблю этот язык, и мне нравиться писать на нем. Да, на Java нет игр AAA-класса, но Java предоставляет огромные возможности, больше кол-во встроенных средств и быстроту написания кода.

IDE

Начнем с выбора IDE. Я являюсь фанатом Eclipse и посоветую вам его.
Если же почему-то вам он не понравился, вы можете использовать NetBeans, Intellij IDEA или командную строку и ваш любимый редактор.

JDK

И скачаем JDK последней версии: JDK 7u4

Скорее всего проблем с установкой IDE у вас не возникнет, а если у вас 64-битная система, все же посоветую устанавливать 32-битный Eclipse, так как иногда бывают ошибки и Eclipse у вас просто не запустится.

Под катом мы приступим к созданию игры.
Читать дальше →

Принцип цикады и почему он важен для веб-дизайнеров

Reading time6 min
Views236K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →

Разработка под iOS: 60% (или больше) приложений не отбивают затраты

Reading time5 min
Views41K
От переводчика: Это полный перевод статьи Ars Technica, малая часть которой была приведена вчера многоуважаемым alizar. Нам кажется, что в ней содержится много интересных фактов, упущенных в кратком изложении.

Нет недостатка в историях об одиноких разработчиках, которые разработали приложение для iPhone или iPad и заработали ошеломительный успех. Но в реальном мире большинство разработчиков мобильных приложений не выходят на точку безубыточности, говорит последнее исследование маркетинговой фирмы App Promo. Хотя методология исследования немного приукрашивает картину, многочисленные разработчики, с кем мы говорили, описали результаты — 59% приложений не приносят прибыли, а 80% разработчиков не могут поддерживать бизнес только на приложениях — как довольно точные.

Большие ожидания



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

«В течение лет я вижу как заметность приложений, над которыми я работаю, заметно снижается», — говорит разработчик Пат МакКаррон. «Прямо сейчас ваше приложение никогда не будет замечено, если вы не попадете в список Топ-100 или Топ-200. Пользователи не хотят вечно листать вниз для поиска вашего одинокого приложения в конце списка».

Пол Кафасис из Rogue Amoeba согласен с тем, что App Store все больше становится лотереей, давая меньше шансов преуспеть маленьким разработчикам по сравнению с зарекомендовавшими себя компаниями.

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

Как правильно сортировать контент на основе оценок пользователей

Reading time5 min
Views93K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


Вы занимаетесь веб программированием. У вас есть пользователи, которые оценивают контент на вашем сайте. Вы хотите разместить высоко оцененный контент наверху, а низко оцененный — внизу. Для этого на основе пользовательских оценок вам нужно вычислить некий «рейтинг».

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

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

Как Булгаков помогает изучать расстановку запятых – сайт для повышения грамотности

Reading time4 min
Views23K
Большинство из нас проходили русский язык. Но, так как это происходило в переходном возрасте, мы проходили его мимо. Кто-то в это время работал, кто-то занимал первые места на спортивных соревнованиях, кто-то играл на приставках, а большинство вкладывали всё своё доступное время в общение с компьютером.
Социальная сеть Ковчег. Автор Вецель Евгений
Именно поэтому мы не всегда грамотно пишем, показывая себя не с лучшей стороны. Несмотря на то, что я умею программировать, мне с трудом удаётся понять алгоритм расстановки запятых (такое ощущение, что эти правила специально запутали).

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

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

Как умирал стартап

Reading time7 min
Views1.7K
Введение:
Где-то полтора года назад столкнулся в проекте с рядом проблем, которые решить традиционным способом не получалось.

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

Представления (VIEW) в MySQL

Reading time10 min
Views482K
В комментариях Хабра упоминались вопросы по использованию представлений. Данный топик является обзором представлений, появившихся в MySQL версии 5.0. В нем рассмотрены вопросы создания, преимущества и ограничения представлений.

Что такое представление?


Представление (VIEW) — объект базы данных, являющийся результатом выполнения запроса к базе данных, определенного с помощью оператора SELECT, в момент обращения к представлению.

Представления иногда называют «виртуальными таблицами». Такое название связано с тем, что представление доступно для пользователя как таблица, но само оно не содержит данных, а извлекает их из таблиц в момент обращения к нему. Если данные изменены в базовой таблице, то пользователь получит актуальные данные при обращении к представлению, использующему данную таблицу; кэширования результатов выборки из таблицы при работе представлений не производится. При этом, механизм кэширования запросов (query cache) работает на уровне запросов пользователя безотносительно к тому, обращается ли пользователь к таблицам или представлениям.
Читать дальше →

Unbiased rendering (рендеринг без допущений)

Reading time7 min
Views54K
В компьютерной графике, рендеринг без допущений относится к технике рендеринга, которая не вносит в расчет систематических ошибок, предположений или погрешностей. Изображение получается таким, каким должно быть в природе, а рендер не имеет настроек качества поверхностей либо источников света.


Изображение отрендерено с помощью Maxwell Render.

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

Яндекс.Пробки. А туда ли вы едете?

Reading time4 min
Views55K
В прошлой статье была затронута тема информационной безопасности такой крупной компании, как Google.
Настало время посмотреть в сторону отечественного производителя, а именно, компании Яндекс и её сервиса карт.
С чего все началось. Стоял я, значит, как-то в пробке и думал, что заставляет всех людей ездить теми или иными маршрутами. Ответ очевиден: много чего.
Однако не последнюю роль определенно играет наличие пробок и разного рода дорожных ситуаций (ДТП, ремонт полотна, камеры).
Кроме того, эти факторы учитывают и все современные навигаторы при прокладке маршрута.
Что ж, попробуем повлиять на дорожную обстановку, хотя бы виртуально…


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

Простой parallax эффект для промо-сайта

Reading time1 min
Views26K
В последнем проекте который состоял всего из одной странички, потребовалось реализовать простой эффект, суть которого лучше понять на примере #1 и #2.

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

Ломаем банк в стиле smash the stack!

Reading time7 min
Views52K

Не только XSS…


Последнее время многие обращают внимание на уязвимости ПО, используемого в банковском секторе: в частности, недавно прошумела новость об уязвимостях класса XSS на веб-сайтах различных банков. Общественность негодует, и СМИ шумят. Но ведь банки богаты не только веб-составляющей. Начиная с конца 2000-х я собирал уязвимости в модулях ActiveX, которые банки гордо раздают своим пользователям, а именно клиентам системы дистанционного банковского обслуживания (ДБО). Раз в год я брал одну или две системы и ковырял их. Начиная просто так, любопытства ради (начал это дело, еще будучи сотрудником банка) и продолжая уже из исследовательского интереса. В итоге за 3–4 года я выявил уязвимости в системах от таких производителей, как BSS, Inist, R-Style, ЦФТ. Под катом находится информация об одной такой уязвимости. Большая часть описания уделена созданию простенького эксплойта для выполнения произвольного кода на стороне клиента (Windows7, IE +DEP/ASLR). Возможно, это будет полезно тем, кто хотел бы понять принципы эксплуатации старых ‘strcpy’ багов и создания ROP-эксплойтов.


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

Новые смайлы в Skype 5.5

Reading time1 min
Views88K
В дополнению топика Скрытые смайлы в Skype допишу новые смайлы которые появились в обновленном скайпе версии 5.5

Итак, вот они:

image «это провал» или «о нет» = (facepalm) или (fail)
image«работаю из дома» = (wfh)
image«скрестил пальцы» (на удачу) = (yn), (fingers), (fingerscrossed), или (crossedfingers)
image«ляляляляля, я тебя не слушаю» = (lalala), (lala) или (notlistening)
image «заждался» или «ну сколько можно» = (waiting), (forever), or (impatience)
image«дай пять» = (highfive), (hifive), or (h5)
image«перекати поле» = (tumbleweed)

Взято из официального русского блога скайпа

UP: Разработчики указали что спрятали еще 2 смайла, про которых нигде не упоминалось. Один смайл нашелся =(wtf)
Другой тоже = (hollest) (спасибо dazran). Думаю это не все

Создание расширения FireFox для начинающих

Reading time8 min
Views49K
В данной статье представлена пошаговая инструкция по разработке простейшего расширения для FireFox.
Это частичный перевод оригинальной статьи.

Это не моя статья, а моего друга (его мыльце: templar8@gmail.com). Он очень хочет попасть на Хабр. У меня самого не хватает кармы для инвайта.
Текст статьи

Создание оконного интерфейса при помощи jQuery UI. Часть 2

Reading time4 min
Views25K
Первая часть .
Стоит еще раз уточнить, что статья рассчитана на пользователей только начинающих своё знакомство с библиотекой интерфейсов jQuery UI и показывает общие принципы работы с ней, а не задаёт постоянный порядок действий для каждого, а тем более, масштабного веб-проекта. Из известных минусов описываемого интерфейса – вёрстка оставляет желать лучшего и отсуствие наследования. Решение последней проблемы предлагается в комментариях пользователем k12th.
В этой части будет показано, как назначить действия кнопкам окна и сделать окно сворачиваемым/разворачиваемым.
Результат, который должен получиться после изучения двух частей.
Читать дальше →

Создание оконного интерфейса при помощи jQuery UI. Часть 1

Reading time4 min
Views32K
Статья рассчитана на пользователей только начинающих работать с jQuery UI и желающих на практике познакомиться с этой библиотекой.
Данный оконный интерфейс предполагает такие основные свойства как — наличие окон, возможность их перетаскивания, возможность изменения размера окон, их свертывания/развертывания и т.д. Вот что должно получиться в итоге.
Итак, имеем желание создать пример интерактивного оконного веб-интерфейса и возможности использовать для этой цели jQuery UI – тогда, добро пожаловать под кат.
Читать дальше →

Information

Rating
Does not participate
Location
Владивосток, Приморский край, Россия
Registered
Activity