Произошла на днях со мной ситуация которая заставила задуматься, что проще для крупной компании признать ошибку или потерять выгодного клиента сделав вид, что ничего не произошло и игнорировать сложившуюся ситуацию?
Cepg @Cepg
Пользователь
Начать жизнь с чистого листа — особенности кнопки reset
1 мин
1.1KМногие наверно слышали, а кто то (вроде меня) даже уже воспользовался кнопкой «начать жизнь с чистого листа» — а попросту reset, для тех же кто все пропустил: суть ее такова — подтвердив в checkbox свой выбор и нажав кнопку, следующим утром вы проснетесь человеком с безупречной кармой, а точнее вообще без кармы и сможете начать все сначала, такой шанс дается только раз.
И вот тут я обнаружил забавный косячок, кнопка reset неактивна до подтверждения серьезности своих намерений — так и должно быть, но неактивной она становиться только при полной загрузке страницы, в процессе загрузки она активна и нажатие на нее приводит к ошибке:
Хорошо конечно, что ошибка обрабатывается, но кнопка должна быть изначально недоступна!
Или, судя по тексту ошибки, может это шутка такая?
ps: в процессе написания обнаружил, что вышеприведенный xml съедается внутри тега code — тоже пожалуй ошибка…
И вот тут я обнаружил забавный косячок, кнопка reset неактивна до подтверждения серьезности своих намерений — так и должно быть, но неактивной она становиться только при полной загрузке страницы, в процессе загрузки она активна и нажатие на нее приводит к ошибке:
−
<xmlresponse>
<error code="2">Вы должны поставить галочку</error>
</xmlresponse>
* This source code was highlighted with Source Code Highlighter.
Хорошо конечно, что ошибка обрабатывается, но кнопка должна быть изначально недоступна!
Или, судя по тексту ошибки, может это шутка такая?
ps: в процессе написания обнаружил, что вышеприведенный xml съедается внутри тега code — тоже пожалуй ошибка…
+2
Быстрое определение местоположения по ip в postgresql
3 мин
14KВ этом топике я хочу рассказать о задаче, очень часто встречающейся в веб-проектах — определение местоположения по ip-адресу. Начну с того, что для того, чтобы определить местоположение пользователя — нужна некая geoip база. Приведу здесь два популярных бесплатных варианта:
IpGeoBase — очень хорошая бесплатная база, но, к сожалению, только по российским ip-адресам.
MaxMind — огромная база по ip-адресам всех стран. Предоставляют бесплатную lite-версию базы. Точность базы по российским ip-адресам не настолько хороша, как у IpGeoBase. Также предоставляют некое API для работы со своей базой, которое позволяет производить выборки очень быстро.
Допустим вы скачали эти базы и залили их в таблицы вашей БД Postgresql (сама закачка — несколько out of scope, если у кого-то возникнет желание — я могу в будущем рассказать о том, что такое команда COPY и с чем ее едят). В общем случае вы получите таблицу такой структуры:
Здесь:
startip — это начало блока ip-адресов в формате long
endip — конец блока ip-адресов в формате long
location_id — идентификатор локации (город, регион, страна и т.д., maxmind даже координаты содержит).
IpGeoBase — очень хорошая бесплатная база, но, к сожалению, только по российским ip-адресам.
MaxMind — огромная база по ip-адресам всех стран. Предоставляют бесплатную lite-версию базы. Точность базы по российским ip-адресам не настолько хороша, как у IpGeoBase. Также предоставляют некое API для работы со своей базой, которое позволяет производить выборки очень быстро.
Допустим вы скачали эти базы и залили их в таблицы вашей БД Postgresql (сама закачка — несколько out of scope, если у кого-то возникнет желание — я могу в будущем рассказать о том, что такое команда COPY и с чем ее едят). В общем случае вы получите таблицу такой структуры:
startip | endip | location_id |
---|---|---|
2130706433 | 2130706433 | 1 |
Здесь:
startip — это начало блока ip-адресов в формате long
endip — конец блока ip-адресов в формате long
location_id — идентификатор локации (город, регион, страна и т.д., maxmind даже координаты содержит).
+35
Патчим всё, что ни попадя или Open source в действии
5 мин
4.1KВозможно, многие сталкивались с ситуацией, когда программа или библиотека из дистрибутива не содержит некоторой (нужной вам) функциональности, которая была добавлена в следующей версии. Или содержит баг, который был исправлен в следующей версии (или его исправление не было включено в основную ветку), а в репозитории вашего дистрибутива всё ещё содержится старая версия.
Именно с таким багом столкнулся я, а также все пользователи редактора JuffEd (новая версия которого, кстати, вышла на днях), использующие в качестве рабочего окружения среду GNOME под Linux. Баг этот заключается в том, что при использовании автокомплита его окошко появляется на мгновение, после чего пропадает, «унося» за собой фокус. На данном примере я покажу, как можно самостоятельно патчить программы из дистрибутива.
Именно с таким багом столкнулся я, а также все пользователи редактора JuffEd (новая версия которого, кстати, вышла на днях), использующие в качестве рабочего окружения среду GNOME под Linux. Баг этот заключается в том, что при использовании автокомплита его окошко появляется на мгновение, после чего пропадает, «унося» за собой фокус. На данном примере я покажу, как можно самостоятельно патчить программы из дистрибутива.
+22
12 вещей, которых вы не знали о венчурных инвесторах
2 мин
642Гай Кавасаки, директор инвестиционной компании Garage Technology Ventures, после интервью с крупными IT-инвесторами Майком Морицем из Sequoia Capital и Полом Грэмом из YCombinator изложил на мой взгляд интересные 12 правил для предпринимателей, обращающихся за инвестициями в эти компании.
1. Предприниматель не должен стремиться все доказать. Чтобы впечатлить инвестора, достаточно делать реальные вещи, проявлять творческий подход, предприимчивость, быть решительным и умным.
1. Предприниматель не должен стремиться все доказать. Чтобы впечатлить инвестора, достаточно делать реальные вещи, проявлять творческий подход, предприимчивость, быть решительным и умным.
+26
Статистика Google Analytics на вашем сайте. Часть вторая. Использование GAPI
2 мин
11KС момента публикации первого топика о создании хабраподобной статистики (которую, кстати, почему-то тут не обновляют) с импортированием данных из Google Analytics прошел ровно год.
Весь этот год все работало, статистика обновлялась, графики рисовались… пока все не сдохло. Как это и присуще гуглу, сдохло оно не сразу у всех, а потихоньку, в течение недели. При беглой диагностике проблемы выяснилось, что она заключается в гугловой авторизации. Учитывая, что скрипт авторизации мною был заимствован, разбираться в нем не было никакого желания, и тут до меня дошло — ведь Google выпустил API для аналитикса! Поэтому было решено не обрабатывать напильником существующую версию, а просто получить данные цивилизованно, посредством API, тем не менее, оставив при этом «структуру» и основные моменты предыдущей версии.
Весь этот год все работало, статистика обновлялась, графики рисовались… пока все не сдохло. Как это и присуще гуглу, сдохло оно не сразу у всех, а потихоньку, в течение недели. При беглой диагностике проблемы выяснилось, что она заключается в гугловой авторизации. Учитывая, что скрипт авторизации мною был заимствован, разбираться в нем не было никакого желания, и тут до меня дошло — ведь Google выпустил API для аналитикса! Поэтому было решено не обрабатывать напильником существующую версию, а просто получить данные цивилизованно, посредством API, тем не менее, оставив при этом «структуру» и основные моменты предыдущей версии.
+54
Список полезных инструментов для php разработчика
10 мин
148KПеревод
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
+186
Краткий обзор движков таблиц MySQL
3 мин
78KЦель этой статьи — дать краткий, очень сжатый обзор движков, для того, чтобы статьей можно было пользоваться при выборе движка на этапе проектирования \ создания \ оптимизации таблицы. Предполагается, что читатель знает суть вопроса по крайней мере поверхностно и способен сам отыскать всю дополнительную информацию (вопросы в комментах можно задавать всегда :) )
+93
+56
Информация
- В рейтинге
- Не участвует
- Откуда
- Новосибирская обл., Россия
- Зарегистрирован
- Активность