Как стать автором
Обновить
56
0
Подосенов Евгений @NightGhost

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

Отправить сообщение

PHP: фрактал плохого дизайна

Время на прочтение32 мин
Количество просмотров206K

Предисловие


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

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

PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).

PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Читать дальше →
Всего голосов 450: ↑392 и ↓58+334
Комментарии539

20 вещей, которые я должен был знать в 20 лет

Время на прочтение3 мин
Количество просмотров717K
1. Мир пытается оставить тебя тупым. Начиная от банковских платежей и процентов и заканчивая чудо-диетами — из необразованных людей легче вытрясти деньги и ими проще управлять. Занимайтесь самообразованием столько, сколько можете — для того, чтобы быть богатым, независимым и счастливым.
Читать дальше →
Всего голосов 544: ↑445 и ↓99+346
Комментарии544

Как лучше хранить хэши паролей

Время на прочтение4 мин
Количество просмотров15K
Как все мы знаем, пароли следует всегда хэшировать с помощью медленного алгоритма с использованием соли. Чаще всего применяют scrypt, bcrypt или PBKDF2, но этот пост не о том, какой алгоритм использовать. Вместо этого мы поговорим о том, что делать с хэшами дальше.

20- (или 32-) байтовые соль и хэш должны храниться в энергонезависимом, зарезервированном, надёжном хранилище, то есть обычно в реляционной базе данных. Но в каких именно таблицах их хранить? Чаще всего используется таблица со столбцами (user_id, salt, hash) или столбцы salt и hash могут быть в общей таблице Users. В обоих случаях хэш и соль находятся в отношении один-к-одному с пользователями.

Беда в том, что даже с подсоленными хэшами, хакерам слишком легко использовать словарные атаки, если они получат доступ к соли и хэшу конкретного пользователя. Допустим, что, благодаря медленному хэшированию, они могут проверить всего тысячу паролей в минуту. Вас может неприятно удивить то, какими слабыми паролями часто пользуются люди, и какой их процент можно взломать даже в этом случае.
Читать дальше →
Всего голосов 65: ↑54 и ↓11+43
Комментарии176

Вы не настолько круты, чтобы так себя вести

Время на прочтение3 мин
Количество просмотров1.8K
Считается, что лучше отказаться от глупого, но прибыльного предложения, чем его сделать. Многие веб-студии не любят работать с дураками. Каждый второй заказчик для них – неадекват, с дурными заказами по смехотворным ценам. Но постойте, а Вы настолько круты, чтобы так себя вести?

Почему в веб-студиях часто ведут себя так, как будто клиент дурак и ничего не знает? Чем ваша работа отличается от парикмахера или автослесаря? С точки зрения выполнения работ — возможно, с точки зрения уровня сервиса и облизывания клиента – нет.


Читать дальше →
Всего голосов 230: ↑162 и ↓68+94
Комментарии175

5 полезных методов jQuery API, о которых вы могли не знать

Время на прочтение2 мин
Количество просмотров55K
В статье я расскажу о пяти методах jQuery, которые я нашел для себя полезными и о которых, по моим наблюдениям, мало кто знает.

Я с jQuery работаю уже около двух лет, но до недавнего времени не использовал эти методы, так как и без них можно обойтись. Но с ними может быть на много легче.
Читать дальше →
Всего голосов 131: ↑112 и ↓19+93
Комментарии68

Sypex Geo — быстрое определение города по IP

Время на прочтение3 мин
Количество просмотров117K
В начале года я публиковал статью Определение страны по IP: тестируем скорость алгоритмов, в которой упоминался мой «велосипед» отличающийся высокой скоростью работы. Одним из популярных вопросов стала возможность определения города по IP.

И вот несколько месяцев спустя, проект начинавшийся, как «for fun» перерос в самостоятельный проект.
Открыт отдельный сайт посвященный проекту Sypex Geo, на котором можно скачать свежие версии API и баз данных, а также ознакомиться с документацией.

Для желающих скорее протестировать правильность определения города по IP — вот ссылка на демо-страницу. А под хабракатом, я опишу некоторые технические подробности и приведу результаты небольшого тестирования.
Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии84

Я презираю Arduino

Время на прочтение5 мин
Количество просмотров394K
Я – выпускник специальности «Микроэлектроника и полупроводниковые устройства». За годы обучения я разработал множество устройств на микроконтроллерах, участвовал в конкурсах вместе со своей командой и являлся заведующим лабораторией встраиваемых систем. У меня есть мечта – создать в своей стране условия для разработки роботизированных систем и есть план её достижения, одним из пунктов которого является участие в подготовке большого количества профессионалов в этой области.
Arduino


Я радуюсь, когда будущие инженеры создают свои устройства и расстраиваюсь, когда слышу, как кто-то говорит об использовании Arduino в них.

Это не первая моя статья на эту тему: у меня возникает желание написать такую сразу после прочтения фразы о безграничных возможностях платформы в DIY-топике на Хабре. У меня возникает желание написать об истинной цене деталей после прочтения статьи о покупке конструктора за $200 почти ничего не содержащего (уж простите, запамятовал где видел).

Читать дальше →
Всего голосов 456: ↑366 и ↓90+276
Комментарии516

Рассылки по сегментам на основе MailChimp

Время на прочтение8 мин
Количество просмотров35K
Привет, Хабр! Сегодня я расскажу о том, как можно интегрировать сервис почтовых рассылок mailchimp на своем сайте.
Сервис дает множество возможностей:
— расширенный трекинг;
— выборки пользователей;
— красивые шаблоны писем;
— интеграция с социальными сетями;
— интеграция с Google Analytics;
— экономия времени на разработку своего проекта.
На основе этого сервиса мы сделали автоматическую рассылку спецпредложений по целевым срезам — определенным вендорам и категориям продуктов. Попробуем вкратце рассказать о некоторых особенностях реализации.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии12

Визуализация «В Контакте»: Скажи мне, кто твой друг?

Время на прочтение2 мин
Количество просмотров145K
Привет, Хабралюди!

У меня есть хобби. Я ночами (в нерабочее время) пишу библиотеку укладки графов: vivagraph.js. Хотел поделиться с вами, узнать что думаете. Визуализировал я сеть друзей своих на «В Контакте» с использованием WebGL. Но лучше один раз увидеть, чем читать, верно?



Это мои друзья. Каждая точка — человек, целый мир, с которым так или иначе мне повезло встретиться. Линия между точками обозначает дружбу. По этой сети можно, правда, сказать многое о человеке.

Как построить свою сеть?
Всего голосов 314: ↑302 и ↓12+290
Комментарии256

Выбираем WAMP платформу для разработки сайтов под Windows

Время на прочтение11 мин
Количество просмотров324K
Во времена моей юности в русскоязычном сегменте сети интернет был популярен только один единственный WAMP комплекс. Это, как вы уже догадались, старый добрый Denwer. Он прочно обосновался на моём компьютере еще в далёком 2003 году. Другие альтернативы если и существовали в то время, то были известны в узких кругах и были не столь популярны.

Давайте посмотрим на то, что мы можем использовать сегодня, спустя столько лет. Я предлагаю рассмотреть, протестировать и сравнить 14! программных комплексов предназначенных для разработки сайтов под Windows.

Читать дальше →
Всего голосов 77: ↑57 и ↓20+37
Комментарии94

Воспитательница детского сада заработала 700.000 долларов на продаже планов уроков

Время на прочтение2 мин
Количество просмотров5.6K
Работу учителей и воспитателей трудно назвать высокооплачиваемой, но Деанна Джамп, воспитательница из Джорджии, смогла заработать 700 тысяч долларов, продавая свои учебные планы и материалы на онлайн-бирже Teachers Pay Teachers.

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

«Однажды мне пришло в голову, что планы уроков, которые учителя обычно составляют для собственных нужд, имеют денежную ценность, и тогда я создал биржу Teachers Pay Teachers» — рассказывает Эдельман — «Теперь учителя могут неплохо подзаработать, придав своим материалам товарный вид и выставив их на продажу».
Читать дальше →
Всего голосов 75: ↑71 и ↓4+67
Комментарии36

Подключаем GPRS-интернет в деревне

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

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

(много картинок)
Читать дальше →
Всего голосов 51: ↑43 и ↓8+35
Комментарии75

Руководство по оформлению HTML/CSS кода от Google

Время на прочтение12 мин
Количество просмотров358K

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →
Всего голосов 295: ↑286 и ↓9+277
Комментарии168

Закон Евросоюза о cookies

Время на прочтение2 мин
Количество просмотров31K
cookie lawЗакон Евросоюза о cookies вступил в силу в 2011 году, но ICO (Information Commissioner’s Office) решили, что справедливо будет дать владельцам сайтов один год для выполнения требований закона. Крайним сроком было назначено 26 мая 2012 года. С этой даты сайты, не соответствующие требованиям закона, могут быть оштрафованы на сумму £500 000.
Читать дальше →
Всего голосов 89: ↑83 и ↓6+77
Комментарии157

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

Время на прочтение5 мин
Количество просмотров92K


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

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


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

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

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

Читать дальше →
Всего голосов 458: ↑423 и ↓35+388
Комментарии134

Подробно о свойстве float

Время на прочтение4 мин
Количество просмотров215K
Правильное использование CSS свойства float может стать непростой задачей даже для опытного верстальщика. В этой статье собраны варианты применения float, а также некоторые ошибки, с наглядными примерами.

Читать дальше →
Всего голосов 153: ↑140 и ↓13+127
Комментарии89

Shidonni – детское творчество и воображение на Silverlight

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

Shidonni – по-моему очень яркий пример! С помощью этого интерактивного приложения дети могут рисовать зверюшек, которые потом оживают – с ними можно играть, кормить, украшать их мир и так далее.

Как всегда в таких сервисах встает вопрос о монетизации. Реклама? Подписка? Тут по-моему очень интересный путь – нарисованную игрушку можно заказать. Ее вышивают и высылают – смотрите видео. И все счастливы :) Недавно Shidonni стала победителем престижного международного онлайн-конкурса “Выбор Родителей”.

Технологически Shidonni реализован на Silverlight. Проект создан русскоязычными разработчиками в Израиле (где сервис насчитывает несколько тысяч пользователей), переведен на несколько языков – а в декабре был запущен в России, их офис находится в Челябинске.

Кстати, сейчас у них продолжается конкурс картинок с питомцами – до 28 января. Подробности проекта можно узнать в блоге и твиттере.
Всего голосов 58: ↑32 и ↓26+6
Комментарии14

Определение страны по IP: тестируем скорость алгоритмов

Время на прочтение4 мин
Количество просмотров36K
Для определения страны по IP необходимы специальные базы данных, состоящие из диапазонов IP адресов и соответствующих им стран. Обычно такие базы данных распространяются в виде CSV или SQL файлов для использования в СУБД, либо бинарных файлов специального формата.

Для проведения тестирования была выбрана февральская база GeoLite Country, бесплатная версия GeoIP Country от MaxMind.

В тестировании приняли участие несколько популярных решений и мой «велосипед» на эту тему.
Читать дальше →
Всего голосов 66: ↑57 и ↓9+48
Комментарии93

Feedback для интернет-магазина, моя практика

Время на прочтение10 мин
Количество просмотров5.3K
К уже написанному на хабре топику "Мелочи решают все".

Прочитал топик. Согласен со многим написанным там. Но… Я занимаюсь интернет-магазинами давно, и с более или менее постоянной занятостью. Если конечно мне в жизни больше нечем заняться, хотя даже в подобные моменты я занимаюсь интернет-магазинами. Речь в посте пойдет о том как заработать больше на обратной связи с заказчиком, клиентом… ээ «customer» :) И так дальше под катом. Кстати, извините за большое количество текста… но по другому в письменном виде не получается.

Читать дальше
Всего голосов 77: ↑74 и ↓3+71
Комментарии55

Что такое «хорошее» ТЗ на сайт?

Время на прочтение11 мин
Количество просмотров67K
caricat.gifЯ могу припомнить на удивление мало материалов, посвященных проектированию сайтов и программ на русском языке, написанных русскоязычными авторами. Этому способствует и преимущественно экспортно-ориентированная разработка (оффшор) и отсутствие массового опыта создания информационных продуктов в нашей стране.
Надеюсь, что эта статья пригодится тем разработчикам и IT-менеджерам, кто ощутил перед собой проблему составления качественных документов на разработку сайта. Документов, которые кроме испорченной бумаги были бы хоть чем-то полезны.
Читать дальше →
Всего голосов 117: ↑113 и ↓4+109
Комментарии88

Информация

В рейтинге
Не участвует
Откуда
Архангельск, Архангельская обл., Россия
Дата рождения
Зарегистрирован
Активность