Задать вопрос
  • Конденсаторы в БП?

    Bambr
    @Bambr
    Напряжение написанное на конденсаторе показывает по сути его запас прочности. Подадите более высокое — его пробьет. Вы просто увеличили «запас прочности» конденсаторам, и ничего более. Если погуглите на тему блоков питания — ставить конденсаторы с запасом по напряжению рекомендуют практически все, единственное ограничение здесь — запас лучше делать разумным, т.к. конденсаторы бОльшего вольтажа, как правило, крупнее и дороже.
    По поводу увеличения емкости — совет верен в отношении фильтров блоков питания, но не в остальных случаях (скажем, если вы значительно измените емкость конденсатора в кроссовере колонок, вы измените частоты среза и вероятно подпортите звук). В традиционных трансформаторных блоках питания (с импульсными не знаком) конденсатор гасит пульсации, там с увеличением емкости увеличивается и подавление пульсаций, но при этом на старте значительно возрастает ток первичной зарядки конденсатора.
    Ответ написан
    1 комментарий
  • Как начать писать проект, без потери лишнего времени?

    gobananas
    @gobananas
    finishhim.ru
    1. Написать самому для себя ТЗ. Сделать 1,2,3...
    2. Вообще, это командные методики, надо выбрать время (длительность, например неделя) и назначить на него спринт
    3. Тот который вы лучше всего знаете
    4. Написать роутер, или скачать и адаптировать
    5. Это искусство, но вообще применить ООП, разбить всё на мелкие функции
    6,7. Это тоже искусство, этому всю жизнь учатся и не всегда получается. В целом эффективнее написать первую версию что бы работало и потом переписать чем с самого начала писать год всё "правильно".
    Ответ написан
    5 комментариев
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    @g00dv1n
    ИМХО. Надо идти в бизнес. Мы программисты всего лишь инструменты. Не очень хочется всю жизнь быть инструментом в чужих руках.
    Ответ написан
    7 комментариев
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Как вы это делаете?! За 17 лет работы в ИТ у меня ни разу не возникало вопроса "Куда двигаться?", только "Где взять времени на освоение всего этого бесконечного изобилия технологий, углублённого изучения уже знакомого и реализацию множества идей?"
    Ответ написан
    4 комментария
  • Junior PHP, что бы вы спросили на собеседовании?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Джуниор джуниору рознь и в разных конторах разные требования, но в идеале вам нужно знать и уметь:
    - PHPStorm, PSR, чистый самодокументированный код
    - Composer, автозагрузка классов
    - Базовое понимание ООП, статический и динамический контекст, умение применять на практике
    - Git, работа с ветками, мерджи, разруливание конфликтов
    - Индексы в БД, какие, для чего нужны, составные индексы, какие недостатки имеют
    - Джоины в БД, подзапросы, группировка
    - Внешние ключи в БД, минимум по нормализации данных
    - JS, jQuery, HTML, CSS, хоть минимально

    Все остальное индивидуально, в зависимости от требований.
    Ответ написан
    8 комментариев
  • Пишу на PhpStorm. Стоит ли переходить на Sublime Text 3?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Все фичи тяжелых IDE, как правило не нужны, да и работают они медленно. В тоже время Sublime работает очень быстро, легко расширяется и плагинами и темами. Есть целый репозиторий для расширений Sublime Text.

    Однозначно стоит попробовать перейти. Пару лет назад я также перешёл с одной из IDE от jetbrains и назад абсолютно не хочется. Думаю насколько он вам подойдет зависит от того, что вам больше нравится тяжелые комбайны все-в-одном или легкие и гибкие инструменты с широкими возможностями для кастомизации.
    Ответ написан
    8 комментариев
  • Как создать нормальное dev-окружение для PHP разработки на ОС Windows?

    @E_STRICT
    Главное правило – храните все файлы в гостевой системе.
    Проекты с большим количеством файлов будут тормозить и в Линуксе если эти файлы хранятся на основной системе. Да и логически это более правильно, держать файлы и базы данных в одном месте.

    PHPStorm умеет работать с файлами по SFTP. Если это не подходит, то для windows есть всякие проприетарные решения (платные и бесплатные) для монтирования удаленных файловых систем.

    P.S. Используйте Вагрант даже если перейдете на Линукс или OS X.
    Ответ написан
    1 комментарий
  • Windows or Mac для разработки?

    ZloyHobbit
    @ZloyHobbit
    За маком никогда не сидел, но под виндой заниматься разработкой, на мой взгляд, просто невозможно. Только Linux, только хардкор.
    Ответ написан
    5 комментариев
  • Какой есть аналог Resque от Rails в PHP?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Смысл в том, чтобы делать отложенные job-ы без помощи cron-а, т.е. замена cron-а чем-то более удобным...


    beanstalkd

    по поводу resque можете попробовать вот это: https://github.com/mjphaynes/php-resque - он посвежее.
    Ответ написан
    4 комментария
  • Позиция (title) человека который занимается дизайном, версткой и фронт-енд функционалом (в вебе)?

    T_Vova_M
    @T_Vova_M
    Извиняюсть что так много, но тут полное разъяснение.

    Web Developer

    Синонимы: веб-разработчик, веб-инженер

    Обычно, подразумевает использование каких-либо CMS. Некоторые люди на полном серьёзе считают, что начинающие используют «простые CMS», а эксперты – «продвинутые CMS». Хинт: если человек спрашивает – Какую CMS используете? у компании программистов в конференц-зале – вероятно, он полный нуб. И это не обвинение, а констатация факта. Серьёзные современные проекты не используют CMS, ну разве что в качестве вспомогательного инструмента. Wordpress для ведения блога компании – да, возможно. Wordpress в качестве магазина – уже сомнительно. «Социальная сеть на Joomla» – фантазии подростка. CMS имеют свое место на рынке, но они давно перестали быть «государствообразующим» элементом.

    «Делать сайт на CMS» примерно тоже самое, что «клепать дизайны под ThemeForest». «Копейка рубль бережёт!» – Nuff Said.

    Веб-инженер занимается контентом, «правит» вёрстку, делает разное и (occasionally) программирует. Web Developer – это низший уровень из всех возможных «веб-разработчиков». В случае с фрилансом, под веб-разработчиком, обычно, подразумевается «человек-оркестр», а точнее – «человек-батрак».

    CSS / HTML Developer / Markup Developer

    Синонимы: верстальщик

    Должность, на которой требуется верстать дизайн. Требования к знанию JS и программирования минимальные или отсутствуют. Желательно необходимо знание основ дизайна, т.к. дизайн почти никогда не переводится из PSD в HTML один-к-одному. «Pixel-Perfect» – фраза-«звоночек». Маркер менеджера-самодура, ни имеющего ни малейшего понятия о том, как работает браузер и замеряющего качество работы попиксельным (с зумом!) сравнением PSD макета и HTML страницы. Попытки объяснить разницу между рендерингом шрифта в фотошопе и в браузере, обычно, воспринимаются как «споры вместо работы». Избегайте «попиксельных» вакансий всеми силами.

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

    FrontEnd Designer / Web Designer

    Синонимы: веб-дизайнер

    Самизнаетекто™. От специалиста требуется знание визуального дизайна (возможно, дизайна интерфейсов), знание типографики, владение Photoshop. Знание JS, обычно, не требуется.

    На западном рынке, дизайнеры обычно занимаются и вёрсткой. Во-первых современная вёрстка, с учётом респонсив- и адаптив- приставок и анимаций посредственно описывается статической картинкой. Вы часто видели дизайнера показывающего анимацию и мобильную версию? Я тоже. Обычно, их возможности ограничиваются выбором из библиотечных анимаций (подобранных программистом!). Во-вторых (но по той же причине), настоящему специалисту часто оказывается проще сделать дизайн сразу в виде вёрстки. Зачем делать работу X + Y, если можно обойтись Y?

    На нашем рынке, ввиду технологического отставания, дизайнеры и верстальщики – разные люди.

    Interface Developer / UI-UX Designer

    Похоже на предыдущий вариант, но с упором на дизайн интеракций. Специалисты на этой должности, обычно, много общаются с программистами, с клиентами, с менеджерами, потом опять с программистами... По этой причине, желательно знание основ разработки ПО и коммуникативные навыки. Очень часто, вакансия также требует знания специфики мобильной разработки, т.к. двух UI/UX экспертов нанимают довольно редко. Имейте в виду, что по этому направлению сложно найти материал для самообучения, что может идти как в плюс (меньше конкуренция) так и в минус (сложнее освоить). Если же вы способны учиться на примерах – проблем быть не должно.

    Mobile / Tablet FrontEnd Developer

    Должность для разработчика, специализирующегося на мобильных устройствах. Требуется знание специфики платформ IOS и Android. React Native – современный вариант этой специализации, позволяющий использовать веб-технологии для создания нативных приложений. Хинт: веб-приложения, гибридные приложения, нативные приложения и нативные приложения на веб-технологиях – это всё разные вещи.

    FrontEnd Developer / Engineer

    Синонимы: фронтендщик, фронтенд-разработчик

    Обобщённое название должности для разработчика, владеющего HTML / JS / CSS. Обычно встречается в небольших компаниях, где на одного человека возлагается широкий спектр задач. Знание дизайна, вероятно, не требуется, но будет идти как бонус. В современных условиях, всё чаще заменяется на титул конкретной технологии: jQuery Developer, Backbone Developer, React Developer, Angular Developer... Умения программировать и верстать входят в пакет требований.

    JS Developer / FrontEnd Programmer

    Синонимы: JS разработчик* / JS программист

    То же, что и предыдущее, с большим упором на программирование и меньшим на вёрстку и дизайн. Вообще, термин Developer (Engineer в меньшей степени) вместо Programmer, может означать что программирования будет меньше, а «всякой всячины» – больше. Кроме случаев, когда язык программирования указан явно (JS developer ~= JS programmer).

    JS Developer может означать и FullStack (см. ниже). В этом случае, компания, вероятно, планирует определиться с вашей специализацией позже – когда будут ясны ваши сильные и слабые стороны. Или же когда иные рабочие места распределятся. Поэтому, JS Developer почти всегда идёт в паре с Junior или Senior / Middle.

    FrontEnd SEO expert

    Редкая должность, на которой требуется оптимизировать HTML код согласно требованиям и пожеланиям поисковых систем (Google / Yandex). Специфические знания: микро-форматы, микро-разметка. Учитывая, что SEO вымирает и заменяется классическим маркетингом – рекомендую избегать всего, что содержит данный акроним. Если поиск работы не ваше хобби, конечно.

    FrontEnd Accessibility expert

    Упор на оптимизацию сайта под специальные ридеры (например, для людей с ограниченным зрением). Исключительно редкая должность. Занесена в Красную книгу. Встречается только на крупных проектах.

    FrontEnd Dev. Ops

    Должность для специалиста по вопросам сборки, автоматизации, интеграции фронт-енд приложений. Встречается, преимущественно, в крупных компаниях, т.к. подразумевает довольно узкий спектр задач. Актуальные знания: Webpack / Gulp / Grunt. Со временем, у вас начнут спрашивать чем вы, собственно, занимаетесь...

    FrontEnd Testing / QA

    Должность для специалиста по тестированию / контролю качества фронтенд приложений. Встречается в крупных и средних компаниях. Актуальные знания: юнит-тесты, функциональные тесты, A/B тесты, ручное тестирование и автоматизация. Коммуникативные способности входят в список требований.

    Многие люди ошибочно полагают, что «тестировщик» – более простая работа, чем «программист». Да, иногда встречаются вакансии где можно «кликать по ссылкам» и «составлять отчёты». Но это исключения.

    Заставить Selenium NightmareJS гулять по приложению, создавая скриншоты и выполняя регресионные тесты не так уж и просто. Ведь это, по сути, фуллстек разработка. Работа ведётся сразу в нескольких средах (Electron + Chromium) и требует хороших фундаментальных знаний.

    FullStack Developer / Engineer / Programmer

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

    FullStack делится на две категории: FullStack-JS и всё остальное. В первом случае, как несложно догадаться, на сервере и на клиенте используется JS. Во втором случае – на сервере используется Ruby / Python / PHP.

    Для начинающих, чтобы не распыляться между разными языками и платформами, настоятельно рекомендую отдавать предпочтение первому варианту (по возможности). Учить сразу несколько языков – работа на износ.

    FullStack JS предполагает использование феб-фреймворков на базе NodeJS. Это может быть монолитный фуллстек фреймворк (типа MeteorJS), реактивный бекенд с минималистичным клиентом (типа HorizonIO) или сборка из независимых библиотек (типа KoaJS + ReactJS). Все они имеют свои преимущества и недостатки.

    FullStack JS часто используется в приложениях реального времени: чаты (а-ля Slack / Gitter), финансовые приложения (масштабируемость, PayPal...), игровые сервера. Возможность пушить информацию на клиент (создавая риал-тайм) практически «из коробки» – основной двигатель роста этой технологии.
    Ответ написан
    3 комментария
  • Как лучше хранить картинки к товару в отдельной таблице или в той же таблице в JSON'e?

    2ord
    @2ord
    Есть мнение, что картинки лучше хранить просто в файловой системе: к ним быстрее доступ и СУБД не будет напрягаться из-за лишней генерации сетевого трафика.
    Ответ написан
    5 комментариев
  • Почему GitHub.com до сих пор частично недоступен?

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

    trevoga_su
    @trevoga_su
    но я собираюсь хранить не только оригинал, а ещё 200, 400 px width
    cloudinary.com

    мало опыта, только придумал вот такое, а именно по дате например /p/2016/12/03/23/45/12/имя.jpg
    не надо изобретать велосипед
    md5 от имени файла + соль какая-нибудь
    получаем что то типа 2cb126f9bd4e36cc8818183c785879d7.jpeg
    далее пишем скрипт который создает нужное кол-во уровней:

    /i/150x100/2/c/b/2cb126f9bd4e36cc8818183c785879d7.jpeg

    На, вот моя приблуда для генерации

    $directory_generator = new Krugozor_Utility_Upload_DirectoryGenerator(/* имя загруженного файла */);
    
    // создали директорию в THUMBNAIL_150x100...
    $directory = $directory_generator->create(DOCUMENTROOT_PATH . Krugozor_Registry::getInstance()->UPLOAD['THUMBNAIL_150x100']);
    
    // отресайзили...
    $creator = Krugozor_Thumbnail_Factory::create(
    	DOCUMENTROOT_PATH . Krugozor_Registry::getInstance()->UPLOAD['THUMBNAIL_ORIGINAL'] . $upload->getFileNameWithExtension(), 
    	$directory . $upload->getFileNameWithoutExtension()
    );
    $creator->setResizedWidth(150);
    $creator->setResizedHeight(100);
    $creator->resizeFixed();
    
    // http-путь до картинки
    $this->getView()->path_to_image = $directory_generator->getHttpPath() . $creator->getFileNameWithExt();
    Ответ написан
  • Как подходить к решению нетривиальных задач?

    Привет.

    Всегда использую модель боли:

    1) Смотришь задачу
    2) Пытаешься её решить
    3) Понимаешь, что ты тупой идиот, который ничего не может.
    4) Поднимаешь в помощь гугл
    5) Поднимаешь в помощь литературу
    6) Спрашиваешь ребят на тему: "почему так, а не иначе".
    7) Выполняешь задание, осознавая, что ты тупой, раз на решение этой задачи тебе пришлось потратить столько времени.

    Повторить до бесконечности, и ты станешь профи.
    Ответ написан
    7 комментариев
  • Загрузка файлов к несуществующей записи?

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

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

    Имхо, один из самых надежных, гибких и простых вариантов.
    Ответ написан
    Комментировать
  • Вопрос по yii и общая теория?

    Akdmeh
    @Akdmeh
    PHP, Yii2, Music
    1) Намного быстрее. И вы делаете сайты вместо того, чтобы копаться в архитектуре и пытаться постоянно усовершенствовать свой код, который к сайтам имеет посредственное отношение
    2) самому прописать в конфигах, почитайте об этом в главе о настройке/установке Yii
    3) Можно, но это довольно условно. Начните с basic-шаблона, для начала его хватит, а когда поймете базовые концепции и овладеете фреймоврком - сможете разобраться с advanced. Впрочем, можно пойти третьим путем и самому себе создать базовый шаблон, который вам подходит во всем.
    4) обычно на чистом PHP пишут шаблоны (это позволяет удобно подключать штатные виджеты и методы), но есть библиотеки для интеграции Smarty и Twig при необходимости
    Ответ написан
    3 комментария
  • Постепенная загрузка изображения?

    aliencash
    @aliencash
    Партизан
    Это прогрессивный jpg. Погуглите. Тут не надо ничего выдумывать.
    Ответ написан
    1 комментарий
  • Как фронтендиру создать хорошее веб приложение не зная php?

    @LiguidCool
    Можно банально юзать CMF/CMS, например ModX.
    Советы по поводу NODEJS я бы слушать не стал. Дело в том, чтоб писать на ноде нужно хорошее знание языка и понимание асинхронности. Иначе это местами рабочий говнокод.
    PHP имхо более юзерфрендли и менее придирчив к говнокоду. Ну и банально заказов больше на PHP.
    Ответ написан
    Комментировать
  • Как вы защищаете сервер от взлома?

    selivanov_pavel
    @selivanov_pavel
    Linux admin
    - еженедельный бекап - ИМХО слишком редко, хотя бы ежедневный
    - после обновлений не забывать перезапустить сервисы, которым нужно подхватить новые либы. Можно посмотреть, что требует перезапуска, с помощью needrestart -r l
    - веб-приложения можно закрыть WAF. Есть modsecurity, есть naxsi(только для nginx). Но это требует значительного времени на настройку и поддержку
    - можно поставить HIDS, например ossec. После грамотной настройки ловит подозрительную активность, надо не забывать регулярно просматривать отчёты
    - можно поставить NIDS: snort, suricata
    - можно почитать PCI DSS и реализовать понравившиеся моменты
    Ответ написан
    3 комментария