-
Переезд
Как же давно я ничего не писал! Виной тому переезд и трудоустройство. Теперь я проживаю в Воронеже и работаю в Датаарте. Процесс устройства туда – целая история, которую я надеюсь рано или поздно завершить и выложить. А пока что хочу сказать, что в Датаарте клево, впереди много работы, Воронеж нравится, и все хорошо.
-
Вы
В интернете болезнь - все пишут “вы” с большой буквы. Идиотизм авторов меня поражает. Не понимая контекста обращения, лепят “Вас”, “Вам”, “Ваш”. Особо упоротые тупо лепят капсом - “ВАМ”, “ВАШ”. При этом игнорируют орфографию, пунктуацию, но “вы” с большой - это для них святое. В ответ на замечание каждый идиот с пафосом отвечает, что всего лишь соблюдает правила русского языка. Лучше бы голову включили!
“Вы”, “ваш” и т.д. следует всегда писать с маленькой буквы. Этому есть простое объяснение: “вы” - это уже уважительное обращение, в отличии от “ты”. “Вы” (с маленькой) подчеркивает уважительное отношение к собеседнику или выражает неравенство статусов - обращение подчиненного начальнику, например. Этого уже достаточно. Вы же не тыкаете директору, как своему коллеге? Вы не равны - “вы” в обращении это подтверждает. Поэтому приемы вроде “Вы” и “ВЫ” означают лживое подобострастие и подхалимство.
Я всю жизнь писал все обращения, заявления и деловые письма с обращением на “вы”, “ваш”. И ничего особенного не случалось. А людей, присылавших мне корреспонденцию с “Вы”, сторонился - часто оказывалось, не зря.
-
Почему я ушел с Друпал.ру
В последнее время я почти не захожу на Друпал.ру. Просматриваю новости с главной в Гуглоридере, чтобы быть в курсе ключевых событий — выходе новой версии Друпала, крупных сборищах, тенденций разработки. Но на жаркие форумные дискуссии или подробные ответы в личку, как в былые времена, меня уже не хватает. Этому есть основания посерьезней нехватки времени.
Я вижу несколько причин отказа от ресурса. Первая — это потеря интереса к Друпалу и системам управления в целом. С переходом на высокоуровневые фреймворки типа Джанги и Фласка я перестал нуждаться в нагромождении модулей и хуков. Теперь, когда мне нужна та или иная функциональность, я просто пишу код в нужном месте, и все работает. В Друпале и других движках недостаточно простого кода — он обязательно должен быть обернут в какой-то хук/класс/костыль, который система вызовет сама хрен знает когда. В итоге исчезает ясность проекта, потому что теперь мы опираемся на чужую архитектуру, выполненную не так, как бы мне хотелось.
Очень сильно Друпал разочаровал меня, когда я решил вести блог — после нескольких дней подбора и допиливания модулей я просто снес наработки и поставил Эгею — лучший движок для блога. И, как ни парадоксально, Друпал сдает в разработке сайтов сообществ — для чего он как бы и предназначался. Потому что из коробки в нем нет ничего, что могут предложить специализированные движки — группы, френды, инвайты, рейтинги, галереи и т.д.
Некоторое время назад сеть наводнили слухи о кризисе Друпала, большей частью высосанные из пальца. Кривая развития Друпала лишь уменьшила уклон, но недоброжелатели уже открыли рты, что бы кричать о кризисе Друпала. Это не значит, конечно, что у Друпала нет проблем.
У него одна большая проблема — неверная ориентация в первую очередь на программистов. Друпал бесконечно удален от простого пользователя. Это не КМС, а безумный конструктор, который нужно пилить и пилить, пилить и пилить, чтобы получить на выходе что-то годное. Бесконечная лапша о том, что есть бездна готовых модулей на все случаи жизни, заставляет все новых и новых пользователей ставить Друпал на Денвер и спрашивать на форуме в тысячный раз, как сделать галерею. Друзья, это ложь — либо ты сам пишешь код, либо платишь наемному программисту. В Друпале так было и будет — активно разрабатываются лишь сотня-другая модулей, остальные брошены, так как писались кем-то давно под особые требования.
Блоги на Вордпрессе ведут писатели, врачи, политики, обычные люди — потому что система, пусть и весьма кривая, сразу заточена под нужды пользователя. Не понимаю, что мешает добавить в дистриб Друпала несколько установочных профилей — блог, копоративный сайт, портал — чтобы после установки можно было сразу получить готовый к эксплуатации блог с визуальны редактором, видео- и аудио проигрывателем, метатегами, сео-мишурой и тд.?
Короче, Дрису и Ко нужно пересмотреть образ Друпала. Сейчас он совершенно невнятный — пропагандируется для пользователей, а на деле пользователю не подвластен.
Другая, более важная причина, по которой я стараюсь не заходить на Д.ру заключается в том, что за эти 6 лет ресурс практически не изменился. Как 6 лет назад были одни проблемы, так они и остались. С момента зарождения русского сообщества на сайте не было хоть какой-то организованности. Понятно, что на ранних стадиях сайт был местом встречи нескольких завсегдатаев, где от владельца ресурса ничего не требовалось. Но с ростом аудитории и распространением Друпала в России сайту тоже необходимо измениться, повзрослеть. Эти вопросы витали в воздухе и неоднократно поднимались в форумах. Вот краткий перечень проблем, присущих Друпал.ру:
-
Невнимание к проекту со стороны владельца — Акселя. Пусть он хороший человек, но ведет себя, как собака на сене — и сам не занимается ресурсом, и не передает это право самовыдвиженцам. Все важные вопросы откладывает на очередную осень, в итоге ничего не делается.
-
Абсолютно полный провал с попытками структурировать обрывки полезной информации о Друпале. На Друпал.ру есть книга, которую никто не читает, потому что это не структура, а кладбище костылей. Основная боль форума — это очередной вопрос «пропал блок входа». Не удается пока что донести до пользователей, что делать в подобных случаях. Форум не есть средство для аккумулирования знаний, разве что если сделать хороший поиск. Кстати, на Д.ру поиск просто никакой.
-
Спам. Как и все движки, Друпал может предлоджить только самые топорные способы отсечения спама — капча и анализ сторонним сервисом. Оба способа — неуважение к посетителю. Писать свою систему проверки (с подменой полей, например) некому. Поэтому в 2013 году спам вычищается руками.
-
Неадекватность модераторов. Если кому рассказать, могут и не поверить, но на Д.ру модерские права дали дебилу, который обиделся на кого-то и снес сайт. Дебильность этого человека была очевидна с первой его реплики на форуме, за какие заслуги он получил права — остается только догадываться. Другому модератору иногда становится интересно, как работает тот или иной модуль, так что смена настроек на боевом сервере и жуткие тормоза — обычное дело.
-
Но довольно злословить. Достаточно зайти на форум и почувствовать, что все по-прежнему — форум активно спамят, а новички забивают трекер глупыми вопросами. Периодически всплывают вбросы вида «Давайте введем карму!» Может, кто-то уже привык к этому, но не я.
Мне кажется, что сейчас форумы изживают себя. А может быть, это такой этап в развитии мышления, когда информацию из форума становится воспринимать сложнее. Ее слишком много. Поэтому удобнее общаться в блогах — так проще и по делу. Новые статьи мониторятся в любимой РСС-читалке, не нужно днями сидеть на форуме. Комментаторы все друг друга знают по никам и аватарам. Потребности в форумах я воощбе не вижу, потому что они суть флуд и спам.
Но что ни говори, Друпал сыграл важную роль в моей карьере и жизни, он был моим окном в мир веб-технологий. Сегодняшние ощущения от него скорее связаны с воспоминаниями, примерно как с журналом «Хакер»: берешь в руки старый номер — приятное чувство, словно ты опять школьник, купивший первый компьютер, открываешь — а там такая чепуха, что диву даешься, как такое читал.
Все же, у меня остались еще несколько сайтов на Друпале (никак не могу их сплавить), поэтому мне не безынтересны новости с Друпал-фронта. Дерзайте, разработчики! Дрис, развивай свое детище!
Комментарии из старого блога
03/26/13 Niklan: По сути вы тоже высосали из пальца недостатки друпала. Ну нету в нем портала, блога и т.д. и .т.п. при установки, это не делает друпал хуже. У него есть мощный модуль OG, а также сборки Open Atrium и еще куча других. Если пользователю надо магазин, дак на хрена он качает заведомо пустую сборку а не Drupal Commerce (Commerce Kickstart). По такой логике надо вообще весь drupal.org запихнуть в базовую поставку, и весить он будет гб 10+++. Кому такое надо. В этом плане друпал как раз очень грамотно сделан. Надо готовое - бери сборку, не надо - качай чистый и пили сам. Это как с дистрибутивами линукса. Там ведь никто не ноет что ядро линукса идет чистое. Если тебе не надо разрабатывать свое и с нуля, дак возьми дистрибутив и пользуйся. Не знаю как вы, но я заметил что даже новички уже знают о сборках друпала.
Что касается друпал.ру. Тут все так и есть. За сайтом почти не следят. На форуме полный писец. Когда я впервые зашел на него, там было гораздо больше опытных пользователей. Сейчас они тоже есть, но они больше как вы, пассивны и уже не участвуют, что тоже отразилось на сообществе. Друпал.ру 2 года назад и сейчас - небо и земля.
03/26/13 Иван Гришаев: Может, и не делает хуже, но все чаще я стал замечать, что специализированные движки справляются с задачами лучше Друпала. А уж в плане установки/настройки уделывают только так. Пилить свою сборку для блога, которая через год безнадежно устареет, я не собираюсь.Желающим открыть интернет-магазин я рекомендую купить коробочное решение, сейчас масса достойных вариантов по цене до 10 тыс. руб.
03/26/13 Niklan: Как по мне, вы сильно заблуждаетесь.
Берем OpenAtrium, он справляется со своими аналогами не на друпале точно также, если не лучше. И установка\настройка у него не как в друпале.
Попробуйте, например, Commerce Kickstart поставить. Увидите какая там установка и настройка. Все сведено к минимуму, только введи где и что надо и дождись конца - магазин готов.
Друпал рассчитан на разработчиков, это факт, поэтому то что друпал держится этого пути - плюс, а не минус. Если он скатится до уровня джумлы или вп, то он потеряет огромную долю разработчиков.
Не хотите пилить сборку - не надо, кто же вас заставляет, есть уже готовые. А вообще, попробовали бы вы Features. Делаете прототип, попутно ему обновляете ядро, что-то правите и сливаете feature и ставите уже свежак. Это проще чем вы думаете.
Я не думаю что на джанге это намного проще. Там тоже ваша сборка устареет. Только она будет стареть с технической стороны (новые технологии, идеи) и по сути минимум зависимости от фреймворка, но суть не меняется. Проблема эта будет везде.
Мне больше интересно, а почему выбрана была джанга, а не RoR например?
03/26/13 Иван Гришаев: Я не буду спорить с первой частью комментария. Что использовать - это вопрос предпочтений. Мне кажется удобным использовать специализированные решения, а не пилить универсальный Друпал. Заметьте, что я не предлагаю все писать на Джанге: на работе у нас бок о бок крутятся и ПХП, и Питон и, прости господи, 1С.
Джанго не мой любимый фреймворк, я больше предпочитаю Фласк - микрофреймворк, аналог Синатры для Руби. Я полагаю, вас больше интересует выбор языка? Питоном я заинтересовался, когда потребовалась автоматизация процессов на производстве - работа с файлами, почтой, парсингом документов, запросы к базам, работа COM-объектам в Винде. Питон как язык общего назначения отлично справляется с такими задачами, в отличии от Руби, который больше преуспел в вебе. И по причине того, что уже много было написано на Питоне, веб-проекты я делал на Джанго и Фласке. Руби и Питон в целом равнозначны, огромное число холиваров тому подтверждение.
03/26/13 Niklan: Просто я недавно никак не мог решиться, что начать учить. И я за неделю столько информации о Ruby и Python для веб разрабов перерыл, что так и не нашел явного лидера среди них. Выбрал руби, так как RoR показался более перспективным для веба. Да и все поголовно утверждают что для рор огромное количество плагинов, а для джанги в разы меньше.
03/26/13 Иван Гришаев: Согласен, в области веб-разработки Руби имеет больше возможностей, нежели Питон, а Рельсы богаче Джанги. Но мериться количеством плагинов я бы не стал, т.к. за время работы с Джангой в силу специфики проектов мне крайне редко приходилось прибегать к стороннему коду. И нужно учитывать не столько моду, сколько спрос на ту или иную технологию в вашем городе.
06/07/14 Елена Турлина: Здравствуйте!
Интересно было прочесть и статью, особенно несколько мест повеселили :) (я как раз такой “пользователь”, хоть и ни разу ничего на друпал.ру не спрашивала), и вашу дискуссию с Niklan.
Для меня всё это заоблачная даль, ибо программистом я ни разу не являюсь, но с моим содействием и мной лично уже создано несколько сайтов. Где-то были мои идеи и контент, а несколько последних делаю сама со старта. Пришлось осваивать друпал. Он для меня оказался более привычным, так как была админом нескольких проектов по моим идеям, поэтому и выбор пал именно на него.
Сейчас в процессе создание нескольких интернет-магазинов, и я действительно сталкиваюсь с большими трудностями, так как часто вылазит что-то не понятное, и приходится разбираться каждый раз как впервые разбиралась с такими действиями, которые сейчас уже на автомате (например, установка ядра, правильный бэкап или тот же потерянный вход в админку). Мне кажется, эти трудности никогда не кончатся. Особенно удручают моменты, когда понимаешь, что конкретная проблема решается только в режиме написания кодов или скриптов в каких-то файлах — тут меня всегда пугает и отталкивает что-то большее, чем по жёсткой инструкции заменить фалс на тру в определённой строке определённого файла.
И вроде я хорошо обучаема, но, с другой стороны, понимаешь, что изучить всё не хватит времени просто.
В ближайших планах ещё один проект, который подразумевает много всяких сложных накруток, которых я в друпале ещё не делала и не представляю ещё, как реализовывать. К примеру, разные классы ролей пользователей и другие связанные с этим функции (иерархия, разная степень открытости дискуссий и т. п.). Так вот у меня в связи с этим вопрос. Если проект будет воплощён в друпале, а потом потребует чего-нибудь более рационально-удобного для него, возможно ли будет перенести сайт (базу данных + файлы) на другой движок? Или это принципиально невозможно, и в чём рожали, в том и растите?
06/07/14 Иван Гришаев: Добрый день! Я полагаю, перенести данные из одного движка в другой – задача не особо сложная, но муторная. Нужно будет изучить структуру данных обоих движков и написать скрипт переноса данных. Потребуется искать специалиста, знающего сразу оба движка.
-
-
Петиция в поддержку Гуглоридера
-
Накручивание голосований на Друпал.ру
Простой скрипт на Питоне, накручивающий голосовалки на Друпал.ру:
import threading import urllib import re import sys import time import random try: _, nid, variant = sys.argv[:3] except: print "Usage: python poll.py nid variant" exit(1) PROXY_PATTERN = r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{2,5}" POLL_URL = "http://www.drupal.ru/inner_poll/vote_js" PROXY_URLS = ( "http://feeds.feedburner.com/best-proxy/oKhv", ) proxies = [] for url in PROXY_URLS: try: proxies.extend(re.findall(PROXY_PATTERN, urllib.urlopen(url).read())) except: continue params = { "n": nid, # node id "v": variant # variant id ("0,1,n" if multiple) } data = urllib.urlencode(params) threads = [] print len(proxies), "proxies =)" time.sleep(3) def job(p): time.sleep(random.randint(0, 60)) urllib.urlopen(POLL_URL, data=data, proxies={'http': 'http://' + p}) for p in proxies: t = threading.Thread(target=job, args=(p, )) try: t.start() except: pass
Запускать так:
python poll.py nid variant
, где nid — номер ноды, variant — номер варианта ответа (нумерация с нуля) либо варианты через запятую.
Комментарии к коду.
- На Друпал.ру голосование разрешено всем, даже анонимам.
- Единственное ограничение на голосование — IP должен быть уникальным в пределах номера ноды.
- Запрос осуществляется методом POST с передачей двух переменных: номера ноды и варианта. Про CSRF-токены не, не слышали.
- Каждый запрос делаем через свой прокси. Список прокси берем из RSS-ленты сайта http://best-proxy.ru/ Лента, как вы заметили, пропущена через Фидбернер, т.к. создатели сайта огораживаются от граббинга.
- Каждый запрос выделяем в свой тред.
- КПД проксей где-то 10%, что тоже неплохо.
Область применения скрипта — накрутка и троллинг.
Комментарии из старого блога
03/10/13 RxB: Ну зачем… Теперь все будут знать
03/10/13 Иван Гришаев: Да и хрен с ним. Во-первых, на Д.ру одни пхп-шники, во-вторых, best-proxy.ru больше не обновляется, прокси из РСС-ленты не работают.
03/25/13 Александр Мальков: Но, все равно - спасибо. Интересный подход.
-
Работа с Яндекс.Диском из 1С
1С умеет удивлять. Например, чтобы работать с Яндекс.Диском, не требуется никакого шаманства, все из коробки:
Путь1 = "https://login:pass@webdav.yandex.ru/path/to/file.txt"; Путь2 = "c:\file.txt"; КопироватьФайл(Путь1, Путь2); УдалитьФайлы(Путь1); КопироватьФайл(Путь2, Путь1);
Данный код копирует файл из облака Яндекса на локальный диск, удаляет из облака и заливает обратно. Вместо
login
иpass
подставляем логин и пароль Яндекса.Это дико удобно, потому что, в отличии от Дропбокса, Яндекс поддерживает Вебдав. Диск от Яндекса раскачивается до 10 Гб в полпинка. Таким образом, все прайсы, фотки и прочую статику можно хранить в диске от Яндекса.
Комментарии из старого блога
04/17/13 Руслан: Приветствую, ну а что удивительного. Я так понимаю яндекс диск резервирует служебную папку. КопироватьФайл - просто копирует в эту папку файл, а яндекс приблуда висячая в трее, сама синхранизирует данные.
Пробовали сделать данный не шаманский код, без установленного яндекс диск по?
04/18/13 Иван Гришаев: Код работает без установленного Я.Диска. В 1С где-то зашита поддержка протокола Вебдав, по которому работает Я.Диск. ФТП тоже поддерживается. В том и прикол, что для работы с файлами из облака устанавливать клиент не нужно.
04/18/13 Руслан: Ну тогда действительно прикольная штука. Надо по экспериментировать ;)
08/03/13 Илья: А уверены, что именно 1С поддерживает webDAV а не ОС? Попробуйте под ХР запустить этот код
08/03/13 Иван Гришаев: Уверен, так написано в доках. А что, под Икс-пи не работает?
12/23/13 Александр Маляев: Огромное спасибо за наводку! А то никак не мог придумать, куда бы свои 500Гб на Яндексе приспособить. А тут mail.ru еще облако замутило и терабайт в подарок всем дало, и WebDAV скоро обещают - вообще тема будет!
01/16/14 Иван Гришаев: У мейл.ру подвох в том, что все залитые данные становятся их собственностью, они могут делать с ними все, что хотят. Например, слить бекапы ваших баз конкурентам. Разве что на архив выставлять пароль.
01/16/14 Александр Маляев: Вы сами понимаете что они это делать не будут. Всего один прецедент, и его так раструбят по всем соцсетям и новостным лентам, что потом не отмоешься. А при миллиардных оборотах так глупо рисковать своей репутацией ради каких-то копеечных архивов? Техподдержка MAIL.RU уже отвечала на этот вопрос, дав понять что этот пункт просто формальность. Конечно все мы понимаем что если спецслужбам понадобятся материалы то любой их предоставит, и MAIL.RU не исключение, но многим ли есть повод скрывать что-то от высокопоставленных органов? Мелкие нарушения в налоговом законодательстве никого не волнуют ни капли. За много лет моей работы сотни архивов баз и паролей ко всему прошли через почту, файлообменники, СМС - и ничего. А уж почта не менее доступна кому надо чем облака.
01/16/14 Иван Гришаев: Снимите розовые очки. Номера телефонов продают спамерам все. Мейл ру могут слить ваши данные, потому что вы не сможете явно доказать, что слили именно они. Вручную они не буду рыться в ваших данных, скорее, это делает программа, которая ищет во всей этой помойке что-то интересное. Базы от 1С интересны, их можно тайком продавать.
01/16/14 Александр Маляев: Да, кстати в 1С 7.7 такой поддержки WebDAV нет.
02/27/14 Виталий: А есть ли возможность из 1С8 получить публичную ссылку на скопированный файл.
02/27/14 Иван Гришаев: Нет, только средствами Я.Диска.
03/16/15 Андрей: А куда этот код надо прописать? и как без ПО яндекс.Диска настраивать путь к базе из самой 1с?
03/16/15 Иван Гришаев: Этот код вы помещаете в любое место, например, в тело формы, модуля. Вторую часть вопроса не понял.
03/16/15 Андрей: Подскажите можно настроить доступ к яндекс.диску путем https://login:pass@webdav.yandex.ru/path/to/file.txt т.е при выборе пути к БД что указывать? эту строку? как работает такой доступ?
03/16/15 Иван Гришаев: Андрей, мне кажется, вы не так поняли. БД тут ни при чем. Предположим, что в Я-диске у вас есть папка documents, а в ней файл price.xls. И предположим, что ваш Я-логин
andrey
, a парольSuper123
Тогда вы можете выкачать файл из Я-диска прямо из кода 1с таким образомКопироватьФайл("https://andrey:Super123@webdav.yandex.ru/documents/price.xls", "c:\documents\price.xls");
или наоборот, загрузить файл с локального диска в Я-диск
КопироватьФайл("c:\documents\price.xls", "https://andrey:Super123@webdav.yandex.ru/documents/price.xls");
Проблема только в том, что в последних билдах 1С стал глючить SSL
03/16/15 Андрей: А как подключить яндекс диске(с базой 1С) она будет работать? в настройках указать путь к БД 1с какой ? с дисками локальными все понятно а как быть с Яндекс дискам? можно подключить диск командой https://login:pass@webdav.yandex.ru? или нет? просто хочу организовать доступ не локальный(БД не на компе), а скажем через яндекс диск. Это возможно ?
03/16/15 Иван Гришаев: Андрей, вы можете синхронизировать файл базы через Я-диск только когда не работаете с ней. Когда вы начинаете работу, файл открывается процессом 1С и сторонние процессы не смогут его прочитать. Кроме того, если много клиентов постоянно перезаписывают один и тот же файл, могут возникнуть конфликты, и чья-то сторона вынуждена будет принять не свои данные. Если вам нужна единая база данных, воспользуйтесь хостингами вроде
virtual1c.net
03/16/15 Александр Маляев: Андрей, теоретически это возможно, так как удаленную Webdav-папку можно смонтировать как локальный диск и работать с ней как с обычным диском. Но фактически вы работать не сможете, т.к. скорость будет примерно такая как если бы вы умудрились запустить 1С на каком-нибудь древнем 286-ом.
Если хотите удаленную а не локальную 1С - то смотрите в сторону “облаков”, в случае этого решения и данные и их обработка происходят на одном удаленном сервере, клиенту “гонится” либо картинка (в случае удаленного рабочего стола), либо небольшие куски данных, отобранные и обработанные сервером (в случае тонкого клиента).
04/29/15 Алексей: Подскажите пожалуйста, доводилось ли Вам получать с ЯндексДиск штатными средствами 1С 8.3 список файлов в произвольной папке? Без подключения внешних XML библиотек ? Все пишут, что надо сделать запрос (даже без тела), указав только атрибуты (заголовки объекта HTTPЗапрос):
PROPFIND / HTTP/1.1 Host: webdav.yandex.ru Accept: */* Depth: 0 Authorization: Basic "+ВКодировкеBase64(ЛогинПароль:ИмяФайла)
Но,
"PROPFIND / HTTP/1.1 "
- это ведь не атрибут, это команда. И как тогда её выполнить штатными средствами 1С?04/29/15 Иван Гришаев: Здравствуйте, не приходилось. Нужно смотреть документацию, позволяет ли 1С отправить хттп-запрос методом PROPFIND. Если нет, то увы.
Проверьте, можно ли передать урл Яндекс-диска в функцию
НайтиФайлы()
Если тоже нет, установите cURL из запускайте его из 1С как процесс. Текст ответа распарсите силами 1с11/20/15 Сергей Лиманчук: Иван, всё прекрасно работало где-то полгода, но с середины вчерашнего дня не копирует никакие файлы, 1С возвращает ошибку “Удаленный узел не прошел проверку”. Любопытно, что мобильное приложение 1С для iOS продолжает работать, ошибка вылезает только на ПК.
11/20/15 Иван Гришаев: Сергей, да, с какого-то времени схема перестала работать, к сожалению. Вы можете заменить диск от Яндекса на ФТП-сервер. Все то же самое, только в файловом пути пишете
ftp://
вместоhttps://
-
Красота в Питоне: чистка строк
Есть многострочная (юникодная) строка. Скажем, номера телефонов в столбик.
Как получить список телефонов безо всякой мишуры вроде пустых строк и лидирующих/конечных пробелов ?
В Питоне это делается в 3 (три!) строки:
data = u''' 23-33-34 89644616130 79144905640 266653 ''' phones = data.splitlines() phones = map(unicode.strip, phones) phones = filter(bool, phones) print phones [u'23-33-34', u'8 964 461 61 30', u'7 9144905640', u'266653']
Вот за что я люблю этот язык.
-
Джанго: тестовый сервер или боевой?
Вот как определить, в какой среде запущена Джанга:
# settings.py import sys DEBUG = "runserver" in sys.argv
Очень удобно — при запуске тестового сервера всегда будет включен дебаг, а в бою — выключен.
-
Дрянь
Заходим на сайт Сноба. Загрузка подтормаживает. Ставим расширение для Хрома Ghostery. Видим следующее:
Заблокировано двенадцать(!) источников и почти 30(!) запросов ко всяким счетчикам, виджетам и прочей дряни. Вот полный список (ссылки укорочены многоточиями):
- http://ads.adfox.ru/165877/prepareCode?p1…
- http://ads.adfox.ru/165877/prepareCode?p1=bi…
- http://ads.adfox.ru/159305/prepareCode?p1=b…
- http://ads.adfox.ru/165877/prepareCode?p1=bisr…
- http://luxup.ru/tr/8523/&r=http%3A//www.google.com/reader/view…
- http://ad.adriver.ru/cgi-bin/erle.cgi?sid=110529&sz=reader_index&…
- http://ad.adriver.ru/cgi-bin/erle.cgi?sid=166191&target=top&bt=21..
- http://static.chartbeat.com/js/chartbeat.js
- http://s.clicktale.net/WRc3.js
- http://connect.facebook.net/ru_RU/all.js
- https://graph.facebook.com/fql?q=SELECT%20total_count%20FROM%…
- http://partner.googleadservices.com/gampad/google_service.js?v=276501
- http://www.googletagservices.com/tag/js/gpt.js
- http://www.google-analytics.com/ga.js
- http://www.google-analytics.com/__utm…
- http://www.google-analytics.com/__utm.gif?utmwv=5….
- http://www.google-analytics.com/__utm.gif?utmwv=5.3.9&…
- http://www.google-analytics.com/__utm.gif?utmwv=5.3.9&utms=4…
- http://www.google-analytics.com/__utm.gif?utmwv=5.3.9&utms=5&utm…
- http://www.google-analytics.com/__utm.gif?utmwv=5.3.9&utms=6&utmn=42…
- http://www.google-analytics.com/__utm.gif?utmwv=5.3.9&utms=7&utmn=154032…
- http://www.google-analytics.com/__utm.gif?utmwv=5.3.9&utms=8&utmn=242…
- http://www.google-analytics.com/__utm.gif?utmwv=5.3.9&utms=9&…
- http://www.google-analytics.com/__utm.gif?utmwv=5.3.9&ut…
- http://www.google-analytics.com/__utm.gif?utmwv…
- http://counter.rambler.ru/top100.jcn?2327123
- http://counter.rambler.ru/top100.scn?2327123&rn=880223809…
- http://www.tns-counter.ru/V13a…
- http://mc.yandex.ru/metrika/watch.js
Ладно, аналитику Гугла можно принять. Но зачем счетчики от Яндекса и Рамблера? А теперь подумайте о том, что каждый раз вы грузите себе на комп это говно.
Нет, установив однажды AdBlock и Ghostery, пользоваться интернетом без них уже не сможешь.
-
Колл-центр, типа
На рисунке изображена схема будущего колл-центра нашей организации:
Никогда не мог понять, зачем тратить сотни тысяч на разработку и внедрение подобных схем (плюс затраты на оборудование, поддержку, интеграцию), когда можно увеличить штат телефонистов и отвечать живым голосом.
Очевидно, что человек звонит, когда информации на сайте, листовках и т.д. уже не достаточно. И заставлять его слушать тарабарщину, давить на кнопки, ждать — нехорошо. В моей практике ни разу не было случая, когда робот-автоответчик помог в решении проблемы.
Но поскольку у нас Крупная® Организация™, то и схема колл-центра должна быть Корпоративной® и Энтерпрайзной™ — взрывающей мозг, проще говоря. А я устроил маленький саботаж — сделал так, чтобы из любого уровня этого ада можно было соединиться с оператором, нажав «ноль».
Уверен, это будет самой используемой фичей.