Как стать автором
Обновить
0
0
Максим Афанасьев @maxfox

Разработчик

Отправить сообщение
Мне просто любопытно, какие именно 20 вкладок мне надо открыть, чтобы что-то стало тормозить… Ни разу не сталкивался, ноут 2012 года, 6 Гб памяти, SSD.
Я абсолютно серьезно, расскажите.
Если есть люди, говорящие «в этом вашем вебе все через ж...», то, наверное, есть в IT какая-то область, где все хорошо. Расскажите, пожалуйста, что это за область, я обязательно переквалифицируюсь.
А пока все ищут ту самую работу мечты, я поделюсь мыслями о вебе:
1. Доля open-source в вебе как на клиенте, так и на сервере близка к 100%. И мне это очень нравится. Какой еще сегмент IT может похвастаться тем, что проприетарный код там вообще не котируется?
2. Огромное, дружелюбное и открытое сообщество (я, конечно, имею в виду англоязычное ;) ).
3. Вакансии на любой вкус. Зарплаты, на которые вполне можно жить.
4. В конце концов, здесь реально что-то происходит. А какие последние новости, например у разработчиков SCADA? И, кстати, где их можно почитать?
Я, конечно, еще довольно молод, но я помню веб эпохи диал-апа и IE5. Так вот: веб стал лучше. Намного лучше.
Извиняюсь за оффтопик, но раз уж вы поделились опытом, хочется узнать побольше из первых рук…
1. Насколько быстро это все происходит лично у вас? Понимаю, что железо критично, предположим, что у меня 2 быстрых SSD диска. Мне важны не секунды, а личные впечатления, удобно ли прыгать между системами?
2. Пробовали ли совместить это с гибернацией?
3. Как у вас реализован обмен файлами между ОС? Linux монтирует NTFS, а в обратном направлении как? (Я не пользователь Windows, извините, если вопрос глупый).
Я бы и сам все попробовал, но, прежде чем покупать Windows, хочется понять, стоит ли игра свеч… Мне вообще от винды нужны только Photoshop и Illustartor.
С WebRTC и src-атрибутами вы привели великолепный пример, иллюстрирующий, почему это плохой вопрос. Я знаю про WebRTC и, конечно, про теги с src, но если бы мне на собеседовании задали подобный вопрос, я бы сказал — websockets и точка. Просто это не те ответы, которые приходят в голову. А значит, мой ответ ничего не скажет работодателю о моей квалификации. Он говорит лишь о том, сталкивался ли я с таким вопросом на других собеседованиях или в сети. Теперь мой ответ будет другим, но мои знания и опыт остались прежними.
А вот если бы меня спросили, как сделать видеочат на web-стеке, я бы, конечно сказал — WebRTC и рассказал бы, все, что знаю про эту технологию. Совсем другой результат. Собеседование — не место для шарад, вопросы должны показывать знания и опыт кандидата.
Я думаю, что вопрос вопросу — рознь. Например, вопрос «Какими еще способами можно получить данные от сервера не перезагружая страницу?» мне не очень нравится, т.к. все варианты, не считая websokets, будут костылями для старых платформ. Как знание магии с iframe и ActiveX должно характеризовать веб-разработчика в 2017 году? Можно и про верстку таблицами спросить… ;) Мне кажется, идеальный вопрос — это предложить задачу из реальной практики и попросить рассказать, как бы человек ее решил (с обоснованием, почему так). Это даст гораздо больше информации, нежели пара десятков теоритических вопросов.
Ну так это же замечательно — вам указали на пробелы в ваших знаниях, что может быть ценнее? Отличный шанс эти пробелы устранить и попытаться снова. Справедливости ради, ответы на все эти вопросы находятся в рамках пары-тройки статей на википедии/MDN, одного долгого зимнего вечера должно хватить. ;)
Потому что «You don't know, what you don't know». Новичок не может оценить степень своего незнания материала.
Предположим, условный новичок написал слайдер на JS, не понимая при этом замыкания, контекст вызова или даже блочную модель документа. Но оно работает. Как он должен понять, что он чего-то не знает? Web-стек изначально спроектирован так, чтобы им можно было пользоваться без глубоких знаний. Новичок решает, что он теперь все знает и идет изучать дальше, что там за AJAX такой. И на каждом углу ему суют код на JQuery, т.к. он короче и проще. Человек запоминает несколько строчек и считает, что теперь он знает, как работает AJAX. И так далее по списку…
И лишь позже человек столкнется с проблемами, которые заставят его осознать, что он чего-то не понимает в том же CSS. Естественный процесс обучения. Пытаться заставить учить все по порядку, это все равно, что заставлять ребенка учить падежи, прежде чем ими пользоваться.
Не стоит искать проблему там, где ее нет. С разработчиками все в порядке, беда с работодателями, которые не могут отличить состоявшегося специалиста от начинающего. В сознании работодателя знание технологии скорее бинарно — знает CSS/не знает CSS. В реальности же уровень знания имеет множество градаций, а потребность в том или ином уровне — зависит от задачи.
Все современные фреймворки (Backbone, Ember, Angular, React, Vue, Elm — это аж целый язык) появились в период с 2010 по 2015 и даже на самых старых пишут до сих пор. Одни сменяют другие только в заголовках статей на хабре и медиуме, на самом деле они все сосуществуют. Это скорее процесс заполнения некоей ниши, чем борьба. Сейчас она вроде как заполнилась, новые игроки будут появляться, но, наверное, уже не так быстро. (Моё личное, не претендующее на абсолютную истину, видение).
Я думаю, что в проблеме, обозначенной в начале поста, неверно выделен корень проблемы. Друг автора статьи пишет «у меня проблемы с поиском фронтенд-разработчика [...] на низкоуровневую позицию». Т.е. позицию с низким окладом.
Человек, добросовестно изучивший спецификации, знающий все хаки и нюансы имплементации CSS, навряд ли согласится на «низкоуровневую позицию». А новички, в лучшем случае, читают MDN наискосок, а в худшем — смотрят некачественные видеокурсы в стиле «HTML+CSS+JS+Jquery+PHP». Но это же новички, кто таким не был? Проблема в том, что в понимании работодателя новичок сначал учит HTML, CSS, JS в идеале, а потом берется за React, Angular, Vue… А на самом деле — новички учат все это параллельно и знают всего понемногу. Поэтому нет специалистов только по CSS и JS. Спциалист знает и базу, и фреймворки/библиотеки. Поэтому стоит дорого. Проблема решается просто — платите больше и к вам придут хорошие специалисты.
И кстати, вот еще один фактор: если по 8 часов в день писать только HTML и CSS, то можно и головой тронуться. ;)
Я думаю, имеется в виду, что у вас есть опыт в разработке на других технологиях, знание JS, уверенные навыки работы в командной строке и умение читать документацию на английском… Тогда да, недели должно хватить.
И не стоит забывать, это npm и webpack — это всего лишь инструменты, упрощающие разработку. Их знание не делает вас фронденд-разработчиком.
Вы в этом желании не одиноки, но, судя по тому что никто пока не написал — это не так просто, как кажется.
Наиболее очевидный путь — это ORM на JS, умеющая фронтенд. Но не все хотят JS на бэкенде…
А еще есть PouchDB, которая синхронизируется непосредственно с CouchDB. Но вот CouchDB использовать не очень хочется, да и не всегда нужно тащить данные на клиент.
Как-то не встречал активно агитирующих вимеров, чаще наоборот — пользователи IDE пытаются доказать, что ты не прав и должен обязательно пользоваться их любимой IDE (возникает ощущение, что у JetBrains есть какая-то секретная реферальная программа). Мне вообще все равно, кто в чем пишет код, главное что мне удобно. А уж то, что вимеры, которых насильно сажают за IDE, начинают нервно материться… Ну, представьте, что вам оставили два пальца из десяти и заставили печатать — ощущения похожие. Это просто привычка, тут нет никакой идейной вражды. Наверное, так же себя ощущают люди, привыкшие к dvorak, если их усадить за машину с qwerty — беспомощно.(Сам я dvorak не пробовал, так что не знаю).
Т.е. у вас CMS на базе Django отдает данные через REST, а React рендерит HTML на сервере? А чем это хуже использования Django и для рендеринга тоже? Какой профит дает React?
А может кто-нибудь рассказать про эти headless cms? Это вроде облачной БД с REST API и веб-интерфейсом для редактирования? А я у себя на сервере (ну, можно и на клиенте) через API получаю данные и генерирую HTML?
Если у кого-нибудь есть опыт работы с такими штуками, расскажите пожалуйста. А то в гугле по запросу «headless CMS» гораздо больше странных статей вроде этой, а реальных продуктов с нормальной документацией — не густо.
Хотелось бы услышать мнение профессиональных дизайнеров на тему бесплатных шрифтов с качественной кириллицей. А то часто шрифт хороший, а кириллица — ужасна. Я вот, не являясь дизайнером, могу лишь сказать, что что-то не так… А вот выбрать хороший шрифт мне так и не удалось. Читал кого-то из отечественных шрифтовых дизайнеров на эту тему, но теперь уже не вспомнить, где и кого.
Мне Raleway последнее время приглянулся, но кириллица на фоне латиницы смотрится бедновато. Все же у Raleway шикарная W, в кириллице ничего похожего нет…
По личному опыту — partial полезен там, где есть работа с callback'ами. Т.е. некий API хочет получить от вас функцию, чтобы потом ее использовать, а у вас уже и функция готовая есть, но беда в том, что ей нужны аргументы. А модуль, принимающий вашу функцию, этих аргументов ей не передает. Тут нас выручает partial, он как-бы фиксирует значения некоторого количества аргументов (на самом деле, создает обертку вокруг вашей функции). Если вам не нужно работать с callback'ами, то скорее всего и partial не пригодится.
Да, и как уже отметили выше, каррирование (carrying) и частичное применение (partial application) — это разные вещи.
Chromium под Linux загружает одно ядро в течении пяти секунд, расход памяти вырастает до 1.5Гб (С 750Мб). Через пять секунд выдает ошибку «Something went wrong while displaying this webpage».
Python-скрипт с requests.get выжирает всю доступную пямять, после чего убивается системой.
Curl без параметров просто скачивает 10Мб файл.
Curl c --compressed выжирает всю доступную память и одно ядро и честно сохраняет 10Gb файл. Около 30 сек.
Вообще, для простых сканеров уязвимостей это может действительно стать проблемой, скорее всего процесс будет убиваться системой, как в случае с python-скриптом. Но пофиксить это будет несложно.
ЭКЛЗ, как и его нынешний брат-близнец ФН (фискальный накопитель), конечно, никакая не write-only память. Законодатель подразумевал память, защищенную от корректировки, хотя она таковой, конечно, не является. Внутри обычная флеш-память, просто имеющийся интерфейс не позволяет производить корректировку, при должном желании и умении, это можно сделать.
Как соединить два провода?

Использовать разъём?
Я не могу ничего утверждать в рамках предложенной уважаемым автором концепции. Всего лишь задаю уточняющий вопрос. Есть ли основания считать иначе? Применительно к романам Донцовой — нет, но в целом, такой трюк едва ли удастся повторить с гравитационной постоянной или числом Пи (которые, вне всякого сомнения, являются информацией). Тут можно сказать, что носителем информации применительно к этим константам является сама вселенная. Ок. А алгоритм Дейкстры? Если он будет утерян по принципу «донцовицида» (спасибо автору за термин), исчезнет ли он совсем? С одной стороны, вселенная едва ли является его носителем (он оперирует совершенно нематериальными сущностями), с другой — вполне вероятно, что он будет переизобретен позже в виде, идентичном исходному.
Хочу подчеркнуть, что я ничего не утверждаю, у меня по этому вопросу пока нет какого-то мнения. Просто интересуюсь точкой зрения людей, более искушенных в вопросах философии.

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность