Задать вопрос
  • Как ускорить работу сайта (алгоритм расчета ближайшего цвета по известной палитре цветов)?

    Adamos
    @Adamos
    В приведенной вами в комментариях функции явно не хватает двух вещей:
    1. Кэширования, чтобы не повторять расчет для того цвета, который уже был обсчитан. Предвижу рост скорости на пару порядков.
    2. Понимания того, что для нахождения ОДНОГО оптимального значения на хрен не нужно собирать целый массив и сортировать его. Вы никогда не видели алгоритм поиска наименьшего значения в массиве?
    Ответ написан
  • Быть узкоспециализированным или разносторонним? Что лучше?

    Adamos
    @Adamos
    "Не могу определиться, в каком спорте стать чемпионом - или сразу замахиваться на триатлон. Так напряженно об этом думаю, что даже зарядку сделать некогда!"
    Ответ написан
    Комментировать
  • Как выбрать элемент из массива с разным весом вероятности?

    Adamos
    @Adamos
    $sum_weight = 0;
    foreach($values as $value) {
      $sum_weight += $value['procent'];
    }
    $rest = rand(0, 100500) / 100500 * $sum_weight;
    $result = false;
    foreach($values as $value) {
      if($value['procent'] >= $rest) {
        $result = $value['value'];
        break;
      }
      $rest -= $value['procent'];
    }
    Ответ написан
    Комментировать
  • Какой подход к компиляции кода считается самым лучшим? Через дефайны, передаваемые в билдовый скрипт, создание нескольких бинарников и т.д.?

    Adamos
    @Adamos
    4. Вынос всех функций, зависящих от железа, в динамические библиотеки.
    При старте определяется железо и подключаются нужные либы.
    Особенно актуально, если железо включено не постоянно или может измениться по ходу работы.
    Ответ написан
    Комментировать
  • Как недостатки блокчейн повлияют на эффективность деятельности предприятий?

    Adamos
    @Adamos
    Тоже пытался понять, что за шум, и понял так.
    Блокчейн - технология, позволяющая гарантировать, что:
    1. вот этот кусок данных здесь появился не просто так
    2. он и сейчас точно такой, как в момент появления.
    Это, собственно, единственное достоинство технологии.
    Дальше к нему примешивают:
    3. возможность хранить данные где попало - мы же можем гарантировать, что они не были изменены. Однако тут же встает вопрос - а кто и зачем будет этим заниматься? Криптовалюты дают ответ на этот вопрос. Распределенные системы внутри банка или между банками - тоже, при наличии у самих банков такого интереса.
    Сажать на это целую отрасль - а ради чего, собственно? Никаких революционных решений блокчейн не предполагает, это чистое паразитирование на модной теме.

    Проблемы конфиденциальности и прочие возникающие у новичков вопросы, на самом деле, не критичны - хранящиеся в блокчейне данные могут быть сколь угодно открытыми, но если эти данные зашифрованы и открываются только ключом, разница с БД, доступ к которой требует ровно того же ключа-пароля, минимальна.
    Изменение данных в блокчейне просто предполагает добавление новой, изменяющей записи. То, что сохраняется и неверная - ну, Википедии это не мешает, например.
    Картельный сговор крупных игроков, имхо, менее вероятен, чем очередной взбрык бешеного принтера. Да и примитивно это - им-то как раз в последнюю очередь нужно ломать работающую систему.
    Мертвые ветви, конечно, должны отсекаться и уничтожаться. Но ведь и данным необязательно быть непрерывными цепочками. Создаем узловые блоки доверия - и можем "ронять" все, что было между ними. Или дерево из цепочек, растущих независимо друг от друга.
    Вообще, многие проблемы надуманы из-за непонимания места блокчейна в системе. Это глубокий уровень, хранение данных. Над ним может быть чертова уйма надстроек, так же, как над БД. Главное - сформулировать требования. "Спаси нас, блокчейн, от лукавого" - это не требование, если что ;)
    Ответ написан
    2 комментария
  • Почему Линус не пользуется Debian?

    Adamos
    @Adamos
    Если бы у вас была такая же работа, как у него - вы бы подобных вопросов не задавали вовсе.
    А раз задаете, значит, работа у вас другая и выбор дистрибутива под нее - тоже по другим критериям.
    Ответ написан
    Комментировать
  • Какие есть сайты для проверки своих знаний PHP?

    Adamos
    @Adamos
    Во-первых, знание чего бы то ни было в IT без практики - фуфло.
    Во-вторых, достаточно и во-пераых ;)
    Ответ написан
    Комментировать
  • Как проанализировать код большого проекта на PHP на наличие неиспользуемых кусков кода и файлов?

    Adamos
    @Adamos
    Если файлы в проекте подключаются исключительно по PSR - анализаторы, может, и помогут.
    Но РНР никому не мешает подключать их через отдаленные глубины задниц, как шаблоны и локализация в Битриксе, например. Ни один робот эти дебри не расковыряет в жизни.
    Так что пробуйте анализаторы, конечно. Но не надейтесь, что вы по результатам анализа сможете просто все выбранное взять и безболезненно удалить. Головой думать все равно придется.
    Например, тот же Шторм позволяет сделать быстрый поиск строки по всему проекту. И если название класса не встречается нигде, кроме файла с этим классом - да, возможно, он кандидат на удаление...
    Ответ написан
    8 комментариев
  • Как распарить сложный exel файл?

    Adamos
    @Adamos
    ТРИЗ гласит: "сделай наоборот".
    Файл вовсе не придется парсить, если расписание будет формироваться онлайн, а подобные таблички "для людей" будут формироваться на сайте, а не руками секретарей.

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

    Кстати, за этим первым шагом могут логично последовать дальнейшие - расписание работы преподов, график занятости аудиторий... Информация-то единая.
    Ответ написан
  • Как не умудрённому клиенту выбрать честного и эффективного SEO-оптимизатора для своего сайта? Есть ли чек-лист по выбору сеошника?

    Adamos
    @Adamos
    Сейчас пришло такое странное время, что люди, собравшись полечить зубы, лезут в интернет. Нет, не найти какой-то там сайт - ближайшие клиники легко находятся, даже если у них вовсе сайта нет.
    Почитать отзывы! ;)
    Вот тут понимающий сеошник уже может разгуляться... хотя, пожалуй, не совсем сеошник. Или даже - совсем не.
    Ответ написан
    Комментировать
  • Как инициализировать массив массивов массивов?

    Adamos
    @Adamos
    Если накладные расходы некритичны - вложенный вектор.
    Если хочется оптимально - класс с двумя функциями set / get и конструктором, в который передаются размеры. Внутри хранятся размеры и плоский динамический массив, номер ячейки в котором элементарно вычисляется при каждом обращении.
    Ответ написан
  • Как собственнику удержать клиентов при увольнении РОПа?

    Adamos
    @Adamos
    Теоретически, если у вас база клиентов и материалы по общению с ними, а также данные всех сделок крутятся в CRM и за ними может следить любой грамотный руководитель - важность РОПа в основном не в общении с клиентами, а в управлении отделом.
    Если же у вас без РОПа никто ничего сделать не может - удерживать придется именно его, а не клиентов ;)
    Ответ написан
    Комментировать
  • Как обеспечить соблюдение закона о персональных данных для сайта с обратной связью?

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

    А вот если вы все-таки сливаете данные пользователей спамерам или прочей сволочи - то горите в аду, кто ж вам помогать-то будет?!! ;)
    Ответ написан
    1 комментарий
  • Как быстро можно вникнуть в популярные CMS?

    Adamos
    @Adamos
    Во-первых, что значит "вникнуть в CMS"? Вы собираетесь писать на них сайты, поддерживать их или просто администрировать? Это три заметно различающихся знания.
    Во-вторых, что за выбор - modx и Битрикс? То и другое - все еще популярные, но технологически уже ископаемые системы. Современный бэкенд на РНР - это фреймворки, вектор развития которых с этими CMS различается довольно кардинально (особенно это касается Битрикса).
    Ответ написан
    2 комментария
  • Можно ли создать нормальный сайт без фреймворков?

    Adamos
    @Adamos
    Фреймворк (какой бы то ни было) - это стандарт, созданный теми, кто устал писать одни и те же велосипеды.
    Отобраны лучшие из них, согласованы между собой, готовы к использованию.
    Если вам хочется писать свои велосипеды - вперед! Получится, скорее всего, дольше и не так качественно, но ничего невозможного.
    Если вы решаете не те проблемы, что разработчики фреймворка - у вас действительно есть причина писать велосипед. Но лучше еще раз посмотреть - не решали ли эти проблемы много раз до вас?
    Сила opensource - не в том, что чем-то можно пользоваться на халяву, а в том, что можно не повторять чужих ошибок и перенимать приобретенный в их устранении опыт.
    Ответ написан
    2 комментария
  • Как школьнику найти время на программирование?

    Adamos
    @Adamos
    Если у тебя есть "громадное количество времени", и ты взрослый здоровый человек, еще не получающий пенсию - значит, ты тупо просираешь собственную жизнь.
    У тех, кто не ленится учиться и трудиться, времени не хватает всю жизнь. И это, между прочим, не только правильно, но и прекрасно.
    Ответ написан
    Комментировать
  • Как эффективно играть внутри виртуальной машины?

    Adamos
    @Adamos
    Динамичные игры внутри виртуалки - не вариант, шаги будут конскими. Прожорливые стратегии - аналогично. Вы, конечно, можете открыть для себя чудесный мир игр прошлого века...
    Или сделать загрузочную флешку и обойтись без виртуалок вовсе. Не знаю, прокатит ли этот вариант с виндами, но некоторые современные игры и под Линукс есть.
    Ответ написан
    Комментировать
  • Как передать массив из одного php файла в другой?

    Adamos
    @Adamos
    Создать четвертый файл, в нем - класс, членом которого будет ваша переменная, а методами - то, что вы с ней обычно делаете (скорее всего, дублируя один и тот же код в разных файлах).
    Понять, что ООП - это совсем не страшно и даже весьма наводит порядок...
    Ответ написан
    Комментировать
  • Почему меняется выходное значение после нескольких запусков программы?

    Adamos
    @Adamos
    Задача "представить то, что в десятичной дроби находится после запятой, в виде целого числа" - вообще не математическая. Потому что дает чрезвычайно разные результаты на 1.1 и 1.1000000000001.
    Поэтому решать ее проще так же дебильно: например, вывести дробь в строку, найти в ней с одной стороны точку, а с другой - первую ненулевую цифру, а потом эту часть строки привести к целому.
    Ответ написан
    Комментировать
  • AdBlock блок блокирует некоторые картинки на сайте. Как с этим можно бороться?

    Adamos
    @Adamos
    AdBlock позволяет открыть список всех элементов и в нем показывает, что было заблокировано и по какому правилу.
    Ответ написан
    4 комментария