• На каком языке программирования писать сервер для игры?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Зависит от того - какой тип коннекта. Если это ммо и постоянный коннект, то про PHP можно сразу забыть, он это не умеет. Оставшиеся варианты - Nodejs, Go, Python, C# и всё остальное - надо смотреть в чём больше опыт. Насчёт Python есть сомнения, медленный он достаточно. 1000-1500 не сказать, что много, но нужно смотреть сколько и чего там надо отправлять. Остальные технологии точно потянут.
    Ответ написан
    Комментировать
  • UpWork — всё. Где теперь искать заказчиков?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Из зарубежных freelancer.com, workana.com работают с исполнителями из РФ. Первый может выводить на paypal (который вы можете зарегистрировать на купленную зарубежную подарочную карту), второй выводит на счёт в РФ через банк Payoneer.
    Ответ написан
    7 комментариев
  • Upwork. Payoneer и все остальные - все, что насчет криптовалют?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Вариант 1. На крипту можно купить подарочные карты mastercard/visa. С этих карт можно тратить обычные доллары за услуги и товары вне РФ.
    Вариант 2. Будучи ИП можно запустить продукт (например, курсы или услуги) с приёмом платежей из РФ и из-за рубежа. Зарубежные биллинги, работающие с ИП в РФ ещё существуют. Можно даже покупать товары самому у себя и тем самым выводить кэш легально и через ИП.
    Вариант 3. Upwork не единственная биржа в мире. Workana, Freelancer и можно ещё поискать - работают с физиками из РФ.
    Два моих клиента легко согласились перейти на другую биржу, чтобы работать со мной.
    Ответ написан
  • Как сегодня писать сайты?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Нормальный вопрос, вспомните себя в молодости: какие были наполеоновские планы по захвату мира? У каждого такие были (а у некоторых даже ещё есть). Но я не буду писать что-то на тему "автор школьник, гыыы", а возьму и отвечу. Потому что я в теме с 2001 года и, кажется, понимаю о чём вопрос.

    Подавляющему количеству бизнесов сегодня не нужен сайт. Инста и фейсбук отлично продают физические товары и услуги. Более половины предпринимателей, тех, которым я лет 5-6 назад делал сайт, сейчас успешно продаются в VK, инсте или FB и ничего не хотят слышать про "свой собственный сайт".

    Большинство из оставшихся не нуждаются в сложных многостраничных сайтах. На самом деле, есть статистика, что простые одностраничные сайты продают в 2-5-10 раз лучше, чем многостраничники. Пользователю просто некуда уходить - там есть самая главная информация о продукте и кнопка "заказать". Он прочитал и заказал. Если пользователь начинает бродить по сайту, он устаёт, его мозг "забивается" и он решает отложить покупку "на потом". Этих предпринимателей успешно закрывают Викс, ЛПгенератор, Тильда и прочие многочисленные "кон стру кторы сайтов". Сделать "сайт" на этих платформах сможет даже школьник (и они делают). Это работа точно не для профессиональной студии разработки сайтов.

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

    И вот сюда, в принципе, вы можете пойти. Ещё не все потребности закрыты. Можно делать модули для OpenCart, допиливать магазы на Woocommerce, есть такой удобный SaaS-сервис Shopify, который тоже имеет API и поддерживает сторонние модули - есть где порезвиться.
    Но опять-таки это не разработка с нуля.

    Многие студии концентрируются на разработке уникального дизайна сайта. Тема интересная и в своё время была довольно прибыльной. Но сегодня в интернетах куча готовых шаблонов, из которых 98% бизнесов выбирают себе дизайн и немножко поднастроив, получают уникальный сайт. Вы можете попробовать зайти сюда, но придётся довольно долго искать хорошего клиента.

    А вот куда можно реально пойти - это разработка больших программных продуктов. Таких заказов мало, куда меньше, чем владельцев микро-бизнесов. Это разработка SaaS, главным образом. Разработка маркетплейсов, сервисов и всё такое прочее, что ещё долго не будет закрыто конструкторами. И вы можете использовать для этого симфони, даже WP и CodeIgniter. Если есть мощь и знание - можете попробовать использовать Nodejs или даже Go.
    Опять-таки скажу ещё раз, что в этой теме не очень много заказов, но все они стоящие. И часто приходится делать не на том, на чём вы привыкли, а на том, что требует сам сервис. Обычно это включает в себя много разных технологий - морда на React, Vue, Angular, основной бэкенд на Nodejs или Go (никаких CMS!), как правило, сразу заказывают и мобильное приложение - так что будьте готовы делать. На первых порах можете проехать на PhoneGap, но часто это решение не годится, заказчики пошли умные, умеют гуглить.

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

    Удачи!
    Ответ написан
    2 комментария
  • Почему парсер php через час работы останавливается?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Проверь, не отваливается ли коннект к MySQL. Даже для меня было неожиданностью, что этот коннект не вечен и мускуль разрывает его через фиксированное время. Оно, кстати, настраивается в my.cnf. Но лучше периодически обрубать старый коннект и создавать новый.
    Ответ написан
    Комментировать
  • Как бэкенд-разработчику поднять свой заработок?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Эх, дружище. Я бы не стал писать ещё один ответ, семнадцатый по счёту, если бы ты своей историей не напомнил меня самого 10 лет назад.

    Ты упёрся в то, что называется "потолок". Это такое состояние, при котором нельзя улучшить существенно доход, просто делая больше, чем ты делал до этого.

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

    Тебе теперь должны платить за опыт. А это значит, что ты должен вырасти из программиста в архитектора. Из подчинённого в руководителя.
    Я знаю, как всё твоё нутро сейчас этому сопротивляется.
    Но такова жизнь. Я вижу, что ты хочешь больше, и это хороший знак.
    И тебе придётся меняться. Других вариантов нет.

    Так что же делать конкретно?
    Вот несколько вариантов.
    1. Если ты уже работаешь где-то, поговори с руководителем. Возможно, ты знаешь, как можно улучшить тот продукт, над которым ты работаешь. Предложи ему дать тебе несколько джуниоров, которым ты мог бы давать задачи, чтобы под твоим руководством продукт стал намного круче.
    2. Если ты не работаешь или планируешь ливнуть с работы, присмотрись к фрилансу. Но не рассматривай фриланс в РФ. Это грустно. Подтяни базовый инглиш и пробуй брать небольшие заказы на апворке или фриланс.ком. твои 50 тыр - это всего 800 долларов. За неделю вполне можно заработать. Не сразу, конечно.
    3. Подумай, как свои знания ты можешь упаковать в законченный продукт. Не смотри как что продаётся. Поверь, даже очень простая мелкая утилитка или плагин очень скоро даст тебе плоды и ты поймёшь, что бесцельно тратил время, сидя в офисе, отдавая 90% ценности своему начальнику.
    Ответ написан
    Комментировать
  • Почему в большинстве проектов в сфере Real Estate используется Node.JS, а не PHP?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Банальный ответ: у продавцов недвижки водятся деньги, поэтому они могут позволить себе более дорогую, но более модерновую разработку.
    Простите, если разочаровал.
    Ответ написан
    Комментировать
  • Как избежать перегрузки node js?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Обработку объектов (если она фоновая) вынести в отдельный поток. Если не фоновая - серьёзно думать над архитектурой.
    Ответ написан
    Комментировать
  • Существует ли какой-нибудь ресурс, ознакамливающий с понятиями и структурой cms?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Задаться целью написать что-то, даже не понимая как это устроено - это смело, но с вероятностью 99, 9999% получится ерунда.

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

    Хотя, судя по вопросу автора, его проблема заключается банально в нежелании изучать существующие CMS. Типа "я самый умный, сейчас сделаю свою собственную CMS на коленке и весь мир вздрогнет, начнёт использовать мою CMS, говорить - какой я молодец и нести мне денег". Да, мы все через это прошли. И с высоты опыта отчётливо видно - насколько эта мысль детская :)
    Ответ написан
    Комментировать
  • Какую cms выбрать?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Вот типичный алгоритм разработки подобных ресурсов (да и вообще ресурсов в целом).

    1. Берём любую удобную CMS, которую вы знаете, и которая позволяет БЫСТРО сделать рабочий прототип. Например, Wordpress. В нём уже есть всё бесплатное и готовое.

    2. Кидаем ссылку на прототип своим друзьям и в тематические группы в соцсетях. Смотрим отклик (интересно-не интересно).

    3. Если люди не заходят или заходят только после пинка и уговоров - значит, идея плохая и тратить время на это более не стоит.

    4. Если заходят сами и шарят ссылку на сайт своим друзьям - начинаем планомерно параллельно разрабатывать "настоящую" версию сайта. С крутым платным дизайном и "правильной" CMS.

    К сожалению, большинство людей тратит годы на оттачивание своей суперидеи, которая на самом деле никому не интересна. Но надежда теплится, и узнать правду иногда очень страшно и горько.
    Ответ написан
    Комментировать
  • Что можно сделать с таблицей в которой постоянно 700т записей и 300 запросов в секунду?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Можно использовать банальное кэширование на уровне кода. Можно посмотреть зачем вам столько запросов и какие они.
    У меня есть большое сомнение, что подобное использование оправдано.
    Ответ написан
    Комментировать
  • Кто писал свою CMS?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Да, писал на базе PHP. Основной идеей была модульность и автоматическое отслеживание изменений.

    1) Какой системой вдохновлялись или брали за образец?

    Никакой, считал все остальные CMS "недосистемами", недостойными подражания.

    2) Писали ли к ней инсталятор или предполагался другой способ установки?

    Нет, предполагалось, что это PHP скрипт, который начинает работать сразу после установки.

    3) Какой использовали визуальный редактор для админки? Один из 2 известных, что-то другое, или свой?

    Сперва хотел написать свой собственный, потом понял, что не напишу конкурентноспособный до конца своей жизни и использовал TinyMCE.

    4) Была ли у неё какая-то специализация - магазины, визитки, лендинги, что-то ещё?

    Нет, модульность подразумевала полную универсальность.

    5) Разделяли ли ядро и дополнительные модули?

    Да, ядро было небольшим, весь функционал был (предполагался) в модулях.

    6) Предусматривалась ли какая-то система шаблонов? (юзали ли шаблонизатор или на php)?

    Да, в качестве шаблонизатора для страниц можно было использовать plain-php или smarty-шаблонизацию.

    - Ну и если есть ссылки на репозитории кидайте кому не стыдно показать если в открытом доступе у вас.

    Нет таких ссылок. На самом деле довольно большой продукт - моя собственная CMS (который я делал 4 года) был банально смыт в унитаз, а 8 сайтов, сделанные на его базе были переделаны под другую популярную CMS и ничего от этого не потеряли, а даже приобрели.

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

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

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Импорт в MySQL и запросы. Не вариант?
    Ответ написан
    7 комментариев
  • Можно ли использовать псевдоним в графе разработчик\издатель в Steam если зарегистрирован как ИП?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Где эта графа? Если в публичном поле, то можно писать что угодно. Если это в договоре со Steam - то только полное название ИП (ИП Иванов Иван Иванович).
    Ответ написан
    Комментировать
  • Как оформиться фрилансеру на работу?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Не ссы, иди ИП оформляй. Неделя вдумчивого погружения в тему, потом летать будешь и ещё друзей затянешь.
    Ответ написан
    Комментировать
  • Junior PHP, что бы вы спросили на собеседовании?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Я бы выяснил насколько вы самомотивированы к развитию и решению моей задачи. Остальное приложится.
    С гораздо большей вероятностью я возьму "в дальнее путешествие" человека, не знающего про какие-нибудь синглтоны, но с горящими глазами и умеющего слушать и поглощать любые знания, чем типа умного такого прошаренного и заносчивого выскочку.
    Ответ написан
    Комментировать
  • Как коректно спросить о том куда расти для повышения ЗП?

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

    Вот какой правильный способ карьерного роста предлагают опытные люди (на себе не проверял, т.к. ушёл в свободное плавание раньше, но по моему размышлению он должен работать).

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

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

    Да, только так. Будучи просто исполнителем существенного роста не добиться. Только повышение уровня ответственности предполагает рост зарплаты.
    Ответ написан
    Комментировать
  • Переход с постоянки на фриланс, стоит ли игра свеч?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Фриланс. Однозначно ДА. Сейчас объясню почему.

    Стабильность/офисная работа/работа с одним клиентом - прекращает твоё развитие как специалиста и как предпринимателя. Самое главное - ты не развиваешься в первую очередь как личность. За тебя кто-то несёт ответственность за весь проект, кто-то говорит тебе ЧТО делать и кто-то ищет тебе задачи в большом море, называемом "открытый рынок". В итоге все деньги получает твой начальник, а ты только $8.5 в час.

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

    У тебя есть сомнения? Смотри. Как только ты начнёшь фрилансить, можешь поставить себе часовую планку в $15 в час. Это нормальная цена для зарубежного рынка. Ты будешь некоторое время нереально впахивать по 8-10 часов в сутки, семья может быть даже тебя ненадолго потеряет. Но это всё временно. Потому что за это время ты должен научиться писать хорошие пропосаулы (а это и есть продажа себя). После того как накопишь некоторое портфолио, список положительных отзывов и научишься писать предложения - повышай планку. Ищи длинные заказы с часовой стоимостью в $20-30. Такие заказы встречаются реже, так что ты можешь потратить несколько дней в поисках, но это окупится с лихвой, т.к. ты можешь уменьшать количество времени на работу в день и вновь вернуться в нормальную жизнь. Через полгода вновь поднимай планку. $40-50 в час - совсем не предел.

    Такое случилось со мной после прочтения книжки "как работать 4 часа в неделю". Я тогда работал фрилансером на $10-15 в час и принял одно простое решение. После этого начала работать 2-4 часа в сутки и при этом моя прибыль увеличилась в 3 раза.

    Хотя теперь я уже не фрилансер (см. про точку Б выше), но без фриланса туда было бы сложновато прийти.

    Поэтому ещё раз - фриланс и ещё раз фриланс. Прими как лекарство.
    Ответ написан
    13 комментариев
  • Как лучше реализовать клиент-серверную игру?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    В своих игровых проектах я использую технологию Fully Authoritative Server. В этой технологии читерство весьма затруднительно, а объём передаваемых по сети данных невелик. Вся логика выполняется на сервере, все существенные для игрового процесса решения также принимаются там. Клиент берёт на себя роль отрисовщика игрового мира (на сервере только макет игрового мира в виде данных, без графики), также на клиенте осуществляется Client Prediction (то есть предварительная симуляция), при том, что если в результате сравнения полученных данных на клиенте и сервере обнаруживается нестыковка, то используются данные, полученные с сервера.
    Ответ написан
    Комментировать
  • Как хранить данные в базе веб сервиса?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Таблица users, в ней все пользователи. Таблица clients, в ней все клиенты всех пользователей.

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

    Второй вариант - когда каждый клиент может быть прикручен к нескольким пользователям. Тогда нужно завести ещё одну таблицу users_clients, в которой будет два поля user_id и client_id. Каждая запись в этой таблице прикручивает одного любого клиента к одному любому юзеру (вариант М:М).
    Ответ написан
    1 комментарий