Jump to content

abrahadabra

User
  • Posts

    294
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by abrahadabra

  1. если чуть внимательнее посмотреть, то там не просто смещение, а выход за рамки во все стороны, но только снизу: https://jsfiddle.net/37dc9evo/1/
  2. если не брать бутстрап, то придётся все те же самые стили писать самостоятельно. Это точно надо? Обведены и помечены цифрами филдсеты. В каждом из них по 6 групп, выстроенных тупо через float:left Что-то типа: <form className="form"> <fieldset className="form__section"> <div className="form__group"> <label className="form__group_label">Название организации</label> <input className="form__group_input" value={this.state.company} /> </div> <div className="form__group"> <label className="form__group_label">Город</label> <input className="form__group_input" value={this.state.city} /> </div> <div className="form__group"> <label className="form__group_label">Контактное лицо</label> <input className="form__group_input" value={this.state.person} /> </div> /* … тут ещё поля */ </fieldset> /* тут ещё филдсет */</form> ну и соответственно стили: .form &__section margin-bottom: $fieldSectionBottomGap &__group @extend .form-group &_label color: $labelColor font: weight: bold family: someFontFamily, sans-serif &_input @extend .form-control
  3. Так а чем не устраивает стандартная структура по сетке с обычными группами полей?
  4. давайте скрин, попробуем подсказать.
  5. конечно можно. принципы работы сайтов одинаковы, независимо от языка; если документацию никому не показывает, значит никто не знает, никто не видит явных ошибок в реализации языка, и эти ошибки не исправляются; а платят-то сколько за взлом? А то может оно того и не стоит… Об этом можно найти много интересного в гугле по запросу "DSL"
  6. да нет же! Цикл вообще не по массиву, а по последовательности целых чисел. А уж массив какой есть, к такому и обращаемся на каждом шаге, на каждом же шаге его модифицируя.
  7. да, всё так. Код строго под задачу: из массива выносятся все нули и ставятся в конец. на первом шаге индекс 0. Смотрим на элемент с индексом 0 — он 0. Перемещаем. Получаем. [0, 0, 1, 0] на втором шаге индекс 1. Смотрим на элемент с индексом 1 — он 0. Перемещаем. Получаем. [0, 1, 0, 0] на третьем шаге индекс 2. Смотрим на элемент с индексом 2 — он 0. Перемещаем. Получаем. [0, 1, 0, 0] на четвёртом шаге индекс 3. Смотрим на элемент с индексом 3 — он 0. Перемещаем. Получаем. [0, 1, 0, 0]здесь всё понятно?
  8. ага, есть такой грешок Предыдущий вариант можно безжалостно в помойку. Вот теперь протестированный и рабочий вариант: function moveZeros(some) { let result = [], tail = []; for(let i = 0; i < some.length; i++) { if(some[i] === 0) { tail.push(some[i]); } else { result.push(some[i]); } } return result.concat(tail);}
  9. да не вопрос, можно и без вспомогательных переменных: function moveZeros(some) { for(let i = 0; i < some.length; i++) { if(some[i] === 0) { some = some.concat(some.splice(i, 1)); } } return some;}
  10. width: 100% означает именно ширину в 100% от родителя. Естественно, этот блок размещается там, где такая ширина доступна, то есть под левым блоком. Убирайте эту ширину, да и float:right убирайте. Если нужно, чтобы колонка оставалась колонкой с фоном, можно позволить себе грязный хак overflow: hidden. А самое лучшее — не страдать ерундой, а сделать всё через flexbox, с ним такие вещи делаются элементарно.
  11. str = some.splice(i, 1);str = str.push(some[i]);оно ли?
  12. да ну нет же. Даже близко нет. Начать с того, что синтаксис совсем другой. Продолжить тем, что код более красивый и понятный. Ну вот например, прямо из текущего проекта (просто что прямо под рукой оказалось): class VacancyList extends ItemList { get matchingQuery() { let qs = this._location.query, matched = super.matchingQuery; if ('salary' in qs){ let salary = parseInt(qs['salary']); if (!isNaN(salary) && salary > 0) { matched = matched.filter((d)=> parseInt(d.salary) >= qs['salary'] ); } } return(matched); }}Как то же самое было бы на питоне: class VacancyList(ItemList): def getMatchingQuery(self): matched = super().getMatchingQuery() try: salary = self._location.query.qs.salary if salary > 0: return [ d for d in matched if d.salary >= self._location.query.qs.salary ] except (AttributeError, TypeError): pass return matched
  13. Пока что удавалось без проблем.
  14. так в IE9 смысла-то и нет никакого. Если IE8 ещё хотя бы из-за WinXP поддерживают, то для IE9 вообще ни одного разумного основания нет.
  15. есть пожелания? Откровенно говоря, необычное пишу редко. Просто сейчас проект на YII2, где простые вещи делаются сложно, само собой в процессе работы получается сравнивать с любимыми Python/Django, отнюдь не в пользу как php, так и YII2, так и прочих фреймворков, вдохновлённых рельсами.
  16. IE… да ладно! От IE хотя бы ожидаешь странного поведения. А Safari? А Firefox? Топ-2 впечатлений осени 2015: В довольно свежем Safari не работает fetch. Пришлось задействовать полифилл; Firefox чудит с http-заголовками в ajax-запросах, не всегда можно на сервере определить, открыт ли адрес в браузере как отдельная страница или запрошен скриптом, пришлось для ajax-запроса get-параметр добавлять.
  17. Лозунги оставим политикам :-) А по существу ведь могу обосновать. Не знаю, позволяет ли формат форума? Я тут новичок, правила правилами, а традиций не знаю. Мэтры дадут добро — прямо с примерами кода могу, как делаются некоторые вещи на php, ruby, js, coffeescript и python — это языки, на которых пишу по работе, другие не имею возможности сравнивать. Сегодня выходной, почему бы и не побаловаться таким :-)
  18. 1024 ну никак нельзя игнорировать. Это же всякие планшетики и некоторые нетбуки. iPad есть с таким разрешением, из не последних моделей. На этапе согласования с заказчиком поднимате три важных вопроса, от которых будут зависеть сроки и цена. «Будут зависеть сроки и цена» — это ключевая фраза, на которую у заказчика включается внимание. Если этой фразы не сказать, велики шансы, что вашим словам не придадут значения. Так три вопроса: поддержка браузеров, пиксель-перфект и адаптивность. Слова-то все какие-то непонятные, надо объяснить, да? Вот и объясняете. Заказчик же получает красивую картинку от дизайнера, и не задумывается, что это ещё и сверстать надо как-то для разных экранов. Требует попиксельного соответствия макета на 1920, но чтобы в телефончике умещался строго в экран. У вас было такое? У меня было. Как только заказчик понял, что ситуация сложнее, чем ему казалось, предлагайте варианты. Не перекладывая ответственность на дизайнера. Если дизайнер не предусмотрел адаптивность, это говорит о его профессиональном уровне или отношении к проекту. Верстать макеты, сделанные непрофессионалом — это же то ещё удовольствие, не так ли? Хорошо всё равно не получится. Бывают, конечно, случаи, когда заказчик утверждает, что малые разрешения ему не важны, что его не интересуют люди, заходящие с планшетов и телефонов. Если видите, что заказчик такое утверждает, полностью осознавая, что это значит, и если вы уверены, что не всплывёт под конец работы спорная ситуация, и если это не противоречит вашим убеждениям, то почему бы и нет — можно и кирпич на 1200 сверстать.
  19. Конечно же, действительно об этом должен дизайнер позаботиться. Но если охота решиться самостоятельно, покажите хотя бы макет. Можно например в зависимости от ширины экрана масштабировать всё, включая шрифты. Ширину элементов раскладки в процентах, размер шрифта в vw.
  20. Он востребован? Каждый второй проект на питоне, если точнее, то на Django. Но дело даже не в востребованности. Востребованность будет, если предлагаете услуги достойного уровня. Недавно на моих глазах человеку удалось найти работу с программированием на фортране Если себя любите, то обратите внимание на Python: это самый красивый, лаконичный и выразительный язык.
  21. так-то оно так, но подвох в том, что нода подкралась столь хитро, что используем её и даже не задумываемся о том, что это происходит. А где дев-сервер для разработки фронтэнда, там волей-неволей закрадывается крамольная мысль, что может и никакой nginx даром не нужен и на боевом сервере. А порой сделаешь что-нибудь на сокетах, и таковая крамольная мысль так и вовсе уверенно себя чувствует Я всего лишь о том, что нода неизбежна, и никуда от неё, родимой, не деться.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy