• Высота компьютерного стола?

    В идеале должно быть так:
    Пример стола
    Человек должен сидеть, так чтобы ноги были согнуты под 90 градусов. Регулировать высоту стула под уровень стола плохая идея, т.к. будут уставать ноги.
    Между нижней поверхностью стола и коленками должен помещаться кулак (рука).

    Так как у каждого свой рост и конституция, то размеры индивидуальны.
    Ответ написан
    Комментировать
  • Высота компьютерного стола?

    @Smolka
    Полистайте поиск на хабре… тему столов и стульев уже изъелозили вдоль и поперёк…
    Высота стола должна быть такой, чтобы предплечие было под углом 90 градусов к плечу. Выдвижная стойка под клаву не приемлема.
    Стул должен быть таким, чтобы между голенью и коленом был угол в 90 градусов, и ступни стояли на полу.
    >>>>> Это минимальные требования. >>>>>
    Ответ написан
    Комментировать
  • Как обуздать Django messages?

    winordie
    @winordie
    Лучшая документация -- исходники
    Давайте посмотрим как работает framework messages.

    https://github.com/django/django/blob/master/djang...
    def messages(request):
        return {
            'messages': get_messages(request),
            'DEFAULT_MESSAGE_LEVELS': DEFAULT_LEVELS,
        }
    ...
    def get_messages(request):
        if hasattr(request, '_messages'):
            return request._messages
        else:
            return []

    Так messages попадают на страницу. Т.е. они берутся из request._messages. Как же они туда попадают?

    https://github.com/django/django/blob/master/djang...
    class MessageMiddleware(MiddlewareMixin):
        def process_request(self, request):
            request._messages = default_storage(request)
    ...
    def default_storage(request):
        return import_string(settings.MESSAGE_STORAGE)(request)
    ...
    MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'

    Значит в request._messages у нас лежит FallbackStorage(request)

    Перейдем к нашему коду
    messages.error(request, 'Ваш диапазон дат занят для данного объекта.')

    Что тут происходит? Посмотрим:
    https://github.com/django/django/blob/master/djang...
    def error(request, message, extra_tags='', fail_silently=False):
        add_message(request, constants.ERROR, message, extra_tags=extra_tags,
                    fail_silently=fail_silently)
    ...
    def add_message(request, level, message, extra_tags='', fail_silently=False):
        if not isinstance(request, HttpRequest):
            raise TypeError("add_message() argument must be an HttpRequest object, "
                            "not '%s'." % request.__class__.__name__)
        if hasattr(request, '_messages'):
            return request._messages.add(level, message, extra_tags)  # *** THIS ***
        if not fail_silently:
            raise MessageFailure('You cannot add messages without installing '
                        'django.contrib.messages.middleware.MessageMiddleware')

    Ага, вызывается метод add знакомого нам объекта FallbackStorage.
    Ему передается в качестве параметров:
    - level = constants.ERROR = 40
    - message = 'Ваш диапазон дат занят для данного объекта.'
    - extra_tags = ''

    Посмотрим на этот метод
    https://github.com/django/django/blob/master/djang...
    def add(self, level, message, extra_tags=''):
            if not message:
                return
            level = int(level)
            if level < self.level:
                return
            # Add the message.
            self.added_new = True
            message = Message(level, message, extra_tags=extra_tags)
            self._queued_messages.append(message)
    ...
    def _get_level(self):
            if not hasattr(self, '_level'):
                self._level = getattr(settings, 'MESSAGE_LEVEL', constants.INFO)
            return self._level

    Из этого кода можно сделать вывод что сообщение попадает в очередь сообщений если его уровень более или равен тому который задан в settings.MESSAGE_LEVEL (по умолчанию = contants.INFO = 20)

    Таким образом чтобы добавлялись только наши сообщения необходимо:
    1) в settings.py установить
    # settings.py
    ...
    MY_SUPER_ERROR = 80
    MESSAGE_LEVEL = MY_SUPER_ERROR
    ...

    2) Во вью писать
    if not available_cars:
            carstoshow = None
            messages.add_message(request, settings.MY_SUPER_ERROR, 'Ваш диапазон дат занят для данного объекта.')
            return redirect('car_detail', pk=car_used_id)
    Ответ написан
    1 комментарий
  • Полноценный перевод "Learn Python the Hard Way"?

    @gluk47
    Я автору написал. Правами на книгу владеет он+издательство; он готов рассмотреть перевод на договорной основе с передачей прав на перевод ему+издательству. Готового перевода он не знает, я тоже.

    Я ему задал вопрос, можно ли перевести его книгу и на каких-либо условиях продавать или выложить в открытый доступ, кусочек ответа вот:
    Hey Egor, sorry but the book is copyright by me and my publisher.
    <…>
    My publisher handles most of the translations but they're very slow. If you're interested in translating it for me and are willing to be paid a flat fee then we can work out a work-for-hire contract. That means you don't own the end results, I do, but you get your name as the translator.
    Ответ написан
    Комментировать
  • Как въехать в программирование (ООП, паттерны)?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Если вы хотите по настоящему серьезного фундаментального и взорослого. То возьмите книгу Бенджамина Пирса "Типы в языках программирования". Сначала испугайтесь как следует, а затем перемотайте до главы "ООП".
    Ответ написан
    1 комментарий
  • Как въехать в программирование (ООП, паттерны)?

    parschakov
    @parschakov Автор вопроса
    Начинающий изучать PHP и JS
    про SOLID действительно очень интересно, понравилось объяснение от Дмитрия Афанасьева, оставлю ссылку на плейлист здесь думаю будет интересно подписавшимся на вопрос.
    Ответ написан
    2 комментария
  • Как въехать в программирование (ООП, паттерны)?

    alexfilus
    @alexfilus
    Senior backend developer
    Я проникся ООП когда писал одну программулину в процедурном стиле и внезапно понял что не могу разобрать свой собственный код, написанный вчера. Потратил на рефакторинг 12 часов и после этого код стал больше похож на английский язык, чем на непонятный набор букв, точек, цифр и скобочек. Так что в идеале нужна практическая задача на чистом языке, без фреймворков.
    Раз речь о PHP, попробуйте написать свою ORM. Простейший построитель запросов для CRUD, но универсальный. Как минимум наследование точно поймёте.
    По паттернам я сейчас толкового курса сходу не нашёл, но не переоценивайте их значимость. Лучше почитайте (посмотрите видео) о том, что такое SOLID.
    Когда придёт понимание что такое наследование и зачем оно нужно, тогда можно и про паттерны почитать, но как по мне, реально интересен только Одиночка. Все остальные это просто правильные способы применить наследование, и выглядят довольно очевидными.
    Ответ написан
    5 комментариев
  • Как въехать в программирование (ООП, паттерны)?

    @Wentixon
    Шаблоны проектирования с человеческим лицом
    К сожалению, не успел к началу вопроса, многое уже посоветовали, но эту статейку вроде не успели еще кинуть. Недавно нашел ее и просто поразился как просто и доступно это изложено + с примерами кода на php. Просто шикарный перевод великолепной статьи!

    От себя же хочу сказать, что единственный способ понять паттерны - это столкнуться с проблемами которые они решают, ибо паттерны ни что иное как шаблоны решения каких то проблем (и предотвращения). Так что делаем вывод - нет проблем, не может быть и решений (конечно, вы просто не осознаете, что они есть, так как проект растет довольно медленно и чаще это какие то правки или добавление нового функционала, который не зависит от старого). Я очень долго пытался с ними разобраться, пробовал читать все перечисленные книги, но вроде читаешь такой и типа понимаешь, но с другой стороны какбы и нет. Вроде понятно, но где это применять хрен знает. Вообщем, как уже сказали, нужны реальные проблемы и тогда открываешь книгу с решениями этих проблем и думаешь какое решение выбрать. Это как с рецептами.. Хочешь что то приготовить, можешь как бы и сам, но не факт, что вкусно получится, тогда открываешь книгу проверенных рецептов и начинаешь применять все по шагам, опираясь при том на ингридиенты, которые у тебя имеются.

    Так что посоветую 2 варианта изучения.
    1) Тупо работаешь над сложные проектами, только действительно сложными, а не сайтиками на cms. И со временем ты начинаешь встречаться с проблемами. Тогда открываешь паттерны и тебе не придется даже как то их особо понимать, потому что это будет естевственно для тебя. Я думаю ты используешь ide вместо редактора кода. Но к примеру я помню тот момент, когда я пользовался саблаймом и знал, что есть ide, но я писал на тот момент простые вещи и когда мне говорили, почему я не юзаю ide, ведь в ней столько всего, я не понимал их потому что мне и саблайма за глаза хватало. Но пришло время, когда надо было то и се и саблайма стало мало. И тут открываю ide, а там уже есть все необходимое и думаешь в такие моменты, как я раньше этим не пользовался. А дело в том, что раньше и не надо было. Может неудачный пример, но вы поняли ) Конечно, этот вариант изучения не совсем реален, по скольку сложный проект еще найти надо, да еще попасть в команду, которая не говнокодит, так как и крупные проекты бывают достаточно плохо написаны. Но можно как вариант к примеру делать свою cms и применять в ней как можно больше паттернов.

    2) Тупо садитесь и изучаете паттерны (как и делал я). Но не просто изучаете, а к какждому паттерну придумываете как можно больше проблем, которые может у вас были или могут быть, так как паттерны в большинстве случаях любят описывать в метафорах, но чаще это получается слишком абстрактно, поэтому нужно чтобы вы придумали свои конкретные задачи, где бы вы попробовали применить этот паттерн. И второй этап - садитесь и пишите эти задачи. Тупо открываете свой яп и реализовываете паттерн. При чем несколько раз с разными проблемами.

    Также советую четко понять uml диаграммы. Таким образом, чтобы освежить паттерн вы не будете читать примеры, а просто посмотрите диаграмму и сразу вспомните, зачем он нужен и как его можно реализовать.
    Вот пожалуй и все
    Ответ написан
    1 комментарий
  • Хорош ли MODx и чем?

    @asd111
    Админки в laravel генерируются, либо для CRUD генерируется код и потом добавляется проверка прав доступа - вот и вся админка. Поверьте лучше один раз научится этому чем копаться внутри CMS.
    В вашем случае главный недостаток modx в том что если вы научитесь им пользоваться, то не сможете потом этот навык продать. А если вы сделаете на laravel (пусть без vuejs), то потом сможете найти хорошую работу.
    CMS подходят когда нужно быстро сделать и не менять логику работы, т.е. поставил - работает, разве что шаблон поменять, а если нужно менять логику работы, то архитектура CMS скорее мешает чем помогает.

    Для laravel много бесплатных генераторов админок:

    https://the-control-group.github.io/voyager/
    laraadmin.com
    https://github.com/LaravelDaily/quickadmin
    https://github.com/z-song/laravel-admin
    labs.infyom.com/laravelgenerator
    https://github.com/appzcoder/crud-generator
    https://backpackforlaravel.com/
    https://github.com/LaravelRUS/SleepingOwlAdmin
    Ответ написан
    4 комментария
  • Как решить задачу коммивояжера с использованием яндекс/google карт?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Это их коммерческие ограничения, вы сможете их наверное переплюнуть, если у вас толстый кошелёк.
    А как приведённые вами сервисы работают вы можете сами посмотреть, к вашему счастью ассемблер знать не нужно. Магии там никакой, все запросы уходят напрямую в Я и Г.
    Ответ написан
    Комментировать
  • Анимация кометы по орбите, как реализовать?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Проще и лучше - svg:
    https://codepen.io/dinks/pen/ECbpG
    https://codepen.io/semenchenko/pen/BwGOKo
    https://codepen.io/Scott-Hutcheson/pen/oeJRWP?q=sv...
    https://codepen.io/diogocera/pen/YyYPZB
    Из минусов - не полная поддержка в edge, но обещают исправить
    how it made: https://css-tricks.com/guide-svg-animations-smil/#...
    Ответ написан
    Комментировать
  • Анимация кометы по орбите, как реализовать?

    Вот посмотрите пример на scss https://codepen.io/ghost028/pen/bEBKXZ
    Ответ написан
    Комментировать
  • Где удобно хранить куски кода?

    Vadiok
    @Vadiok
    Веб разработчик
    Хранить в на Gist.GitHub, но пользоваться для этого Lepton.
    Еще вариант Code Notes.
    Ответ написан
    3 комментария
  • Где удобно хранить куски кода?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Является ли счет в Payoneer российским для гражданина РФ?

    Jump
    @Jump
    Системный администратор со стажем.
    является российским счётом
    Российским счетом является счет открытый в Российском банке.
    Если вы открыли счет в организации, и эта организация есть в реестре банков, то так оно и есть.
    В иных случаях - нет.
    Ответ написан
    Комментировать
  • Почему постоянно "хочется отвлечься на что-то другое"?

    fross
    @fross
    Разрабатываю
    Был у меня период когда я переехал и на протяжении полутора года, практически не общался с людьми в оффлайне(работал также дома), но мне было интересно что у кого происходит, потому часто заходил в соц.сети, что бы пообщаться со знакомыми/друзьями, посмотреть их фотографии, повспоминать былые времена. И когда я начинал что то учить/кодить, я постоянно отвлекался. Со временем, общение с друзьями угасало и я просто искал смешные картинки и видео в соц.сетях. Когда я просыпался утром, я брал телефон и начинал листать новостную ленту в соц.сети.

    Саморазвитие в тот период было таким:
    Я легко загорался и прочитав статью на хабре об arduino, я заказал себе ардуино, пока мне пришла посылка, мне это уже стало не интересным. Через две недели загорелся raspberry, еще через две математикой, потом физикой, потом просто худ.литература потом снова arduino и так каждые две недели. На stepik у меня огромное количество незаконченных курсов. В итоге я ничего не усваивал, информация в голове была не структурированной и в течение месяца я просто напросто забывал все.

    Через несколько месяцев я понял что я провожу в соц. сетях порядка 4-6 часов в день. Я отказался от ВК, и испытывал дискомфорт в первые две недели, потом стало легче, и я уже мог около недели провести за разбором какой либо задачи и мне это понравилось. Засыпая я думал о возможных решениях, просыпаясь я садился за работу. И все было прекрасно, но через некоторое время я опять сорвался, и вернулся не к соц.сетям, но к Counter-Strike 1.6, но вероятнее для того что бы просто поболтать с игроками, несколько раз в неделю смотрел фильмы. И все, изучение чего-либо и работа отошли на второй план и месяца на два я опять выпал из жизни. Каждый день, играя, я себя корил за то, что я ничего не делаю, от этого я злился сам на себя. От этой злобы, отсутствия реального общения впал в депрессию, обратился к врачу, мне выписали антидепрессанты. Буквально через месяц мне немного полегчало, я пересмотрел свой образ жизни и отказался от всех игр, фильмов, соц.сетей и стал учиться, читать, работать.

    Примерно в это время я вернулся в свой родной город, где снова мог общаться со старыми друзьями. Правда если до отъезда мне хотелось видеться с друзьями часто, то сейчас это не более 4 раз в месяц(часто реже), все остальное время провожу за учебой, работой, чтением полезных книг. В соц.сетях не сижу, фильмы новые мне не нравятся, и даже научная-фантастика, которая мне раньше очень нравилась, сейчас кажется какой то сухой, не несущей смысла.

    Вывод:
    Отказавшись от всех соц.сетей, оставив только YouTube(за последние две недели это только официальные видео-уроки Unity и какие-нибудь плейлисты с музыкой), видясь с друзьями, в среднем 2-4 раза в месяц что бы попить кофе(обычно и это не занимает более 2-3 часов), у меня появилась способность на протяжении 6-10 часов в день работать над задачами отвлекаясь только на прием пищи, и пару перекуров. При этом сильно изменилось обучение и я на протяжении нескольких месяцев могу изучать одну дисциплину.

    В общем, избавляйтесь от информационного шума, ищите для себя только полезную литературу, и вы сами увидите как будет меняться ваше мышление.
    Ответ написан
    2 комментария
  • Как справиться с недостатком сосредоточенности?

    Moon_Lobster
    @Moon_Lobster
    Инвестор
    Распределять время, прям расписать его. Мне помогло, составил график, с работой стало легче, знаю когда могу почитать почту, сходить в зал, покушать, какие задачи нужно выполнить утром и т.д.
    Ответ написан
    4 комментария
  • Как решить проблему с концентрацией?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Мозг работает так, как он привык работать.

    Все, чего вы сейчас достигли (отвлекаться на свои мысли вместо того, чтобы заниматься текущей задачей), вы нарабатывали долгим и упорным трудом всю предыдущую жизнь.

    Нарабатывать умение концентрироваться на неприятных и неинтересных вещах делается таким же способом - стараетесь через силу регулярно это делать. Через несколько лет мозг привыкнет к новому поведению.
    Можно это назвать силой воли - умение осознанно приспособиться к некомфортным условиям.

    P.S. С детства такие вещи тренируются. Чем взрослее тем сложнее, и даже факт того что ты осознаешь конкретный недостаток не облегчает того, что избавиться от него тяжело.
    Ответ написан
    2 комментария
  • Как решить проблему с концентрацией?

    @nomta
    1. Отключить внешние раздражители - очень важно. Телевизор и подобное лучше вообще убрать подальше.
    2. Научиться правильно отдыхать, в том числе - чтобы голова отдыхала. Закончили работу - переключайтесь на то, что происходит вокруг, общайтесь, забудьте вообще о работе. Можете 10 минут удерживать "пустоту" в голове, не думать ни о чем? Чтобы ни одна мысль не пролезла в голову? Дайте мозгу "проголодаться", сразу станет интереснее.
    3. Ваша проблема - не только Ваша, с ней сталкиваются практически все так или иначе. Приходится учиться, находить свой ритм работы и отдыха. Допустим, отдыхаете каждые полчаса. Каждый раз, завершив какую-то подзадачу, ставите отметку "выполнено". В связи с этим - полезная техника: составляйте план из микрозадач и, по мере их выполнения, ставьте галочки напротив каждой выполненной задачи. Мелочь, а хорошо помогает в плане концентрации.
    4. Одной из причин может быть то, что Вы ставите перед собой сразу много обязанностей, мозг воспринимает это как неподъемную задачу и блокирует ее выполнение. Разбивайте задачу на более мелкие и не обещайте себе выполнить непременно все. Отдыхайте, переключайтесь, развлекайтесь.
    5. Не держите все в голове - записывайте. Разгружайте голову. Когда занимаетесь - ведите подробные конспекты. Это помогает структурировать информацию. На экзамене очень выручает - Вы вспоминаете не информацию из учебника, а то, что сами записали в конспект, как будто это Ваше творение. Вам остается только воссоздать свой конспект на листочке, что обычно происходит легко, как будто само собой.
    6. Лучший отдых - это перемена занятий. Найдите противоположный вид деятельности, например, спорт, и работайте с реальной отдачей, до изнеможения. Уровень концентрации в вашей основной области повысится в разы.
    Пробуйте, ищите, учитесь. Есть целое направление - brain fitness, посмотрите, может, найдете что-то полезное и для себя.
    Ответ написан
    Комментировать
  • Почему постоянно "хочется отвлечься на что-то другое"?

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

    Это такой мозг и ничего с этим не сделаешь. Но можно организовать процесс: писать план работ, задачи разобрать по важности/сложности и когда чувствуешь что попрет, открывать список и делать.

    В фазу когда настоиграло все к чертям обязательно заменить любыми оффлайн делами. Покапитаню: лучший отдых это смена вида деятельности. Перейти в соседнюю вкладку и листать мемасы это не смена вида деятельности. Для себя заметил что лучше всего помогает физическая активность. Какбе я знал это давно, но как тру ленивая жопа только кивал сам себе: тип да да, кэп, я в курсе. Все в курсе. Но лень. Потом случился ремонт в квартире и понеслась. Хочешь не хочешь, а попотеть в оффлайн приходилось. Тут эта теория нашла подтверждение на практике, продуктивность реально выросла. Фазы «запоя» и «отдыха» более менее уравнялись: на продуктивную работу каждый день приходилось около 3-5 часов, фаз «о, мемасы» и «в интернете кто-то неправ» стало гораздо меньше, затем совсем пропали. Затем ремонт закончился, а привычка уже выработалась (для выработки любой привычки достаточно трех недель, а зачастую и меньше) и ее следствия понравились настолько, что подняв жопу пошел таки в качалочку, в которую планировал последние пару лет. И таки скажу вам по секрету — лучшего варианта нет.

    Пообщавшись с людьми которые «профессиональные кочки», то есть которые горят своими результатами в зале, увидел что к отдыху они относятся как к неотъемлемой части работы: ни в одной сфере деятельности такого отношения нет. То есть для них работа это правильно и вовремя вкалывать-правильно вовремя отдыхать. Без любой из частей результата не будет.

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

    С наступающим, котаны!
    Ответ написан
    2 комментария