• Как с помощью php отправить уведомление в js о записи в бд mysql?

    VGrabko
    @VGrabko
    Golang, Php, Js
    WebSocket
    Ответ написан
    Комментировать
  • Индексируются ли динамические страницы(сайты)?

    dimasmagadan
    @dimasmagadan
    Индексируются ли динамические страницы(сайты)?

    Да
    www.searchengines.ru/news/archives/google_otozval_.html

    но в некоторых случаях (или в кривых руках) может работать не так, как ожидалось
    https://habrahabr.ru/post/301288/
    Ответ написан
    1 комментарий
  • Как правильно искать фрилансера в стартап?

    opium
    @opium
    Просто люблю качественно работать
    ну если смог переписать код то соотвествует, а если не смог то нет, вперед не платите ))
    Ответ написан
    Комментировать
  • Как правильно искать фрилансера в стартап?

    - Если фрилансер может показать пример работы, похожей на то, что вы хотите (в вашем случае - MVP на джанге), то скорее всего у него хорошее соотношение цена/качество именно для вашего проекта.
    - Если фрилансер активно интересуется деталями проекта, задаёт дельные вопросы, проявляет энтузиазм - обычно это означает, что его реальный уровень заметно выше, чем он сам себя оценивает.
    - Ну, и под каждым из пяти пунктов от Генри я готов подписаться.
    Ответ написан
    Комментировать
  • Как правильно искать фрилансера в стартап?

    Henryh
    @Henryh
    Веб-программист
    Главная проблема фрилансеров не в уровне (это обычно не сложно выяснить после тестового задания) а в подходе. Многие из них считая себя вольными рабочими - не могут организовать своё время и отвлечься от реального мира. (Без обид фрилансерам, но подходить к вам нужно как к шабашникам - сам начинал фрилансером, знаю).
    Я смотрю на такие параметры:
    - как ведёт переписку, не затягивает ли с ответами (будет затягивать и с работой, распыляется)
    - не прячется ли за статусами в skype типа отошёл/занят/невидимый (значит есть от кого прятаться, возможно от предыдущих заказчиков или с личными делами напряжёнка)
    - не пытается ли поставить себя слишком высоко: при общении с хорошим фрилансером ты не чувствуешь себя должным, а ведёшь непринуждённую приятную беседу.
    - согласен ли сделать первое задание (что то простое на 5-10 минут) до оплаты. Если настаивает на предоплате значит всего боится сильно зажат, будет трудно с ним работать.
    - и самое главное интуиция, можно 100раз полагаться на какие то маркеры, но если в человеке сразу что то не понравилось - лучше с ним не работать. Возможно дело и не в нём, просто не сработаемся.
    Ответ написан
    5 комментариев
  • Как передать события(данные) в другой контроллер?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    введите между ними сервис, который уже просите менять состояние. А в контроллере подписывайтесь на изменение состояния.

    В целом ждем вмердживания новой документации: https://github.com/angular/angular.js/pull/13834 https://github.com/angular/angular.js/pull/14416

    Самодостаточные контроллеры как и $scope больше не нужны.
    Ответ написан
    Комментировать
  • Как работать, если ты живешь на Луне?

    opium
    @opium
    Просто люблю качественно работать
    можно конечно
    встречал несколько компаний который платят биткоинам
    джунам надо набирать опыт
    Ответ написан
    Комментировать
  • Как работать, если ты живешь на Луне?

    EreminD
    @EreminD
    Кое-что умею
    Когда работаешь с удаленными специалистами, хочется быть уверенным, что он возьмет задачу и справится с ней, а если не справится - то вовремя об этом предупредит.

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

    В общем, доверия к ним меньше и неважно, что вы совсем не такой. Важно, каким вас видит заказчик. А как он вас разглядит, не поработав с вами. Вот стереотип и срабатывает раньше вас

    Что я сделал: дал понять, что опыт для меня выше денег. Написал потенциальным работодателям письмо, мол возьмите меня, я умею вот это {....}. для меня главное - опыт. Денег я не жду. но, если предложите - не откажусь.

    Пусть не первый, но 2ой или 3ий заинтересуется по 2м причинам:
    1. Всегда есть задачи, которые сделать может и джун, но его нет и этим занимаются более дорогие специалисты
    2. Всегда есть задачи, которые нужно сделать, но они не срочные (как правило, это какие-то внутренние задачи). Их тоже можно поручить джуну, чтобы он постепенно их решал


    Итог: работаю с декабря разработчиком
    Ответ написан
    6 комментариев
  • Как вывести деньги с UpWork несовершеннолетнему?

    @Beltoev
    Живу в своё удовольствие
    AdvCash и Payeer умеют SWIFT-переводы принимать, а для регистрации у них достаточно почты (анонимные ЭПС, не требуют верификации). А уже оттуда хоть на электронный кошелек, хоть на банковский счет выводите
    Ответ написан
    Комментировать
  • Как определить хорошего сеошника?

    Хорошие сеошники продвигают свои или чужие торренты и крупные медиа, возится с мелкими коммерческими сайтами им неинтересно.
    Хороший спец:
    1. Не берёт клиента если не видит способов продвижения (т.е. он скажет вот эти двое мне интересны, а эти пусть лесом идут)
    2. Играет в долгую, полгода минимум.
    3. Его действия для вас совершенно неочевидны, например он может предложить создать второй сайт или каталог конкурентов.
    4. Он говорит что descroption и keywords это полня фигня, хотя вокрут все только про них и твердят.
    5. Требует создать внутри компании редакцию, либо человека ответственного за тексты, либо выделить довольно много денег на тексты фриласерам. Если этого не происходит уходит из проекта.
    6. Имеет свои базы ключевых слов (платные)
    7. Имеет свои базы хороший сайтов для размещения статей, обмена ссылками
    8. Имеет технологии быстрой оценки качества любых новых доноров.
    9. Знает что такое bit.ly и UTM-метки
    10. Не брать сеошником человека, который говорит "Я не сеошник"
    Ответ написан
    14 комментариев
  • Есть идея проекта- нет навыков реализации?

    streetflush
    @streetflush
    Собрать команду на стартап и пообещать ребятам % от прибыли.
    Правда все такие проекты в которых я участвовал, сдохли из за % в 0.1 на 10 человек ))
    Авторы идеи обычно хотят 50-99%, хотя логичнее остановиться на 10-20.
    Ответ написан
    2 комментария
  • Есть идея проекта- нет навыков реализации?

    @balamut108
    Py
    Все крутые дядьки говорят что нужно делать то в чём разбираешься, если Вы не разбираетесь в этом или вообще ни в чём, начините сначала в чём-то разбираться, а потом беритесь за проекты.
    Ответ написан
    4 комментария
  • Где найти блок схемы php js приложений?

    @sergyx
    Давай попробуем декомпозировать задачу на самом примитивном примере.

    Определим действия, которые должен совершить покупатель для покупки.
    1-Зайти на главную страницу магазина. Должна быть [Главная страница магазина]
    2-Увидеть каталог всевозможных товаров. Должна быть [Страница каталога товаров] на которой можно увидеть список доступных для покупки товаров. Также в БД должна быть [таблица товаров].
    3-Перейти к описанию конкретного товара. Должна быть [Страница описания конкретного товара]
    4-На странице описания товара нажать на кнопку "Купить"
    4.1 По нажатию на кнопку "Купить" совершается действие помещения товара в корзину покупателя.
    Здесь надо где-то хранить эту корзину (выбранные к покупке товары), например, будем добавлять в куки браузера ид только что выбранного товара.
    5-По нажатию на кнопку "Корзина" загружается страница с выбранными покупателем товарами. Должна быть страница [Корзина покупателя]
    6-По нажатию на кнопку "Оформить заказ" загружается страница со списком выбранных к покупке товаров, формой данных покупателя (адрес и т.п.) и кнопкой подтверждения заказа. Должна быть страница [Оформление заказа].
    7.1 По нажатию на кнопку "Подтвердить покупку" в системе создается новая сущность Заказ. В БД должна быть [таблица заказов]
    Владелец магазина должен иметь возможность просмотреть эту таблицу, но это уже админка, ее рассматривать не будем.

    Итого, при первом приближении имеем:
    БД:
    --таблица товаров
    --таблица заказов

    Открытая часть магазина (то, что доступно покупателю):
    1--главная страница. Содержит:
    -ссылка на каталог товаров
    -ссылка на корзину
    -ссылка на оформление заказа
    2--страница каталога товаров. Содержит:
    -список товаров, где напротив каждого товара стоит ссылка на страницу конкретного товара
    3--страница описания конкретного товара. Содержит:
    -описание товара
    -кнопку "купить"
    4--страница корзины. Содержит:
    -список выбранных для покупки товаров
    -кнопку "оформить заказ"
    5--страница оформления заказа. Содержит:
    -список выбранных для покупки товаров
    -поле адреса для доставки
    -кнопку "подтвердить заказ"
    Т.е. уже можем нарисовать структуру страниц открытой части сайта, которые можно представить в виде отдельных квадратиков, со стрелками друг на друга, например
    ---главная страница---
           каталог товаров ---> [страница каталога]
    	             корзина ---> [страница отображения корзины]	  
    			   и т.д.
    ----------------------

    Углубляемся дальше на примере 1-помещения товара в корзину и 2-отображения корзины:
    1-помещение товара в корзину.
    Находясь на странице описания товара и нажав на кнопку "купить", необходимо проделать следующее.
    (храним выбранные товары в куках)
    --прочитать куки пользователя
    --извлечь из них идешки уже имеющихся в куках товаров
    --добавить к этому списку ид выбранного товара
    --перезаписать этот список в куки
    Что для этого надо (углубляемся еще):
    На странице описания товара надо иметь ссылку типа /product.php?action=add-to-cart&id={ид-товара}, по нажатию на которую передается управление скрипту product.php c действием add-to-cart.
    product.php, определив, что задано действие add-to-cart
    --читает параметр _GET[id]
    --читает из кук пользователя уже сохраненные там идешки (их может там еще не быть)
    --добавляет к списку сохраненных идешек только что прочитанный параметр _GET[id]
    --перезаписывает в куки пользователя новый список идешек
    --отображает страницу описания этого же продукта, как-то оформляем, что товар уже добавлен в корзину.

    2-отображение корзины:
    Где-то на главной странице имеем ссылку на корзину типа /cart.php
    Скрипт cart.php:
    --читает из кук пользователя сохраненные там идешки (мы уже это делали выше, значит это можно оформить в отдельную функию)
    --делает из таблицы товаров выборку тех товаров, идешки которых записаны в куках
    --отображает страницу корзины, в которой выводятся только что выбранные из БД товары

    И т.д. и т.п. по каждому пункту.
    Т.е.
    -сначала делаем описание всех возможных действий пользователя
    -по нему формируем набор страниц, с соответствующим интерфейсом (ссылки, кнопки, формы, списки, деревья и т.д.), на которых эти действия он может реализовать.
    -для каждого действия пользователя на сервере/фронте создаем соответствующие обработчики, которые, исходя из собственно заданного действия и состояния системы на тот момент, выполняют какие-то действия: читают/записывают что-то в БД/куки, запрашивают что-то у пользователя или что-то ему отображают.
    -каждый пункт можно оформить в любую графическую схему со стрелками/алгоритм или словесное описание.
    -каждый пункт можно детализировать в подпункты, в под-подпункты и т.д.
    ps
    для начала рекомендую начать с чего-то более простого, например, с простейшего блога, гостевой книги или т.п.
    Ответ написан
    Комментировать
  • Где найти блок схемы php js приложений?

    kylt_lichnosti
    @kylt_lichnosti
    http-xkcd.png

    Вот отсюда: ссылка
    Ответ написан
    Комментировать
  • Где найти блок схемы php js приложений?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Нигде не могу найти блок схему.


    А вы себе представляете ее размеры? Даже глупо пытаться ее составлять.

    можете нарисовать простую понятную блок схему?


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

    @green176 Автор вопроса
    Поколупался и дошел до финала, постить получается, код рабочий!
    class Model_Vk {
    
        private $access_token;
        private $url = "https://api.vk.com/method/";
    
        /**
         * Конструктор
         */
        public function __construct($access_token) {
    
            $this->access_token = $access_token;
        }
    
        /**
         * Делает запрос к Api VK
         * @param $method
         * @param $params
         */
        public function method($method, $params = null) {
    
            $p = "";
            if( $params && is_array($params) ) {
                foreach($params as $key => $param) {
                    $p .= ($p == "" ? "" : "&") . $key . "=" . urlencode($param);
                }
            }
            $response = file_get_contents($this->url . $method . "?" . ($p ? $p . "&" : "") . "access_token=" . $this->access_token);
    
            if( $response ) {
                return json_decode($response);
            }
            return false;
        }
    
    	public function uploadImage($file, $group_id = null, $album_id = null) {
    
    		$params = array();
    		if( $group_id ) {
    			$params['group_id'] = $group_id;
    		}
    		if( $album_id ) {
    			$params['album_id'] = $album_id;
    		}
    
    		//Получаем сервер для загрузки изображения
    		$response = $this->method("photos.getUploadServer", $params);
    
    
    		if( isset($response) == false ) {
    			print_r($response);
    			exit;
    		}
    		
    		$server = $response->response->upload_url;
    
    		$postparam=array("file1"=>"@".$file);
    		//Отправляем файл на сервер
    		$ch = curl_init($server);
    		curl_setopt($ch, CURLOPT_POST, true);
    		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    		curl_setopt($ch, CURLOPT_POSTFIELDS,$postparam);
    		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data; charset=UTF-8'));
    		$json = json_decode(curl_exec($ch));
    		curl_close($ch);
    
    
    		
    
    		
    		//Сохраняем файл в альбом
    		$photo = $this->method("photos.save", array(
    			"server" => $json->server,
    			"photos_list" => $json->photos_list,
    			"album_id" => $album_id,
    			"hash" => $json->hash,
    			'gid' => $group_id
    		));
    		
    
    		if( isset($photo->response[0]->id) ) {
    			return $photo->response[0]->id;
    		} else {
    			return false;
    		}
    	}
    }

    Использование:
    необходим токен, standalone приложение, токен получаем по ссылке
    https://oauth.vk.com/authorize?client_id=YOUR_APP_...
    где YOUR_APP_ID - id вашего приложения
    копируем его из адресной строки
    $access_token = "токен";
    $group_id = "ид группы";
    $album_id = 'ид альбома в который будем грузить';
    $image_path = путь к файлу;
    
    $vk = new Model_Vk($access_token);
    
    //Загружаем изображение
    $upload_img = $vk->uploadImage($image_path,$group_id,$album_id);
    Ответ написан
    Комментировать
  • Как искать в MySQL 5.7 по полю типа JSON?

    unitby
    @unitby
    Почитать тут:
    dev.mysql.com/doc/refman/5.7/en/json-search-functi...

    Это не вдаваясь в то, почему вам понадобилось хранить json
    Ответ написан
    Комментировать
  • 2 таблицы: Товары, Параметры. Как составить запрос?

    arutyunov
    @arutyunov
    Mooza.ru — Делаем сайты
    Почитайте про entity-attribute-value таблицы

    Если у вас цена на товар в зависимости от цвета, размера или любого другого параметра не меняется, то цена хранится в таблице products.

    Структура products_params:
    product_id | param  | value
    1          | color  | green
    1          | color  | blue
    2          | color  | green
    3          | color  | blue
    1          | weight | 300


    Про первичный ключ не забудьте.

    Ну и запрос на получение всех цветов товара с id = 1:
    select * from products_params where product_id = 1 and param = 'color'
    Ответ написан
    2 комментария
  • Тонкости авторизация через php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести


    это надо делать только при выводе информации. Я что уже не могу слэши в пароле использовать? или кавычки.

    //удаляем лишние пробелы

    Я что уже не могу использовать использовать пароль из трех табуляций? Ну ладно, это можно оставить.

    include ("bd.php");/


    выносите подключение зависимостей в начало файла. И сделайте что-то типа фабрик для управления зависимостями, сейчас у вас все размазано.

    $result = mysql_query("SELECT * FROM users WHERE login='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином
    $myrow = mysql_fetch_array($result);


    функции mysql_* являются устаревшими, и их наконец-то выпилили в PHP7. Используйте PDO и prepared statements для предотвращения SQL инъекций.

    if ($myrow['password']==$password) {


    0 == 'false' // true

    ну это что бы вы задумались. В целом же хранить пароли в открытом виде это самая плохая идея которая может придти в голову. Для работы с паролями используйте Password API как удобный и безопасный способ хэширования и сравнения паролей.

    В целом же ваш код заставляет меня вспомнить 2005-ый год...
    Ответ написан
    Комментировать