Как стать автором
Обновить
10
0
Андрей И @andrew011010

Frontend dev

Отправить сообщение

Как я проходила собеседования в Яндекс: мой непростой, но успешный опыт

Время на прочтение7 мин
Количество просмотров244K
Уже чуть больше полугода я работаю в поиске Яндекса релиз-инженером. И чуть ли не с первого рабочего дня хочу написать о том, как отзывалась на вакансию, как проходила собеседования, что мне в этом процессе понравилось, а что — не очень. Но сначала я входила в курс дела, а потом каждый день в моей работе появлялись такие интересные задачи, что я даже не была готов отвлечься от них на этот рассказ.

Вопрос для внимательных: сколько модулей отломится от корабля на старте?


А еще год назад у меня в жизни была вроде бы похожая, но в то же время совсем другая ситуация — времени на хобби не хватало, задач было много, но они не приносили мне никакого удовольствия. В итоге я решилась на перемены. На самом деле, эта позиция в Яндексе не была первой, которую я рассматривала. За то время, которое прошло до моего первого рабочего дня, я освежила в голове очень много тем. И перед финальным собеседованием мне пришлось взяться ещё за несколько. Сейчас я понимаю, какие ошибки совершила в этом процессе, поэтому хочу поделиться своим опытом с вами. Буду рада, если кому-то это будет полезно. Хочу сказать, что это не официальные рецепты от рекрутеров Яндекса, а только мои собственные выводы. В конце поста я поделюсь списком литературы, которая мне помогла в подготовке, и еще добавлю те источники, которые считаю полезными, оглядываясь назад.

Читать дальше →
Всего голосов 112: ↑87 и ↓25+62
Комментарии84

Сделай сам: MSc Computer Science на уровне топ американских университетов из дома

Время на прочтение12 мин
Количество просмотров161K

Вступление


Давно хотел написать статью про образование в Computer Science, но руки не доходили. Решил все-таки это наконец сделать. Итак, о чем пойдет речь? Речь о том, что из себя представляет диплом MSc Computer Science топовых университетов США (во всех подробностях, включая основные курсы, книги и проекты) и как ему соответствовать.

Почему именно MSc? Это — некая развилка: с одной стороны после MSc — вы уже готовый к жизни инженер (да, речь идет о инженерной подготовке, как мне кажется это самое больное место в нашей системе образования), с другой — можно спокойно идти по пути PhD. Как известно, в PhD программу можно попасть и не особо умея программировать — особенно это касается теоретического Computer Science. С другой стороны найти работу программиста тоже дело не очень сложное, и часто не требует мощного образования. Но достигнув уровня MSc — вы получаете возможность разбираться как во всех новый идеях в Computer Science, так и возможность их воплотить в практику. То есть с одной стороны круто разобраться в каком-нибудь deep learning и сделать в нем что-то новое, а также взять и написать свою операционную систему (кто так сделал?). Причем вы не зажаты в рамки узкой специализации (если конечно продолжаете учиться). То есть вы теперь — универсальный солдат, готовый на все.

Надеюсь что эта статья будет полезна:
1. Студентам, которые хотят соответствовать высоким стандартам топ вузов США, или собирающиеся туда в аспирантуру по Computer Science
2. Профессионалам, которые хотят закрыть «дыры» и пробелы
3. Может кто-то из преподавателей возьмет на заметку для своих курсов.
4. Студентам, аспирантам американских вузов — хотелось бы тоже получить фидбэк, особенно касается последних трендов в образовании

Что же здесь будет написано? Минимум философии и общих мыслей: конкретная программа undergraduate и graduate курсов, конечно из дисциплин наиболее мне близких. Все курсы были лично прочувствованы на собственной шкуре, по этому и пишу. (Я пытался записаться на все интересные курсы, которые были, но мой основной упор — системное программирование, базы данных и искусственный интеллект. Отсюда конечно некий bias, но пытаюсь предложить более-менее универсальную программу).
Читать дальше →
Всего голосов 86: ↑81 и ↓5+76
Комментарии64

300 потрясающих бесплатных сервисов

Время на прочтение11 мин
Количество просмотров1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Всего голосов 341: ↑325 и ↓16+309
Комментарии107

Классификация знаний в области программирования

Время на прочтение7 мин
Количество просмотров188K
2 года назад я написал статью о классификации знаний в области программирования. Это было на волне интереса и моей активной деятельности по самообразованию в компьютерных науках. Написал статью и забыл о ней. Публиковать на Хабре не собирался. В конце концов, она базируется на моем личном опыте и знаних, которые могут оказаться весьма субъективны.

Недавно, на фоне постоянно поступающих вопросов «как научиться программированию?», я вспомнил про этот материал и перечитал его. Прошло уже 2 года, пополнился опыт, добавились знания, изменились взгляды. Но эта статья для меня не утратила актуальности, и я не нашел почти ничего, что хотел бы в ней изменить. Мне показалось, что она все же достойна публикации. И, возможно, кому-то она поможет в собственном профессиональном развитии.

Но прежде, чем «запустить» материал, еще небольшое отступление. О том, почему вообще я все это писал. Дело в том, что у нас в странах бывшего СССР с образованием в области IT очень туго. С одной стороны нет программ обучения, которые подготовят специалистов на должном уровне (наверное, за очень редкими исключениями, которые можно отнести к погрешности). С другой стороны, из-за широких возможностей самообразования, программисты и не спешат учиться в ВУЗах — все стремятся начать практиковать как можно раньше. Часто изучается только одно направление (например PHP+Mysql — самое популярное) и в бой. Причем, на этом все заканчивается. В итоге у нас огромное количество программистов, которые и базовых вещей не знают. Отсюда вытекают проблемы с качеством кода, и с эффекивностью алгоритмов, с велосипедированием.

Но программирование — это полноценная область знаний, которая требует в том числе и инженерной подготовки. Точно так же, как строительство или телекоммуникации. Да, построить дом (особняк) можно своими руками и без образования. А поднять большинство сайтов можно прочитав пару книг по PHP и HTML. Но многоэтажку без специальной подготовки не построишь, как и Гугл не напишешь, не зная основ.

Возможности для самообразования в компьютерных науках сейчас огромны. Единственное, чего не хватает, — это системности подготовки. Как разобраться, что и в какой последовательности изучать? Мне кажется, что этот материал поможет разложить по полочкам области знаний в компьютерных науках и составить для себя программу изучения по книгам. Выбор книг — тема отдельная, в рамки статьи не входит, но это можно обсудить в комментариях.

Поехали.
Читать дальше →
Всего голосов 78: ↑57 и ↓21+36
Комментарии52

Делаем игру 2048 на AngularJS

Время на прочтение32 мин
Количество просмотров49K
Наверное, вам, как и многим коллегам, пришлась по вкусу игра «2048», в которой необходимо достичь плитки с числом 2048, собирая вместе плитки с одинаковыми числами.

В этой статье мы вместе построим клон этой игры при помощи фреймворка AngularJS. По ссылке можно посмотреть демонстрацию конечного результата.
Читать дальше →
Всего голосов 71: ↑58 и ↓13+45
Комментарии15

Проведение аудита CSS: Таблицы стилей не должны быть ужасными

Время на прочтение4 мин
Количество просмотров12K
Когда мы начинаем работу над существующей базой кода, в первую очередь нужно провести аудит CSS. Основной вред от плохо организованных и запущенных CSS-таблиц заключается в замедлении процесса разработки, так как команде разработчиков приходится пробираться через дебри кода, и в нерабочем сайте, в случае если неверно определенные селекторы становятся причиной коллизий и наложения стилей.

Такой аудит помогает оценить, насколько хорошо организованы CSS-таблицы проекта, насколько соответствует конвейер, отвечающий за их оценку и сборку, современным требованиям, а также насколько хорошо структурирована и дисциплинирована команда, занимающаяся написанием CSS. Здесь перечислены некоторые шаги, которые можно использовать для проведения собственного аудита CSS:
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии1

Список YouTube-каналов для обучения веб-разработке

Время на прочтение2 мин
Количество просмотров217K
image


Привет, хабражители!

Представляю вам список YouTube-каналов для обучения веб-разработке. Список доступен на гитхабе, там он будет пополняться и редактироваться. В планах — создание отдельной странички для фильтрации каналов по тегам и рубрикам.

Также хочу попросить вас о небольшой услуге: если вы знаете канал, не вошедший в список — опубликуйте ссылку на него в комментариях или отправьте pull request. Сообщество будет благодарно вам.

Под катом — текущая версия списка.
Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии16

Сообщения в глубине: удивительная история подводного Интернета

Время на прочтение44 мин
Количество просмотров211K
Интернет — неотъемлемая часть нашей жизни, невероятно сложная сеть, строившаяся на протяжении многих лет, фактически — это сеть кабелей, опоясывающих всю Землю, в том числе проходящая через моря и океаны. Человечество прошло долгий путь с момента прокладки первого трансатлантического подводного телеграфного кабеля в 1858 году между Соединенными Штатами и Великобританией. В этой статье мы расскажем о том, как Интернет преодолел «водные барьеры», многокилометровые глубины и подводные катаклизмы, какие сложности были на пути и как невероятно сложно поддерживать эту систему в связанном состоянии в наше время, каких колоссальных затрат средств и энергии это требует.

Читать дальше →
Всего голосов 237: ↑228 и ↓9+219
Комментарии81

Велосипеды на Javascript и jQuery

Время на прочтение4 мин
Количество просмотров76K
В очередной раз открыв код коллег и ужаснувшись, я решил написать эту статью. Надеюсь для кого-нибудь это будет полезным, заодно и мне будет проще новичкам объяснять что у них в коде не так, просто кинув ссылку на эту статью.
Безусловно количество таких вещей очень и очень велико, поэтому в статье ограничусь лишь некоторыми.
Читать дальше →
Всего голосов 258: ↑246 и ↓12+234
Комментарии189

Учебник AngularJS: Всеобъемлющее руководство, часть 1

Время на прочтение7 мин
Количество просмотров272K

Содержание


1 Введение в AngularJS
2 Engineering concepts in JavaScript frameworks
3 Modules
4 Understanding $scope
5 Controllers
6 Services and Factories
7 Templating with the Angular core
8 Directives (Core)
9 Directives (Custom)
10 Filters (Core)
11 Filters (Custom)
12 Dynamic routing with $routeProvider
13 Form Validation
14 Server communication with $http and $resource

1 Введение в AngularJS


Angular – MVW-фреймворк для разработки качественных клиентских веб-приложений на JavaScript. Он создан и поддерживается в Google и предлагает взглянуть на будущее веба, на то, какие новые возможности и стандарты он готовит для нас.

MVW означает Model-View-Whatever (модель – вид – что угодно), то есть гибкость в выборе шаблонов проектирования при разработке приложений. Мы можем выбрать модели MVC (Model-View-Controller) или MVVM (Model-View-ViewModel).

Этот обучающий материал задумывался как отправная точка для изучения AngularJS, его концепций и API, чтобы помочь вам создавать великолепные веб-приложения современным способом.
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии29

Cобрать лучшее из двух миров — фреймворков и CMS (часть 1)

Время на прочтение7 мин
Количество просмотров30K
Четыре года — это в IT уже долгострой. Именно столько, и даже чуть больше времени мне понадобилось чтобы довести CleverStyle CMS до версии 1.0, до состояния когда архитектура устаканилась, имеется достаточная функциональность и целостность системы как таковой, все найденные баги исправлены, и основные сценарии работают без проблем.

Получилось создать что-то среднее между фреймворком и, собственно, CMS, как раз то, что нужно для разработчика, и хочу поделиться этим с сообществом.

Уверен, многим не хватало именно такого решения, это подтверждается многочисленными вопросами на том же Тостере и долгими ветками комментариев под ними.

Обязательно нужно объяснить почему


Сложность, избыточность, гибкость, функциональность и скорость.



Я не нашел решения, которое имело бы удовлетворительный для меня баланс этих параметров (безопасность тоже, но это очевидно и подразумевается само собой изначально).
CleverStyle CMS — это не CMS в привычном смысле, это CMF, выше фреймворка по уровню архитектуры но ниже и гибче CMS.
В связи с таким позиционированием получилось очень удобное решение в первую очередь для разработки уникального функционала, так как есть большинство необходимых инструментов, за которыми не нужно далеко идти, не нужно настраивать, а можно сразу использовать и получать результат.
Читать дальше →
Всего голосов 47: ↑28 и ↓19+9
Комментарии103

100 приемов по управлению временем, вниманием и энергией

Время на прочтение15 мин
Количество просмотров289K
Примечание переводчика: Перевод первой статьи из блога «A Year of Productivity» был благосклонно встречен хабра-сообществом, и меня попросили перевести еще несколько статей из этого блога. Приведенная ниже статья — самая большая и самая близкая к практике, её перевод затянулся у меня на несколько месяцев. Как и прошлый раз рекомендую читать комфортными порциями, записывая (или копируя куда-нибудь) советы, которые хочется попробовать применить на практике.

«Хаки» времени


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

Управление временем – хороший источник вашей продуктивности, но все три ингредиента абсолютно важны, если вы хотите быть более продуктивными на ежедневной основе. Именно поэтому в статье вы найдете набор приемов из всех трех областей.

Для начала вот несколько моих любимых приемов по тому как:
-  получить больше времени;
-  тратить время на правильные вещи.
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии53

Оптимизируем VPS за 5$ (512MB RAM / 1 CPU) так, что сайт на wordpress выдерживает нагрузку в 42,735,587 хитов в день

Время на прочтение9 мин
Количество просмотров95K
Когда вы приобретаете сервер VPS с 256MB или 512MB оперативной памяти на борту и лишь часть мощности процессора, то использовать для таких сервисов как MySQL/PHP/Apache настройки по умолчанию является очень плохой идеей. В настоящее время у меня запущено 3 сайта на самом дешевом тарифном плане с 512MB RAM/1 CPU. Не уверен полностью, но посещаемость составляет порядка 5-10 тысяч посетителей в день. Далее я хочу поделиться инструкцией как оптимизировать LAMP используя всего лишь 512 MB и при этом не уходя в swap. Обычно при такой настройки используется 256 – 378Mb памяти и все работает довольно быстро.

Определяем доступную память и активность swap.

Перед началом оптимизации давайте взглянем на количество используемой памяти. Для этого необходимо выполнить следующую команду:

$ free -m

Для того. чтобы посмотреть список запущенных процессов и отсортировать их по использованию памяти, необходимо выполнить вот такую команду:

$ ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less


Настраиваем LAMP сервер для потребления малого количества оперативной памяти. Останавливаем, отключаем ненужные сервисы

Первый и очевидный вопрос, который необходимо задать — это «какие сервисы мне не нужны в использовании?». Недавно, я обнаружил очень удобную утилиту для управления сервисами. Она называется "sysv-rc-conf" и управляет сервисами при помощи псевдографики и флажками. Выгдялит вот так:



Здесь представлен список сервисов, которые я изменил.

  • Postfix. Этот сервис позволяет отправлять и получать почтовые email сообщения для домена. Я использую для этих целей Google Apps для отправки почты и mailchimp для новостных подписчиков. Таким образом я остановил и отключил этот сервис.
  • Bind9. Он нужен для управления DNS записями Вашего домена. Его можно отключить, так как все DNS записи хранятся у хостера.
  • SSHD. Имеются и другие реализации, которые используют гораздо меньше памяти, но они не поддерживают sftp, поэтому данный сервис я оставил без изменений.


Не запускайте X-сервер, выключите все ненужные сервисы и настройте Apache, MySQL, PHP только с базовой необходимой функциональностью.
Читать дальше →
Всего голосов 131: ↑81 и ↓50+31
Комментарии85

Лучшие плагины для Sublime Text

Время на прочтение5 мин
Количество просмотров640K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



Читать дальше →
Всего голосов 116: ↑114 и ↓2+112
Комментарии101

Зачем регистрировать программу для ЭВМ? Актуально на 2021 год

Время на прочтение3 мин
Количество просмотров112K
Статья актуальна на 2021 год!

По российскому законодательству права на программное обеспечение (ПО) охраняются так же, как авторские права на произведения литературы. Однако в отличие от литературных произведений государство предусмотрело в отношении программы для ЭВМ дополнительное средство защиты — регистрация в федеральном органе исполнительной власти по интеллектуальной собственности (Роспатент).

Это наиболее очевидный и простой способ защиты прав на ПО. Но насколько этот способ защиты действенный и какие преимущества в защите прав дает регистрация?

Внимание! Апгрейд статьи в связи с изменением порядка регистрации с 18 июля 2016 г. здесь.

image

Попробуем разобраться
Всего голосов 47: ↑38 и ↓9+29
Комментарии34

«Распечатать еду» всё чаще означает не только «открыть запечатанную упаковку»: возникают новые средства 3D-печати еды

Время на прочтение1 мин
Количество просмотров47K
Встретил на сайте CNews вчерашнюю статью «Печатная еда будущего: забудь про магазины».

Заголовок чрезмерно оптимистический (сразу понятно, что расходники к репликаторам в любом случае придётся приобретать), однако радует содержимое статьи, где сообщается, что новая технология Solid Freeform Fabrication (сокращённо SFF), разработанная учёными Корнелльского университета (Итака, штат Нью-Йорк, США), позволит при помощи гидроколлоидов (которые и станут употребляться в качестве «чернил» 3D-принтера) распечатывать шоколад, жареную рыбу, морковь, грибы, яблоко, варёную курицу, банан, варёные макароны, свежий сыр (моцарелла), помидоры, варёный желток, сливочное масло, зефир, говяжий фарш, соусы, взбитые сливки, картофельное пюре, торты, белый хлеб, кукурузную кашу, пудинг, замешанное тесто, яблочное пюре, молоко, мороженое, шербет, молотый кофе.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии22

Как Samsung съела индустрию смартфонов – и теперь угрожает Google

Время на прочтение6 мин
Количество просмотров230K


Подобно доктору Франкенштейну в своей лаборатории, Google создала монстра. И теперь этот монстр неистово носится, терроризирует смартфонную индустрию и даже угрожает жизни своего же создателя.

С помощью своей операционной системы Android и выгодных условий сотрудничества Google дала Samsung возможность стать доминирующим производителем смартфонов в мире. В 2012 году корейский производитель устройств Galaxy поставил на рынок 215 млн смартфонов, что составляет около 40% мирового рынка. Как следствие, целый ряд конкурентов дышат на ладан, в судах ведутся патентные войны, а в магазинах предлагается ассортимент Android-устройств впечатляющих масштабов.

Читать дальше →
Всего голосов 211: ↑159 и ↓52+107
Комментарии244

Деннис Тито планирует отправить людей к Марсу в 2018 году

Время на прочтение7 мин
Количество просмотров42K
В гонку за Марс включился еще один серьезный игрок.
Вчера состоялась пресс-конференция недавно созданного некоммерческого фонда Inspiration Mars Foundation, представившего свой проект беспосадочного пилотируемого полета вокруг Марса в 2018 году.
image
Читать дальше →
Всего голосов 80: ↑79 и ↓1+78
Комментарии145

Браузеры генома

Время на прочтение5 мин
Количество просмотров61K
Не последнюю роль в биоинформатике занимает визуализация. Учёные в этой области работают с огромными объёмами информации, которую хорошо бы как-то охватить взглядом и представить в голове. Ярким примером средства визуализации являются браузеры геномов (genome browser), о которых я и хочу рассказать.

Читать дальше →
Всего голосов 93: ↑91 и ↓2+89
Комментарии81

Тренажерный зал для мозга

Время на прочтение1 мин
Количество просмотров1.5K
Хочу рассказать вам о книге Тома Вуджека «Тренировка ума». Книга показалась мне достаточно интересной.

Эта книга — практическое пособие по тренировке мозга, умственных способностей.

Книга состоит из двенадцати глав. Каждая глава — это своего рода тренажер, предназначенный для развития определенного качества вашего ума. На одних тренажерах вы будете попеременно то прилагать усилия, то расслабляться, погружаясь в безмятежное спокойствие; на других вам придется муштровать свой ум «до седьмого пота». Одни упражнения предназначены для активации вашего левого полушария — аналитической, логической части мозга, другие — для правого полушария, интуитивной части мозга, также ответственной и за пространственное восприятие. А все вместе тренажеры обеспечат вам всестороннюю интеллектуальную тренировку.

Скачать книгу (1,23 мб)

Оригинал заметки: Саморазвитие для умных людей
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Информация

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