• Трансдьюсеры в JS – так ли уж необходимы?
    +5
    Мое ИМХО. Мне только одно не нравиться. Вот есть в проекте боевом код:

    const curry = (fn, a = []) => (...args) => 
            a.length + args.length >= fn.length 
                ? fn(...a, ...args) 
                : curry(fn, [...a, ...args]);


    Согласитесь, но как по мне читабельность стремится к нулю. Сколько надо времени, чтоб сходу сказать что она делает и как? Особенно радует когда такое надо дебажить, да и еще если что-то где-то упало, и надо отдебажить и сделать хотфикс.

  • Смерть микросервисного безумия в 2018 году
    0
    У вас как минимум есть сессия пользователя


    Есть техники позволяющие не хранить сессию на стороне сервера. Недавно читал, как сесии хранят в Json Web Token. Думаю далеко не один способ существует для организации чистого stateless
  • Как я сделал AI для выявления фейковых новостей с точностью в 95% и чуть не рехнулся
    +2
    И тут меня озарило: может быть, решение состоит в том, чтобы выявлять не фейковые новости, а достоверные. Достоверные новости куда проще свести в единую категорию.

    Хмм. Похоже на «Все счастливые семьи счастливы одинаково, каждая несчастливая семья несчастлива по-своему». Как раз где-то на Хабре недавно даже статья проскакивала.
  • Внедрение Scrum'a технарем: реальный опыт, подводные камни, tips&tricks
    0
    Product owner должен понимать рынок и транслировать видение продукта в соответствии с ним

    это конечно хорошо, но не всегда компания продуктовая. В out-source/out-stuff Project Manager может никак не влиять на видение продукта. И в таких проектах запросто может не быть отдельного Product Owner`а. Да и в продуктовой компании порою нету ни PO ни BA (как правило в мелких по размеру компаниях). В таких случаях, как раз возможно принятие роли PO каким-то PM`ом так как скорее всего именно он общаеться с клиентом/маркетом/бизнесом. В етом нет ничего плохого.
  • Отзыв на трудоустройство в компанию Soshace
    0
    BrNikita разве я что-то писал о модели найма? (тем не менее спасибо, что описали свою процедуру прохождения интервью)

    Я просто высказал свою позицию и свое личное мнение насчет тестового задания. Будь-то модель TopTal или Google или FB суть не поменяет.

    Я не вижу никакой выгоды для себя в работе над тестовым заданием кроме тех исключений которые я описал в своем предыдущим комментарием (особенно если учесть еще и то, что собеседований и заданий в один момент времени может бить несколько).
  • Отзыв на трудоустройство в компанию Soshace
    +34
    Для себя решил так:
    Никогда не делаю тестовое задание. Исключения:

    1. Я очень хочу работать в компании которая прислала мне его или я сам подал туда резюме.
    2. У меня есть свободное время, а тестовое задание оплачиваемое.

    В остальных случаях, как только речь заходит о тестовом задании я сообщаю, что делать его не буду, у меня есть на что потратить свое время. Может быть это не правильно, но так я себе и людям сохраняю время и нервы.
  • Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов
    0
    <sarcasm>
    Они предварительно договариваются с руководством, что получать деньги будут лично от бухгалера на руки.
    <sarcasm/>
  • [Перевод] Анемичная модель предметной области — не анти-шаблон, а архитектура по принципам SOLID
    +2
    Как по мне, то в коментариях к оригинальной статье верно подметили:

    1. В примере БМПО связан уровень доступа к данным и уровень бизнес-логики
    2. БМПО спроектировано плохо:

    «Когда клиент отправляется в магазин, он держит товар/товары и отправляет их в кассу, чтобы купить их.Это не ответственность клиентов, чтобы сказать, может ли он купить свои товары, это ответственность сопутствующего лица в кассе.»

    Оригинал:

    blog.inf.ed.ac.uk/sapm/2014/02/04/the-anaemic-domain-model-is-no-anti-pattern-its-a-solid-design/#comment-205
  • Запускаем новый онлайн-курс «Разработка веб-сервисов на Go»
    0
    >> рассказывать про минусы PHP, присущие версии 5.2 :)

    особенно когда на улице 7.2 XD
  • Архитектура сервиса сбора и классификации объявлений жилья из Вконтакте
    0
    Спасибо, гляну
  • Архитектура сервиса сбора и классификации объявлений жилья из Вконтакте
    –1
    Советую вам попробовать github.com/KnpLabs/KnpGaufretteBundle для абстракции над файловой системой. Удобнее будет потом с переездом куда нибудь (если планируеться или придеться).

  • PHP-Дайджест № 118 – свежие новости, материалы и инструменты (24 сентября – 9 октября 2017)
    +9
    Спасибо за дайджест и вашу работу за все 5 лет :)
  • Самое сложное в программировании это…
    +7
    И еще:

    There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery
  • Самое сложное в программировании это…
    +2
    Ето одна из многих известных цитат про програмирование. Кажеться сказал Фил Карлтон. Вот есть подборка:
    habrahabr.ru/post/275841
    А к теме что сложного, вот неплохие статьи:
    habrahabr.ru/post/120471
    eax.me/caching-is-hard
  • Самое сложное в программировании это…
    +9
    Есть только две трудные задачи в области информатики: инвалидация кеша и придумывание названий
  • Как скрестить ежа с ужом. Используем GridView из Yii 2 в проекте на Laravel
    –1
    Нарываясь на минуса :)

    Я не использую Laravel для разработки. Мне после Zend и Symfony он не зашел (написали несколько проектов на Laravel). Но если абстрагироваться, то взял бы Symfony + EasyAdmin или Symfony + Sonata. Если есть время, то лучше %ВАШ_ФРЕЙМВОРК% + фронтенд на React, Vue, Angular2+, Ember.

    Если про решение на Laravel, то наверно взял етот grid, хотя бы потому, что тянуть два фреймворка ето лишнее.

    Лично для меня server-side рендеринг уже прошлое.Надо отделять мух от котлет. Чисто мое мнение.
  • Как скрестить ежа с ужом. Используем GridView из Yii 2 в проекте на Laravel
    0
    image
  • Superjob PHP-meetup
    0
    Будет видео-трансляция или видео-запись? :)
  • Как переусложнить дверной замок
    0
    Не знаю, как на счет вашего примера, но вот если бы эта штука автоматически открывала двери (именно открывала, не только замок) то било б огонь. Идешь такой с сумками, а тебе дверь раз и открылась когда подошел. Не надо ставить их на пол, доставать ключи из сумки/кармана.
  • PHP-Дайджест № 110 – свежие новости, материалы и инструменты (28 мая – 11 июня 2017)
    0
    Прошел PHP-FWdays в Киеве. Обещают поделиться видео через одну/две недели. Скорей всего к следующему дайджесту появятся
  • Сравнение производительности железного сервера и облака Amazon
    0
    В Amazon RDS есть еще Amazon Aurora — они обещают увеличения по производительности относительно стандартного MySQL почти в 5 раз:

    Amazon Aurora provides 5X the throughput of standard MySQL or twice the throughput of standard PostgreSQL running on the same hardware.


    Вы не пробовали использовать их движок? Интересно было бы увидеть и его в сравнении.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    0
    VolCh я вот не соглашусь. Почему лучше Angular2? С ним проще писать следуя SOLID и DDD. Вот есть у тебя entity post. Написал модель, написал репозиторий, дал интерфейс. В реализации уже подтянул любимую либу для запроса на сервер (будь то RxJS или хоть чистый xhr). Отделно поставиш обработчики на actions, отдельно поставишь темплейт.
    Похожая ситуация с Ember. Меня больше заботит то, как данные взаимодействуют. Отрисовать малая часть проблемы в SPA как по мне (если заботиться чисто о view то React подойдет лучше).

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

    Думаю в каждом из фреймворков есть как + так и — , кому то что то пойдет сложно кому то легче. И еще, по одному проекту судить сложно, думаю для объективной оценки нужно сделать 2-3 проекта.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    0
    Сейчас — Ember.js, еще Angular2 выглядит неплохо(сужу по опробованых мной туториалах). Как для бекендщика лучше на фронт нету (чисто мое ИМХО)

  • Полная автоматизация «development» среды с помощью docker-compose
    0
    есть отличие между Amazon EC2 и Amazon ECS. По простому: Amazon EC2 ака твой VPS, ака ваш пример с Azure, где тебе надо будет ставить докер и тд для его запуска. Для Amazon ECS же достаточно указать (в теории) просто откуда взять твой Docker образ и указать условия запуска. Ето 2 разных сервиса.

    hlogeon прав:
    просто пойдите и попробуйте задеплоить любой Hello, World на тот же Amazon ECS

    не так просто как взять установить самому докер на vps и прогнать
  • Эволюция процесса деплоя в проекте
    0
    Есть docker-for-mac. Если на beta-channel то даже не плохо
  • Эволюция процесса деплоя в проекте
    0
    ошибся веткой
  • Эволюция процесса деплоя в проекте
    0
    А почему и нет? Если речь о локальной разработке, то вполне можна взять docker image с Ubuntu(как пример) установить локально ssh и необходимие зависимости (php/python/java/nginx/apache/mysql ....) прокинуть порт и потом через volume залинковать проект в контейнер. Сумарно он будет быстрей Vagrant (но далеко не везде, на том же маке Vagrant иногда шустрей)

    P.S: Vagrant может под капотом работать с докером: https://www.vagrantup.com/docs/docker/
  • Эволюция процесса деплоя в проекте
    0
    А почему и нет? Если речь о локальной разработке, то вполне можна взять docker image с Ubuntu(как пример) установить локально ssh и необходимие зависимости (php/python/java/nginx/apache/mysql ....) прокинуть порт и потом через volume залинковать проект в контейнер. Сумарно он будет быстрей Vagrant (но далеко не везде, на том же маке Vagrant иногда шустрей)

    P.S: Vagrant может под капотом работать с докером: https://www.vagrantup.com/docs/docker/
  • Эволюция процесса деплоя в проекте
    +1
    сама, рано или поздно, расползется по кластеру.


    Я вам точно не скажу сейчас, просто не на моем проекте сейчас но с packer'ом и terraform тоже можна похожие вещи делать. У нас есть проект где packer создает image для google compute engine с уже готовым к работе проектом. В google compute инстансы создаються из последнего собраного image (не надо вам парится тогда и о том где rpm а где deb).

    Terraform`мом можна описать как всю инфраструктуру поднять ( какие прокинуть порты, настроить load balancer и тд) Довольно акуратно и просто, плюс видиш сходу изменения с эволюцией проекта со временем (Infrastructure as a Code)

    На проекте которым я сейчас занимаюсь, описано 3 инстанса в связке packer и terraform на aws. Кстати подход к деплою у нас — immutable server (у ребят с google compute тоже). Суть immutable deploy в том, что на сервере ничего не менять, а когда доступная новая версия, убирать инстанс со старой кодовой базой на новую. (Хотя я вполне подозреваю что вы знакомы с этим подходом) Как плюс можна довольно легко поднять зеркально новую групу серверов и потестировать самому все а потом переключить Load balancer на новую групу, и если что то не так переключить обратно (blue/green deployment кажеться). Можна сохранять версии images которые создал packer и опять же пересобирать как хочеш.

    Кстати packer спокойно собирает и пресловутым Docker так что, как билдить решать вам самим =)
    Я, лично, только начал с ними работать, перенимаю опыт у ребят с другой команды но перспективы радуют.
    Потом все это можна и под СІ подогнать.

    Думаю потом если все пойдет ок то можно будет и статейку оформить, хехе :)

    P.S: простите за плохой руский :(
  • Эволюция процесса деплоя в проекте
    0
    Согласен, интересно было б почитать и про CI и build-сервера. Хотя статья «Эволюция процесса деплоя в проекте», может не доэволюционировали пока :)

    и как-нибудь красиво доставить на сервер


    Посмотрите еще в сторону packer.io и terraform. Как по мне интересный подход к деплою :)
  • JavaScript 2016, а можно попроще?
    0
    Так опять никто и не говорит о бекенде на javascript. У нас несколько проектов где фронт на EmberJS а бекенд на Symfony. Здесь ember server только для разработки фронта (под капотом ember server поднимает livereload что позволяет сразу видеть проводимые изменения). Подозреваю что вы не просто не так меня поняли =)
  • JavaScript 2016, а можно попроще?
    +3
    JavaScript 2016, а можно попроще?
    Ответ: Можна. EmberJs.
    How to:

    1) npm install -g ember-cli

    2) ember new my-new-app

    3) ember server

    Под катом уже RestAdapter, JsonAdaper. Удобная EmberData (ActiveRecord) для моделей, Controller, Router и тд. Минимум усилий для нормального старта + документация на уровне