• Как анализировать вакансии front/-backend разработчиков?

    opium
    @opium
    Просто люблю качественно работать
    семи пядей во лбу не надо иметь чтобы понять
    1)нужен опыт работы с реляционной бд, запросы на работе не сложные и подойдет любая из перечисленных, зная один писать запросы можно под любой
    2)нужен опыт программирования под джаву в одной из этих иде так как разработчики в компании используют их а не нетбинс
    3)нужен опыт работы с системами контроля версий, скорее всего есть легаси проекты используюбщие свн и все новые проекты на гите. знаю один второй освоить не проблема
    Ответ написан
    4 комментария
  • Есть ли объективные причины отказаться от аннотации?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Почему аннотации это плохо? Потому что аннотаций в PHP нет (во всяком случае пока). А то что есть - это кастыль основанный на phpdoc.

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

    Есть еще одно НО. Скажем я когда-то был категорически против использования аннотаций в сущностях доктрины. Представьте себе типичный проект на symfony. У нас есть какое-то поле и мы должны написать туда минимум аннотацию для доктрины и аннотацию для валидатора. Если мы пишем апишку то появляются всякие сериализаторы и прочая чушь, документация к API и тд. Ну и собственно сам phpdoc. В итоге на одно поле сущности выходят минимум 5 строк в phpdoc с аннотациями.

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

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если e-mail реально используется в работе с пользователем, то он сам будет заинтересован в указании реального адреса. Ну а если туда потом сыплется только спам, то какой смысл указывать реальный адрес?
    Ответ написан
    Комментировать
  • Что делает этот код?

    Therapyx
    @Therapyx
    Data Science
    к числу а прибавляется это же число а. И неизвестное n делиться на 1000. Оно должно где-то обозначатся
    Int a = 5;
    int n = 5000;
    a = a + (n / 1000);
    Можно еще так а += n / 1000;
    / - это деление. Как (вроде бы) и везде )
    Ответ написан
    Комментировать
  • Window.location.hash не работает в firefox и ie - почему?

    Stalker_RED
    @Stalker_RED
    History API
    В частности
    history.pushState(null, null, '#myhash')
    И следите за тем, чтобы у хеша был знак #
    Ответ написан
    5 комментариев
  • Как правильно реализовать систему распределенных вычислений?

    DrunkMaster
    @DrunkMaster
    Вам сложно помочь даже при желании. Первым делом надо посмотреть что там за строка с параметрами, все ли в ней необходимы. Допустим все. Все ли необходимы именно сейчас? Видели наверное что статистика (процент побед) у WOT обновляется раз в сутки ночью - не случайно же.
    Про GO Pavel верно сказал, посмотрите в сети исходники Ogame - там вся игра на php но система боя написана на каком-то из С-языков.
    Зачем вам распределённая система? Купите на 5000$ 1 сервер почти без оперативы и HDD, закажите туда процессоров побольше и напишите обработчик на GO, C++ и т.п. Отправляйте все задачи по расчётам на него. PROFIT! )))
    Ответ написан
    Комментировать
  • Какие плагины VIM'a вы используете для веб-разработки?

    rutaka_n
    @rutaka_n
    softwere engineer
    Plugin 'gmarik/Vundle.vim'
    
    Plugin 'Shougo/vimproc.vim'
    Plugin 'nanotech/jellybeans.vim'
    
    Plugin 'tpope/vim-sensible'
    Plugin 'tpope/vim-surround'
    Plugin 'tpope/vim-commentary'
    Plugin 'tpope/vim-sleuth'
    Plugin 'tpope/vim-repeat'
    Plugin 'tpope/vim-unimpaired'
    Plugin 'tpope/vim-fugitive'
    Plugin 'tpope/vim-dispatch'
    Plugin 'bling/vim-airline'
    Plugin 'jeetsukumaran/vim-buffergator'
    Plugin 'ctrlpvim/ctrlp.vim'
    Plugin 'rking/ag.vim'
    Plugin 'vim-scripts/LargeFile'
    Plugin 'scrooloose/syntastic'
    Plugin 'scrooloose/nerdtree'
    Plugin 'Xuyuanp/nerdtree-git-plugin'
    Plugin 'airblade/vim-gitgutter'
    Plugin 'majutsushi/tagbar'
    Plugin 'godlygeek/tabular'
    Plugin 'ervandew/supertab'
    Plugin 'szw/vim-tags'
    
    Plugin '907th/vim-auto-save'
    Plugin 'myusuf3/numbers.vim'
    
    Plugin 'tpope/vim-endwise'
    Plugin 'tpope/vim-rails'
    Plugin 'tpope/vim-rbenv'
    Plugin 'ngmy/vim-rubocop'
    
    Plugin 'fatih/vim-go'
    
    Plugin 'jimenezrick/vimerl'
    Plugin 'vim-erlang/vim-erlang-tags'
    Ответ написан
    Комментировать
  • Как вернуть мотивацию к обучению?

    @Elizavetta
    Matroid: gamedev/js-разработка
    По-моему, это тот случай, когда ментор избавит от 90% мучений.
    Если вам подготовиться на js junior/middle, можете ко мне обратиться.

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

    Еще похоже на то, что вы читаете, а не пишете код. Если цель писать код - надо его писать каждый день. Не нравится качество - искать, как улучшать.
    Ответ написан
    2 комментария
  • Где в Codeigniter полиморфизм?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Он точно там должен быть.


    Есть два вида полиморфизма:
    - параметрический полиморфизм
    - полиморфизм подтипов

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

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

    Повторное использование библиотек не будет являться полиморфизмом?

    Нет, полиморфизм действует на уровне типов, то есть даже не классов а именно типов. То что вы ищите называется Dependency Injection (IoC, DiC, не суть)

    Можно ли это назвать полиморфизмом?

    Нет.
    Ответ написан
    Комментировать
  • Как вернуть мотивацию к обучению?

    Я не поддерживаю тех кто смеётся над вами )) Подумайте вот о чём: если ваш организм сопротивляется новым знаниям, значит вы уже знаете достаточно, значит вам надо применить то что вы узнали, поэтому просто садитесь и делайте в процессе работы вы подойдёте к своему пределу, когда новые знания реально понадобятся - там и мотивация уже будет изучать.
    Ответ написан
    1 комментарий
  • Как вернуть мотивацию к обучению?

    У меня падала мотивация тоже когда завидовал. А потом я подключал системный подход (спасибо универ!) к своей ситуации, смотрел какие входные данные были у этих людей (например богатые родители, развитая страна или банально у него компьютер появился в 5 лет а у меня в 15) и всё вставало на свои места, ведь понимаешь, что ты сам кузнец своего счастья.
    Ответ написан
    5 комментариев
  • Как вернуть мотивацию к обучению?

    ItsEvilTime
    @ItsEvilTime
    Сайленсер не дает мне покоя
    Сколько себя помню, вдохновение всегда приходило после какого-то мини открытия для себя.
    Список запомнившихся вторых дыханий:
    1. Узнал про gulp
    2. Зарегался на evernote, asana, wonderlist и pocket
    3. Наконец-то дошло, как работает JS
    4. Lol, в твиттере оказывается весело
    5. Клиент сказал, что моя анимация говно. Я приуныл. Вчера нашел статью про requestAnimationFrame и уже сутки не сплю.
    Ответ написан
    1 комментарий
  • Как вернуть мотивацию к обучению?

    alexclear
    @alexclear
    A cat
    > А сегодня "напали" мысли что у меня ничего не получится, что я просто так трачу время и в конце концов я признался себе что я по сути никто.

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

    > Как вернуть мотивацию? Как заставить себя осознать что время которое я трачу на обучение проходит не зря?

    Попробуйте записывать свой прогресс. Если Вы разработчик, то Вы в любом случае записываете Ваш прогресс в виде кода. Вернитесь через полгода и посмотрите на этот код - Вам станет очевидно, что полгода прошли не зря.
    Ответ написан
    6 комментариев
  • Что значит heapUsed в JSON который отдает process.memoryUsage?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Куча

    vsize (Virtual Memory Size) - Общий размер памяти доступный процессу (включая shared memory, swap и т.д.)
    rss (Resident Set Size) - сколько памяти из RAM доступно процессу.
    heapTotal - сколько памяти отдано под кучу
    heapUsed - сколько уже памяти аллоцировано на куче

    По вашим данным судить об утечке памяти нельзя, так как недостаточно памяти использовано (heapUsed сильно меньше heapTotal), возможно просто еще сборщик мусора не запускался.
    Ответ написан
    2 комментария
  • Как правильней сделать быстрое выкатывание в продакшн?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    конфликты мерджей очень сильно тормозят

    1) Дробите задачи, делайте ветки короткоживущими
    2) Хорошая идея делать ребейз принятых веток
    3) Попробуйте адаптировать под себя git-flow, как альтернатива хорошо себя показывает feature-toggles вместо feature-branches

    Да и бд экспорт/импорт постоянно приходится делать.

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

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

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

    При таком сценарии даунтайм будет минимальным.

    вопрос с выкатыванием новых релизов

    Вот вам варианты в порядке сложности и мощности (от простого к сложному).
    - capistrano/capifony
    - ansible/puppet/chief/etc
    - docker + docker-machines + docker-compose

    Ну и да, тесты тесты тесты. Все самое критичное должно быть покрыто хотя бы интеграционными/функциональными тестами. В идеале же вся бизнес логика должна быть покрыта быстрыми юнит тестами и UI/инфраструктура функциональными (читать про пирамиду тестирования).
    Ответ написан
    5 комментариев
  • Как и когда изучать AJAX?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Не изучайте AJAX, изучайте XMLHttpRequest и HTTP.

    на сколько устарела технология

    Это просто API браузера что бы из JS делать HTTP запросы. Это не технология даже. Просто API, сейчас актуальная версия - XmlHTTPRequest2.

    Просто в интерете не нашел более менее новых книг,

    Почти все "новые" книги учат писать контроллеры (ну тип, как клепать штуки, без объяснения почему так), фундаментальные знания они редко дают.
    Ответ написан
    Комментировать
  • Фриланс или офис для веб-дизайнера?

    Фриланс тот же опыт, только зарплата больше.
    Если нужен социум, то офис может дать не тех людей, лучше поискать в другом месте - конференции например. В офисе работают не предприимчивые люди, а начальники как правило козлы. Имхо.

    И ещё. Зарплата дизайнера 30 тысяч рублей в месяц, при этом в топовой студии? Это же фейспалм какой-то. Нормальный дизайнер сейчас, учитывая курс валюты, зарабатывает 30 тысяч рублей в неделю на апворке. Если проблемы с английским языком и так охото работать в России, то проще выучиться на сантехника, в месяц будет выходить ито больше, чем жалкие 30 тысяч
    Ответ написан
    3 комментария
  • Переход с php 4.4 на 5.4, сайт под управлением bitrix 8.0 - кто-нибудь обновлял этих динозавров?

    b0nn1e
    @b0nn1e
    Alcohol & Ruby on Rails
    Вредный конечно совет, но возьмите VPS/VDS, по цене не на много дороже виртуального php хостинга, настройте там php4 и нужное окружение, и пусть еще 10 лет крутиться.
    Ответ написан
    2 комментария
  • Стоит ли париться за престижный диплом?

    sim3x
    @sim3x
    Тебе нужен такой вуз, в котором будут нужные преподаватели по нужным предметам

    Если у тебя нет списка нужных предметов, то тебе не нужен вуз
    Ответ написан
    1 комментарий
  • Как убедить начальство отказаться от велосипедов?

    Matvey-Kuk
    @Matvey-Kuk
    Разработчик в Cisco, CA.
    Уходить.
    Ответ написан
    Комментировать