Планирование и разработка веб-сайтов, API, интеграция с сервисами.
Контакты
Местоположение
Казахстан, Алма-Атинская обл., Алматы (Алма-Ата)

Достижения

Все достижения (7)

Наибольший вклад в теги

Все теги (63)

Лучшие ответы пользователя

Все ответы (413)
  • Почему не рекомендуют начинать с фриланса?

    kimono
    @kimono
    Web developer
    на удаленку без опыта же не берут

    А вы и не говорите, что нет опыта (работы на удалёнке), покажите свои знания, а там пойдёт.
    Ведь и во фрилансе тоже отдают большее предпочтение людям "с опытом".
    Что теперь, "неопытным" работать нельзя что ли?!
    Ответ написан
  • Для чего предназначен этот код?

    kimono
    @kimono
    Web developer
    function(e) {
      // отменяем привычное действие ссылки
      e.preventDefault();
      // добавляем класс loading
      $(this).addClass("loading");
      // переменной confirm_text присваиваем атрибут ссылки "Выход" с именем data-confirm или false
      var confirm_text = $(this).data("confirm") || false;
      // переменной method присваиваем атрибут ссылки "Выход" с именем data-method или get
      var method = $(this).data("method") || "get";
      // берем адрес ссылки для выхода
      var url = $(this).attr("href");
      // создаем пустой объект, будем использовать его для отправки данных на сервер
      var post_data = {};
      // если метод отправки = post, пробегаемся по всем атрибутам "data-post" ссылки "Выход" и заносим их значения с маленькой буквы в наш объект
      if (method == "post") {
        for (var i in $(this).data()) {
          if (i.indexOf("post") === 0) {
            post_data[i.replace(/^post/, "").toLowerCase()] = $(this).data(i)
          }
        }
      }
      var send = true;
      // если у нас задан атрибут confirm_text (по всей видимости это alert-сообщение типа "Вы уверены что хотите выйти?"), то проверяем нажал ли пользователь "Да"
      if (confirm_text) {
        if (confirm(confirm_text)) {
          send = true
        } else {
          send = false
        }
      }
      // Если пользователь нажал "Да" или атрибут confirm_text не задан, то отправляем данные на сервер
      if (send) {
        $.ajax({
          url: url,
          cache: false,
          dataType: "script",
          type: method,
          data: post_data
        })
      }
    }



    ... а также почему если я перейду по ссылке toster.ru/auth/sign_out будет совсем не то, что я ожидаю (выход из аккаунта).

    Значит на сервере выход из аккаунта не поддерживает метод GET. Иначе, пользователи могли бы вставить в посты изображение со ссылкой <img src="http://toster/sign-out"> и после захода на эту страницу все пользователи автоматом разлогинивались.
    Ответ написан
  • Вывод данных из MySql?

    kimono
    @kimono
    Web developer
    Запрос должен быть примерно таким:
    SELECT LEFT(`name`, 1) `abc`, `id`, `name` FROM `persons` ORDER BY `name` ASC;

    На выходе вы получите такой массив:
    $data = [
      ['abc' => 'а', 'id' => 1, 'name' => 'Абрамов Михаил Фёдорович'],
      ['abc' => 'а', 'id' => 2, 'name' => 'Агутин Юрий Николаевич'],
      ['abc' => 'б', 'id' => 4, 'name' => 'Баринов Олег Юрьевич'],
    ];

    Далее проходим по всему массиву и складываем по начальным буквам:
    $alphabet = [];
    foreach ($data as $row){
      $alphabet[$row['abc']][$row['id']] = $row['name'];
    }

    Получается что-то подобное:
    $alphabet = [
      'а' => [
        1 => 'Абрамов Михаил Фёдорович',
        2 => 'Агутин Юрий Николаевич',
      ],
      'б' => [
        4 => 'Баринов Олег Юрьевич',
      ],
    ];

    Дальше, я думаю, вы уже сами догадались:
    foreach($alphabet as $alpha => $rows){
      echo '<h2>'.$alpha.'</h2>';
      echo '<ul>';
      foreach ($rows as $id => $name){
        echo '<li><a href="/person?id='.$id.'">'.$name.'</a></li>';
      }
      echo '</ul>';
    }
    Ответ написан
  • Нормальна ли скорость загрузки страницы 500мс?

    kimono
    @kimono
    Web developer
    А можно просто запустить debug и все встанет на свои места. У меня связка phpstorm + xdebug + wincachegrind отлавливает проблемные места. Много чего интересного можно узнать ;)
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (68)