• Как изучать на практике SQL, MySQL?

    @evgeniy_trebin
    Ruby on Rails developer
    Вот тут можешь попрактиковаться sql-ex.ru
    Ответ написан
    1 комментарий
  • Как вы систематизируете полученные знания?

    @expmozgi
    Я столкнулся с тем, что информации настолько много, что она постоянно забывается. Поэтому было принято решение переводить знания на внешнее хранилище. Изначально решил проблему простым публичным блогом, но это оказалось неэффективно, сейчас использую следующие решения:

    1) Википедия на собственном приватном сервере. На главной странице группы, например, Programming, Health, Projects, Computer administration, Career и т.д. Далее в Programming есть варианты: PHP, PHP frameworks, Java и т.д.
    Когда узнаю что то новое записываю информацию. Потом, когда необходимо ее всмонить иду по данной структуре и нахожу то, что надо. Из википедии идут ссылки на примеры кода, которые расположены на bitbucket или файлы, которые расположены на dropbox или google drive.

    2) Для кода - приватные репозитории в bitbucket.
    3) Для файлов dropbox или google drive
    4) Для паролей - самописное решение на приватном сервере.
    5) Для заметок и списков keep.google.com

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

    Получается, что все завязано на википедии. По моему опыту - самый мощный, гибкий и понятный инструмент для организации хранения знаний.
    Ответ написан
    7 комментариев
  • Как вы систематизируете полученные знания?

    @MrBruk
    Evernote + Chrome plugin for evernote
    Ответ написан
    Комментировать
  • Связь кадровой частоты и частоты развертки или бывает ли больше 60 fps?

    @moozooh
    Chief Technical Grammar Nazi
    Частота обновления монитора — то, сколько разных кадров он способен отобразить за секунду. Частота кадров в играх — то, сколько кадров за секунду отправляет на монитор видеокарта. Должно быть очевидно, что, если монитор может обновлять изображение только 60 раз в секунду, то, хоть убейся, видимой разницы не будет. Она будет, только если подключить монитор с расширенной развёрткой (существуют игровые ЖК-мониторы на 120 Гц, например, или ЭЛТ, где этот параметр на низких разрешениях мог доходить до 250 Гц) или попробовать разогнать матрицу; сильного прироста это не даст, но риск её испортить — есть. Обычно матрицу разгоняют, чтобы довести её до частоты, кратной 23,976 (например, 71,928 Гц) чтобы можно было смотреть фильмы без подёргивания; критичного прироста плавности в играх этим не добиться, а если она таки позарез нужна, то следует просто купить монитор на 120+ Гц.

    Чем может быть полезно повышение частоты кадров относительно частоты развёртки:
    1) уменьшается погрешность задержки вывода кадров (чисто гомеопатически — гораздо сильнее влияет матрица монитора, тип его подключения, частота опроса порта, к которому подключены устройства ввода, буферизация в настройках видеокарты и т. д.), которая в особо динамичных играх может ощущаться в виде задержки реакции на нажатие кнопки;
    2) в некоторых играх повышается точность/гранулярность обработки происходящих событий (например, физики передвижения, как в Half-Life) и искусственного интеллекта;
    3) разогретая видеокарта создаст уют в холодный зимний вечер, а батарея ноутбука раньше напомнит вам о существовании реальной жизни.

    Ну и стоит помнить, что счётчик кадров в секунду показывает текущее или среднее значение; в идеале железо должно обеспечивать эту частоту на уровне не ниже развёртки монитора во всех ситуациях — без просадок. Поэтому правильным решением будет снизить настройки графики в игре до того уровня, при котором fps никогда не опускается ниже 60, и затем ограничить значение сверху при помощи RivaTuner или чего-нибудь подобного, чтобы электричество и ресурс железа почём зря не жечь.
    Ответ написан
    Комментировать
  • Не избыточны ли коментарии?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Есть книга "Совершенный код". Прочитайте ее разок. Попрограммируйте. Прочитайте через год еще раз. Многое встанет на свои места. После второго прочтения МакКонела прочитайте про "Чистый код" и затем читайте про рефакторинг. После этих трех книг Вы будете нас учить как писать код, а не мы Вас!

    Рекомендую поступать так:
    1. Если код нуждается в комментариях, то напишите по-английски, а затем создайте новый метод с использованием этого комментария и перенесите туда этот кусок кода. Возьмем к примеру Ваши "удаляет все записи" на код "clear : function(){" . Как бы вы написали по-английски? Наверное так "clear all records' , а почему бы текущего названия метода clear() не использовать комментарий clearAllRecords() ?
    2. Задавайтесь вопросом: "Если это не открытый метод и я хочу закомментировать его, то может быть мне стоит его переписать?". Открытые методы это интерфейс, которым будут пользоваться другие программеры. Он ОБЯЗАН быть задокументирован. А внутренний код либо покрывается модульным тестом, который поясняет для чего нужен кусок кода и какой должен давать результат и дает ли? Другими словами ваш модульный тест это САМЫЙ лучший вид документации
    3. Пишите всегда комментарий об алгоритмах, стандартах, положениях, хитрых трюках. К примеру "Этот алгоритм взят из книги Кнута том 2 стр. ЧЧЧЧ", тогда ваш коллега в случае сомнений пойдет и почитает как работает этот код в теории и поймет как должен работать и сравнит с тем что есть
    4. Если же модульного теста нет, значит поленились и это вполне возможно тема для рефакторинга. На простой код, просто написать тест! То есть простой код - читать просто и тестировать просто!
    Ответ написан
    4 комментария
  • Какие бывают сервисы to-do листов?

    Zifix
    @Zifix
    Barbatum
    Ответ написан
    Комментировать
  • Как оформляется удаленная работа на иностранную контору?

    kumaxim
    @kumaxim
    Web-программист
    Зависит от Вашего контрагента. По идеи он может заключить с нашими гос.структурами(ФНС, ПФР, ФСС) соглашение об уплате налогов и взносов, но это вещь для них муторная... Я знаю что несколько иностранных фирм так работает, но конкретными деталями не владею.

    Более простой способ - регистрируйте ООО/ИП и заключайте с ними договор. Он, скорей всего, будет на английском, поэтому Вам нужно будет сделать его перевод.
    Схема выглядит примерно так:
    1. Регистрируйте ООО/ИП
    2. Открывайте счет в банке
    3. Предоставляйте в банк документы по валютному контролю

    Ваш счет может быть в рублях, может быть в долларах. Если Вы только получайте, то это не критично. Рублевый счет ООО иметь обязана, в иностранной валюте - на Ваше усмотрение. Лично на мой взгляд, если Вы деньги только получайте, то счет в иностранной валюте - лишние операционные расходы(30-50 у.е. в месяц ведение счета в долларах, в среднем).

    Далее идет валютный контроль. По деталям Вас лучше всего проконсультирует отдел ВЭД Вашего банка. Скажите менеджерам-операционистам, что у Вас будут валютные операции из-за рубежа, они дадут Вам контакты своих коллег, которые Вас детально по всем вопросам проконсультируют.
    Из общих моментов могу выделить следующее:
    1. Контракт с Вашим контрагентом им нужен в обязательном порядке
    2. Если контракт составлен на английском, то нужен нотариально заверенный перевод
    3. Перевод и заверение лучше делать у одного нотариуса.
    4. По каждый платеж от Вашего иностранного партнера Вам нужно предоставлять в банк акт выполненных работ, без него Вам банк на счет деньги не перечислит

    Отдельно хочу отменить пару моментов:
    1) Не ищите отдельно переводчиков, отдельно нотариуса. Сразу обращайтесь к нотариусу и говорите что Вам нужен перевод контракта для отдела ВЭД банка. Если нотариус говорит что такую услугу не оказывает - ищите другого нотариуса. Обычно, он сотрудничает с 1-2 переводчиками, которым он доверяет. По стоимости - 1-1,5 т.р. перевод одной страницы договора, плюс 1,5 - 2 т.р. заверение самого контракта. Цены примерные, в Вашем регионе могут отличаться.
    2)Акты выполненных работ большинство банков принимает как распечатки со сканов, т.е. Ваш партнер печатает сам на принтере акт, подписывает его и сканирует. Скан отправляется Вам по электронной почте. Вы печатайте его(лучше ч/б), ставите на нем своей рукой "Копия верна, Иванов И.И, подписать" и сверху печать. Относите в банк.

    Если говорить про выбор банка - ВТБ, не ВТБ24, а именно ВТБ. Меня лично они устраивают. До них работал с Альфа банком, тоже вроде ничего, но зачисление первых нескольких платежей они ну очень сильно растянули....
    Ответ написан
    1 комментарий
  • БЭМ. Не понятие основных понятий - блок, элемент, модификатор?

    БЭМ - шляпа.
    Слишком много противоречий и требует лишней траты времени.
    Юзай smacss, можно в связке с OOCSS
    Ответ написан
  • Отношение заказчиков к исполнителям?

    Jump
    @Jump
    Системный администратор со стажем.
    Вы конечно извините, но вы написали полную чушь.
    Биржа это рынок. А на рынке как известно два дурака - покупатель и продавец.
    Нормальное желание заказчика - сделать подешевле.
    Нормальное желание исполнителя - срубить побольше денег.
    Есть среднестатистическая цена на услугу, но если хорошо поискать то можно сделать работу значительно дешевле, хотя как правило это будет дольше.
    Поэтому если сроки не горят, то почему бы и не поискать подешевле? Я не вижу в этом ничего плохого.
    А тот факт что кинули - ну так смотреть надо, контролировать, и кинуть может кто угодно. Вы же не думаете что человек взявшийся за работу по нормальной или высокой цене не может кинуть?
    Точно так же может.
    почему заказчик платит за ремонт автомобиля в сервисе указанную сумму
    на какую договориться, такую и платит. Если цена не устраивает можно найти сервис подешевле.

    а другой труд он считает простой задачей и считает, что это верстать, кодить, отрисовывать диз это просто тыкать по клавиатуре и водить мышкой
    А какое дело заказчику до вашего труда? Вы думаете насколько сложная задача крутить гайки в автосервисе? Я вот не думаю. Мне пофиг. Мне называют цену, я прикидываю насколько оно мне выгодно и либо плачу, либо отказываюсь.
    Ответ написан
    14 комментариев
  • Есть ли книги по дизайну для людей незнакомых с дизайном?

    @eoffsock
    Кодер (Rails)
    Для общего понимания того, почему с дизайном все так плохо и что делать:
    Дональд Норман «Дизайн привычных вещей»
    Виктор Папанек «Дизайн для реального мира»

    Веб:
    Якоб Нильсен «Веб-дизайн. Книга Якоба Нильсена»
    Стив Круг «Веб-Дизайн: книга Стива Круга или «не заставляйте меня думать!»

    Интерфейсы и взаимодействие:
    Джеф Раскин
    «Новые направления в проектировании компьютерных систем», «Об интерфейсе»
    Брюс Тогнаццини «Главные принципы интерактивного дизайна»

    Шрифты, типографика:
    Ян Чихольд «Новая типографика»
    Эмиль Рудер «Типографика»

    Про «Ководство» уже написали. Опустил несколько книг, которые вам понадобятся, если совсем уйдете в дизайн — там про взаимодействие с клиентами и всякое такое. Так же пропустил книги о работе с текстом. Если интересно — пишите, дополню список.
    Ответ написан
    1 комментарий
  • Из чего состоит окружение продвинутого php разработчика?

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

    1. docker-окружение
    (в 90% случаев для веб-разработки достаточно php -S 0.0.0.0:8000)
    виртуальные машину становятся нужны:
    - когда надоест переустанавливать хост-систему из-за обилия хлама
    - когда работаешь с несколькими проектами имеющие специфические (разные) настройки окружения(php, web-сервер, база)
    - когда надоест решать проблемы в команде из-за того что по разному настроено окружение

    2. git - система контроля версий
    Помнить что ты и когда изменял, должен не человек, а машина.
    Это необходимо:
    - чтобы не испортить всю работы за прошедший год нажав del
    - чтобы определить кто из команды злодей и все испортил
    - чтобы не думать как перенести свежую версию проекта с одной машины на другую

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

    4. behat + phpspec
    Тесты нужны:
    - когда хочется почувствовать себя безопасности и для сладко спать ночь, забыв о кошмарах о сломанном коде
    - когда в production все снова сломалось
    - когда ты написал одну новую фичу, а сломал три

    5. zsh
    Хорошей консолью приятно пользоваться, работа идет быстрее.
    Консоль есть жизнь, жизнь есть shell.

    6. tmux
    Мало одно окошка в консоли, тогда tmux идет к вам.
    В качестве бонуса получите возможность парного программирования совершенно бесплатно

    7. tmuxinator
    Надоело каждый раз открывать кучу окон для tmux, попробуйте его )
    8. vim
    - Потянуло на что-нибудь необычное?
    - Хочется эффективнее писать код ?
    Ну что открыли vim? В первый раз? Поздравляю закрыть вы его не сможете )
    Вызывает зависимость при частом потреблении


    9. continuous integration сервер
    Вообще ci сервер это одушевленная машина. Это твой тамагочи, ты кормишь его хорошим кодом, он радуется и ты видишь приятный зеленый огонек. Если ты дал с код от скажет что не вкусно. Ну а если ты ему, что гнилое он будет долго на тебя орать плохими словами. Со временем он растет и учится делать более серьезные вещи, и начнет помогать тебе:
    Его скилы:
    - он может сам выполнить 10 минутные тесты
    - подготовить и опубликовать проект
    - рассказать о твоем коде, даже то что ты не знаешь
    Он легко обучается и ты легко сможешь научить его удивительным вещам.

    10. куча линтеров на pre commit hook
    Чтобы ci не кормить плохими продуктами, хорошо бы проверять что ты сделал до отправки на сервер. Что бы не забыть это сделать git сам работу.

    11. gulp
    gulp - это еще один твой помощник.
    как если использовать, как watcher файлов + livepreview, можно забыть о F5 в браузере

    12. bower
    Тоже что и composer но для управления ассетами. Это я о всяких jQuery и Bootstrap

    666. Линукс
    Даже если не хочется ставить как хост-систему, его все равно надо знать. Ваш код будет работать на нем )
    Ответ написан
    16 комментариев
  • Как отфильтровать обьекты в таблиц по полю Цена, валюта разная, но цена должна быть больше 50 долларов?

    @vista1x
    1) Должна быть табличка с валютами со следующими полями: Ид, название, курс (по отношению к базовой валюте - доллар, например)
    2) Делаете запрос, в котором переводите все валюты в одну (доллар) и делаете условие по этому полю
    Ответ написан
    2 комментария
  • Как удобнее классифицировать(законспектировать) то, что выучил?

    @glader
    Evernote
    Ответ написан
    Комментировать
  • Как анализировать вакансии front/-backend разработчиков?

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

    @FranzK
    Чувак, тут нужен системный подход.

    Самое простое, необходимое, но не достаточное
    Для начала потребуется поднять боевой дух. Здесь нужна ударная доза гормонов счастья: серотонина и дофамина. Фактически, по теме серотонина уже успел высказаться Станислав Макаров: физическая нагрузка, сон, отдых. Но все равно, всегда есть что добавить.

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

    Основное, скажем так, мясо мотивации
    Разовый прилив гормонов счастья способен вернуть к жизни загибающуюся разочарованную душу, но далеко на этом топливе не уедешь. Эти гормоны, вообще-то, должны вырабатываться сами собой, без привлечения к себе нашего внимания. Но у многих людей механизм выработки даёт сбой, как правило, причины этого имеют психологический характер. Мысли, что ничего не получится, что тлен и мрак, что ночь темна и полна ужасов, - эти мысли повисают мертвым грузом на наших ногах и чертовски отравляют жизнь. Но, к счастью, есть ноги свободные от этих гирь - это ноги людей, которые верят в себя, которых в детстве поддерживали родители. Таким людям легко идётся по жизни, у них всё получается, потому что они не боятся, не откладывают, а делают. Кому не так повезло, и кто с гирями, им придется избавляться от неверия и низкой самооценки уже в пути. Нужно через силу заставлять себя поверить в успех, словом взять на себя ту работу, которую в жизни уверенных людей проделали их родители. Внушать, прямо вдалбливать, что у меня получится, я преодолею это, ну и всё в таком духе. И, повторюсь, поскорее переходить от теории к практике. Будет страшно, но это окупится.

    И неправы снобы, говорящие: "Не нужно себя мотивировать. Оставайтесь в жопе". Сколько достойных людей оказалось в жопе в какой-то момент, и погибло, не сумев справиться с судьбой? Есенин. Высоцкий. Кафка, вот уж кто был главный кандидат, чтобы остаться в жопе: был издан после смерти, вопреки завещанию, и оказалось - гений, да каких поискать. Или Гоголь: я бы, вот честное слово, легко променял бы Артемия Лебедева вместе с его великой студией и Татьяной Никитичной на второй том "Мёртвых душ". В общем, много их было, кто в жопе и не вернулся. И никому от этого лучше не стало.
    Ответ написан
    2 комментария
  • Что нужно для безболезненного перехода на linux?

    abs0lut
    @abs0lut
    Что нужно для безболезненного перехода на linux?

    Нужна виртуальная машина, чтобы попробовать работать, прежде чем полностью переходить на GNU/Linux.
    Нужна мотивация, ибо "линукс ради линукса" - плохой повод подружиться с ОС.
    Нужно быть готовым к проблемам и трудностям, и, как следствие, уметь гуглить решения проблем.

    Порекомендуйте литературы

    Порекомендую, хотя все чаще встречаю мнение, что она не оправдывает себя, и вся суть в практическом опыте.

    Shotts W. E. Jr. - The Linux Command Line - A Complete Introduction - 2012
    Barrett D.J. - Linux Pocket Guide - 2012
    Brian Ward - How Linux Works - What Every Superuser Should Know (2nd edition) - 2014
    Lewis J.K. - Linux Utilities Cookbook - 2013
    Linux Bible - 8th Edition
    Скотт Граннеман - Linux. Необходимый код и команды. Карманный справочник - 2010
    Эви Немет - Unix и Linux. Руководство системного администратора - 2012

    не лазить по пустякам на форумы

    Думаю, на форумах Вы будете проводить несколько больше времени, чем думаете.
    Ответ написан
    2 комментария
  • Арендовав vps/vps, можно разместить только ОДИН сайт?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Вы покупаете виртуальный сервер - уменьшенную копию реального сервера, то есть маленький компьютер. С ним вы можете делать всё, что захотите. Даже захостить 100500 сайтов. И для этого достаточно 1 ip. В dns ко всем доменам, которые хотите захостить на своём vps прописываете ip вашего vps, а в vps уже настраиваете виртуальные хосты на вашем веб-сервере.

    Как vps будет понимать какой сайт показать?
    Когда вы вбиваете адрес сайта в браузер, он спрашивает у dns ip адрес машины, соответствующий данному домену и соединяется с машиной и установленным веб-сервером на ней по HTTP протоколу, при этом отсылая заголовки. В одном из заголовков (Host:) браузер присылает адрес сайта, который он хочет получить в ответ, веб-сервер смотрит на этот заголовок, сверяет со своим конфигом и отдаёт, грубо говоря, всё содержимое папки, которая соответствует данному хосту в конфиге. Такая практика называется "virtual hosts", виртуальные хосты.
    Ответ написан
    Комментировать
  • Обновление большого сайта на Yii2?

    sim3x
    @sim3x
    Написать приемочные-функциональные тесты
    Положить рядом два проекта
    Завести два php-fpm пула
    Разнести проекты через урлы в nginx
    Ответ написан
    3 комментария
  • Зачем видеоуроки программисту?

    swanrnd
    @swanrnd
    Издатель HTML5 игр
    А зачем преподаватели в университетах читают лекции? Можно же отправить книжку почитать)

    Единственное отличие, это не возможность задать вопросы после лекции.

    Тут главное, качественные преподаватели, а не школьник который записал скринкаст, а их дофига.
    Ответ написан
    2 комментария
  • Зачем видеоуроки программисту?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Видео урок, это имитация того, как будто бы у вас есть персональный учитель и он вас обучает. Многие люди гораздо лучше воспринимают информацию, которую объясняет живой голос с живыми эмоциями. Информация подается интересней, чем в обычной сухой книжке. Обычно ЦА видео уроков - самые начинающие разработчики, редко когда можно встретить очень углубленное обучение таким способом.
    Хорошие видео уроки можно найти здесь например: https://www.codeschool.com/paths
    Ответ написан
    Комментировать