Задать вопрос
  • Хочу быть программистом, но не выходит. Как двигаться вперед?

    Я вам так скажу про ВУЗ.
    Когда вы созреете для переезда за рубеж, вы очень сильно пожалеете, что не имеете релевантного вашей профессии образования. Я немного понаглею и замечу, что преднамеренно написал "когда", а не "если". Это лишь вопрос времени, если есть голова на плечах и открытый ум.

    Также несмотря на бесполезность по жизни большей части знаний, которые я приобрел в ВУЗе, иногда именно они оказывали большую службу. Так, например, прийдя в нынешнюю компанию именно ко мне обращались коллеги, чтобы я им разъяснил вопросы по теории сигналов, поскольку приходится иметь дело с распознаванием звуковых сигналов. Я конечно не помню многих формул, но принципы знаю и достать детали при наличии интернета - не проблема. Куда интереснее, что глядя на график амплитуды во времени я мог дать наиболее вероятные причины
    возникших искажений. Сами понимаете, что ответы на такие задачи нагуглить трудно.

    Другой момент, это не только кругозор, но и закалка. Обучение в серьезном ВУЗе сопряжено с учебной работой. И не только с ней, но и с решением многих жизненных ситуаций. Даётся много свободы, которой так хочется после школы, и нужно научиться правильно ей распоряжаться.

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

    А выбрать и выучить язык программирования это не проблема вообще.
    У вас есть понимание области задач, которая вам импонирует - это главное. Инструментарий подберёте по ходу дела.
    Ответ написан
    Комментировать
  • Динамическое изменение таблицы

    Вам возможно следует поменять парадигму приложения на событийно-ориентированную.
    Тогда вам не потребуется обновлять по таймеру представления и создавать избыточную нагрузку на сервер.
    Это значит, что возможно вам придется копать в сторону long polling, Ratchet или же вообще поступить радикально и перейти на node.js
    Ответ написан
    Комментировать
  • Какая ОС будет идеальной для моего ноутбука?

    Я за Mint Debian Edition, т.е. LMDE на оболочке MATE. Очень шустро и стабильно работает.
    Ответ написан
    Комментировать
  • Почему медленно грузятся страницы сайтов на андроид планшете/смартфоне?

    Надо мерять скорость по wi-fi, может плохо сигнал принимается. Вообще на TF101 я проблем не замечал, правда ставил туда кастомную прошивку, т.к. давно уже не обновляют официальную.
    Ответ написан
  • Как поступить, если скоро переезд в европу?

    Всё бы ничего, но 1-2 года это крайне маловероятно для достижения вашей цели. Считайте, что я сам добиваюсь аналогичного: хочу уехать в НЗ и быть там востребованным специалистом, то есть быть крутым senior developer. Прошло уже 3.5 года как я впервые встал на этот путь, начиная с работы по совместительству. Пожалуй только сейчас могу сказать, что достиг конкурентоспособного уровня.
    А за 1-2 года вам светит только middle при таком раскладе и следовательно конкуренция со всякими низкоквалифицированными индусами, которых как мне кажется везде сейчас навалом.
    Ответ написан
  • Какой выбрать язык для создания сайтов?

    Недавно знакомый тоже стал меня распрашивать на тему выбора php или что-то ещё для сайтов. Подумав я пришёл к выводу, что по большому счёту можно выделить несколько основных критериев для сравнения:
    1) Парадигма программирования синхронность/асинхронность.
    2) Количество готовых решений (gems, composer и т.п.).
    3) Поддержка языка сообществом и ментейнерами.
    4) Лаконичность синтаксиса.
    5) Простота рефакторинга.

    Если рассматривать php, то:
    1) синхронная парадигма, хотя есть попытки сделать некоторые вещи асихнронным, типа проектов phpDaemon или например вызовы mysqlnd;
    2) на Packagist сегодня уже достаточно много накопилось готовых пакетов, чтобы не изобретать всюду велосипед + зрелые фреймворки;
    3) язык существует уже более 10 лет, а скорость развития за последние 3 года выросла на порядок;
    4) с лаконичностью не всё гладко, есть избыточная многословность, но есть и похуже языки в этом плане, типа Objective-C
    5) вполне сносный рефакторинг, в этом отношении у руби должен быть похуже, поскольку он более "динамичный", но у Java на голову выше из-за статической типизации.

    В общем, отток народа из PHP в последние лет 5 обусловлен преимущественно тем, что появились достойные альтернативы + было очень вялое развитие языка и большое количество проектов с legacy кодом.
    Ответ написан
    2 комментария
  • Генерация html c данными на стороне сервера либо получение данных при помощи ajax?

    Моё мнение пока сложилось следующим.
    Генерация разметки в браузере целесообразна в том случае, когда необходимо отображать информацию из одних и тех же сущностей системы, но в разных представлениях (например в зависимости от роли пользователя в системе или в разных контекстах: как на страницах сайта, так и вообще платформах).
    В иных случаях мне кажется смысла тратить на это силы нет.
    Ответ написан
    Комментировать
  • Какая нужна скорость для установки сервера с социальной сетью?

    Я юзал почти год веб-сервер с чуть менее десятком сайтов на нём, сидя на Билайне с внешним ip. Уников в общей сумме на 1000 в сутки было, запросов где-то порядка 10000. Проблем с провайдером не было. Правда как нашёл Digital Ocean понял, что держать дома сервер перестало быть целесообразным. Зартаты на энергию + внешний ip были больше, а производительность несущественно ниже.
    Ну а про ненадёжность электросети, из-за которой может отключиться не только своё оборудование, но и провайдерское в доме, думаю и говорить не стоит.
    В любом случае начинать стоит с VPS с возможностью масштабирования, а по мере роста нагрузки уже докупать ресурсы. Когда нагрузка становится реально высокой - вот тогда может и стоит подумать о выделенной железяке в датацентре, своей или в аренду.
    Ответ написан
    Комментировать
  • Перезапись значения переменной в php файле?

    если это сторонний код (внешняя библиотека) отрефакторите, чтобы значения параметров брались из более подобающего места и сделайте pull request
    Ответ написан
    Комментировать
  • Какими навыками должен обладать системный администратор?

    Подумайте хорошенько прежде, чем решиться на этот путь :)
    Он очень тернист.

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

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

    В-третьих, надо иметь в крови стремление обеспечить надёжность и безопасность. Это идёт немного вразрез с желанием экспериментировать с чем-то новым.

    В-четвертых, каждый сисадмин стремится снизить степень своей загруженности через автоматизацию и грамотное проектирование. Как предел мечтаний - получить такую систему, которая будет работать без твоего участия 24/7. Вопрос: что делать в оставшееся свободное время? Что делать, если руководство осознает, что у вас стало много свободного времени? Способно ли оно будет понять тогда, что вы крутой сисадмин, а не бездельник?

    В общем, я одно время работал в техподдержке и стремился стать сисадмином. А когда им стал, то понял, что это не моё.
    Ответ написан
  • Есть ли среди резидентов Хабра поклонники iPhone?

    Мой первый смартфон после Нокии был iPhone 4.
    Честно скажу - впечатлило сильно. Потом был 4s. И вместе с тем через год накопилось большое раздражение.
    Уродская синхронизация, которая трёт всё на телефоне, если переустановил ОС на компе или захотел залить что-то с другого компа.
    Нет реальных альтернатив встроенным приложениям типа "Музыки" или Сафари. А что есть - по сути лишь другая обёртка вокруг них.
    Убогая поддержка разнообразия аудио- и видеоформатов.
    И за всё дерут немалые деньги, т.е. полезных бесплатных приложений очень мало.
    Маленький экран. Ну хотя ладно, тут я спорить не буду, в некоторых сценариях пользования много и не надо.
    Нет расширяемости. То есть нельзя например по OTG кабелю подцепить флешку или хард, чтобы перекачать файлы или смотреть видео.
    Но цена при этом заоблочная.

    Из несомненных плюсов это высокая производительность и некоторые ниши приложений, например для детей, гораздо более наполнены, чем под андроид.
    Железо у ай-девайсов очень мощное, не хуже, чем у флагманов под андроид + отличная камера.
    Но и тут косяк: я на андроиде могу без рута поставить лаунчер, ограничивающий действия ребенка. Чтобы запускал только разрешенные приложения и больше никуда не лез. На опыте айфона и айпада жены после того, как ребенок полазит в девайсе пропадают приложения или перемещаются в рандомные места на рабочем столе.

    Короче, каждому своё, холивар только. Я пользовался яблоком и теперь нельзя про меня сказать, что "не читал, но осуждаю". Мой выбор - андроид.
    У меня ничего на нём не тормозит, не глючит и не перезагружается. Но плавность анимации и отзывчивость интерфейса конечно не такая хорошая, как на iOS. Мои девайсы это Xiaomi Mi2s и Nexus 7 2013 года.
    И к слову, у жены iPad 3. После перехода на iOS 7 не прекращает жаловаться на регулярные зависания и ребуты. Фулл вайп делали.
    Ответ написан
  • Как проверить input ajax запросом к php скрипту?

    Навесить javascript событие. onchange хотя бы.
    Ответ написан
    Комментировать
  • Как настроить шрифт в PhpStorm под Mac OS X?

    DejaVu Sans Mono 14, правда LMDE, а не Mac

    bbce5d840f11a575461d02fad37fc62a.png

    Можно попробовать отключить сглаживание шрифта: IDE Settings -> Editor -> Appearance -> Use anti-aliased font
    Ответ написан
    Комментировать
  • Как правильно изучать PHP?

    Даже не знаю что посоветовать из "почитать", чтобы "стать".
    Лучше всего пойти хоть джуниором, но в команду, где используют best practises.
    Можно много чего почитать, что-то безусловно полезно, но что-то будет слишком рано и не будет понятно в правильном контексте, пока с подобными проблемами на практике не столкнулся.
    Например, я знал, что тесты это хорошо, но понял их важность только начав работать над сложным проектом.
    Знал про полезность ООП, но прочувствовал как правильно с ним работать и его мощь тоже не сразу. Можно прочесть например умную книжку по ООП и начать фигачить всякие "фичи" там, где им вообще не место.

    Во многом способствует росту заданная высоко планка качества кода в проекте + code review.
    Из того, что наиболее всего мне пригодилось это была книга Robert Martin "Clean code", достаточно 1 раз прочесть, чтобы усвоить несколько полезных принципов, в частности понимание хорошо читаемого кода. Ну и в качестве книжки-справочника что-нибудь из разряда "паттернов проектирования ООП"
    Ответ написан
    9 комментариев
  • Как убедить руководство сменить платформу разработки проекта, полностью переписав его?

    У меня сложилось впечатление после прочитывания комментариев, что денег у компании сейчас мало, руководство зажимается. Так зачем же сейчас менять платформу, переписывать проект фактически с нуля, если это приведёт к ещё большим издержкам? Ну допустим, вы решили переписывать. Какова оценка трудоёмкости задачи по времени? Будут ли при этом ещё написаны тесты? Есть ли они сейчас? Если нет тестов, то на определенном уровне сложности проекта пробуксовка неизбежна. Изменение кода будет вести к непредсказуемым последствиям в поведении приложения.
    Как уже заметили, надо либо подстегнуть мотивацию разработчика, либо менять его. К слову, зарплата в 1000$ для хорошего разработчика это не деньги, ради которых стоит напрягаться. Наверняка есть ещё другие проекты и он отдаёт приоритет тому, где больше платят или более интересно.
    Ответ написан
    2 комментария
  • Какой выбрать php-фреймворк для простых и средних проектов?

    Смотря какие именно проекты. Если допустим делать сайты малой и средней сложности наверное склонился бы к Yii2. Если же хочется освоить универсальный инструмент на все случаи жизни, то я бы предпочёл Symfony2.
    А так, по воле судьбы, работаю сейчас с форком onPHP. Мне нравится, очень мощный и гибкий фреймворк, но вряд ли он годится для быстрого создания сайтов с нуля, если только самому не сделать какую-то общую базу. То есть он ближе к Symfony, чем к Yii, но и делаю я не сайт.
    Ответ написан
    Комментировать
  • Как организовать аутентификацию пользователя на backend сервере?

    Насколько я наблюдал за поведением на разных проектах, oAuth используется преимущественно для установления взаимосвязи со своей базой учетных записей. То есть, если у вас работа приложения не завязана на прямой работе с API социальной сети, то есть смысл использовать свою базу учёток и оперировать своим токеном для поддержания сессии. Вроде тривиально. Или я что-то упустил?
    Ответ написан
    2 комментария
  • Имеет ли смысл использовать прямое подключение к бд (mysql) с нескольких клиентов?

    Если исполняемый код синхронно завязан на этой БД, то идея плохая. Все стремятся снизить задержки при работе с БД думаю объяснять не надо.
    Если же это что-то для бекграундных процессов, не завязанных на пользователе, то конечно пожалуй лучшим решением было бы использование VPN для безопасности и скорости. API разрабатывать не вижу никакого смысла в таком случае.
    Ответ написан
    Комментировать
  • Хватит ли 4000$ на разработку CMS?

    Не понятно какие требования предъявляются к проекту.
    К примеру, я не уверен, что можно уложиться в нужную сумму, если подойти серьёзно к делу:
    - разработка архитектуры и обкатка юзабилити (куча времени требует на обсуждение и приход к компромиссам);
    - тесты (юнит и функциональные);
    - разработать API, например для мобильных устройств или front-end приложения (сюда ещё тогда добавить и API-тесты);
    - иметь хотя бы 2-х senior-разработчиков для качественного кода и взаимного код-ревью;

    Я оцениваю работу где-то на 2-3 месяца и сумму порядка 750к рублей на всю команду (2 разработчика + дизайнер).

    А если целиться на меньшее, то и смысла нет затевать сыр-бор, проще взять готовую CMS.
    Ответ написан
    Комментировать