
Sergey
25.06.2017
17:01:32
зависит от того что умеет класс Keyboard


Vadim
25.06.2017
17:01:32
Приветы. Вакансия: Experienced PHP Backend Developer. Санкт-Петербург.
Возможен удаленный вариант взаимодействия (90 – 130 т.р.)
Головной офис компании находится в городе Маунт Вернон, штат Нью-Йорк (20 минут езды от Манхэттена).
Есть офис в Санкт-Петербурге, в бизнес парке Полюстрово. Допускается удаленная форма работы. Не обязательно проживать в Питере, но надо быть готовым к периодическим приездам в этот город.
Кого мы ищем:
Мы ищем PHP разработчика, с хорошим опытом разработки backend систем
Необходимые навыки:
• Английский на уровне чтения технической документации (общение в чате хотя бы на уровне 5/10 будет плюсом, но не обязательно
• Опыт разработки high-load/high-performance систем
• Уверенные знания PHP5.3/7 + (опыт написания проектов на Symfony1/2, Yii, Slim фреймворках)
• ООП, паттерны программирования, юнит тесты, TDD
• Опыт и навыки в архитектировании и написании масштабируемых систем
• Опыт работы с различными фреймворками и либами
• Опыт написания систем с использованием high-load/performance баз данных MySQL/MariaDB
• Умение работать с Git через консоль (такие функции Git как merge, rebase, branch должны Вам быть хорошо известны и цель их хорошо ясна)
• Опыт работы с Linux серверами, умение общаться с консолью через ssh "на ты" и настраивать свой development/test environment (Apache2/nginx config, MySQL/MariaDB config/.htaccess etc...)
• Умение находить оптимальное решение задачи, не жертвуя качеством
Условия:
• Временами вполне может быть расписание по Нью-Йоркскому графику (с 09:00 до 17:00 по Нью-Йорку, летом это с 16:00 до 00:00 в СПб и зимой с 17:00 до 01:00 по СПб).
Первое собеседование будет со мной по скайпу. Жду ссылку на код на github.
Уровень оплаты определяется уровнем знаний, опыта и навыков.
Заинтересованные могут прислать резюме на metelinka007@gmail.com
@fordev


Sergey
25.06.2017
17:03:58

Evgeniy
25.06.2017
17:04:00

Google

Sergey
25.06.2017
17:04:02
за 130к до часу ночи работать, вот это вакансия

Vadim
25.06.2017
17:04:24

Sergey
25.06.2017
17:04:53
норм же) как раз отоспаться, и прийти на работу к пяти

darkwoolf
25.06.2017
17:04:54
прописал в пачичи чтобы корень проекта была папка web
но когда прописываю url то нужно указывать index.php в средине
http://localhost/index.php/site/hello
вот так
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'' => 'site/index',
'<action>'=>'site/<action>',
],
],
baseUrl тоже прописал
это .htaccess в папке web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
уже максимально всё перепробовал
можно сказать что почти всё решил, но осталось только это

Alexander
25.06.2017
17:05:04
зависит от того что умеет класс Keyboard
Класс данный метод в итоге генерит массив
Как считаете, если сделать дамп $keyboard и попробовать воссоздать данный массив процедурно, нормальный вариант? Или стоит все-таки в библиотеке покопаться и все-таки доделать именно как написал Сергей?

Google

Sergey
25.06.2017
17:05:32
не стоит мешать процедурный и ООП стили

Alexander
25.06.2017
17:12:10
$keyboard возвращает следующий массив:
"{"inline_keyboard":[[{"text":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043c\u0435\u043d\u044e","callback_data":"\/show_menu"},{"text":"\u041a\u0443\u043f\u0438\u0442\u044c \u0446\u0432\u0435\u0442\u044b","callback_data":"\/buyflowers"}]]}"
Что правильнее с этим сделать? Создать метод addRow, который будет вставлять элемент в массив?

Chuvi
25.06.2017
17:22:05

Alexander
25.06.2017
17:22:16
telegram-bot-sdk

Dmitriy
25.06.2017
17:22:38

Никита
25.06.2017
17:22:45
Телеграм закрывают жеж, зачем под него что-то писать ;)))

Dmitriy
25.06.2017
17:23:16

Alexander
25.06.2017
17:23:23
О_О
Сейчас в композере проверю, странно, вроде последнюю ставлю

Dmitriy
25.06.2017
17:24:18
в новой как-то так
$inlineLayout[] = [
Keyboard::inlineButton(
[
'text' => $chat->title,
'callback_data' =>$chat->id,
]),
];
и это передавайте
в Keyboard::make

Vadim
25.06.2017
17:24:41

Darkling
25.06.2017
17:24:45

Sergey
25.06.2017
17:25:25

Alexander
25.06.2017
17:25:39
Впн закрыть сложна
Они мдк закрыть не могут
А вы про впн говорите)

Darkling
25.06.2017
17:25:51

Sergey
25.06.2017
17:26:07
еще смешнее будет когда закроют

Насыров
25.06.2017
17:26:08
Впн вряд ли.эт очень сложно

Google

Sparrow
25.06.2017
17:26:25
фуллстек таких парней щас в красной книге только

Sergey
25.06.2017
17:26:30
что сложного в закрытии ВПН?

Darkling
25.06.2017
17:28:05

Vadim
25.06.2017
17:28:22
Слышали про утечку исходного кода Винды?

Sergey
25.06.2017
17:28:36

Fedor
25.06.2017
17:28:49

Dmitriy
25.06.2017
17:29:08
Так. Это чат про пхп идите в другие чаты

Fedor
25.06.2017
17:30:19

Vlad
25.06.2017
17:30:49
Всем добрый день...Есть каталог компаний...У компаний в каталоге пишуться рубрики к которым привязаны компаниий, к компаний могут быть много рубрик...связь компании с рубрикой лежит в отдельной таблице(кростайбл)...какой оптимальный способ получения этих рубрик у компаний, так чтобы производительность не страдала
Получить все компанийй, впихнуть в массив, выводя компании бегать по массиву, однозначно нет, но переложить на sql, делать запрос выводя каждую компанию в списке...тоже же не кайф

Насыров
25.06.2017
17:31:48

Vlad
25.06.2017
17:32:01
максимум 48 запросов будет, список может быть 12 36 48...Есть еще способы?

Sergey
25.06.2017
17:32:32

Vlad
25.06.2017
17:33:45

Sergey
25.06.2017
17:34:03
почему у тебя неизвестное число полей?

Vlad
25.06.2017
17:34:19

Насыров
25.06.2017
17:35:18

Sergey
25.06.2017
17:35:52

Google

Насыров
25.06.2017
17:36:38

Sergey
25.06.2017
17:36:44
рубрики должны быть в строках а не в столбцах

Vlad
25.06.2017
17:37:49

Sergey
25.06.2017
17:38:46
у тебя должно быть
id name url rub
и в стобце rub уже будет rub1, rub2, rub3

Vlad
25.06.2017
17:39:03
У меня есть кростейбл
В котором описаны связи компаний с рубриками
13 25

Admin
ERROR: S client not available

Vlad
25.06.2017
17:39:37
13 компания 25 рубрика
13 компания 17 рубрика
7 компания 8 рубрика
и т.д.

Sergey
25.06.2017
17:40:26
так сделай JOIN и у тебя будет тоже самое только с названием компаний и рубрик

Vlad
25.06.2017
17:41:01
так как у рубрик одни и теже названия полей будут
столбцов

Sergey
25.06.2017
17:41:35
если без group by то впишется столько связок, сколько у тебя записей в кростейбл

Vlad
25.06.2017
17:42:09

Google

Vlad
25.06.2017
17:44:57
при этом получение 40 компании тоже часть запроса
точнее у меня уже есть получение компаний находясь в рубрике
и к этому сиску доп полями неплохо бы рубрики в которые компании входят

Alexander
25.06.2017
17:52:01

Vlad
25.06.2017
17:54:07
select count(*) as aggregate from companies left join company_section on company_section.company_id = companies.id where companies.id in (28, 34, 23, 24, 26, 27, 29, 39, 40, 41, 38, 37, 36)
компани и сектион в 1 числе

Sparrow
25.06.2017
17:54:56
jopa
это массти такой?
массив

Vlad
25.06.2017
17:56:23
массив
ммм...это в ларе вывод sql запросов результатов...dd($arrayCompanys);

Sergey
25.06.2017
17:56:43
потому что count агрегирующая функция

Vlad
25.06.2017
17:56:44
Вполне удобно но от темы уходит)
$arrayCompanys=Company::WhereIn('companies.id',$arrayCompanysIds)->orderBy('name', 'asc')->leftJoin('company_section', 'company_section.company_id', '=', 'companies.id')->paginate($count);
как понимаю пагинация подсобила

Dmitriy
25.06.2017
18:03:30

Vlad
25.06.2017
18:07:59
потому что count агрегирующая функция
select * from companies left join company_section on company_section.company_id = companies.id where companies.id in (28, 34, 23, 24, 26, 27, 29, 39, 40, 41, 38, 37, 36) order by name asc
С count разобрался, это был доп запрос пагинации