Как стать автором
Обновить
0
0
Nemoden @So1

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

Отправить сообщение
объявлять функцию внутри функции — это не очень хороший стиль программирования

Можно поподробней? Например:

def joinPaths(*args):
    
    def preparePathPart(part): # prepare path parts to be joined by join method
         # trim slashes from the end
         # etc

    def joinParts(paths, delimiter='/'): # another function inside of a function, join works only with prepared data
         return args.join(delimiter)

    return joinParts( map(args, preparePathPart) )

>>> joinPaths('/etc/', 'init.d/', 'some.conf')
'/etc/init.d/some.conf'


P.S. это просто синтетический пример на python-like псевдо-языке
Я не понимаю, какие конкретно могуть быть проблемы с тем, что я тут использовал аж 2 функции внутри joinPaths

Ровно то же самое я делаю не только на Python, но и на PHP/JS/Ruby/Go. Ни у меня, ни у моих коллег за долгие годы не было с этим никаких проблем. Более того, я считаю, что такая внутренняя декомпозиция хорошо структурирует функцию внутри самой функции. Неплохо было бы увидеть хорошее объяснение, почему это плохой стиль.
> Я много раз делал что-то похожее. Конечно не с такими нагруженными проектами.

У нас сайтик в Top 50 alexa.com по России. Более 1 млн уников в сутки. Когда я говорю про какую-то задачу, которую мне необходимо реализовать на нашем скромном хайлоаде и какой-нибудь разработчик местных витрин для «Рога и копыта» говорит мне, что это просто и он 100 раз так делал хочется взять и… похвалить

> Уверен для специалистов этого профиля — эта задача вполне тривиальная

Извините, но вы понятия не имеете о чем вы говорите
Неужели этому пройдохе (Кийосаки) хоть кто-то верит? Ну и Хабр… Нищий, который написал книгу как стать богатым, — какая ирония.

Хотя… че это я? Не покупайте никогда машину — это самое плохое вложение денег в вашей жизни.
1) Любопытство
2) Silverlight 5 [x]
3) Аккаунт ВКонтакте [x]

Похвально, но… сильверлайт и аккаунт ВКонтакте???!!! Это несерьёзно! :(
У вас проблема не в запросе, а в подходе к решению задачи. Вы ее пытаетесь решать в лоб вместо того, чтобы решать ее правильно.
У вас есть конкретная задача «Необходимо посчитать количество пользователей, которые хотя бы раз писали на форум в течение дня за последний месяц». Звучит очень просто, верно? Перефразирую, чтобы было более понятно ДБА: необходимы каунтеры постов в день по каждому юзеру за месяц.

То есть нужно получить user_id, date, posts_cnt.

Но, вы отталкиваетесь от текущей реализации структуры БД. На самом деле с ней нет никаких проблем кроме одной, в вашем случае, вы не можете выполнить задачу, стояющую перед вами не прибегая к таким вот запросам. Каст DATE(fp.created) убивает индекс по fp.created, например. Если у вас хотябы 10 миллионов постов в базе, вы в глубокой ****. Что делать? Всё просто — при инсерте поста в базу подготавливайте данные заранее:

INSERT INTO forum_posts SET post = 'post text', created = NOW(), user_id = 'user id'

Помните, «необходимы каунтеры постов в день по каждому юзеру»?
Получите:
INSERT INTO user_posts_by_date SET user_id = 'user id', `date` = CURDATE(), posts_cnt = 1 ON DUPLICATE KEY UPDATE posts_cnt = posts_cnt +1

несложно догадаться, что date + user_id должен быть unique. Можете еще партицирование по месяцам сделать

Тогда ваш запрос превратится в:

select * from user_posts_by_date where `date` between 2013-01-01' and 2013-02-01'

это будет выполняться В РАЗЫ быстрее не говоря о том, что это более наглядно.
Я думаю, они эти строки могут подвтердить собственным опытом, так что в этом вопросе я бы поверил ФСКН :)
Теперь кроме гуглоочков хочу эту приблуду еще :)
Спасибо за первую часть. Так понравилось, что не могу ждать, — уже читаю продолжение :)
Что мне мешает включить сайт обратно в самом SiteBlock'е?
В каком месте она на газету.ру похожа стала?
Забавно. Если вы дочитали до этого комментария, вы же понимаете, что теперь вы прокрастинируете чтением комментариев к статье про прокрастинацию? :)
Ставлю смайлики. Первое дело в моём ССВ было «нарисовал ССВ», оно получило небольшое еле улыбающийся смайлик, более важные дела вроде «сходил в бассейн» (после нескольких лет непосещения и откладывания на потом), отмечаю большими и широко улыбающимися смайлами. То есть, рейтинг не по сложности (ну правда — сходить в бассейн ведь не сложно совсем), а по важности для себя, так, поход в бассейн и реализация интеграции с платежной системой (2 часа vs 2 недели разработки) получили одинаковый рейтинг, т.к. и то и другое важно в равной степени, хотя и находятся в разных плоскостях.
хм, инетерсно посмотреть видео про то как женщины читают код… начинающие и опытные.
А на чем деньги зарабатывать, если у вас всё бесплатно? Я вот боюсь пользоваться вашим сервисом, потому что не понимаю, откуда у вас деньги, а поэтому думаю, что вы скоро закроетесь, а зачем мне пользоваться сервисом, который скоро закроется?
Вы пишете, что механизм продвижения должен быть заложен изначально, но и механизм монетизации тоже должен быть заложен изанчально иначе такие как я просто не будут пользоваться сервисом.
Сегодня пришло сообщение от free-lance: теперь можно оставлять контакты для pro-юзеров.
Леди и Джентльмены, это — Чубакка. Чубакка — это вуки с планеты Кашиик, но Чубакка живёт на планете Эндор. Подумайте об этом, в этом нет смысла! С чего бы вуки ростом два с половиной метра жить в Эндоре с 60-сантиметровыми эвоками? В этом нет смысла!
Но что ещё более важно, вы должны спросить себя, а при чём тут данное дело? Да ни при чём, леди и джентльмены, это не имеет никакого отношения к данному делу. В этом нет никакого смысла!
Взгляните на меня, я адвокат, защищающий крупную звукозаписывающую компанию, и я веду речь о Чубакке. Какой в этом смысл? Леди и джентльмены, я несу бессмыслицу, во всём этом вообще нет смысла!
Итак, запомните, когда вы, сидя в этой комнате, взвешиваете и сопрягаете декларацию независимости, есть ли в этом смысл? Нет, в этом нет смысла!
Итак, леди и джентльмены, если Чубакка живёт на Эндоре, вы обязаны вынести оправдательный приговор. Спасибо, ваша честь, я закончил.
Можно добавить какие-нибудь пасхальные яйца вроде:

> ответ на вопрос жизни вселенной и всего такого — 42

или

> как пропатчить KDE2 под FreeBSD — Нафига козе баян?

Есть ли что-то подобное?
За такой код денег вам точно никто не даст, а статья чуть менее чем полностью состоит из не очень качественного кода, рекламы сайта своей компании и попрошайничества.

PS научитесь хотябы автолоадом пользоваться для начала :)
— Какова ваша цель посещения России?
— У нас facebook заблокировали.
— О, ну тогда конечно, проходите!

:)
моих любимых wombat и xoria256 нет :( solorized тоже норм, но после xoria256 и wombat возвращаться к солорайзд не хочется.
1
23 ...

Информация

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