• Правильное правило iptables?

    @pcdesign
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source IP_GATEWAY


    Достаточно одного вот такого правила, если IP_GATEWAY не меняется.
    masquerade каждый раз определяет внешний адрес для каждого нового коннекта, естественно это сказывается на скорости работы сети, при кратковременном пропадании линка, masquerade сбрасывает все открытые соединения, т.к. предполагает, что адрес уже сменился. masquerade имеет смысл, когда IP_GATEWAY динамический.
    Ответ написан
    Комментировать
  • С чего начать laravel?

    @Kostik_1993
    Web Developer
    С документации. Laracast для видео уроков. Остальное это 99% шлака. Качество будет зависеть от знания вами языка и паттернов. Никакие уроки из вас не е сделают программиста. Как труд сделал из обезьяны человека, так и из кодера программиста может сделать только он.
    Ответ написан
    4 комментария
  • Сборка ядра centos7 под свое железо?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Прости, но вопрос уровня: "Всем привет, надо построить дом из готовых панелей, как это сделать автоматически? Слышал насчёт молотка, но там всё ручками."
    centos для любителей собирать ядро под своё железо называется gentoo. Начало здесь. Но скорее всего это тебе тоже не нужно.

    Например : система узнает какой процессрр и конкретно под него делает автоматически конфигурацию.

    Попробуй объяснить, зачем ты хочешь это сделать, чего хочешь добиться?
    Если 10-кратного прироста производительности hello_world, то нет, не добьёшься.
    Если сёрфить веб без тормозов на машине 10-летней давности с гигом памяти -- нет, тоже не добьёшься.
    Ответ написан
    8 комментариев
  • Как sizeof вычисляет размер массива?

    @res2001
    Developer, ex-admin
    sizeof - это не функция (хоть и выглядит похоже) - это операция взятия размера.
    sizeof всегда вычисляется на этапе компиляции, т.е. в исполняемом файле вместо вызова sizeof уже будет вычисленная константа.
    Когда компилятор знает размер массива, как в вашем примере, он вернет полный размер массива.
    Но если передать в sizeof произвольный указатель (именно указатель, а не статический массив), он вернет размер указателя.

    Статический массив - это не указатель. Указатель - на этапе выполнения занимает в памяти место для хранения адреса. Статический массив занимает в памяти место для хранения данных массива.
    Поэтому статический массив - это не указатель. Хотя часто компилятор работает с именем статического массива как с указателем.
    Ответ написан
    8 комментариев
  • Где найти карту развития (roadmap) для разработчика на языке C?

    myjcom
    @myjcom
    Есть очень похожее https://github.com/gurugio/lowlevelprogramming-uni...
    Ответ написан
    Комментировать
  • Какие порты и протоколы закрывать на сервере Windows?

    FeNUMe
    @FeNUMe
    Закрыть всё, открыть только используемые.
    Ответ написан
    1 комментарий
  • В чем преимущества Docker над systemd?

    @awesomer
    Для этой задачи - systemd достаточно
    Docker - для разворачивания в изолированной среде. Для независимости, переносимости.
    Ответ написан
    Комментировать
  • Какого пингвина поставить на слабый ноутбук?

    @Tabletko
    никого не трогаю, починяю примус
    Любой пингвин с лёгким DE (lxde, xfce)
    Ответ написан
    Комментировать
  • Почему не срабатывает post_save в ассинхронной функции?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Django спроектирован синхронным и однопоточным, его самого нельзя нормально распараллелить и толком нельзя использовать асинхронный код в его воркерах.
    Ответ написан
    Комментировать
  • Считается ли переход с php на java(net) карьерным ростом?

    @vanillathunder
    Уйти с хорошего проекта на php в legacy гвно на java - весьма не плохой карьерный рост.
    Ответ написан
    Комментировать
  • Настройка интернета со скачиванием драйвера для интернета без интернета?

    @Xilian
    Программист 1С, сетевые технологии, SQL
    Купить самый дешевый роутер за 1к рублей - PPOE очень простой и процессоронезависимый протокол.
    Ответ написан
    1 комментарий
  • Кто знает нормальный туториал по работе с webpack 3?

    alsolovyev
    @alsolovyev
    След. вопрос будет - Где найти нормальные руки, чтобы код писали правильно?
    Ну пусть будет https://www.youtube.com/watch?v=lziuNMk_8eQ
    Ответ написан
    Комментировать
  • REST API. Какой Python-фреймворк выбрать для бэкэнда? Каким пользуетесь вы?

    @Fixid
    Для REST понравился Flask
    Ответ написан
    Комментировать
  • Как избавиться от N+1 зависимости при сериализации данных в django rest framework?

    @deliro
    prefetch_related('имя менеджера')
    Выполняет дополнительный (но один) запрос, чтобы закэшировать Many-to-Many элементы или One-to-Many, если элементы нашего QuerySet'а в отношении O2M являются One.

    select_related('имя fk поля')
    Выполняет JOIN таблицы, на которую ссылается ForeignKey (fk)

    Например:
    class SomeModel(Model):
        items = ManyToManyField(Item)
    
    # закэширует все Item каждого SomeModel двумя запросами
    SomeModel.objects.all().prefetch_related('items')  
    
    # или
    
    class SomeModel(Model):
        pass
    
    class Item(Model):
        some_model = ForeignKey(SomeModel, related_name='itemz')  # Обрати внимание на related_name
    
    qs = SomeModel.objects.all().prefetch_related('itemz')  # Опять 2 запроса
    qs[0].itemz.all()  # Не создаст запрос в БД
    # Если же ты хочешь одним запросом получить
    # SomeModel'ы Item'ов, то:
    qs = Item.objects.filter(...).select_related('some_model')
    qs[0].some_model  # Не создаст запрос в БД
    Ответ написан
    Комментировать
  • Как получить телефон, что подгружается ajax'ом?

    @EverOne
    R&D Management since 2011
    В коде страницы есть
    <div class="productPageFixedContact__phoneText js-showContactPopup" data-phone="KzcgKDkxMCkgNDA5LTY3LTU3">

    Так вот - data-phone="KzcgKDkxMCkgNDA5LTY3LTU3"
    И есть телефон и никакого ajax'a!
    Теперь берем
    KzcgKDkxMCkgNDA5LTY3LTU3
    раскодируем base64->utf8
    Ответ написан
    1 комментарий
  • Как организовать просмотр сериалов с домашнего сервера через интернет?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Поднять на нем https://github.com/arut/nginx-rtmp-module
    Минимальный конфиг
    rtmp {
        server {
            listen <port для rtmp потока>;
            application vod {
                play <папка на сервере>;
            }
        }
    }

    Доступ по ссылке rtmp://rtmp.example.com/vod/<имя файла>
    Минус в том, что файлы нужно будет перекодировать в mp4 H264/AAC, но не думаю что это будет проблемой, так как видео в большинстве случаев уже идет в H264 а звук перекодируется быстро.

    Смотреть можно например через vlc
    https://www.wondershare.com/vlc/play-rtmp-with-vlc...
    Ответ написан
    9 комментариев
  • Как развиваться начинающему web-разработчику?

    @toZavtra
    Принимаю заказы, пишите vasya@incream.org
    Послушай человека, у которого 4 года опыта управления веб-студией.

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

    Помимо программистских советов есть еще чисто практичные и зачастую они решают, например, ты любишь делать законченный продукт или ковыряться в старом коде? Все эти басни и бредни про фреймворки, пойми, эти люди, которые до тебя писали код на твоей будущей работе, мозгами намного хуже тех же программистов, которые создали тот же Wordpress, зато они позволяют себе хаять его. Так вот ты придешь и будешь за таким человеком искать ЕГО баги 4-х летней давности. А представь, что баги эти от кривой архитектуры.

    Далее, опять про фреймворки, сами по себе они тоже глючат, там есть куча нюансов, ускоряют разработку они далеко не всегда, как писали на хабре "это фабрика над фабрикой".

    Поэтому, в чем лучше кодить: в wordpress или в каком-нибудь symfony - это вопрос спорный, холиварный. Ни то ни другое не идеальное. Соответственно, какой стек технологий тебе учить, выбирать нужно отталкиваясь от того, чем хочешь заниматься. А учить стек лучше не на курсах, а идти джуниором.

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

    Потом, не забывай еще главное, мы живем в стране, где даже автомобиль нормальный сделать не могут, качество разработки здесь абсолютно такое же, то есть никакое, люди они одинаковые, что в АВТОВАЗЕ, что в Яндексе, поэтому на весь этот флёр вокруг каких-то там разработчиков клади болт.

    Я тебе расскажу, как это работает с точки зрения бизнеса в России, а не со стороны парняги в свитере и очёчках:
    1) Есть богатый дядя, который наворовал в своё время денег, у него есть сын, сын начитался хабра и бизнес молодости, взял у бати своего миллионов 50-100 и пошел пилить абсолютно никому не нужный стартап, нанял 30 человек, поставил компы, вот сюда нужно знать не столько сами технологии, сколько МОДНЫЕ технологии, смотришь модные тренды и их учишь или просишься джуниором, вауаля, и вот ты в струе.
    Делали делали, сыночке надоело пилить стартап, у него пати на мальдивах, свадьба, дети и тд - все разбежались.
    2) Есть государство или крупная контора, которая так или иначе, принадлежит кому-то из власть имущих, им нужно какой-то проект, они этот проект отдают фирме (то есть сыну, брату, свату), у которой сайт визитка. Эта фирма отдаёт это другой фирме, та отдает это еще двум-пяти фирмам. Где-то там в конце сидишь ты за компом и делаешь то, что тебе написали в ТЗ. Чтобы тебе что-то изменить в этом ТЗ, это должно пройти через 8 ртов и кучу согласований, и ты вообще лучше сиди и поменьше высовывайся. В таких конторах будешь пилить и пилить какую-нибудь хрень, в которой уже запутались все вокруг, но ты как-то делай, ведь скоро сдача. А потом они за два дня до сдачи, всей аравой посредников и программистов собираются в одном месте и наконец-то звонят главному заказчику и спрашивают, а как надо делать, то есть то, что ты спрашивал месяц назад. Иногда этот брейншторм помогает, иногда нет. Как туда устроиться? Опять таки, иди джуном.
    Примечательно, что качество продукта таких контор обычно хуже самой захудалой Джумлы, зато там все хаят CMS, но чтобы им в продукте прикрутить голосовалку, им нужно напрячь 8 ртов, распилить бюджет в тысяч 180-400, через кучу согласований сделать всё через жопу, но через ООП и какую-нибудь Symfony. Круто.
    3) Компании типа Яндекса, каких-нибудь банков. В таких компаниях обычно умные люди только на самом верху - это основатели компании, усмотреть за всеми аспектами фирмы им технически невозможно, поэтому часть продукта у них хорошая, основная, например, как поиск у гугла, а 90% других сервисов полное говно (посмотрите, что сделали эти "умы" из яндекса, вроде, с кинопоиском). Зато ЧСВ у каждого там Васи на уровне основателя компании. Вот эти Васи и делают там 90% продуктов, которые, как-бы второстепенны. Чтобы туда попасть надо не технологии учить, а изучать тренды какого-нибудь хабра, что там сейчас ценятся, какие авторы зарубежные: "Мега алгоритмическое программирование Алана Коуэла" и тд, таких книжек прочитать штук 10, выучить всё азы чистого программирования без фреймворков, одеться как мудак, чтобы выглядеть еще мудачее того гика, который тебя будет собеседовать, а то они ранимые и завистливые и опять таки, устроиться джуном.
    4) Компании локальные по созданию сайтов и прочего программирования. В таких фирмах свободы намного больше, чем в первых трёх, но нет столько денег, зато сразу видно продукт, который делаешь. Тут тебе пригодится и вордпресс и битрикс. Туда тоже лучше идти джуном. В таких компаниях шанс того, что ты потом запустишь боком собственный проект намного выше, т.к. у тебя будет опыт создания веб-сервисов, сайтов за Реальные сроки и ты будешь видеть ход их развития. Но с точки зрения денег, редкий случай, когда они тебе могут предложить даже столько, сколько в стартапе.
    Поэтому, если для души программировать, получать удовольствие, то варианты 1 и 4. Если хочется работы, от которой многие воют, то 2, 3.

    5) Есть еще компании, которые работают на запад, денег сейчас там в теории, может быть столько же, сколько и в стартапе у богатого буратино, там тебе сильно повезет, если будете делать пункт 4, если 2-3, то можешь брать веревку и мыло.
    Стартапы таким компаниям дают мало когда, ведь хипстеру миллионеру нужна атмосфера, нужны работнички перед глазами, а не на аутсорце. А вот латать баги в 6 летнем коде по цене продавщицы в ларьке Нью-Йорка - это запросто, это аутсорц. Текучка в таких местах дикая, поэтому они, отчаявшись, ищут негров за рубежом, никто вменяемый этим заниматься не хочет у них на родине. Поэтому если на аутсорце будет создание сайтов или каких-нибудь новых систем, это большая удача.
    Туда тоже нужно идти джуниором. Еще они почти всегда требуют английский, а если у тебя есть английский, зачем тебе они?

    6) Учишь английский, вордпресс, джумлу, магенто, цсс и идешь искать клиентов на английском языке. Из тебя вылупляется фрилансер, в перспектике открываешь собственную контору номер 5.

    Есть еще лайфхак, берешь абонемент в дорогой фитнес центр и знакомишься там с парнями, когда-нибудь тебе повезет и выйдешь на кого-нибудь богатого из чиновничков или олигаршьих родственников. Всем говори, что ты программист и у тебя есть "команда". Этого хватит, у богатых всегда "куча идей" куда бы просрать бабки (стартап) или наоборот где-то "намутить денег" (пункт 2). Они тебе сами предложат "тему", если ты обмолвишься, что ты программист. Всё, что у тебя будет к тому моменту, это сайт визитка, понимаешь к чему я клоню? Пункт 2, но ты будешь сверху, вторым ртом. Если повезет, будет и пункт 1, но ты будешь ко-фаундерем, ты посмотришь модные технологии и будешь под смузи составлять вакансии с reactJS, Angular, high load и еще кучу умных слов. А на биржах заказы пусть обычные люди ищут, которые за деревьями леса не видят. Или идут через жопу в пункт 2, когда надо заходить с другой стороны. Think different.
    Тот, кто на основании выше написанного лайфхака понял, что он ходил по кругу, а ключик в другом месте открывается, может мне скинуть денег за совет на кошелек R738086405346
    Точнее, это даже не совет, это инструкция, которая действительно рабочая.
    Ответ написан
    2 комментария
  • Сколько времени понадобится на изучение MEAN stack?

    Отличная книга. Чувак очень хорошо пишет. И лаконично, и просто даже для новичка (как мне кажется).
    https://leanpub.com/mean-machine
    За пару выходных ее вполне можно осилить, примеры в ней разбираются хорошие. Регистрация, авторизация (+ passportjs, полезная штука). Хороший kick start.
    Удачи!
    Ответ написан
    Комментировать