К сожалению, на многих сайтах без особой необходимости используют капчи. Хотя можно побороть спам и незаметными для пользователя способами. Особенно, капчу больно видеть на небольших коммерческих сайтах в форме обратной связи, поскольку, капча заметно снижает конверсию таких сайтов. Для больших сайтов, которые могут специально спамить, такие методы не применимы. Однако, в большинстве случаев, без капчи можно обойтись
Александр Белов // alex Roosso @Roosso
IT Man
Пятнадцать мифов о восстановлении и потере данных
6 min
245KЗа годы работы мы в Storelab Data Recovery собрали небольшую коллекцию мифов об утере и восстановлении данных. Некоторые из них активно тиражируются на различных компьютерных и не очень форумах — поэтому, надеемся, эта статья будет полезна тем, кто ищет помощи, когда сломался диск или потеряны данные. Итак, пост о том, как не сделать трудную ситуацию ещё хуже.
На фото — результат «охлаждения» жёсткого диска
На фото — результат «охлаждения» жёсткого диска
+100
MVC умер, пришло время MOVE
3 min
76KTranslation
MVC феноменальная идея. У вас есть модели, самостоятельные кусочки состояний, представления которые самостоятельные кусочки UI, и контроллеры которые самостоятельные кусочки… эм?
Я конечно не первый кто это замечает, но проблема с MVC в том что в контроллеры пихают слишком много кода.
Чтобы исправить это, я использую новый паттерн: MOVE. Models, Operations, Views и Events.
Что?
Я конечно не первый кто это замечает, но проблема с MVC в том что в контроллеры пихают слишком много кода.
Чтобы исправить это, я использую новый паттерн: MOVE. Models, Operations, Views и Events.
+35
Разворачиваем локальный сервер на Windows
8 min
361KНесколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на Windows8. Ну пожааалуйста». И так как отогнать её никак не получалось, я запаслась чаем и печеньками и приступила.
На установку системы и всех необходимых программ ушло не более двух часов, но затем наступил самый интересный момент: мне нужно было развернуть рабочее окружение, а именно — GIT + локальный сервер (Apache, MySQL, PHP, nginx, memcached, mongodb). Помятуя об опыте предыдущих установок, на этот раз я решила весь процесс задокументировать и сохранить для потомков.
+46
MongoDB или как разлюбить SQL
6 min
66KВведение
Коллеги, при разработке приложений, мы каждый день сталкиваемся с потребностью в гибком хранении информации (обновлении, поиске по ней, и т.д.). Класс продуктов, которые решают этот круг задач, как все мы знаем — Базы данных. Но что это такое в нашем понимании? У многих «база данных» твердо ассоциируется с MySQL, таблицами и SQL-запросами. И это устраивает до определенного момента. Действительно, реляционные базы данных дают массу преимуществ в работе: поскольку данные имеют сильную связанность, не нужно контролировать целостность базы данных. Используя простой под-запрос можно выбрать количество комментариев к каждому посту в блоге. Используя JOIN нетрудно делать сложные связанные выборки и получать данные сразу о нескольких сущностях.
+115
Правильный стул для ежедневной работы за компьютером
5 min
859KВопрос о столах поднимался несколько раз (раз, два).
Однако, на чем же мы сидим перед столом?
Стул — не менее важная часть рабочего места любого человека, много времени работающего за компьютером в течение дня.
Все мы работаем с компьютером и порой не замечаем, на чем же мы сидим.
Оказывается наши санитарные правила и нормы(СанПиН 2.2.2/2.4.1340-03) достаточно хорошо описывают удобный эргономичный стул для работы взрослых за компьютером!
А какой стул правильный?
Однако, на чем же мы сидим перед столом?
Стул — не менее важная часть рабочего места любого человека, много времени работающего за компьютером в течение дня.
Все мы работаем с компьютером и порой не замечаем, на чем же мы сидим.
Оказывается наши санитарные правила и нормы
А какой стул правильный?
+116
Интернет 2002-2012: что изменилось за десятилетие?
1 min
26KДесять лет для человеческой жизни это заметный срок, но для интернета это просто целая эпоха. Десять лет назад в социальных сетях типа Friendster и Classmates было всего 3 миллиона человек. IE стоял на 95% компов, и в сети было меньше 600 миллионов человек… меньше чем пользователей одного Facebook сегодня.
10 лет, 3,652 дней, 87,648 часов. Best Education Sites решили наглядно сравнить произошедшие изменения на гигантской анимированной гифке под катом (предупреждаю — будет тормозить). Готовьтесь всплакнуть от ностальгии.
+31
Главный принцип хорошего кода
9 min
86KЗа двадцать лет разнообразного программирования я сформулировал, убежден, главнейший принцип хорошего кода. Опираясь на него, мне и моим коллегам удавалось приводить в порядок самый страшный код, объединять в команде малосовместимых программистов и годами поддерживать системы без лишнего нытья.
Прочтение этой статьи: 15 минут
Осмысление методики: 10 минут
Ощутимые результаты: 30 минут
Прочтение этой статьи: 15 минут
Осмысление методики: 10 минут
Ощутимые результаты: 30 минут
+72
Селектор обобщенных родственных элементов
4 min
22KВ последующих нескольких абзацах я хочу подробнее рассмотреть селектор обобщенных родственных элементов (или ~) и область его возможного применения.
На написание данной статьи меня натолкнула малая распространённость информации о нём.
Основная задача селектора обобщённых родственных элементов — выбор элемента (-ов), идущего после заданного элемента, и имеющего с ним общего родителя.
На написание данной статьи меня натолкнула малая распространённость информации о нём.
Что это такое?
Основная задача селектора обобщённых родственных элементов — выбор элемента (-ов), идущего после заданного элемента, и имеющего с ним общего родителя.
+43
Smooth.js — jQuery-плагин для CSS3-transitions с даунгрейдом до $.animate
1 min
18KCSS3-транзишены — чертовски полезная штука. По сравнению с javascript-анимацией они:
Конечно, наш с вами любимый IE их не поддерживает даже в 9 версии.
- Обеспечивают более плавные переходы;
- Потребляют меньше ресурсов;
- Открывают новые возможности. Например, автоматическую обработку матричных преобразований (CSS-transforms);
Конечно, наш с вами любимый IE их не поддерживает даже в 9 версии.
+23
Google Chrome исполнилось четыре года
1 min
13KНесмотря на то, что официально первая бета-версия стала доступна пользователям 2 сентября 2008 года, в корпоративном блоге Google только сегодня появилась запись, отметившая успехи браузера за относительно короткий срок. Кроме этого, разработчики представили интерактивную презентацию, в которой специальными карточками выделены основные вехи развития браузера.
+37
Создаем кассетный магнитофон при помощи HTML5 Audio
2 min
18KTranslation
Если вы не знаете, что такое кассета, то вы, вероятно, родились в эпоху хай-тэк, эпоху, которая, несомненно, является интересной и новаторской. Но если же вы имеете представление, что такое аудио-кассеты, то скорее всего вы принадлежите к старшему поколению, динозаврам, которые знают, что объединяет карандаш и аудио-кассету. :)
+112
Перевод: Чему я научился за 30 лет программирования
5 min
78KОригинальная статья Джона Грэхем-Камминга.
Переведено и опубликовано с разрешения автора.
Я занимаюсь программированием уже более 30 лет, начиная с машин, уже устаревших (на процессорах Z80 и 6502) до современных, используя языки BASIC, ассемблера, C, C++, Tcl, Perl, Lisp, ML, occam, arc, Ruby, Go и многие другие.
Далее следует список того, чему я научился.
Переведено и опубликовано с разрешения автора.
Я занимаюсь программированием уже более 30 лет, начиная с машин, уже устаревших (на процессорах Z80 и 6502) до современных, используя языки BASIC, ассемблера, C, C++, Tcl, Perl, Lisp, ML, occam, arc, Ruby, Go и многие другие.
Далее следует список того, чему я научился.
+99
Что я постиг в программировании
5 min
11KTranslation
Я программирую уже более 30 лет. И мой путь в программировании тянется от микропроцессоров Z80 и 6502 до современных машин, от таких языков программирования как BASIC, assembly, C, C++ до Tcl, Perl, Lisp, ML, occam или arc, Ruby, Go и проч.
Вот список того, что я постиг в программировании:
0. Программирование удел ремесленника, а не ученого или инженера
Программирование больше походит на ремесло нежели на науку или инженерную дисциплину. Это комбинация навыков и опыта выраженная в умении применять инструменты. Ремесленник выбирает необходимые инструменты(а если требуется, то создает свои) и учится применять их.
По мне так это ремесло. Я считаю, что лучшие программисты ближе скорее к часовщикам нежели к строителям мостов или физикам. Конечно, с виду это занятие напоминает науку или инженерное дело всилу использования логики и математики, но в большинстве случаев ты просто берешь инструменты в руки и что-то создаешь.
Вот список того, что я постиг в программировании:
0. Программирование удел ремесленника, а не ученого или инженера
Программирование больше походит на ремесло нежели на науку или инженерную дисциплину. Это комбинация навыков и опыта выраженная в умении применять инструменты. Ремесленник выбирает необходимые инструменты(а если требуется, то создает свои) и учится применять их.
По мне так это ремесло. Я считаю, что лучшие программисты ближе скорее к часовщикам нежели к строителям мостов или физикам. Конечно, с виду это занятие напоминает науку или инженерное дело всилу использования логики и математики, но в большинстве случаев ты просто берешь инструменты в руки и что-то создаешь.
+69
Немного о многопоточном программировании. Часть 1. Синхронизация зло или все-таки нет
12 min
70KМне по работе часто приходится сталкиваться с высоконагруженными многопоточными или многопроцессными сервисами (application-, web-, index-server).
Достаточно интересная, но иногда неблагодарная работа — оптимизировать все это хозяйство.
Растущие потребности клиентов часто упираются в невозможность просто заменить железную составляющую системы на более современную, т.к. производительность компьютеров, скорость чтения-записи жестких дисков и сети растут много медленнее запросов клиентов.
Редко помогает увеличение количества нодов кластера (система как правило распределенная).
Чаще приходится запустив профайлер, искать узкие места, лезть в source code и править ляпы, которые оставили коллеги, а иногда и сам, чего греха таить, много лет назад.
Некоторые из проблем, связаных с синхронизацией, я попытаюсь изложить здесь. Это не будет вводный курс по многопоточному программированию — предпологается, что читатель знаком с понятием thread и context switch, и знает для чего нужны mutex, semaphore и т.д.
Достаточно интересная, но иногда неблагодарная работа — оптимизировать все это хозяйство.
Растущие потребности клиентов часто упираются в невозможность просто заменить железную составляющую системы на более современную, т.к. производительность компьютеров, скорость чтения-записи жестких дисков и сети растут много медленнее запросов клиентов.
Редко помогает увеличение количества нодов кластера (система как правило распределенная).
Чаще приходится запустив профайлер, искать узкие места, лезть в source code и править ляпы, которые оставили коллеги, а иногда и сам, чего греха таить, много лет назад.
Некоторые из проблем, связаных с синхронизацией, я попытаюсь изложить здесь. Это не будет вводный курс по многопоточному программированию — предпологается, что читатель знаком с понятием thread и context switch, и знает для чего нужны mutex, semaphore и т.д.
+49
7 уроков, полученных при создании Reddit
7 min
23KTranslation
UPD. Оригинальная статья достаточно старая — 2010 года. Сейчас ситуация выглядит по-другому.
В декабре 2010 у Reddit-а было 829М просмотров и 119 серверов.
В конце 2011 года — 2,07B просмотров и 240 серверов.
Спасибо potomushto за актуализацию.
UPD 2. Поправил схему для людей с проблемами цветовосприятия. Спасибо second_pilot и spiritedflow
Стив Хаффман, один из создателей Reddit, рассказал на презентации, чему они научились, пока строили и развивали Reddit до 7,5 млн пользователей в месяц, 270 миллионов просмотров страниц в месяц и более 20 серверов баз данных.
Стив уточнил, что большинство полученных уроков были очевидными, поэтому в презентации не будет радикально новых идей. Но у Стива огромный опыт, и если он не смог увидеть эти грабли, то возможно, вам стоит обратить внимание на эти «очевидные вещи».
Каждый из 7 уроков будет рассмотрен в соответствующей секции.
В декабре 2010 у Reddit-а было 829М просмотров и 119 серверов.
В конце 2011 года — 2,07B просмотров и 240 серверов.
Спасибо potomushto за актуализацию.
UPD 2. Поправил схему для людей с проблемами цветовосприятия. Спасибо second_pilot и spiritedflow
Стив Хаффман, один из создателей Reddit, рассказал на презентации, чему они научились, пока строили и развивали Reddit до 7,5 млн пользователей в месяц, 270 миллионов просмотров страниц в месяц и более 20 серверов баз данных.
Стив уточнил, что большинство полученных уроков были очевидными, поэтому в презентации не будет радикально новых идей. Но у Стива огромный опыт, и если он не смог увидеть эти грабли, то возможно, вам стоит обратить внимание на эти «очевидные вещи».
Каждый из 7 уроков будет рассмотрен в соответствующей секции.
- Падайте часто
- Разделение сервисов
- Открытая схема данных
- Избегайте хранения состояний
- Memcache
- Сохраняйте избыточные данные
- Выполняйте максимум работы в фоновом режиме
+78
История интернет-магазина, ставшего мировым монополистом за $5 000
10 min
85KTutorial
Прочитав много литературы по истории бизнеса и наблюдая рост популярности Интернет-торговли, автору этих строк хотелось реализовать свои знания на практике. Искали подходящую тему для проекта. Необходимыми условиями были:
1) Вложение не более $10 000
2) Прибыль не менее $1 000 в месяц
3) Минимальная рутина
По первым двум пунктам все понятно. А вот по третьему пункту поясню. К тому моменту я уже работал в собственной компании (сфера финансов). Это был 2009 год. Последствия кризиса еще сильно влияли на основной бизнес и работы было непочатый край. Много времени отвлекать на сторонний бизнес автор не мог.
Подходящий случай подвернулся в октябре 2009 года.
1) Вложение не более $10 000
2) Прибыль не менее $1 000 в месяц
3) Минимальная рутина
По первым двум пунктам все понятно. А вот по третьему пункту поясню. К тому моменту я уже работал в собственной компании (сфера финансов). Это был 2009 год. Последствия кризиса еще сильно влияли на основной бизнес и работы было непочатый край. Много времени отвлекать на сторонний бизнес автор не мог.
Подходящий случай подвернулся в октябре 2009 года.
+636
Piecon — динамическая круговая диаграмма в фавиконе
1 min
5.3KКрошечная (2 килобайта в минифицированном виде) JavaScript-библиотека Piecon генерирует круговую диаграмму на месте фавикона. API предельно прост и состоит из трёх методов объекта Piecon.
+72
Яндекс попробует научить пользователей правописанию
1 min
6.7KСейчас в Сети ну очень много неграмотных людей. И ладно бы, если бы ошибки были бы только в сложных словах и предложениях. Но ведь через раз встречаются «спОсибо», «пажалусто», «дешего» и тому подобные словеса. О пунктуации во многих случаях и речи не идет, недостаток знаков препинания в предложении стараются исправить огромным количеством скобочек, вопросительных и восклицательных знаков в конце предложения. В общем, все печально. Сейчас «Яндекс» сообщил о сервисе, который поможет тем пользователям, которые хотели бы узнать, как правильно писать некоторые слова.
+83
Рекомендательные системы: LDA
3 min
31KTutorial
В прошлый раз я рассказывал о теореме Байеса и приводил простой пример – наивный байесовский классификатор. В этот раз мы перейдём к более сложной теме, которая развивает и продолжает дело наивного байеса: мы научимся выделять темы при помощи модели LDA (latent Dirichlet allocation), а также применим это к рекомендательным системам.
+12
Information
- Rating
- Does not participate
- Location
- Краснодар, Краснодарский край, Россия
- Date of birth
- Registered
- Activity
Specialization
Chief Technology Officer (CTO), Software Architect
Lead
People management
Development management
Startup management
Information Technology
Building a team
CIO
BlockChain
Designing application architecture
Creating project architecture
Software development