Контакты

Достижения

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

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

Все теги (33)

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

Все ответы (87)
  • Программист без технического образования: быть или не быть?

    Я по профессии повар. )))
    5 лет проработал мясником, пару лет поваром в ресторане, водителем и грузчиком.
    Последние 7 лет программирую в одной небольшой компании с достойным окладом.
    Если это приносит удовольствие, то не бросайте.

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

    public static function distance($_y1, $_x1, $_y2, $_x2)
    {
    	$pi      =                   pi();
    	$c_A     =                6378137;
    	$c_a     =      1 / 298.257223563;
    	$c_e2    = 2 * $c_a - $c_a * $c_a;
    	
    	$fSinB1  = sin($_y1    * $pi / 180);
    	$fCosB1  = cos($_y1    * $pi / 180);
    	$fSinL1  = sin($_x1    * $pi / 180);
    	$fCosL1  = cos($_x1    * $pi / 180);
    	
    	$fSinB2  = sin($_y2    * $pi / 180);
    	$fCosB2  = cos($_y2    * $pi / 180);
    	$fSinL2  = sin($_x2    * $pi / 180);
    	$fCosL2  = cos($_x2    * $pi / 180);
    	
    	$N1 = $c_A / sqrt( 1 - $c_e2 * $fSinB1 * $fSinB1 );
    	
    	$X1 = $N1 * $fCosB1 * $fCosL1;
    	$Y1 = $N1 * $fCosB1 * $fSinL1;
    	$Z1 = ( 1 - $c_e2 ) * $N1 * $fSinB1;
    	
    	$N2 = $c_A / sqrt( 1 - $c_e2 * $fSinB2 * $fSinB2 );
    	
    	$X2 = $N2 * $fCosB2 * $fCosL2;
    	$Y2 = $N2 * $fCosB2 * $fSinL2;
    	$Z2 = ( 1 - $c_e2 ) * $N2 * $fSinB2;
    	
    	$D = sqrt( ( $X1 - $X2 ) * ( $X1 - $X2 ) + ( $Y1 - $Y2 ) * ( $Y1 - $Y2 ) + ( $Z1 - $Z2 ) * ( $Z1 - $Z2 ) );
    	$R = $N1;
    	
    	return 2 * $R * asin( 0.5 * $D / $R );
    }

    Вот есть метод расчета расстояния между точками. (работает исправно уже много лет)
    В бд можно занести координаты заранее, использовав Яндекс.Геокодер
    http://geocode-maps.yandex.ru/1.x/?geocode=Ул. Пушкина, дом Колотушкина&results=1
    Ответ написан
    3 комментария
  • Верстать без фреймвороков это значит быть не професионалом?

    Соглашусь с заказчиком, студент у нас работает, дали верстку, сразу сказали использовать бутстрап. Он долго упирался и тоже хотел написать все с нуля, в итоге пагинация у него вышла на 100 строк, а у меня на 30. Я затратил на это меньше времени и код чище, т.е. следующему разработчику не надо разбираться в портянке чужого кода. плюс в бутстрапе включена нормализация.

    Писать с нуля - это каменный век, так и будем на велосипедах ездить? Или уже на ракете полетим?
    Ответ написан
  • Как вернуть результат fetch после запроса к API?

    `fetch(URL)` возвращает обещание(Promise), а вы сразу возвращаете результат. Колбэк функция передаваемая в метод then будет вызвана позже, когда закончится процесс `fetch`.
    Функция `myfunc` должна тоже возвращать Promise вот так:
    function myfunc() {
      results = [];
      return fetch(URL)
        .then((response) => response.json())
        .then((hitsJSON) => {
          return hitsJSON.hits.map(item => {
            return {
                  id: item.id,
                  url: item.previewURL,
                  tags: item.tags
              };
          }));
      });
     }
    
    // и использование 
    myfunc()
      .then((results) => {
        // do something
      })
    Ответ написан
    Комментировать
  • Как передавать данные между контроллерами в angularjs?

    Используйте фабрики.
    var myApp = angular.module('myApp', []);
    
    // make a factory to share data between controllers
    myApp.factory('Data', function(){
      var data = {
        firstName: ''
      };
    
      return {
        getFirstName: function () {
          return data.firstName;
        },
        setFirstName: function (firstName) {
          data.firstName = firstName;
        }
      };
    });
    Ответ написан
    Комментировать

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

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