Мимо проходил и со свифтом не дружу, но у вас там конструкции наподобие SPRequestPermissionAssistant.modules.dialog.interactive.create(with: [.Camera, .PhotoLibrary, .Notification])
это норма? Нельзя чтоли напрямую импортировать конкретные модули/методы и использовать их по-человечески? Аля
import { interactive } from '%пути к модулю либы%';
interactive.create(%stuff%);
Изначально ожидал увидеть что-то внятное, казалось бы такой простор для фишек и оптимизаций. В итоге единственная интересная часть про infinite scrolling описана в стиле «ну мы там написали свое кастомное решение, которое делает всякие штуки, но никаких кусков кода вам не покажем».
Все остальное — либо капитанство, либо какой-то треш в стиле «раньше наш код писали студенты за еду». Чего только стоит откровение, что раньше у них redux store апдейтился при КАЖДОМ keypress во время написания драфта твита! (и затем они додумались перенести логику с вычислением лимита знаков в state компонента, ВАУ!). Причем там даже дебаунс, хотя бы на 200мс, не был прикручен. Как такое вообще прошло код ревью?
Даже не знаю что печальнее — уныние и чрезмерная толстота этого поста, или тот факт что на хабре снова находится толпа индивидуумов, на полном серьезе обсуждающих такое…
Народ, я вот сам из мира JS со всеми этими новомодными баззвордами и тулзами и так далее. И мне вот не особо понятно — как в столь серьезном проекте, написанном явно не студентами (надеюсь), могут находиться столь примитивные ошибки, наподобие той что можно узреть в функции setActive, там где переменная сравнивается сама с собой?
Я у себя на проекте если пробел после запятой не поставлю, мне линтер из монитора в лицо плюнет и выдаст ошибку на весь экран вместо вебсайта. А уж задетектить сравнение переменной с самой собой, ну это же вообще детский сад, мне кажется все эти навороченные ИДЕ, которые грузятся пару лет, должны уметь делать такое по умолчанию (в то время как я сижу с Sublime Text и парочкой плагинов сверху, и весь линтинг динамически происходит там же не отходя от кассы).
В общем моя не понимать, как такой код попадает в продакшен (я уж молчу про тесты и все такое).
Вам бы в опросах заменить «хабр» на нечто более общее, хабр уж слишком нишевый вариант.
У меня на работе с самореализацией проблем нет, меня в общем то и взяли на основании моего твиттера (постучавшись туда) и опенсоусной фигни, ссылки на которую я там выкладывал. Хотя компания не в россии, на родине количество руководителей с тараканами в голове конечно высоковато.
Серверный рендеринг не везде нужен. У изоморфного рендеринга по сути дела 2 преимущества — индексация и снижение нагрузки на клиент, если для рендеринга данных требуются дата-процессинг и подобные вещи (аля всякие мудреные чарты с кучей около-реалтайм данных и прочее).
Если же вы пилите обычную аппу, в которой боту-индексатору дальше страницы логина не пробраться, а трудоемких вычислений для рендеринга не имеется, то изоморфик будет лишь создавать лишнюю головную боль, ни давая никаких реальных преимуществ.
Какие ужасы. Классы без специфичных префиксов, то есть с такой фигней только мини-лендинг на коленке набросать можно и больше никогда к нему не прикосаться. Отсутствие каких-либо стайлгайдов даже на базовом уровне, то есть просто от балды выбраны названия классов и структура блоков, а сверху еще инлайн стили, лолчто?
>Третий вариант неплох, но до сих пор мы как-то обходились без таск менеджеров. Добавлять их в проекты ради такой задачи это явный overkill.
Вы уж меня простите, но вы там командой чтоли лендинги какие-то пилите? В 2017 году без таск-раннеров и линтинга со старта это жесть какая-та.
В любом нормальном проекте линтер должен прогонятся после каждого изменения кода, + обязательный прогон перед пушем (вместе с тестами), чтобы не пропустить никакую фигню. И для такого не обязательно иметь большую и серьезную команду, уже с двумя разработчиками жизнь без таких вещей превращается в ад.
Вы как бы по большей части правы, но тут есть один важный момент — обучаться «как делать правильно» после того как что-то слепил на коленке становится в 100 раз проще и интереснее, когда ты уже увидел результат своими глазами (ибо сам слепил) и теперь понимаешь всю боль, связанную с неумением организовывать код, делать его понятным, поддерживаемым и так далее. Если бы он все делал «как надо» со старта по книгам и так далее, то он бы скорее всего забил через неделю, уснув в очередной раз на какой-нибудь главе заумной фундаментальной книги, недоумевая, как же ему эта информация поможет в создании сайта для серферов.
Я вот например фундаментальные книги по JS сел читать только через полгода+ клепания всего подряд с jQuery, ибо мне в начале был важен результат (а глаза у меня были горящие) и только лишь со временем я начал понимать, что мне не хватает понимания того, как все это работает без сахара. И читать все эти книги было намного интереснее и проще, четко осознавая суть и предназначение каждой главы, вспоминая реальные примеры из жизни, а не аморфные куски кода.
Зачем вы себя ограничиваете своим городом, который к тому же судя по всему является болотом? (no offense)
Даже если нет сил на переезд в столицу или еще куда, начните с работы по удаленке. Платить будут так же или даже больше, работать можно будет существенно меньше (зависит от ваших скиллов планирования/исполнения) и появится уйма времени для реализации третьего пункта из статьи (пилить всякие пет-проекты, участвовать в опен-соус разработке и так далее).
Это намного проще чем кажется, просто надо перестать бояться и мыслить настолько ограниченно.
Вот моя демка с примером — http://codepen.io/suez/pen/AXQaEg
— простые mixin'ы для оверрайда свойств на основании класса у удаленного родителя.
— множество обычных переменных с таймингами и так далее.
— scoped переменные внутри элементов и циклов для удобства.
— BEM naming с помощью &__ и подобных вещей.
— циклы с интерполяцией и подобными плюшками.
JS в демке лишь добавляет/убирает 1 класс к двум элементам.
2017 год, а у людей сложность стилей в препроцессорах заканчивается на примитивном нестинге. Сколько не слежу за этим бредовым хайпом вокруг css in js, все никак не могу найти ни одного внятного примера более менее сложных стилей. Тут даже от примитивных примеров глаза вытекают, а как интересно будет выглядеть цикл по 10+ элементам, с использованием nth-child, где внутри будут использоваться миксины, «обратные» переопределения на основе классов на далеком родителе и так далее?
Ну не пользовались этим люди SASS'ом на полную катушку, ну зачем они пытаются другим впарить что вот этот франкенштейн чем то лучше, если он пока что абсолютно точно уступает по всем фронтам, когда дело доходит реальной препроцессорной css магии.
Можно каждое условие на следующую строчку переносить. В моем мировозрении множественные if нужны, когда внутри веток делается что-то кроме возвращения boolean.
Если бы был пример на руках, я бы его привел в первом комментарии. Просто помню что видел много разнообразных градиентов от Ana Tudor на codepen, и многие из них дико тормозили с анимациями на моем компе, в то время как у нее и некоторых других юзеров все было идеально. Сейчас пытался найти но не получилось, уж слишком много у нее демок.
Я видел множество примеров где простой (в плане внешнего вида) градиент чуть ли не убивал браузер, из-за слишком большой сложности в плане отрисовки. Естественно речь идет о случаях когда параллельно шла тяжелая анимация. С картинкой там бы все было легко и просто.
К сожалению такие вещи почти неюзабельны в реальном мире, подобные комплексные градиенты очень тяжелы для браузера. Добавите к сайту всяких анимаций и прочей фигни и половина компов с некоторыми браузерами просто сдохнет (тут именно фишка в разных сочетаниях, встречал много демок которые у создателя «летали», а на моем 3хлетнем средненьком ноуте я лицезрел лагодром с 15 фпс). В плане прожорливости, готовая картинка с повторением это просто детский сад, на фоне подобного градиента.
1) Вопросы просто какой-то трешняк, прям сразу вспомнились экзамены в шараге в которой я учился, где лишь бы спросить какую-то фигню для зазубривания.
2) Техническое интервью по телефону, да еще и с роботом-рекрутером? Что? Я вообще удивлен что он все ответил, ибо ему видимо стало весело и он решил до конца потроллить. Я бы наверное после 1 вопроса сказал бы им идти лесом с таким отношением к людям, ведь он же не с мороза прям звонок получил, высылал людям резюме и так далее. Это просто банальное неуважение, когда к людям с вполне видимым послужным списком (и набором реальных ачивок) относятся как к каким-то студентам, которые наугад понаписали баззвордов в резюме и отправили его, авось прокатит. Его должны были сразу заинвайтить на реальное интервью с каким-нибудь адекватным спецом, который с радостью бы с ним пообщался. Чую там в HR отделе цирк творится.
3) Все что касается продолжения с 3 аккаунтами чего-то там и постами в линкедине — тушите свет. Не знаю как дела обстоят в мире C и подобных языков, но если бы такая тема произошла во фронтенде, то там бы в первую неделю уже сгорел бы весь твиттер и сразу бы подключились люди уровня Paul Irish/Addy Osmani и так далее.
Вы о TopTal. Но у них вроде как нету обязательных 40 часов, там можно самому выбирать фуллтайм/парттайм с примерным указанием часов (по крайней мере полтора года назад так в инфе было).
Это по сути дела копия топтала, то же описание, те же «уловки» со всеми этими «крутыми компаниями из fortune 332142». На деле, если не ошибаюсь, они клиентам впаривают вас как супергуру 99лвл с ценником N, вам платят что-то около N/2 и намертво блокируют «прямое» общение с клиентом. Там в соглашении много всякой неприятной фигни прописано.
SPRequestPermissionAssistant.modules.dialog.interactive.create(with: [.Camera, .PhotoLibrary, .Notification])
это норма? Нельзя чтоли напрямую импортировать конкретные модули/методы и использовать их по-человечески? Аля
А то прям жуть какая-та.
Изначально ожидал увидеть что-то внятное, казалось бы такой простор для фишек и оптимизаций. В итоге единственная интересная часть про infinite scrolling описана в стиле «ну мы там написали свое кастомное решение, которое делает всякие штуки, но никаких кусков кода вам не покажем».
Все остальное — либо капитанство, либо какой-то треш в стиле «раньше наш код писали студенты за еду». Чего только стоит откровение, что раньше у них redux store апдейтился при КАЖДОМ keypress во время написания драфта твита! (и затем они додумались перенести логику с вычислением лимита знаков в state компонента, ВАУ!). Причем там даже дебаунс, хотя бы на 200мс, не был прикручен. Как такое вообще прошло код ревью?
В общем столько пафоса от статьи, а на деле пшик.
Я у себя на проекте если пробел после запятой не поставлю, мне линтер из монитора в лицо плюнет и выдаст ошибку на весь экран вместо вебсайта. А уж задетектить сравнение переменной с самой собой, ну это же вообще детский сад, мне кажется все эти навороченные ИДЕ, которые грузятся пару лет, должны уметь делать такое по умолчанию (в то время как я сижу с Sublime Text и парочкой плагинов сверху, и весь линтинг динамически происходит там же не отходя от кассы).
В общем моя не понимать, как такой код попадает в продакшен (я уж молчу про тесты и все такое).
У меня на работе с самореализацией проблем нет, меня в общем то и взяли на основании моего твиттера (постучавшись туда) и опенсоусной фигни, ссылки на которую я там выкладывал. Хотя компания не в россии, на родине количество руководителей с тараканами в голове конечно высоковато.
Если же вы пилите обычную аппу, в которой боту-индексатору дальше страницы логина не пробраться, а трудоемких вычислений для рендеринга не имеется, то изоморфик будет лишь создавать лишнюю головную боль, ни давая никаких реальных преимуществ.
За такое вообще на районе убивают без разговоров.
Вначале на главную проникла статья про Qiwi с nodejs 0.12 и адовой лапшой в коде, теперь вот это, что вообще происходит с хабром?
Вы уж меня простите, но вы там командой чтоли лендинги какие-то пилите? В 2017 году без таск-раннеров и линтинга со старта это жесть какая-та.
В любом нормальном проекте линтер должен прогонятся после каждого изменения кода, + обязательный прогон перед пушем (вместе с тестами), чтобы не пропустить никакую фигню. И для такого не обязательно иметь большую и серьезную команду, уже с двумя разработчиками жизнь без таких вещей превращается в ад.
Я вот например фундаментальные книги по JS сел читать только через полгода+ клепания всего подряд с jQuery, ибо мне в начале был важен результат (а глаза у меня были горящие) и только лишь со временем я начал понимать, что мне не хватает понимания того, как все это работает без сахара. И читать все эти книги было намного интереснее и проще, четко осознавая суть и предназначение каждой главы, вспоминая реальные примеры из жизни, а не аморфные куски кода.
Даже если нет сил на переезд в столицу или еще куда, начните с работы по удаленке. Платить будут так же или даже больше, работать можно будет существенно меньше (зависит от ваших скиллов планирования/исполнения) и появится уйма времени для реализации третьего пункта из статьи (пилить всякие пет-проекты, участвовать в опен-соус разработке и так далее).
Это намного проще чем кажется, просто надо перестать бояться и мыслить настолько ограниченно.
— простые mixin'ы для оверрайда свойств на основании класса у удаленного родителя.
— множество обычных переменных с таймингами и так далее.
— scoped переменные внутри элементов и циклов для удобства.
— BEM naming с помощью &__ и подобных вещей.
— циклы с интерполяцией и подобными плюшками.
JS в демке лишь добавляет/убирает 1 класс к двум элементам.
Ну не пользовались этим люди SASS'ом на полную катушку, ну зачем они пытаются другим впарить что вот этот франкенштейн чем то лучше, если он пока что абсолютно точно уступает по всем фронтам, когда дело доходит реальной препроцессорной css магии.
мне стало физически плохо, почему нельзя сделать просто
?
P.S. я понимаю что это перевод, вопрос скорее риторический.
2) Техническое интервью по телефону, да еще и с роботом-рекрутером? Что? Я вообще удивлен что он все ответил, ибо ему видимо стало весело и он решил до конца потроллить. Я бы наверное после 1 вопроса сказал бы им идти лесом с таким отношением к людям, ведь он же не с мороза прям звонок получил, высылал людям резюме и так далее. Это просто банальное неуважение, когда к людям с вполне видимым послужным списком (и набором реальных ачивок) относятся как к каким-то студентам, которые наугад понаписали баззвордов в резюме и отправили его, авось прокатит. Его должны были сразу заинвайтить на реальное интервью с каким-нибудь адекватным спецом, который с радостью бы с ним пообщался. Чую там в HR отделе цирк творится.
3) Все что касается продолжения с 3 аккаунтами чего-то там и постами в линкедине — тушите свет. Не знаю как дела обстоят в мире C и подобных языков, но если бы такая тема произошла во фронтенде, то там бы в первую неделю уже сгорел бы весь твиттер и сразу бы подключились люди уровня Paul Irish/Addy Osmani и так далее.
Это по сути дела копия топтала, то же описание, те же «уловки» со всеми этими «крутыми компаниями из fortune 332142». На деле, если не ошибаюсь, они клиентам впаривают вас как супергуру 99лвл с ценником N, вам платят что-то около N/2 и намертво блокируют «прямое» общение с клиентом. Там в соглашении много всякой неприятной фигни прописано.