• Книга о том как правильно должен работать программист?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Я вам заодно еще книг накину, в которых есть ответы на главные вопросы разработки: https://map.hexlet.io/pages/books
    Ответ написан
    1 комментарий
  • Ставить ли линукс на слабый пк и какой?

    @sdxq
    Ответ написан
    Комментировать
  • Как в less сделал арифметическую прогрессию?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    .generate-styles(3);
    
    .generate-styles(@n, @i: 1) when (@i =< @n) {
      .style-@{i} {
        left: 50px + @i * 15px;
      }
      .generate-styles(@n, (@i + 1));
    }


    На выходе даст это:
    .style-1 {
      left: 65px;
    }
    .style-2 {
      left: 80px;
    }
    .style-3 {
      left: 95px;
    }
    Ответ написан
    1 комментарий
  • Что означает выражение $0?

    amorphis
    @amorphis
    Технолог в Студии Артемия Лебедева
    Почитайте документацию preg_replace
    Ответ написан
    Комментировать
  • Где достать xdebug для PHP 7.2 beta (VC15, x64)?

    Audiophile
    @Audiophile Автор вопроса
    Да уж, непросто PHPшнику разобраться в компиляции C++ проекта.
    Целый день провозился, но результат порадовал.

    Итак:
    1. Установить Visual Studio Community 2017 с компонентами для C++ (почему-то потребовалось добавить Windows 8.1 SDK и библиотеки VC 2015)
    2. Следовать этой инструкции, в частности, разделу Building PECL extensions:
    https://wiki.php.net/internals/windows/stepbystepb...
    устанавливать PHP 7.2.0 src, deps-master-vc15-x64.7z, последний релизный компилятор и исходники xdebug-master (2.5.5 компилиться с 7.2.0 не хочет).
    3. Т.к. полноценно скомпилить PHP без опыта едва ли удастся, если получилось скомпилить php_xdebug.dll - уже отлично - можно ставить его на билд PHP7.2.0beta x64 TS с официального сайта.

    Работает - пишет "xdebug 2.6.0-dev"
    Ответ написан
    Комментировать
  • Что можно считать глубокими знаниями в js?

    pm_wanderer
    @pm_wanderer
    junior-HTML
    Немного дополню, чтобы новички не пугались. А то страшилок много о том, что надо знать все, хотя в реальности, тех кто действительно "знает все" можно пересчитать по пальцам:

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

    Как работает V8 - опять же, достаточно общего представлени об event loop. Все остальное пусть остается скрыто и используется через API.

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

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

    Написание быстрого кода - практически не нужно (он и так будет достаточно быстрый). Лучше сосредоточиться над написанием читаемого, тестируемого и поддерживаемого кода.

    К общему списку еще можно добавить паттерны проектирования. Это будет намного полезней, чем всякие техники спичечной оптимизации)
    Ответ написан
    40 комментариев
  • Можно ли реализовать нечеткий поиск слов на MySQL?

    Stalker_RED
    @Stalker_RED
    Из коробки есть SOUNDEX() (тыц, тыц) но он дружит только с английским, насколько я помню.

    Можно написать хранимую процедуру для работы с расстоянием левенштейна, например.

    Ну а если все по серьезному, то Sphinx.
    Ответ написан
    Комментировать
  • На сколько удобно писать на C# под Android?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    В целом разрабатывать на Xamarin удобно.
    1. Можно открыть книгу по разработке под Android на java и копипастить примеры оттуда с минимальными доработками, с учетом языка и xamarin'a
    2. Сам язык C# более чем годен, очень активно развивается. Есть куча шарповых библиотек как платных так и бесплатных, как в репозитории пакетов так и на GitHub в виде исходников. Xamarin позволяет подцеплять нативные либы на java, если чего-то не хватает.
    3. Есть "нативный" Xamarin (Xamarin.Android, Xamarin.iOs и т.д.) - это обёртка над нативными API, UI делается привычным для нативных разработчиков способом. Есть Xamarin.Forms - там можно делать единый UI с помощью XAML. Инструмент более чем работающий, но нужно к нему привыкнуть, знать минусы, знать особенности платформ под которые разрабатывается приложение, знать что Xamarin Forms можно использовать не для всех приложений, знать как делать быстрый UI. XF - в целом готов для использования.
    4. Да, размер пакета приложения если сделать все по дефолту большой, есть куча статей по оптимизации размера приложений, но размер приложения будет больше чем у нативных.
    5. Основная проблема Xamarin Forms - не баги, размер или еще что-то. Это неправильные ожидания которые к нему предъявляются. У него своя ниша.
    Ответ написан
    4 комментария
  • Как админу стать разработчиком?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Perl? Это что-то на чем дедушки писали? Не думаю, что что стоит это изучать. Python - наверное будет всегда. Но заказов не много, как в принципе и людей кто берется за проекты на нем. Так что может быть будет толк. Ну или учи параллельно php, наверное проще чем java. Тут уже будет и конкуренция большая и заказов валом.
    Может быть, кто-то может просветить меня, какие есть пути для такой стажировки

    Заходи сюда и ищи по тегу Python
    Можешь на фрилансе заказы поискать и начать что-то делать. Начинай с 8-10$ в час и поднимай по мере увеличения количества заказчиков.
    Ответ написан
    2 комментария
  • Как админу стать разработчиком?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Обычный путь. Гуглишь вакансии, ходишь на собеседования.

    Ищешь готовые ответы на тостере - подобных вопросов уже задано и отвечено десятки. Зачем плодить одно и тоже каждую неделю?

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

    Как сможешь написать клиент-серверное приложение на java, можно пробовать читать требования к вакансиям - там на интервью оценишь навыки.
    Ответ написан
    Комментировать
  • Кто знает литературу по профессиональному программированию микроконтроллеров?

    bullitufa
    @bullitufa
    электронщик программист (микроконтроллеры и PC)
    По основной теме вопроса: сам мучаюсь, но мучаюсь только по тому что "не умею" программировать. То что нужно продумывать архитектуру с самого нала - это в некоторых случаях крайне рекомендательно. У нас разрабатывается несколько устройств - приходится писать общие библиотеки. Приходится писать достаточно гибкие библиотеки - иначе переписывать приходится!
    Как показала практика очень часто встречаются указатели на функции, стейт машины, операционки (freertos, chibios и т.д.) и т.д. Отличным подходом (имхо) буде написание низкоуровневых (HAL от stm32) и высокоуровневых функций (modbus, canopen и т.д.). Вот эти вещи посмотрите как делают.

    По вопросу реализации коммуникации по рс485: если протокол отличный от модбаса, но похож - посмотрите на библиотеку freemodbus.

    Сейчас тихонько пытаемся внедрить тесты. Есть отличная книжка на английском (переводов не встречал): we.easyelectronics.ru/Nemo/tdd-dlya-embedded.html - там же ссылка на эту книгу.
    Чем хорошо писать "под тесты"? Тем что писать каждую функцию приходится думая, а бы как не напишешь. Короче видим плюсы в этом!
    Удачи!
    Ответ написан
    1 комментарий
  • Как монетизировать опен-сорс проект?

    @Z-r
    > Как монетизировать опен-сорс проект?

    Проект чего? Программы? Сначала программу по этому проекту придется написать, по-другому едва ли выйдет.

    > опен-сорс

    Это вы не можете вспомнить русского слова на замену английскому эвфемизму «open source» в значении «free», «libre»? Слово это «свободный». :-)

    > устанавливается онлайн-инсталлером

    А! То есть уже написали? То есть вопрос на самом деле звучит так: «Как заработать денег на свободной программе»? Отлично.

    Мне известно четыре основных способа заработка, напрямую связанных со свободными программами:

    — Первый, самый прямой, но от того почему-то всем не менее неочевидный — брать и продавать копии свободных программ. Аудитория: любые конечные пользователи. Примеры: Parted Magic, ряд программок для «Андроида», ну например, «Conversations». Высокоморальность: в полном порядке.

    — Второй — это прекрасно известная всем продажа поддержки. А фактически иногда и просто своего имени, когда какая-то реальная поддержка начинается с сумм несколько больших, чем базовый контракт. Аудитория: преимущественно те, для кого ваша программа есть средство производства, то есть компании и предприниматели. Пример: Canonical. Высокоморальность: в полном порядке.

    — Третий — это продажа исключений из авторского лева. Аудиторией будут разработчики несвободных программ, а программа ваша должна быть библиотекой под (как нетрудно догадаться) авторским левом, причем чаще сильным. Суть в том, что для добрых людей ваш продукт свободен на условиях, скажем, GNU GPL или GNU AGPL, а проприетарщики пусть платят за возможность использовать его в своих шкурных интересах. Примеры: GhostScript, MySQL. Высокоморльность: прихрамывает маленько.

    — Четвертый является просто заработком на несвободных программах, и в этом списке присутствовать бы вовсе не должен, но все его вспоминают (вот сейчас про него помянул тов. CityCat4). Это т. н. free crippleware, то есть полноценная ваша программа несвободна и платна, но у нее есть свободный урезанный вариант. Причем урезано может быть как что-то существенное, так и сущая ерунда. Аудитория: кто угодно. Примеры: Odoo, GitLab, ProcessMaker. Высокоморальность: от невысокой до никакой, смотря сколько отрезано.

    И разумеется, все вышеперечисленно можно комбинировать: Qt, к примеру, и поддержку (обучение) предоставляет, и исключения из авторского лева (причем слабого!) продает, и скромную несвободную часть имеет. А всем известный Red Hat — продает копии свободных программ, предоставляет поддержку и несвобдные программы (Ansible Tower) тоже продает. А иногда и такое бывает: программка для «Андроида» под названием OsmAnd полностью свободна, но поставляется в Гуглоплэе в двух вариантах: полном за копеечку и урезанном бесплатно. Еще раз: обе версии свободны, то есть никакой моральной проблемы здесь нет.

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

    — Частью продаваемой услуги — чаще всего услуги специфического хостинга, как редхатовский Openshift или (если ближе к народу) Feedly.

    — Частью продаваемого устройства, причем само устройство может быть как свободным, так и нет. Тысячи их.

    — И наконец, просто частью приносящего прибыль техпроцесса. То есть компания пишет (заказывает) программу себе для внутреннего использования и могла бы ее вообще не распространять, но, не считая ее чем-то секретным, ведет себя благородно и просто свободно делится ею со всеми. Известнейший пример — Reddit (хотя в последнее время они скурвились).
    Ответ написан
    2 комментария
  • Как работает атака через CloudFlare?

    @private_tm
    JAVA dev
    выяснили ваш прямой IP адрес , практических и простых вариантов море как это сделать.
    Ответ написан
    2 комментария
  • Мануал по Postfix?

    icCE
    @icCE
    youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
    Есть книга - Postfix
    https://www.books.ru/books/postfix-podrobnoe-rukov...

    По всему остальному столько статей есть, правда в массе своей они безграмотны, много copy paste и явно без понимания, что опция делает.
    Ответ написан
    3 комментария
  • Мануал по Postfix?

    что такое вирт. пользователи?

    Виртуальные пользователи - это те пользователи, которые хранятся в базе данных.
    кто как хранит пользователей в бд или не в бд?

    Вот сейчас настраиваю такую схему: Postfix + Dovecot + MySQL(backend). Т.е. пользователи у меня хранятся в БД MySQL.
    Ответ написан
    2 комментария
  • Чем отличается junior от middle? а Senior?

    вы все знаете — Junior
    вы поняли что ничего не знаете — Mid
    вам все равно — Senior

    habrahabr.ru/post/231649/#comment_7826819
    Ответ написан
    2 комментария
  • Чем отличается junior от middle? а Senior?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Вот как это выглядит с т.з. работодателя

    Джун
    - собеседование
    изъясняется исключительно на сленге (большую часть которого не может внятно объяснить), готов в одиночку за неделю написать новую ОС, или две - за полторы, если только для этого не придется учить ассемблер, несмотря на юный возраст уже обладатель прав на обе версии и один бэкап личного сайта с фотографией кошки в розовой рамке и знает, что синглтон - это абсолютное зло, хотя и не может написать его без ошибок.
    - испытательный срок
    долго мудохается с настройками рабочего места, которые регулярно слетают под тяжестью многотысячных плагинов, шелов и скринсейверов, донимает админов, находит две (орфографические) ошибки в документации проекта и один быстрый альтернативный способ сделать форк из SVN, после которого проект, к сожалению, не билдится не только у него, но и у всей команды. Берется все немедленно исправить с помощью другого чудотворного плагина, (неожиданный баг в котором приходится фиксить двум миддлам), после чего насильственно лишается рута, плагинов и шелов и начинает изучать проект под чутким контролем матерящихся миддлов.
    - работа
    научился билдить проект, писать тесты и коммитить, не роняя этим билд, понял смысл многих сленговых выражений, подружился с миддлами и админами, не путается в названиях ключевых технологий, радикально сократил число плагинов, удалил сайт с кошкой, работает.

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

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

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Стоит выкладывать свои классы (PHP) и библиотеки (JS).
    2. Стоит выкладывать нетривиальный и востребованный функционал.
    3. Целый проект чего-либо - лучше не выкладывать: мало кто поверит, что Вы делали его в одиночку и это достаточно трудоёмкая задача.
    4. Стоит в коде показать ваши знания и умения по владению структурой кода, алгоритмами, работой с текстом или бинарными данными, рекурсией и т.д.
    5. Лучше всего - взять отсутствующую реализацию востребованного алгоритма с википедии на том языке, на котором планируете показать свои навыки и реализовать (предварительно поискав на гитхабе и в гугл, и убедившись в отсутствии его реализации или недостаточном качестве).
    6. Можете ДАЖЕ ОДНУ функцию сделать, но чтобы она была востребована и делала свою работу лучше (качественнее и быстрее) существующих аналогов и привести таблицу сравнения по скорости исполнения вашего и других аналогичных решений.
    7. Задача портфолио на гите - не только показать качество кода и знания языка программирования (и различных подходов), но и способность мыслить не стандартно с максимально возможным результатом на выходе.
    Ответ написан
    2 комментария
  • Как переформатировать строку в ФАМИЛИЯ_ИО?

    EreminD
    @EreminD
    Кое-что умею
    concat_ws(
       "_", 
       last_name, 
       concat_ws(
          "", 
          (select LEFT(firstname, 1) from applications), 
          (select LEFT(middlename, 1) from applications)
       )
    )

    CONCAT_WS
    LEFT
    Ответ написан
    1 комментарий