Как стать автором
Обновить
3
0
Боря Фролов @donRumatta

Пользователь

Отправить сообщение
Ожидал примерно такого комментария от «академика» (в хорошем смысле слова, странно что первым был не дедфуд:) Но в терминах, определенных автором, как мне кажется, List подходит, пускай и неверно с научной точки зрения. Конечно, были бы в статье правильные аналогии из мейнстрима, было бы еще лучше.

Преимущество автора в том, что он объясняет на привычном языке программиста: даже вы, отвечая сейчас, накидали терминов на квадратный см (как и Psyhaste в своих статья, хотя они могли стать эталоном погружения в ФП:) Ведь непонимание теорката не мешает пользоваться LINQ-ом, но хотелось бы и реальных примеров (не использования библиотечных конструкций из ФП): например, как ФП уделывает аналогичный проект на C# с описанием в чем именно (вот бы вместо очередной статьи с азами, переписал бы кто-то из авторов тот же eShopOnContainers на F#). А то обычно в примерах функции с парой циклов :(
Спасибо за статью. Несмотря на критику выше, именно так и стоит объяснять этот эльфийский(=

В идеале, в разделе Прошу к столу еще бы реальных примеров из промышленных языков, вроде C#. Например, как я понял, List — монада, Select — функтор, предикат — морфизм (Func<T, T> — эндоморфизм). А еще, где может пригодится собственноручное приготовление монады, отталкиваясь от какой-нибудь бизнес-задачи.
Одно дело смотреть ЛЧ, и совсем другое — в окно, где твои друзья гоняют мяч, и ты без проблем можешь заняться этим же, получая намного больше удовольствия. Тоже так и не понял тех, кто смотрит стримы непро(=
Мне кажется у вас возникло впечатление, что я топлю за водопад (нет).
В комментарии был описан конкретный случай, мопед не мой(= Но и с моей колокольни, техдолг, когда тебе в спину дышит «цель спринта», возникает чаще, чем не возникает.
Помогу выделить суть предыдущего комментария:

из за гибкой методологии уже появился техдолг

Все, дальше снежный ком.
Просто загляните к нему в профиль и остановитесь. Человек на 4-ю квартиру зарабатывает(=
А что насчет примера с футболом? Тоже забросил читать Диксита, когда понял, что применимость ограничена конями в вакууме(=
Аналогичная с kinall ситуация: прочел полторы книги Диксита, но сдался. Так и не нашел, как применить. Изначально рассчитывал использовать в настолках, но там она не работает. Почти всегда найдется кто-то, творящий дичь и тем самым руинящий катку. Иногда специально, иногда по причине недостаточной подготовки (да что там, я сам запросто могу не успеть найти оптимальный ход за отведенное время). Соответственно, ни о каком долгосрочном планировании не может быть и речь. Причем довольно часто таким персонажем может стать достаточно рациональный игрок, но потерявший шансы на выигрыш. Цели меняются, логика отключается.

IRL, как мне кажется, та же история — выше хороший пример с футболом.

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

Будет оценка, декомпозиция, рефайнмент с продактом и аналитиком: тогда все и всплывет. И самое главное, все это никак не связано с бизнесом, обычная работа обычного программиста.

Откуда сроки, когда его еще не видел и не оценивал исполнитель?

Наконец-то добрался до компа: было смутное ощущение, что можно обойтись чисто LINQ, но ReverseSplit пришлось писать вручную.

Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApp2
{
    static class Program
    {
        static void Main(string[] args)
        {
            CountSequences("aabccaaab");
            CountSequences("abbaaaa");
            CountSequences("aabbbccccaaaccccccca");
            CountSequences("");
            CountSequences("abababaccc");
            CountSequences("cabccaabbcccaaabbb");
            CountSequences("cabccaabbcccaaabbbcab");

            Console.ReadKey();
        }

        private static void CountSequences(string input)
        {
            var result = input
                .Distinct()
                .Select(x => 
                    new KeyValuePair<char, int>(
                        x, 
                        input.ReverseSplit(x).Max(y => y.Length)));

            var formatted = result.Select(x => $"{x.Key} - {x.Value}");
            Console.WriteLine($"{input}: {string.Join(", ", formatted)}");
        }

        public static List<string> ReverseSplit(this string input, char nonSeparator)
        {
            var result = new List<string>();

            var sb = new StringBuilder();

            void FinalizeSequence()
            {
                if (sb.Length > 0)
                {
                    result.Add(sb.ToString());

                    sb.Clear();
                }
            };

            var i = 0;
            while (i < input.Length)
            {
                if (input[i] == nonSeparator)
                {
                    sb.Append(nonSeparator);
                }
                else
                {
                    FinalizeSequence();
                }

                i++;
            }

            FinalizeSequence();

            return result;
        }
    }
}

Интересно, что я тоже сходу накосячил с «abbaaaa», как и sumanai, при том что решения визуально не очень-то и похожи :)
Как-то рано автор начинает палиться: можно было бы еще несколько менее явных wtf-ов накидать вначале, чтоб потянуть интригу(=
Зря негативно отозвались о Престолах: мало какая игра настолько же сбалансирована и реиграбельна (разве что Старкрафт). + эпичные допы.
Ага, спасибо за разъяснение.
А можно уточнить что за бухгалтерская отчетность? А то где-то прочитал про 6 мая и думал уже декларацию по УСН нести.
Не совсем понял ответ на вопрос «А нафига?». 50 лет лепят супервирусы, повышая их опасность, вроде как для подготовки к возможным эпидемиям. Сейчас самое время эти знания применить. Но нет: ребята, извините, мы не готовы :) Получается, цель у них, в лучшем случае, поиграться?
Комиты, которые совершаются до пулл реквеста

К чему они? Если не отвлекаться на другую ветку, что бывает очень редко, то один талон — один коммит. И девлид не придерется(=

Информация

В рейтинге
5 060-й
Откуда
Курск, Курская обл., Россия
Дата рождения
Зарегистрирован
Активность