• Что за формат хранения данных сессии в PHP?

    Melkij
    @Melkij
    PostgreSQL DBA
    Поройтесь в сторону suhosin.session.* (особенно suhosin.session.encrypt, больно уж название намекающее)
    Ответ написан
    3 комментария
  • Как узнать страну по ip?

    Stalker_RED
    @Stalker_RED
    Скачать себе базу типа такой: https://dev.maxmind.com/geoip/geoip2/geolite2/ (их есть разные)

    или возможно есть какие то закономерности в формировании ip для каждой страны?
    хахаха.
    Это за 2007 https://www.caida.org/research/id-consumption/whoi...
    С тех пор многие крупные сегменты распродали по частям, и каша стала намного более запутанной.
    И да, адреса выдают организациям, а не странам. Будь в каждой стране по одному провайдеру, и не будь ни одного провайдера работающего на несколько стран, ваше желание было бы чуть ближе к реальности :)
    Ответ написан
    Комментировать
  • Можно ли разрабатывать на Хакинтош?

    alxzoomer
    @alxzoomer
    Backend developer
    Десктоп хак вполне имеет право на жизнь. 32 гига и больше оперативы, большой ссд, хороший проц за приемлемые деньги это все про хак. Сам работаю на хаке, есть макбук про, есть хакбук. Времени конечно потратил на сборку кловера, но основу можно быстро запилить при подходящем железе. Начните с applelife.ru.
    Ответ написан
    Комментировать
  • Каковы перспективы изучения web дизайна?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Во-первых, дизайн и разработка - это две очень разных вещи. Во-вторых, дизайнеру надо изучать не технологии, а учиться рисовать, развивать чувство прекрасного, изучать психологию, цветовосприятие, эргономику и т.п. А в-третьих, в работе дизайнера очень много боли. Постановка задачи обычно очень неконкретная. Оценка дизайна всегда субъективна, а потому очень много споров с заказчиками. Каждый начальник склада с умением рисовать на уровне каки-маляки и вкусом типа www.theworldsworstwebsiteever.com будет учить вас делать свою работу. К тому же макеты очень легко украсть. В общем это та область, в которую идти надо по велению сердца и в силу природных талантов.
    Ответ написан
    Комментировать
  • Opengl 4.* или vulkan?

    TrueBers
    @TrueBers
    Гуглю за еду
    Это вообще разные вещи.
    Нужно отличать изучение API, от изучения технологии. Если вы хотите выучить просто API, учите что угодно, ибо разницу заметите только, когда поймёте основы, базу.

    OpenGL проектировался когда были другие архитектуры железа. Мультипроцессорность была только в теории, и считалась уделом суперкомпьютеров и ненужной для пользовательских ПК.
    Можно привести аналогию: OpenGL == C++, Vulkan == асинхронный Assembler + hardware threads. Например, в C++ сейчас довольно много архитектурных косяков, которые пытаются решить новыми стандартами, объявляют какие вещи устаревшими, потому что они концептуально неверны и не подходят под современные реалии.
    Но, при этом, вы можете всё то же самое написать на ассемблере, но нужно намного лучше понимать, как работает процессор и ОС, самому писать примитивы синхронизации, и т. п.

    Для этих же целей и создавался вулкан. Для программирования на нём, нужно знать все тонкости железки, читать кучи пейперов от той же НВидии, исследовать, придумывать новые фичи для современных архитектур с нуля, которые изначально были придуманы в OpenGL, но для старого железа.
    Т. е. на Вулкане нужно делать больше руками, больше оптимизировать. Вместо одного вызова функции OpenGL, на вулкане придётся несколько сотен строк написать. При этом, если вы не понимаете какой-то одной тонкости, вы сделаете менее эффективнее то, что изначально было хорошо реализовано в OpenGL. К тому же, OpenGL умеет выбрасывать ошибки, в случае, когда вы где-то накосячили. Вулкан же их не выбрасывает, он полагается на то, что вы уже знаете как этим пользоваться. Точно так же, как ассемблер просто меняет состояние регистров, у него нет понятия ошибки. Как интерпретировать эти регистры, зависит от того, насколько хорошо разработчик читал мануал к процессору.

    В итоге, я бы ответил так:

    Если вы будете заниматься графикой как наукой, дико задротить а-ля Кармак в студенчестве с его движками, что-то исследовать, писать какие-то гениальные алгоритмы, защищать на этом диссертации, публиковать их, рассказывать потом на конференции, как вы круто справились с какой-то насущной задачей, повысили производительность, то тогда учите Vulkan. Vulkan — это именно про графику как технологию, про производительность, про инжиниринг и архитектурный дизайн, а не про API и само программирование. С вулканом придётся больше сидеть с диаграммами, документациями и строить архитектуру, придумывать методы взаимодействия частей этой архитектуры, синхронизации состояний, нежели писать код.

    Если же вы пишете простые прикладные вещи, которым нужно показать какую-то графику, то учите OpenGL. Здесь вы учите только API, соглашаясь с уже готовым, слегка устаревшим, архитектурным дизайном.

    Если хотите писать игры не мирового класса, то учите готовые движки, Unity или Unreal. Они уже поддерживают за вас Vulkan, продумали за вас API и архитектуру.
    Ответ написан
    2 комментария
  • Что нужно знать чтобы стать хорошим веб-программистом?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Прежде всего, web-приложения - это разновидность сетевых приложений. Поэтому обязательно нужно понимать, как работают сети и знать протоколы. Особенно HTTP.

    HTML и CSS знать обязательно. Желательно знать JavaScript, а вот библиотеку jQuery знать не обязательно. Нужно знать как минимум один серверный язык программирования. Это может быть PHP, а может какой-либо другой. Естественно, так как web-программирование - это тоже программирование, надо знать основные структуры данных, алгоритмы, парадигмы и паттерны. Так как редкий сайт бывает без базы данных, надо понимать принципы работы и проектирования реляционных БД и знать SQL. Желательно уверенно пользоваться Linux, так как ваш сайт будет работать над одной из его разновидностей. Желательно уметь настраивать http-сервера и сервера-приложений, а также знать механизмы их взаимодействия.

    Но самое главное - это уметь искать и анализировать информацию.
    Ответ написан
    1 комментарий
  • Какой CDN лучше подойдет для ИМ, ориентированного на Европу, Штаты, Китай?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    CDN от Амазон на мой взгляд опасен

    Говорит человек, который вообще не пробовал разобраться в теме, не знает о том что в их CDN встроен из коробки AWS Shield, а так же в таких случаях они компенсируют расходы. Вот прямо опасен, да
    Ответ написан
  • Как определить видеокарту с поддержкой 5 мониторов одновременно?

    Moskus
    @Moskus
    Нет, не гарантирует, потому что некоторые выходы могут не быть независимыми.
    Плюс, с ростом числа одновременно поддерживаемых выходов растет цена и уменьшается выбор. Кроме того, у плат с более чем тремя выходами могут быть странные наборы типов выходов, под которые придется или мониторы специально подбирать, либо адаптеры покупать.

    Потому, когда нет требования использовать только один разъём на материнской плате, предпочтительнее использовать две видеокарты, имеющие либо 2 и 3, либо 3 и 3 порта соответственно. Это выйдет и дешевле, и надёжнее в смысле охлаждения.
    Ответ написан
    2 комментария
  • Подключение к базе данных MySql, как правильно и современно?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вопрос хороший, но неправильно сформулирован.
    Поскольку тут на самом деле два вопроса - какой драйвер использовать и уже потом - как правильно соединяться.
    Ответ на первый вопрос очевиден. Если выбирать из mysql_connect, mysqli и PDO, то достаточно зайти на страницу мануала, посвященную каждому варианту, и посмотреть, что там написано. Ну или попробовать использовать в своем коде и посмотреть что получится.

    А вот вопрос, как правильно подключаться в двух оставшихся вариантах, действительно важный, и ответ на него, как обычно, почти никто не знает, поскольку все друг у друга списывают статьи не 2-х, а 22-х летней давности. К счастью, есть сайты с актуальной информацией.

    Теоретически, можно использовать mysqli. Но не нужно. Потому что это низкоуровневый драйвер и пользоваться им без подготовки очень неудобно. Но если вот прям так приспичило, то вот как правильно соединяться используя mysqli

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

    Но правильным ответом, если выбирать из перечисленных трех, будет PDO. Здесь тоже не так просто, поэтому смотрим как правильно соединяться используя PDO - учитывая те же ключевые моменты, которые указаны выше.

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

    Пароль в базе данных не шифруется а хэшируется. Делается это с посощью функции password_hash
    Ответ написан
    3 комментария
  • Какой ноутбук выбрать для веб-дизайна?

    @archelon
    дискретка не нужна, хватит встроенной видюхи,
    проц не ниже 6-го поколения i3-i5 или аналогичный amd,
    без лицензионной винды (экономим, ставим пиратку),
    экран fullHD
    например:
    https://market.yandex.ru/product--noutbuk-lenovo-i...
    https://market.yandex.ru/product--noutbuk-acer-ex2...
    главный минус ноутов в таком бюджете — низкое качество сборки и экономия на всех компонентах (плохой экран, отваливающийся вай-фай, фиговая клавиатура и т.д. — не обязательно, как повезет).
    на год-два хватит, а если со временем добавить памяти и заменить hdd на ssd, можно еще протянуть.
    Ответ написан
    Комментировать
  • Программистами рождаются или становятся?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Становятся. В результате долгого и упорного труда.
    Ответ написан
    2 комментария
  • Программистами рождаются или становятся?

    Moskus
    @Moskus
    Ответ довольно прост по сути, но не очень короток в объяснении.

    Если у человека есть особенности психики, которые способствуют инженерной деятельности и программированию, как ее форме, он может стать очень хорошим программистом быстрее большинства, при условии, что будет усердно учиться и упражняться в применении всего, чему научился. Если он не будет учиться, никакие способности ему не помогут.

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

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

    Есть редкие случаи, которые не укладываются в общую схему, но на то они и редкие, что их стоит рассматривать только как исключение.

    Добавлю, что такое деление на три группы нужно понимать, как деление на три интервала, между которыми нет четкой границы. Скажем, где-то в нижней области второго интервала существуют люди, которые слишком много времени вынуждены тратить на борьбу со своей природной неорганизованностью, потому именно "хорошими" программистами им быть сложно - условный error rate слишком высок, даже если они, в конце концов, могут исправить всё, что накосячили, пока те, у кого этот error rate - ниже, двигаются вперед быстрее в решении задачи. Также и наоборот - усердный и терпеливый посредственный программист может систематически работать лучше ленивого гения, хотя гений иногда и способен придумать за час решение, которое будет эффективнее решений, на которые другие потратили дни.
    Ответ написан
    2 комментария
  • Как администрируют несколько серверов?

    @Wexter
    если денег дофига то можно и 3 монитора. если чуть побольше то kvm консоль. если поменьше то обычный kvm свич и один монитор.
    если вам нужна серверная ОС на 3 серверах то и покупать лицензии на 3 сервера, либо молиться чтобы никто никогда не пришёл проверять
    Ответ написан
    1 комментарий
  • Как администрируют несколько серверов?

    Sanes
    @Sanes
    В Windows есть RDP для удаленного подключения.
    Ответ написан
    Комментировать
  • Актуальна ли статья "Teach Yourself Computer Science"?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    SICP не устареет никогда:)
    Другое дело, начинать обучение с функциональщины и интерпретатора лиспа... Так себе идея, имхо.
    Ответ написан
    Комментировать
  • Какие есть варианты дебагинга если на прод. отваливается сайт?

    Decadal
    @Decadal
    Сентри. Ставьте сентри, это как логи, только с удобными обертками.
    https://sentry.io

    spoiler
    koBRALz.png
    Ответ написан
    Комментировать
  • Как округление число в большую сторону с заданной точностью?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    echo floor(10.14 * 10) / 10; // 10.1
    echo ceil(10.14 * 10) / 10;  // 10.2
    Ответ написан
    Комментировать