Как стать автором
Обновить
25
0
Антон Шелыганов @antonshell

Пользователь

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

Перенос сайта на статику: мотивация, стоимость, работа

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

Недавно мы сделали то, о чём грезят все программисты и дизайнеры — переписали всё с нуля: полный редизайн нашего сайта и написание «движка» с чистого листа. Ниже поведаем о мотивации и процессе миграции с онлайн-CMS на статику.





Читать дальше →
Всего голосов 53: ↑49 и ↓4+45
Комментарии46

Jasig CAS — сервер аутентификации

Время на прочтение3 мин
Количество просмотров29K
Если Вы разрабатываете веб-приложения, наверняка вы сталкивались с задачей реализации single sign on. В этой небольшой статье я кратко опишу готовое решение от Jasig.

Краткое описание


Jasig CAS (Central Authentication Service) — это веб-приложение, написанное на java. Чтобы начать им пользоваться, почти ничего не надо делать. Нужно загрузить, настроить, собрать, развернуть. И настроить клиентов (сайты на которых мы делаем single sign on).
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

Как я переписывал поисковик авиабилетов с PHP на NodeJS

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

Привет. Меня зовут Андрей, я студент-магистрант в одном из технических ВУЗов Москвы и по совместительству очень скромный начинающий предприниматель и разработчик. В этой статье я решил поделиться своим опытом перехода от PHP (который когда-то мне нравился из-за своей простоты, но со временем стал ненавидим мною — под катом объясняю почему) к NodeJS. Здесь могут приводиться очень банальные и кажущиеся элементарными задачи, которые, тем не менее, лично мне было любопытно решать в ходе моего знакомства с NodeJS и особенностями серверной разработки на JavaScript. Я попытаюсь объяснить и наглядно доказать, что PHP уже окончательно ушёл в закат и уступил своё место NodeJS. Возможно, кому-то даже будет полезно узнать некоторые особенности рендеринга HTML-страниц в Node, который изначально не приспособлен к этому от слова совсем.

Читать дальше →
Всего голосов 67: ↑18 и ↓49-31
Комментарии89

Дизайн классов: что такое хорошо?

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


Автор: Денис Цыплаков, Solution Architect, DataArt

За годы работы я обнаружил, что программисты из раза в раз повторяют одни и те же ошибки. К сожалению, книги, посвященные теоретическим аспектам разработки, избежать их не помогают: в книгах обычно нет конкретных, практических советов. И я даже догадываюсь, почему…

Первая рекомендация, которая приходит в голову, когда речь заходит, например, о логировании или дизайне классов, очень простая: «Не делать откровенной ерунды». Но опыт показывает, что ее определенно недостаточно. Как раз дизайн классов в этом случае хороший пример — вечная головная боль, возникающая из-за того, что каждый смотрит на этот вопрос по-своему. Поэтому я и решил собрать в одной статье базовые советы, следуя которым, вы избежите ряда типичных проблем, а главное, избавите от них коллег. Если некоторые принципы покажутся вам банальными (потому что они действительно банальны!) — хорошо, значит, они уже засели у вас в подкорке, и вашу команду можно поздравить.

Оговорюсь, на самом деле, мы сосредоточимся на классах исключительно для простоты. Почти то же самое можно сказать о функциях или любых других строительных блоках приложения.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии29

Еще одна история удаленщика

Время на прочтение6 мин
Количество просмотров34K
На Хабре несметное количество статей про удаленную работу. Истории из жизни, демонстрации успехов/неудач в этом нелегком деле. Но несмотря на это, постоянно продолжаю натыкаться на то, что люди путают удаленную работу с фрилансом. Читая очередную статью по этой теме, я понял, что ждать больше нельзя, в интернете кто-то не прав и надо срочно максимально просто изложить свой опыт по данному вопросу, чтобы впоследствии фраза «удаленная работа» не порождала у людей в голове ассоциацию «фриланс».


Читать дальше →
Всего голосов 49: ↑46 и ↓3+43
Комментарии82

Мобильные телефоны для/против спецслужб

Время на прочтение21 мин
Количество просмотров398K
— Здравствуйте, это вам из ФСБ звонят.
— Я знаю.
— Откуда?
— Вы мне на выключенный мобильник дозвонились.


Какой самый защищенный телефон?

Вот какие телефоны последние 2 недели стали жителями моего рюкзака. Знающие люди сразу поймут, что это за две трубки слева.

Чем больше я копал, тем печальнее мне становилось. Каждый (второй?) человек на Земле носит с собой жучок и за просто так отдает всю свою коммуникацию на блюдечке третьим лицам. И никто об этом не парится кроме профессиональных параноиков.

При том, что телефонов на планете больше, чем всех других устройств вместе взятых (немного загнул, но почти так), материалов катастрофически мало. Например, я до сих пор толком не нашел описаний тех команд оператора, которые скрытно включают телефон на прослушку. Или как операторы и органы борются (и борются ли) со скремблерами?

Почему нет хакерских/опенсорсных проектов телефонов? Вон, ноутбук запилили, чем мобильник сложнее?
(Хотя вот тут есть кой-какие обсуждения).

Давайте на секунду задумаемся, как бы выглядел хакерский телефон?
Какие бы функции у него были, чем он был бы нафарширован из железа и из ПО.
А пока посмотрим, что есть на рынке, какие штучные решения уже реализованы, что можно у них подсмотреть.
Читать дальше →
Всего голосов 66: ↑50 и ↓16+34
Комментарии62

Закон о самозанятых. Информация к размышлению

Время на прочтение9 мин
Количество просмотров54K
Уже давно на Хабре в обсуждениях упоминают новый закон о самозанятых. Информации пока мало, но всё-таки решила написать на основе той информации, которая есть — Закон, заключения профильных комитетов, ответы на сайте ФНС.

К IT услугам закон применяется, особенностей для IT нет.

Пакет законов по введению нового налога для самозанятых граждан подписан и вступает в силу с 1 января 2019 года. Появился новый спецрежим и новый налог, Федеральный закон от 27.11.2018 № 422-ФЗ «О проведении эксперимента по установлению специального налогового режима „Налог на профессиональный доход“ в городе федерального значения Москве, в Московской и Калужской областях, а также в Республике Татарстан (Татарстан)»

Остался месяц до вступления в силу закона, есть время немного разобраться.
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии232

Медленный софт

Время на прочтение16 мин
Количество просмотров20K
От переводчика: проблема медленного программного обеспечения стала одной из главных тем обсуждения на Хабре и Hacker News в последние недели. Например, см. статью Никиты Прокопова «Моё разочарование в софте» и 2432 комментария к ней.

Мы проводим много времени за компьютером. Ждём каждый раз при запуске приложений и загрузке веб-страниц. Повсюду иконки со спиннером или песочными часами. Железо всё мощнее, но софт по-прежнему кажется медленным. Почему так?

Если вы используете компьютер для выполнения важной работы, то заслуживаете быстрого ПО. Слишком часто современный софт не удовлетворяет этим требованиям. В исследовательской лаборатории Ink & Switch мы изучили причины такой ситуации, программное обеспечение в итоге стало лучше. В этой статье опубликованы результаты нашего исследования.
Всего голосов 24: ↑22 и ↓2+20
Комментарии66

Производительность PHP: планируем, профилируем, оптимизируем

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


Привет, Хабр! Два года назад мы писали о том, как перешли на PHP 7.0 и сэкономили миллион долларов. На нашем профиле нагрузки новая версия оказалась в два раза более эффективной по использованию CPU: ту нагрузку, которую раньше у нас обслуживали ~600 серверов, после перехода начали обслуживать ~300. В результате на протяжении двух лет у нас был запас мощностей.

Но Badoo растёт. Количество активных пользователей постоянно увеличивается. Мы совершенствуемся и развиваем нашу функциональность, благодаря чему пользователи проводят в приложении всё больше времени. А это, в свою очередь, отражается на количестве запросов, которое за два года увеличилось в 2—2,5 раза.

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

Под катом я расскажу, как мы подходим к таким задачам, какими пользуемся инструментами, и приведу примеры оптимизаций, идей и подходов, которые мы применяем и которые помогли нам в своё время.
Читать дальше →
Всего голосов 105: ↑105 и ↓0+105
Комментарии58

Оформить ИП — единственный путь

Время на прочтение9 мин
Количество просмотров49K
К каждой статье на Хабре, касающейся преимуществ или недостатков оформления ИТ-шника, как ИП, пишутся сотни комментариев сторонников и противников этой схемы. Такое ощущение, будто у рынка еще остался выбор. А я вот уверен, что с развитием удаленной работы, всякими agile-подходами и практиками, которые сложились при взаимодействии с удаленными командами, в ИТ просто нет иного пути. ИП — единственная форма взаимоотношений, которая соответствует реальности, а не с трудом на нее “натягивается” (если не рассматривать более «хитрые» случаи — ООО, ЗАО).

image

Карикатура «Без вариантов» Андрея Абрамова

Под катом изложено исключительно мое ИМХО — опыт человека, более 15 лет отработавшего в России (с российскими заказчиками и работодателями) с самыми разными формами отношений.
Читать дальше →
Всего голосов 61: ↑51 и ↓10+41
Комментарии460

Senior Engineer в поисках работы. Как я прошел 20 собеседований с HR и что я об этом думаю

Время на прочтение16 мин
Количество просмотров103K
Предисловие для читателей Хабра — статья о поиске работы на рынке разработки в Украине (который в основном об аутсорсе на иностранных заказчиков), поэтому некоторые вещи могут показаться странными (LinkedIn, собеседования с заказчиками, обязательное требование разговорного английского, обсуждение ЗП в долларах) или нерелевантными для РФ. Тем не менее, статья имела большой успех на локальных ресурсах, и читатели попросили меня перевести её на русский.

Этой статьей я хочу начать цикл рассказов о том, как я на протяжении нескольких месяцев проходил собеседования в примерно 20-и разных компаниях на разные должности. Тут будут мои мысли о рынке труда, процессе найма, советы а так же несколько самых интересных историй. Цикл будет состоять из нескольких частей — HR собеседования, технические собеседования, финальные собеседования. Итак, первая часть.

Немного о себе. Программирую со школьного возраста, за деньги работаю 10 с хвостиком лет. Работал админом, программистом, тимлидом, РМ-ом, линейным менеджером. Выполнял обязанности SRE/DevOps, архитекта, HR, офис-менеджера, эникейщика.

Работал в кровавом энтерпрайзе, в стартапе, в аутсорсе. В основном занимался формошлёпством и крудами, имел дело с Java и бэкендом. За последние несколько лет пересел на фуллстек микс из Java, Ruby/RoR, Python, Node.js.

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

Всего я прошел примерно 20 собеседований с рекрутерами: половина из которых были из агенств и половина — штатные рекрутеры/HR компаний. Так что, могу сказать что некоторая статистика у меня есть.
Читать дальше →
Всего голосов 115: ↑108 и ↓7+101
Комментарии172

Карьерные стероиды. Собаки

Время на прочтение11 мин
Количество просмотров18K
Название этого карьерного стероида я взял из знаменитой матрицы BCG (Boston Consulting Group). Матрица простая, применяется для оценки и выработки продуктовой стратегии. Каждый продукт оценивается по двум шкалам – темпы роста рынка и доля на нем.

Всего там категорий четыре.

«Звезды» — продукты, которые имеют высокую долю на быстро растущем рынке. Звездами все хотят заниматься.

«Дойные коровы» — доля высокая, рынок растет медленно. Это, как правило, старые продукты, давно выведенные на рынок и приносящие стабильный доход. Все хотят сидеть на дойных коровах.

«Трудные дети» — доля мала, но рынок растет. Это новые продукты обычно, с которыми еще надо повозиться, но прогноз выглядит многообещающе. С опаской, но трудными детьми заниматься хотят многие.

И, наконец, наша аналогия — «собаки». Низкая доля на рынке, который не растет, или даже стагнирует. Такими продуктами заниматься никто не хочет – усилий надо приложить много, а результата полезного не предвидится.
Читать дальше →
Всего голосов 48: ↑40 и ↓8+32
Комментарии33

Старый компьютер, Windows 7, 1 Гб оперативки, Firefox и интернет

Уровень сложностиСредний
Время на прочтение127 мин
Количество просмотров139K
Несмотря на пройденное время, многие по прежнему ещё пользуются Windows 7. Кто-то вынужден работать на этой ОС или обслуживать такие компьютеры, у кого-то может быть хобби восстановления старых ПК, некоторых полностью устраивает Windows 7 или же из-за своих финансовых или прочих убеждений они не хотят менять старого верного «друга» на нового.
Эта статья, возможно поможет многим обладателям старых компьютеров открыть «второе дыхание» своим музейным экспонатам.

Так как оптимизация такого старого оборудования носит комплексный характер, статья будет состоять из нескольких глав:

— Firefox
— Дополнения к браузеру
— Драйверы
— Windows 7
— BIOS
— Советы по аппаратной части
Читать дальше →
Всего голосов 53: ↑37 и ↓16+21
Комментарии961

Лиза Алерт: добровольцы, спасающие жизни

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


Поисково-спасательный отряд «Лиза Алерт» существует уже 8 лет. Это добровольческое объединение, сообщество неравнодушных, которое ищет пропавших людей, эффективно взаимодействуя с МЧС и МВД. «Лиза Алерт» собирает заявки о пропавших людях, проводит различные обучающие мероприятия, организацию поисков и сами поисковые операции. Отряд не ведет никакой коммерческой деятельности, не имеет расчётного счёта и не принимает денежные пожертвования.

Недавно Mail.Ru Cloud Solutions бесплатно предоставила «Лизе Алерт» площадку для размещения сервисов, активно применяющихся при проведении поисково-спасательных работ. Мы решили побеседовать с Сергеем Чумаком, старшим IT-направления «Лиза Алерт», о том, как работают спасатели-добровольцы и как им помогают высокие технологии.
Читать дальше →
Всего голосов 85: ↑83 и ↓2+81
Комментарии60

Что входит в обязанности ведущего разработчика

Время на прочтение6 мин
Количество просмотров26K
Вот эта большая статья Джона Олспау называется «Быть ведущим инженером». В первый раз я прочитала её примерно четыре года назад, когда только перешла на нынешнюю работу, и она действительно повлияла на представления об этом направлении моей карьеры.

Перечитав её сейчас, действительно интересной там кажется одна вещь, что эмпатия и помощь команде — важная часть работы сеньора. Что, конечно, является правдой!

Но сейчас я вижу, что большинство или все ведущие инженеры, которых я знаю, берут на себя значительную помощь другим сотрудникам вдобавок к своей личной работе по программированию. Сейчас мне кажется, что я и мои коллеги сталкиваются не столько с проблемой «Что?? Нужно РАЗГОВАРИВАТЬ С ЛЮДЬМИ?? НЕВЕРОЯТНО», сколько с другой проблемой: «Как сбалансировать всю эту руководящую работу со своим индивидуальным вкладом / программированием? Сколько и какой работы я должен делать?». Поэтому вместо того, чтобы говорить о признаках сеньора из статьи Олспау (с которыми я полностью согласна), хочу поговорить о работе, которую мы делаем.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии2

Манифест Чистого Программиста или краткий конспект книги «Чистый Код» Роберта Мартина

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

Данная статья является конспектом книги "Чистый Код" Роберта Мартина и моим пониманием того, каким Чистый Код должен быть. Тут нет разделов о тестировании, TDD, о том какая должна быть архитектура и т.д. Здесь все только о том, каким должен быть Чистый Код.


Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии49

Странные операторы в PHP

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


Если вы прочитаете документацию по PHP, вы узнаете о массе операторов. Если вы не знаете ещё PHP-операторы, сперва изучите их, а потом вернитесь к прочтению этой статьи.

Читать дальше →
Всего голосов 52: ↑42 и ↓10+32
Комментарии47

Вам не нужен юрист. Но это не точно

Время на прочтение10 мин
Количество просмотров20K
У многих неюристов при виде очередного договора страниц на 20-30 появляется некий взгляд беспомощности. Немудрено, люди много лет учатся во всём этом разбираться, а потом ещё и практикой оттачивают. Поэтому нередко договоры подписывают не читая, просто посмотрев условия оплаты. Авось пронесёт.

Но эта проблема рукотворная. Приведу аналогию. Если вам нужно быстро сделать корпоративный сайтик, то берёте Wordpress и скачиваете любую из тем. На кой вам нужен Битрикс или уж тем более собственный движок? Или, к примеру, ту же тему надо подправить, хотелок у вас появилось. Но, не хватает знаний. Эту работу сделает большинство фрилансеров из самого низкого ценового диапазона. Зачем вам спец по 50 долларов в час?

Мораль сих аналогий: большой договор — это специфический инструмент для специфических задач. В 95 % случаях он не нужен вообще никому. Чтобы понимать как работать с договором без юриста, нужно понимать почему так происходит, что почти всегда договор — это большой и ненужный документ.

image

Почему договоры большие


Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии61

Мнимые проблемы — причина плохого софта

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

То, что их интересно решать, не означает, что они кому-то нужны




«Группа людей проводит мозговой штурм над ноутбуком и листом бумаги», фото Стефана Стефанчика с Unspalsh

Есть много факторов, которые приводят к созданию плохого ПО: выбор инструментов, общение в команде, личная незаинтересованность разработчиков в успехе, методология тестирования. Мне кажется, у всего этого есть главная первопричина: это воображаемые проблемы.

Чрезмерно сложное или не функционирующее ПО не было задумано таким. Оно просто спроектировано для чего-то иного, а не для реальной задачи.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии40

Тимлид — это сержант в IT-подразделении

Время на прочтение20 мин
Количество просмотров18K
Иной раз чудится, что тимлид — это кто-то или что-то вроде Снарка из поэмы Льюиса Кэрролла: точно существует, разносторонне и противоречиво описан в своих бытовых и деловых проявлениях, но при всем при том что представляет собой — загадка. Разобраться с тем, насколько значима эта (тимлида, не Снарка) роль в инженерных командах, кого правильнее на нее ставить и какие подводные камни скрыты в «тимлидстве», обещает помочь Saint TeamLead Conf 2018, которая пройдет 24–25 сентября в Санкт-Петербурге.

За месяц до мероприятия мы без лишних формальностей поговорили с техническим директором проекта Mos.ru Романом Ивлиевым, который возглавляет Программный комитет Saint TeamLead Conf 2018. В беседе: кто такие тимлиды, как их правильно готовить, кого и к чему должны готовить они, каким должен быть круг их обязанностей и многое другое.



Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии12
1
23 ...

Информация

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