• Форматирование строк?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    text.indexOf('$' + word)
    Регулярки нужны только если нужна регистронезависимость или если надо найти все слова, а не конкртетное. Тогда можно не заморачиваться и использовать: /\$(\S+)/g.
    Ответ написан
    Комментировать
  • Форматирование строк?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Держите:
    $text = "Мама $мыла раму";
    if (preg_match_all("/(\$[а-яё]+)/iu", $text, $regs, PREG_SET_ORDER))
    {
        foreach ($regs[1] as $s)
        {
            echo($s."\n");
        }
    }
    Ответ написан
    Комментировать
  • Идея на миллион?

    GavriKos
    @GavriKos
    Умные люди для этого нанимают специалистов и платят им большие деньги. В частности - отдел маркетинга, рекламы, продаж и прочее.
    Часто реклама и продвижение продукта по ценнику ДОРОЖЕ чем его разработка.
    Ответ написан
    1 комментарий
  • Идея на миллион?

    @tester12
    Вы сначала реализуйте идею, а потом беспокойтесь о приросте. А то сидит на диване какой-нибудь слабак и гадает: а что будет, когда он накачается. Займёт ли он первое место на соревновании по тяжёлой атлетике или только третье место.

    И зачем Вам сейчас прирост? Если завтра на Ваш сайт явится миллионная толпа, Ваш сервер эту толпу обслужит? У Вас есть деньги на кучу мощных серверов, на трафик, на штатных админов?
    Ответ написан
    Комментировать
  • Не сохраняет данные в объект?

    Djaler
    @Djaler
    Сеньор-помидор
    Так у вас всегда при вызове метода создаётся новый объект
    Ответ написан
    3 комментария
  • Не правильный куб в LWJGL?

    Беглым взглядом могу сказать что проблема у вас в скорее всего в том самом "переходе" от 2D к 3D. Точнее, в его отсутствии.

    Недостаточно просто взять и вписать трёхмерные координаты. Вам нужно доучить матчать по видовым и проекционным матрицам и задействовать glMatrixMode с последующей загрузкой нужной матрицы. Сейчас вы, грубо говоря, не рисуете трёхмерный куб - вы рисуете его как двухмерную фигуру, не задействуя третью координату так как вы хотели бы.

    И да, ещё важный момент. Не имел дела с указанной вами библиотекой, но похоже что вы сейчас пользуетесь вызовами OpenGL старых версий, и работаете в "старой" модели программирования. В целях обучения это может даже и лучше, но это не готовит вас к современному OpenGL из реального мира. В современном подходе для матричных преобразований используются шейдеры (и это лишь ничтожная часть того что можно сейчас делать с помощью шейдеров различных типов), а координаты примитивов задаются не последовательными вызовами glVertex (что крайне неэффективно с учётом производительности современных GPU), а построением буферов данных заранее и отрисовкой всего набора вершин целиком (см. glDrawElements и прочие функции).

    Так что если вы делаете это всё исключительно для понимания мат. части - в принципе пока вам достаточно и этого, но если вам нужны актуальные умения - найдите книги/примеры/уроки посвежее. Это можно сделать и позже, когда вы будете к этому лучше подготовлены (к сожалению, современный OpenGL не может быть простым, хотя бы из-за очень больших возможностей современных граф. процессоров).
    Ответ написан
    Комментировать
  • Как побороть неопределенность?

    выбери максимально кроссплатформенный язык
    я вижу три достойных варианта:

    • С++Qt
    • C#
    • JS CSS HTML


    - важно что везде есть гуй

    JS CSS HTML- проще всего остального на порядок, и можно делать: сайты, моб и десктоп приложения, и робототехнику
    Ответ написан
    Комментировать
  • Как побороть неопределенность?

    marperia
    @marperia
    Дизайнер, программист, писатель
    Лично я с выбором не боролся, потому что выбор изначально пал на World Wide WTF: начал с обычного PHP и плыл себе спокойно. Потом, когда я органически из него вырос, перешёл на Python для своих личных нужд и всяких чат-ботов, а там и Django подтянулся. И вот когда я уже знал кое-что о работе с кодом — смог перейти на Golang как быстрый, практичный и чрезвычайно сложный для отстреливания ног язык. А там уже подтянулись общие знания архитектуры приложений, так что как-то я стал полноценным разработчиком.
    И уже сильно позже, когда появилась необходимость перейти на фронтенд, стал рассматривать разные языки, потому что чистый JS ну ни в какие ворота. А с высоты полученного опыта выбрать условный TypeScript для меня труда не составило.

    Хотя, конечно, я пытался что-то писать на C++, Java и даже Haskell, но чисто ради развлечения. В общем и целом, на изучение всего, с чем я не работаю в настоящий момент, я потратил не меньше 10%, а то и все 25% от времени на изучение общего стека технологий, включая учебные проекты на тех же PHP/Python. Так что учиться новым языкам не сложно, сложно при этом поставить себе цель стать программистом. Обезьян и так полно.
    Ответ написан
    Комментировать
  • Как побороть неопределенность?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Выбор языка зависит от ряда факторов.

    Какую из перечисленных целей Вы преследуете на данном этапе?
    1. Разрабатывать сейчас для себя и кросс-платформенно
    2. Разрабатывать для других (брать заказы) за хорошие деньги
    3. Разрабатывать на наиболее перспективном (в ближайшем будущем) языке, не обращая внимания на размер комьюнити, качество документации и количество заказов на этом языке.

    Какой тип проекта планируется разработать?
    1. Игра (клиент+сервер)
    2. Системное серверное ПО
    3. Системное клиентское ПО
    4. Серверное ПО: интернет-сервис/web-сервис/web-сайт
    5. Клиентское ПО: web-клиент/мобильный клиент/чат/etc.

    Для каких типов платформ?
    1. Мобильные
    2. Стационарные
    3. Игровые

    Что нужно будет применять при разработке?
    1. Аналитика
    2. BigData
    3. AI
    4. Лингвистика
    5....

    Это базовые вопросы, которые помогут определиться с выбором языка.
    Я бы нашёл все "ЗА"/"ПРОТИВ", проанализировав разные кросс-платформенные "движки" и выбрал бы исходя из максимального соответствия наших возможностей (моих знаний и нужных мне возможностей "движка") и перечисленных выше критериев.
    Ответ написан
    Комментировать
  • Как побороть неопределенность?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Я всегда следовал совету авторов всемирно известного бестселлера "Программист-прагматик" - Эндрю Ханта и Дэвида Томаса, которые пишут: «Изучайте по крайней мере один новый язык ежегодно. Разные языки решают одни и те же проблемы разными способами. Изучив несколько разных подходов, вы сможете расширить свой кругозор и не погрязнуть в рутине.» А перепробовав многое, легко определиться с собственными вкусами и предрасположенностями.
    Ответ написан
    3 комментария
  • Не выполняется insert?

    @Cheypnow
    com_insert.ExecuteNonQuery() не забыл?
    Ответ написан
    1 комментарий
  • Надежда ли такая привязка по ПК?

    profesor08
    @profesor08
    Сделай авторизация через свой сервис, а там и управляй подпиской, если она есть, то ок, если нет то не ок. Но раз возник такой примитивный вопрос с нагугленным примером, то лучше сконцентрироваться на разработке качественного софта, которым люди захотят пользоваться, а не думать, как им это максимально затруднить.
    Ответ написан
    Комментировать
  • Надежда ли такая привязка по ПК?

    Griboks
    @Griboks Куратор тега C#
    Классика - это привязка по мак+материнке+диску. Можно ещё добавить ip. Обязательна онлайн-активация по ключу (чтобы не было желания подменять id железок). Только не забывайте указать о такой привязке в лицензионном соглашении (как Windows делает, когда запрещает переустанавливать ОС).

    p.s.
    Конечно же, любую привязку к компьютеру можно обмануть. В таких ситуациях обычно всё самое крутое и полезное выносят на сервер - создают тонкий клиент, аля teamviewer по уникальному для пользователя vpn соединению, которое можно сменить не чаще чем раз в месяц.
    Ответ написан
    1 комментарий
  • Как можно избавиться от подобного мусора в коде?

    Griboks
    @Griboks Куратор тега C#
    Вариант 1: использовать лямбда-выражения.
    Вариант 2: использовать генератор обработчиков
    void Interactable(Control c)
    {
    c.MouseEnter+=(s,e)=>s.ForeColor=Color.FromArgb(35, 33, 61);
    c.MouseLeave+=(s,e)=>s.ForeColor=Color.White;
    }

    Вариант 3: применить вариант 2 программно ко всем label'ам, которые каким-то образом помечены в визуальном конструкторе.
    Ответ написан
    Комментировать
  • Как можно избавиться от подобного мусора в коде?

    Nipheris
    @Nipheris Куратор тега C#
    Создать отдельный класс для этого всего?

    Неплохая мысль. А ещё можно использовать WPF.
    Ответ написан
    Комментировать
  • Как можно избавиться от подобного мусора в коде?

    @NonameProgrammer
    Не знаю... А если (как вам уже говорили в прошлом вопросе) использовать массив лэйблов и к ним сделать обработчик событий? До этого создать массив (в соотвествии очередностью) с цветами и когда будет вызываться событие, то индекс массива будет перемещаться, тем самым меняя цвет.
    Ответ написан
    Комментировать
  • Как можно избавиться от подобного мусора в коде?

    @Meloman19
    Множество лейблов, которые при наведении делают одно и то же? Не проще ли создать всего один обработчик и на него привязать события со всех нужных лейблов?
    private void label_MouseEnter(object sender, EventArgs e)
    {
       (sender as Label).ForeColor = Color.FromArgb(35, 33, 61);
    }
    
    private void label_MouseLeave(object sender, EventArgs e)
    {
       (sender as Label).ForeColor = Color.White;
    }


    Теперь во всех событиях указывает один и тот же обработчик.
    Ответ написан
    Комментировать
  • Как навести порядок в c# коде?

    @OwDafuq
    2 самых простейших варианта:

    public partial class Form1 : Form
    {
    	List<Label> Labels { get; }
    
    	public Form1()
    	{
    		InitializeComponent();
    
    		//1 Вариант: Коллекция со всеми нужными лейблами.
    
    		//Обратите внимание, что используются сами КОНТРОЛЫ, а НЕ их ИМЕНА.
    		Labels = new List<Label> { label1, label2, label3, label4, label5, label6, label7, label8, label9, label10, label11, label12, label13, label14, label15, label16 };
    
    		Labels.ForEach(x => x.Visible = true);
    		Labels.ForEach(x => x.Visible = false);
    
    		//2 Вариант: Перебор ВСЕХ(!) контролов на форме.
    
    		foreach (var item in Controls)
    			if (item is Label)
    				((Label)item).Visible = true;
    
    		foreach (var item in Controls)
    			if (item is Label)
    				((Label)item).Visible = false;
    	}
    }
    Ответ написан
    1 комментарий
  • Чем заменить такую конструкцию?

    @nazariy_mokriy
    switch (case) ?
    Ответ написан
    Комментировать