• Как определить является ли переменная датой?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Берешь дубинку и бьешь по почкам, спрашивая "являешься датой или нет???"

    Если же тебя интересует в плане программирования, то сначала ты сам должен определиться, что считается датой.
    12.05 - дата или цена? 1574939397 - дата? 31 - дата? февраль - дата? february - дата? А какая? 01.11.01 - дата? А какая?
    Ответ написан
    1 комментарий
  • Почему PHP теряет популярность?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Потому, что PHP не предназначен для квантовых вычислений, очевидно же!
    Ответ написан
  • Как сохранить корректно docx файл с использование библиотеки phpWord?

    agmegadeth
    @agmegadeth
    Веб-разработчик в дизайн студии
    Я сейчас занимаюсь подобным, у меня почему-то другие функции немного участвуют.
    <?
    $doc = new \PhpOffice\PhpWord\TemplateProcessor($_SERVER['DOCUMENT_ROOT'].'/template.docx');
    $doc->setValue('dogovor_number', 'XXX');
    $doc->saveAs($_SERVER['DOCUMENT_ROOT'] . 'NAME.docx');
    ?>
    Ответ написан
    Комментировать
  • Как вы учите новое?

    alekseyHunter
    @alekseyHunter
    Android developer
    нужно сначала получается какой-то большой проект сначала придумать (что уже проблематично)

    Напишите генератор идей или используйте готовый: andv.xyz/startupideas

    Допустим открыл я angular, запустил, попробовал компоненты и датабиндинг а дальше что?


    Решайте поэтапно, например: Работа с БД + Вывод в консоль, Верстка формы, Скрипты + Вывод в консоль. Потом объединяете: Верстка формы+Скрипты+Работа с БД.

    Какие цели надо ставить изучая программирование и как их достигать

    Послушайте первые 20-30 минут и узнаете: https://www.youtube.com/watch?v=KdZ4HF1SrFs
    Ответ написан
    Комментировать
  • Где можно потренироваться в создании баз данных?

    @Dionisvl
    Ответ написан
    Комментировать
  • Сборка нового пк?

    Anitamsk
    @Anitamsk
    Frontend Dev
    Я видимо очень плохо разбираюсь в железе, но неужели в 2019 году можно что-либо адекватное собрать с нуля за 700$? Если вы собираетесь заниматься 3D моделлингом, который включает в себя "дизайн", вам уже нужен хороший монитор от 23 дюймов с IPS матрицей и нормальной цветовой передачей. А это уже монитор 300$+, и туда же закинуть SSD, блок питания видеокарту\проц. Если 700$ это именно та сумма, я буду восхищена ценовой политикой рынка железа.
    Ответ написан
    4 комментария
  • Мобильная версия совместно с display: flex?

    Anitamsk
    @Anitamsk
    Frontend Dev
    Попробуйте сбросить кэш браузера, у вас всё написано правильно, но когда вы используете укороченное flex-flow: wrap - лучше тогда писать flex-flow: column wrap;.
    5d676bc94a101380196457.png
    Ответ написан
    5 комментариев
  • Интерактивный курс по математике на русском?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Интуит: https://www.intuit.ru/studies/courses/107/107/info

    Бесплатно, понятно, на русском, в конце даже бумажку дают.
    Ответ написан
    1 комментарий
  • Интерактивный курс по математике на русском?

    myjcom
    @myjcom
    Для общего развития мышления, тренировать свои мозги тоже не бывает лишним)

    A --> Савватеев книга «Математика для гуманитариев»
    Б --> раздел Книги и учебные ресурсы по машинному обучению
    (по математике там есть подраздел, дублировать не буду, там то что вам нужно)
    Для общего развития
    Ответ написан
    Комментировать
  • Какие книги посоветуете?

    @Kirill-Gorelov
    С ума с IT
    Ремесло программиста
    Чистый код
    Идеальный программист
    Программист праграматик
    Читаемый код
    Мифический человеко-месяц
    Ответ написан
    Комментировать
  • Какие книги посоветуете?

    GavriKos
    @GavriKos
    Совершенный код. Все что касается архитектур ПК и операционок. Вирт "Алгоритмы и структуры данных".
    Ответ написан
    Комментировать
  • Какие книги посоветуете?

    Код. Тайный язык информатики — Чарльз Петцольд.
    Ответ написан
    Комментировать
  • Какие есть среды разработки на Schema?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Lisp
    Седой и строгий
    Racket - наследник Scheme, а значит подойдёт. Тем более, что есть пакет совместимости. Устанавливаете его командой
    raco pkg install sicp
    и запускаете REPL с подязыком sicp
    Racket -I sicp
    или DrRacket и в начале пишите
    #lang sicp
    Ответ написан
    Комментировать
  • Стоит ли работать программистом?

    copist
    @copist
    Empower people to give
    Я тут всем пролайкал ответы. Отвечу и сам.

    Денежный вопрос стоял остро, первые несколько лет, пока я сортировки пузырьками писал сам и фантазировал на тему своего мегакрутого фреймворка, который на поверку был 10% от Yii или Zend Framework.

    Затем мега скачок. И в стартапах поработал, и в интерпрайзе, и на фрилансе. Почему-то всё стало легко. И дедлайны легко переживаю. Постепенно выбрал себе специализацию: веб-архитектор и backend-разработчик.

    Самообразование идёт без проблем. За технологиями, в общем-то слежу, но не рвусь знать вообще всё. Тут прочитал книгу, тут статью, там попробовал покодить, здесь знаю у кого спросить. Хорошие умные ребята встречались, многому научили, всегда помогут. В общем, я в тренде и я не один, если что - не закопаюсь.

    Знаю 15+ языков программирования, в разной степени.

    Что я всегда за собой замечал - всё в IT всегда было в удовольствие. И сервера ставил, и интернет-магазины делал с интересом, и веб-порталы кодил.

    Ответом на часть твоих вопросов будет следующее:
    * Чтобы нравилась работа, делай то что нравится тебе
    * Чтобы стОило, делай то, что нужно другим
    * Когда первое и второе совпадут, ты будешь финансово обеспечен и морально удовлетворён

    А про тяжести работы ... у меня всегда перед глазами вот это и я просто помолчу.
    Ответ написан
    1 комментарий
  • Где взять реальные примеры кода использования ооп в веб-сервисах?

    @netcore
    Есть группа людей которые не понимают в программировании ничего, но у них есть идея, понимание как работает продукт, и деньги (но это вторично)
    Назовем эту группу людей бизнес

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

    Сначала бизнес описывает боль которую решает продукт
    В чем боль? Бизнес раньше продавал газеты, а теперь хочет свою интернет газету.
    1. Они не хотят тратить деньги на печать, а просто делать посты новостей и статьи.
    2. Они не хотят платить деньги на транспортные расходы развозить газеты, а делать рассылки на электронную почту
    3. Они хотят получать обратную связь (комментарии)
    этого достаточно для примера.

    В идеале бизнес заказывает дизайн. Как это должно выглядеть.
    В идеале есть еще и пордакт менеджер который знает UML, но это влажные фантазии, по этому примем что есть бизнес и есть программист.

    Затем описываются сущности этого продукта и действующие лица в этом продукте
    Что мы можем понять из этого? Какие у нас есть сущности?
    1. пост - новость или статья на сайте.
    1.1. На этом этапе выясняем у бизнеса в чем отличие новости от статьи.
    Бизнес говорит: у новости (например) есть только одна картинка, текст.
    У статьи есть так же текст но картинок может быть несколько, так же не может быть комментариев.
    Бизнес забыл про то что в дизайне есть еще и дата, тут уже додумывает сам программист взглянув на макеты.
    В итоге у нас получается одна абстрактная модель Post и две ее реализующие: Article и News.

    public abstract class Post
        {
            protected Post(string text, int writerId)
            {
                Text = text;
                CreationDate = DateTime.Now;
                WriterId = writerId;
            }
    
            public int Id { get; set; }
            public string Text { get; private set; }
            public DateTime CreationDate { get; private set; }
            //Идентификатор писателя статьи\новости
            public int WriterId { get; private set; }
    
            //Автоматически подтягиваемая из базы модель писателя через ORM по WriterId
            public virtual Writer Writer { get; set; }
    
        }
    
        public class Article : Post
        {
            public Picture[] Pictures { get; private set; }
    
            public Article(string text, int writerId, Picture[] pictures) : base(text, writerId)
            {
                Pictures = pictures;
            }
        }
    
        public class News : Post
        {
            public Picture Picture { get; }
            
            //Массив комментариев к посту
            // private set -- говорит о том что массив инкапсулирован
            // и управлять массивом можно только через метод AddComment
            public List<Commentary> Commentaries { get; private set; }
    
            public News(string text, int writerId, Picture picture) : base(text, writerId)
            {
                Picture = picture;
            }
    
            public void AddComment(Commentary commentary)
            {
                Commentaries.Add(commentary);
            }
        }


    Далее у нас есть ролевые модели и у каждого своя бизнес логика.
    2. Подписчик - получатель новостей. Бизнес хочет что бы каждый зареганый юзер автоматически стал подписчиком. Такого в реальном мире не будет, нельзя, но для примера норм.
    3. Писатель - тот кто пишет статьи\новости.

    Две эти модели отличаются между собой только ролью и наличием у подписчика поля email. По этому приведем вот такие ООП модели

    public abstract class User
        {
            public int Id { get; set; }
            public string Username { get; private set; }
            public string Role { get; private set; }
            
            protected User(string role, string username)
            {
                Role = role;
                Username = username;
            }
        }
    
        public class Subscriber : User
        {
            public string Email { get; private set; }
            
            public Subscriber(string username, string email) : base(nameof(Subscriber), username)
            {
                Email = email;
            }
        }
    
        public class Writer : User
        {
            public Writer(string username) : base(nameof(Writer), username)
            {
            }
        }


    Поле пароль опущено, тут много чего опущено для простоты восприятия.

    3. Комментарий - обратная связь от юзера в посте. При чем хочу заметить от ЮЗЕРА, бизнес говорит что писать могут как и подписчик так и писатель

    public class Commentary
        {
            public int Id { get; set; }
            public string CommentText { get; private set; }
            public int UserId { get; private set; }
            
            public virtual User User { get; private set; }
            
            public DateTime CommentCreationDate { get; private set; } 
            
            public Commentary(int userId, string commentText)
            {
                UserId = userId;
                CommentText = commentText;
                CommentCreationDate = DateTime.Now;
            }
        }


    Вот - хоть и примитивно и немного неправильно (а то щас налетят пет программисты) но мы описали модели, абстрагировали одинаковые поля в абстрактные классы. Инкапсулировали поля и добавили методы которые описывают как работает класс. Инициализация полей происходит только в конструкторах. Работа с полями только с предоставленными для этого методами.

    Прошу прощения что не PHP, но C# тоже C подобный, так что проблем с чтением на уровне моделей быть не должно.

    Одна из функций ООП -- что бы программисты понимали бизнес.
    Ну и человеку прозе описывать поведение реального мира объектами и как эти объекты между собой взаимодействуют.
    Есть целые методологии разработки ПО такие как DDD, где вообще ядро кода пишется на копароративном языке и жестко соблюдаются правила названия моделей и описания алгоритмов бизнес процессов бизнеса. Код получается самодокументированным. Были случаи когда ядро по DDD писали даже на русском, потому что бизнес большой, а новичкам, кто приходил кодить в фирму, было быстрее и проще вкатиться в понимание прикладной практики бизнеса и понять по коду как бизнес устроен на разных слоях.
    Ответ написан
    1 комментарий
  • Как реализуют универсальные push уведомления для сайта?

    glaphire
    @glaphire
    PHP developer
    Можете посмотреть эту книгу https://web-push-book.gauntface.com. У каждого браузера автоматически заложено взаимодействие с пуш сервером, не надо специально привязываться к firebase, в хроме он и так привязан. На php есть готовый пакет https://github.com/Minishlink/web-push-php-example, app.js и serviceWorker.js можно копипастить себе и потом дорабатывать. На других языках есть аналогичный пакет.
    UPD. Т.к. web push api до сих пор нестабильно и его поддерживают только современные браузеры, не нужно гнаться за 100% стабильностью и кроссплатформенностью
    Ответ написан
    Комментировать
  • Что имеет смысл осваивать если есть желание уйти в "айтишники"?

    Не делайте этого. Усталость не причина для падения. Заработайте тем, чем умеете, 100-200-300к, устройте себе отдых на полгода или пока не надоест.
    Ответ написан
    1 комментарий
  • С чего лучше начать изучение стека MEAN?

    @bagzon
    Backend PHP, NodeJs, JS
    Чёткий план:
    1) Поднять стек MEAN на локалке, а лучше на VB (Virtual box) чтобы не засрать машину
    2) Взять Angular 2 и закатать чат с помощью сокетов
    3) На ноде логировать с помощью какой нибудь библы ошибки,и еще что нибудь в файл
    4) Сделать админку со статистикой с помощью графиков, брав контент и делая подсчеты с MongoDB

    По итогу ты познаешь сокеты, нормальное логирование, графики, как строятся SPA приложухи + роутинг
    Ответ написан
    2 комментария