Тимофей Мартынов
Тимофей Мартынов личный блог
15 июля 2019, 10:25

Смартлабу нужен кодер php\mysql

Всем привет! Мы довольно медленно делаем улучшения на смартлабе, а идей по созданию пользы уже просто через край.
По этому случаю хотелось бы привлечь на сдельной основне еще одного программиста для создания некоторых полезных модулей.

Если вы PHP прогер, у вас есть свободное время и вас устраивает почасовая оплата, предлагаю его направить на благо посетителей смартлаба.

Заполните плиз анкету и я свяжусь с вами для обсуждения деталей.
Спасибо.

Если вы разбираетесь в опционах, это будет огромный ++
Смартлабу нужен кодер php\mysql
96 Комментариев
  • Свой Мужик
    15 июля 2019, 10:39
    20 лет опыта )))
    Ну и укажите хоть используете какие frameworkи или чистых пых (на 7 переехали надеюсь уже?) )

      • Гончар
        15 июля 2019, 17:33
        Тимофей Мартынов, это вы лайвстрит перепилили полностью?
        расскажи про систему кеширования, насколько база от чего зависимая, кронов много? какую нагрузку должны выдерживать, отдельный сервак или совместно? сколько запросов и на базу тз сделали?
          • Гончар
            15 июля 2019, 17:38

            Тимофей Мартынов, ну как бы я программист который делал консъерж сервис визы, инет магазины, работал с рэмблер, киви, занимался интеграцией всей этой херни на сайты… вот как-то так.

            просто чтобы подробнее понимали задучу

              • Гончар
                15 июля 2019, 17:41
                Тимофей Мартынов, проще будет когда опишете задачу хотя бы примерно. тогда и разработчики оценят свои силы…
                  • Гончар
                    15 июля 2019, 17:46
                    Тимофей Мартынов, хорошая мысля. еще календарик поставить и зависимость от времени с напоминалками
          • Гончар
            15 июля 2019, 17:39
            Тимофей Мартынов, а том может вы там нахерачили такого что с бутылкой не разберешь :-)))
    • meat
      15 июля 2019, 10:50
      Свой Мужик, 20 лет на php? какой ты старый :)
      • Свой Мужик
        15 июля 2019, 11:51
        meat, с 18 лет, со дня основания практически ))) 
  • tashik
    15 июля 2019, 11:03
    Если никого не найдете, постучите, что-нибудь придумаем. Сама сейчас занята опционным софтом, но может кто-то из знакомых захочет. 
  • Андрей К
    15 июля 2019, 11:10
    Удачи в поиске. Одна из геморойнейших задач.

    Сейчас тебе тут советов накидают как делать надо, а как не надо =))
      • Андрей К
        15 июля 2019, 11:15
        Тимофей Мартынов, советы как строить свою работу и как искать исполнителей. Не сказать конечно, что и на том и на том я собаку съел, но пути решения разные и сейчас тебе тут начнут их перечислять =))
          • Андрей К
            15 июля 2019, 11:21
            Тимофей Мартынов, расскажи потом через пару дней ради интереса, чтобы сейчас кандидатов не пугать. Даешь ли тестовое задание на этапе собеседования.
              • Андрей К
                15 июля 2019, 11:28
                Тимофей Мартынов, ааа. Ты значит примерно впервые масштабно на весь инет занимаешься поисками.

                Есть такая штука, что разрабы из регионов смотрят на тебя с удивленными глазами. Какое еще тестовое задание? Мне еще на него время тратить? Эта фишка привита только в основном в Мск и Питере или с заказчиками из Мск и Питера.
  • Friendly Deep Space
    15 июля 2019, 11:27
    Опционный анализатор что-ли пилите там?)
  • Advait
    15 июля 2019, 13:01
    Примерный прайс оплат почасовой работы? От скольких?
  • прогал на одеске-апворк на америкосов и европу, 750 часов
    сколько почасовая?
  • My Shadow
    19 июля 2019, 16:02
    Почему все так попсово ?) почему например не scala/postgresql… хотя я и сам знаю ответ.
      • My Shadow
        19 июля 2019, 16:19

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

    • meat
      19 июля 2019, 16:13
      My Shadow, а ты на чем пишешь? :)
      • My Shadow
        19 июля 2019, 16:19
        meat, на common-lisp-е в том чилсе :)
        • meat
          19 июля 2019, 16:28
          My Shadow, ты на нем деньги зарабатываешь? я писал интерпретатор pascal на лиспе
          • My Shadow
            19 июля 2019, 16:37
            meat, давно был коммерческий проект на common-lisp — свои задачи выполняет, а что внутри никому не интересно.
    • dnmsk ☮
      19 июля 2019, 16:13
      My Shadow, Еще можно предложить какой-нибудь elixir.
      • My Shadow
        19 июля 2019, 16:22
        dnmsk, можно, но для смартика наверно будет показателен опыт «тинькофф»
        fintech.tinkoff.ru/tfschool/scala
        это так просто мысли на вентилятор :)
        • meat
          19 июля 2019, 16:31
          My Shadow, ты наверное старый раз за скалу топишь, сейчас модно пихать всюду котлин :)
          • My Shadow
            19 июля 2019, 16:33
            meat, не я идейный — куда там kotlin против scala c typeclass-ами :)
            • meat
              19 июля 2019, 16:36
              My Shadow, в php динамическая типизация и еще проще, чем твои typeclass использовать :)
              • My Shadow
                19 июля 2019, 16:41
                meat, надо не проще, надо лаконичней и надежней одновременно. не люблю простыни писать и лишние тесты :)
                • meat
                  19 июля 2019, 16:43
                  My Shadow, причем тут тесты?

                  есть такой тип программистов, которым важнее лаконичность своего кода, чем решение реальных задач бизнеса
                  • My Shadow
                    19 июля 2019, 17:07

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

                    Есть много секторов бизнеса — тот же финтех, где ошибка в коде может стоить очень дорого.

                     

                    • meat
                      19 июля 2019, 17:09
                      My Shadow, а что мешает делать статический анализ в динамическом языке для проверки на типы?
                      • My Shadow
                        19 июля 2019, 17:21
                        meat, а много в динамическом языке (коде на нем) информации о типах, чтоб сдеать качественную проверку?
                        • meat
                          19 июля 2019, 17:26
                          My Shadow, тот же самый анализ делает компилятор в языке со статической типизацией :)

                          в php уже давно можно строить AST деревья и анализировать
                          в typescript можно делать такую проверку до запуска кода, но компилируемый код будет без типов

                          что-то ты отстал от жизни :)
                          • My Shadow
                            19 июля 2019, 17:36
                            meat, если в php строка и нетипизированный хэш — это основные типы о какой качественной проверке идет речь? Эти типы еще кто то должен описать. дружише посмотри как это реально работает в haskell-е или scale.
                            • meat
                              19 июля 2019, 18:05
                              My Shadow, ты какую-то чушь несешь

                              в php не только эти типы данных, а статический анализ без запуска кода уже давно можно делать, тоже самое делает и твой компилятор на java/scala

                              если бы ты хоть раз строил такие деревья, то понял бы о чем речь


                              • My Shadow
                                19 июля 2019, 18:41

                                meat, чушь у тебя в голове. вероятно частное не было понято.
                                если говорить в общем — в php даже элементарных дженериков на уровне языка нету. поэтому я молчу о ковариантности и контравариантности. php до системы типов java еще шагать и шагать, а система типов scala и haskell на порядок сложнее. какой нормальный статический анализ получится ?

                                • meat
                                  19 июля 2019, 19:37
                                  My Shadow, я что-то говорил про систему типов в сравнении с java? ты нить беседы уже потерял
                                  при нормальной статической типизации выявляется на этапе компиляции
                                  я тебе объяснил, что можно сделать тоже самое в php до запуска кода, ты споришь все равно, хотя наверное ни разу не писал на нем и не использовал утилиты статического анализа
                                  ошибка в коде может стоить очень дорого
                                  такие ошибки ловятся в php еще до запуска кода
                                  php даже элементарных дженериков на уровне языка нету
                                  а зачем?

                                  может ты перебрал с абстракциями чутка, код делается проще, чем ты привык :)
                                  • My Shadow
                                    19 июля 2019, 20:01

                                    meat, статический анализ — это образно проверка соответствует ли данный код системе типов языка или нет. если система типов простая — то и проверка простая. нету у тебя дженириков в языке — твой статический анализ не сможет гарантированно обнаружить ошибку когда ты не правильно работаешь с элементами хэш-а/массива. чем сложнее система типов — тем больше гарантий, на уровне scala, haskell успешная компиляция значит что все уже неплохо и проверок там значительно больше.
                                    Чем сложнее система типов языка — тем меньше тестов в случае правильного ее использования. то что php что то умеет из статического анализа я не спорю, но это совсем не много.

                                    писать можно по разному, смотря что и для чего делаешь, но иметь возможность интенсивно использовать абстракции очень полезно.

                  • My Shadow
                    19 июля 2019, 17:19

                    meat, лаконичность — это когда несколько строк по возможности заменяют простыни, т.е. в языке есть разнообразные инструменты абстракции в том числе встраиваемые DSL (domain specific language), чем меньше строк тем проще валидировать, найти ошибку или менять бизнес логику.

                    • meat
                      19 июля 2019, 17:26
                      My Shadow, для тебя чем больше абстракций тем лучше? :)
                      • My Shadow
                        19 июля 2019, 17:39
                        meat, правильные абстракций которые можно повторно использовать очень полезны и сокращают тестирование — не согласны?
                        • meat
                          19 июля 2019, 18:09
                          My Shadow, 
                          правильные абстракций которые можно повторно использовать очень полезны и сокращают тестирование
                          я говорил про сами абстракции, а не про повторное использование кода, это разные вещи
                          ну да, тебе не нужно тестировать сторонний код, а только свой
                          короче для тебя лаконичность сводится к обычному повторному использованию кода, я понял :)

                          • My Shadow
                            19 июля 2019, 18:49
                            meat, это у тебя в php абстракции и повторное использование кода разные вещи — defmacro нагугли для примера.
                            • meat
                              19 июля 2019, 19:38
                              My Shadow, а что тогда для тебя абстракция и повторное использование кода? приведи определения, пожалуйста
                              и причем тут язык программирования? алло
                              • My Shadow
                                19 июля 2019, 20:07
                                meat, https://scalac.io/encog-dsl-scala-part1/
                                • meat
                                  19 июля 2019, 20:15
                                  My Shadow, я на scala не пишу, поэтому не могу понять для чего это нужно там
                                  но dsl это же:

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

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

                                  т.е. нужно знать для чего применять
                                  но ты же говорил про лаконичность и надежность, а DSL языки применимы только к определенным задачам, а значит в общем случае проблемы не решают
                                  • My Shadow
                                    20 июля 2019, 06:29

                                    meat, твое определение о DSL в общем виде, а я пишу о embedded DSL — дополняющих основной язык программирования.

                                    Совсем простой и немного притянутый за уши пример: допустим в неком php коде активно используется циклы, но так как операторы циклов в php довольно бедные — кода получается много, для примера в common-lisp есть один из самых мощных операторов циклов loop (http://lisper.ru/pcl/loop-for-black-belts), и более того если loop мало есть библиотека iterate c еще более мощным операторов циклов (https://common-lisp.net/project/iterate/doc/index.html). Можно даже сказать loop и iterate - спец. встраиваемые языки для описания итераций (embedded DSL).

                                    Вернемся к коду, если бы в php был циклический оператор который мог сделать minimizing/maximizing и некую логику за один проход как loop или iterate или возможность определить такой оператор  — это бы сильно сократило наш код.

                                    Применять эти вещи конечно стоит далеко не во всех ситуациях, но сама возможность адаптировать язык под задачу очень полезна.

                                    • meat
                                      20 июля 2019, 11:05
                                      My Shadow, 
                                      так как операторы циклов в php довольно бедные — кода получается много
                                      как и в большинстве языков программирования

                                      ну это опять сравнения языков идет

                                      в php достаточно для этого есть встроенных функций в само ядро для работы с чем-то несколько раз (array_*), а также создание итераторов и генераторов
                                      • My Shadow
                                        20 июля 2019, 13:01
                                        meat, проблема php не в том операторы циклов довольно бедные, а в том что язык поменять нельзя, тот же iterate это библиотека не часть языка. 

                                        Другой пример — в php нету peg парсера на уровне языке, в scala тоже, но для последней есть библиотека расширяющая язык
                                        https://github.com/sirthias/parboiled2#example
                                        • meat
                                          20 июля 2019, 13:11
                                          My Shadow, в php есть возможность писать расширения на си и любые парсеры вставить

                                          https://github.com/hafriedlander/php-peg

                                          какую задачу на php ты хочешь решить, что из-за этого стал его критиковать? 


                                          • My Shadow
                                            20 июля 2019, 15:43

                                            meat,  php-peg - внешний кодогенератор, нужно запустить:
                                            php ./cli.php ExampleParser.peg.inc > ExampleParser.php<br /> а грамматика задается в виде комментария — а не как часть языка со статической проверкой.

                                            я не говорю что в php проблема с решением реальных задач, по крайней мере связанных с вебом, вопрос в эффективности

                                            • meat
                                              20 июля 2019, 16:06
                                              My Shadow, с эффективностью там все нормально, все расширения на си написаны, opcache настроил и все очень быстро работает до определенного предела

                                              по сути тот же фреймворк для си, в чем и была идея изначальная у Расмуса Лердорфа

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

                                              из минусов это то, что нет сохранения состояний, поэтому каждый запрос это новый запуск кода, но проблему решает кеширование и механизм сессий
                                              • My Shadow
                                                20 июля 2019, 16:32
                                                meat, я об эффективности как инструмента для программиста — писать конечно можно, но после опыта некоторых языков совсем не хочется.
                                                что касается скорости — самый быстрый из common-lisp-ов (тоже динамическая типизация + опциональные статические аннотации как в php) sbcl — местами почти приближается к С, если писать с некоторыми усилиями. 

                                                stackoverflow.com/questions/34999052/squeeze-more-speed-from-common-lisp-sbcl
        • dnmsk ☮
          19 июля 2019, 16:38
          My Shadow, Есть история, про мессенджеры:
          Существовало 14 различных мессенджеров и возникла идея их всех объединить: в итоге стало 15 мессенджеров
          Что бы не придумали модные мейнстримеры и хисптеры будет 2 подхода к программированию. С одними и теми же паттернами. Только синтаксис будет +- меняться.
          Обычно в новых языках количество быдлокодеров не очень большое, поэтому они (языки) как бы классные и дают результат (для менеджеров).
          • My Shadow
            19 июля 2019, 16:59

            dnmsk, я бы все-таки не обобщал — языки с другим синтаксисом и языки с другой парадигмой.

            • dnmsk ☮
              19 июля 2019, 17:13
              My Shadow, можете не набивать себе цену))
              • My Shadow
                19 июля 2019, 17:26
                dnmsk, не волнуйтесь, я отошел от кодинга уже приличное время назад, так что конкуренцию Вам за вакансию не составлю  :)
                • dnmsk ☮
                  19 июля 2019, 17:51
                  My Shadow, Теперь я буду лучше спать 
  • Oleg
    19 июля 2019, 16:34
    1000 рублей в час средняя оплата не очень сложных проектов
  • Андрей К
    19 июля 2019, 21:32
    когда программисты спорят, это всегда интересно =)

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн