Pull to refresh
25
0
Антон Шелыганов @antonshell

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

Send message

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

Reading time6 min
Views22K

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





Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments46

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

Reading time3 min
Views29K
Если Вы разрабатываете веб-приложения, наверняка вы сталкивались с задачей реализации single sign on. В этой небольшой статье я кратко опишу готовое решение от Jasig.

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


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

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

Reading time12 min
Views18K

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

Читать дальше →
Total votes 67: ↑18 and ↓49-31
Comments89

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

Reading time13 min
Views22K


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

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

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

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

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

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


Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments82

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

Reading time21 min
Views398K
— Здравствуйте, это вам из ФСБ звонят.
— Я знаю.
— Откуда?
— Вы мне на выключенный мобильник дозвонились.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reading time16 min
Views40K


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

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

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

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

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

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

image

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Level of difficultyMedium
Reading time127 min
Views139K
Несмотря на пройденное время, многие по прежнему ещё пользуются Windows 7. Кто-то вынужден работать на этой ОС или обслуживать такие компьютеры, у кого-то может быть хобби восстановления старых ПК, некоторых полностью устраивает Windows 7 или же из-за своих финансовых или прочих убеждений они не хотят менять старого верного «друга» на нового.
Эта статья, возможно поможет многим обладателям старых компьютеров открыть «второе дыхание» своим музейным экспонатам.

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

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

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

Reading time6 min
Views16K


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

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

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

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

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

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

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

Reading time8 min
Views95K

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


Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments49

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

Reading time4 min
Views41K


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

Читать дальше →
Total votes 52: ↑42 and ↓10+32
Comments47

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

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

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

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

image

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


Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments61

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

Reading time8 min
Views19K

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




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

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

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

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

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

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



Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments12
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity