Как стать автором
Обновить
17
Карма
0
Рейтинг
Айван @AivanF

Программный Инженер, Разработчик, Аналитик

Почему ваш веб-сайт должен быть меньше 14 КБ

Разработка веб-сайтов *Сетевые технологии *
Перевод

Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.

Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.

Так происходит из-за алгоритма медленного старта TCP. В этой статье я расскажу, что это такое, как оно работает и почему это важно. Но сначала мы вкратце расскажем об основах.
Читать дальше →
Всего голосов 173: ↑170 и ↓3 +167
Просмотры 59K
Комментарии 204

Моя попытка сделать Wi-Fi-флешку и что из этого получилось (а что нет)

Open source *C++ *Разработка под Arduino *DIY или Сделай сам

Что такое WiFi-флешка? Это флешка, которая опознается, как флешка, пахнет, как флешка, крякает, как флешка, но на самом деле никакая она не флешка, она эмулирует файловую систему, а данные берет по WiFi с сервера.

Читать далее
Всего голосов 200: ↑200 и ↓0 +200
Просмотры 45K
Комментарии 99

Блеск и нищета IT в Германии

Java *IT-эмиграция Карьера в IT-индустрии

Уже четыре года я работаю Java разработчиком в небольшой немецкой компании.

В начале прошлого года я увидел на столе одного из моих «кураторов» забытый листок с расчётом заработной платы за месяц. Конечно же, я не мог в него не посмотреть. Сумма, которую я увидел у Нильса, меня удивила. Зарплата брутто: 3300€ в месяц. Живет один, жены нет, детей нет. Значит на руки у него выходит примерно 2130€ (~130000 рублей по курсу на 01.09.2022).

Можете себе представить? Мой куратор, урожденный немец, Senior Developer, прекрасно говорящий на английском, с опытом работы разработчиком более пятнадцати лет получает в Германии 3300€ в месяц. А я – Middle Java разработчик с немецким B2 и английским B1 на испытательный срок получил сразу 3500€! Сейчас моя мой зарплата 4000€ в месяц.

Многие мне не поверили. Некоторые не верят даже в мои 4000€ (слишком мало), не говоря уже про зарплату Нильса. Откуда такая мизерная зарплата для столь высококвалифицированного работника? Ведь в представлении большинства наших соотечественников все разработчики в Германии деньги просто лопатой гребут. Особенно, если они работают в финансовой сфере. Цифры должны по-любому начинаться от 6000€ в месяц. Какие 3300???

Вот и levels.fyi (на КДПВ) говорит, что медианная зарплата разработчика в Германии 83160€ в год (6930€ в месяц)

Выходит, что Зарплата Нильса ниже нижнего предела (такого столбца даже нет на этом графике). Так какая же в реальности зарплата у разработчиков в Германии?

И почему Нильс получает так мало?
Всего голосов 250: ↑242 и ↓8 +234
Просмотры 137K
Комментарии 510

Дефолт США: почему о нем никто не говорит, хотя он происходил уже пять раз

Читальный зал Финансы в IT

Доллар и госдолг США во всех финансовых учебниках приводятся в качестве примера «безрискового» актива с наивысшей надежностью. Но не все знают, что Дядя Сэм допускал дефолт не раз, и даже не два. В этой статье мы немножко занырнем в финансовую историю Америки, а также выясним – насколько реальна угроза дефолта Штатов сейчас.

Читать далее
Всего голосов 212: ↑179 и ↓33 +146
Просмотры 45K
Комментарии 872

Индексы в PostgreSQL — 1

Блог компании Postgres Professional PostgreSQL *SQL *

Предисловие


В этой серии статей речь пойдет об индексах в PostgreSQL.

Любой вопрос можно рассматривать с разных точек зрения. Мы будем говорить о том, что должно интересовать прикладного разработчика, использующего СУБД: какие индексы существуют, почему в PostgreSQL их так много разных, и как их использовать для ускорения запросов. Пожалуй, тему можно было бы раскрыть и меньшим числом слов, но мы втайне надеемся на любознательного разработчика, которому также интересны и подробности внутреннего устройства, тем более, что понимание таких подробностей позволяет не только прислушиваться к чужому мнению, но и делать собственные выводы.

За скобками обсуждения останутся вопросы разработки новых типов индексов. Это требует знания языка Си и относится скорее к компетенции системного программиста, а не прикладного разработчика. По этой же причине мы практически не будем рассматривать программные интерфейсы, а остановимся только на том, что имеет значение для использования уже готовых к употреблению индексов.

В этой части мы поговорим про разделение сфер ответственности между общим механизмом индексирования, относящимся к ядру СУБД, и отдельными методами индексного доступа, которые в PostgreSQL можно добавлять как расширения. В следующей части мы рассмотрим интерфейс метода доступа и такие важные понятия, как классы и семейства операторов. После такого длинного, но необходимого введения мы подробно рассмотрим устройство и применение различных типов индексов: Hash, B-tree, GiST, SP-GiST, GIN и RUM, BRIN и Bloom.
Читать дальше →
Всего голосов 104: ↑103 и ↓1 +102
Просмотры 258K
Комментарии 59

Как посчитать всё на свете одним SQL-запросом. Оконные функции PostgreSQL

PostgreSQL *SQL *

Я с удивлением обнаружил, что многие разработчики, даже давно использующие postgresql, не понимают оконные функции, считая их какой-то особой магией для избранных. Ну или в лучшем случае «копипастят» со StackOverflow выражения типа «row_number() OVER ()», не вдаваясь в детали. А ведь оконные функции — полезнейший функционал PostgreSQL.
Попробую по-простому объяснить, как можно их использовать.


Читать дальше →
Всего голосов 75: ↑73 и ↓2 +71
Просмотры 472K
Комментарии 54

Почему похудеть, работая в ИТ, так сложно

Лайфхаки для гиков Здоровье

Это ответ на статью Для чего вам тренировка «стоимостью» в полвафли, если у вас КФА 1,2?, и попытка раскрыть некоторые несообразности из статьи и комментариев.

Читать далее
Всего голосов 112: ↑105 и ↓7 +98
Просмотры 47K
Комментарии 306

Роботы-игрушки. Топ-10 проектов c Kickstarter для развития ребенка и обучения программированию

Гаджеты Робототехника Искусственный интеллект Игры и игровые консоли Визуальное программирование *
Из песочницы

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

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 10K
Комментарии 3

Почему некоторым так сложно учиться программированию?

Программирование *
Recovery mode

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

Однако с этим я согласиться никак не могу. Программирование по содержанию ничуть не сложней многих других отраслей знаний, а в чем-то даже и легче, особенно когда касается прикладных задач. Наткнулся на заметку человека, который высказал весьма небанальную мысль: при обучении программированию "с нуля" этот "ноль" для всех сильно разный. И у меня есть стойкое убеждение, что сложность освоения четко зависит от значения этого нуля. А вот почему он разный и что на него влияет- мне и хотелось бы поразмышлять.

Читать далее
Всего голосов 293: ↑267 и ↓26 +241
Просмотры 87K
Комментарии 720

Заблуждения программистов о картах

Глобальные системы позиционирования *Программирование *Геоинформационные сервисы *


Дизайн систем быстро выявляет ошибки в восприятии закономерностей функционирования мира. Те правила, которые кажутся непреложными истинами, могут ими не оказаться.

Списки подобных заблуждений составлялись про имена или телефонные номера. Настало время карт и систем навигации.

Заблуждение 1. Форма Земли — это просто


Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Читать дальше →
Всего голосов 314: ↑310 и ↓4 +306
Просмотры 41K
Комментарии 110

Невыжившие в IT

Программирование *Учебный процесс в IT Управление персоналом *Карьера в IT-индустрии

Этот текст я пишу из лучших побуждений, безо всякой иронии, снобизма и насмешки. Хочу сберечь время и нервы тем, кто поддался на «войти в айти» и прямо сейчас учится сортировать массивы, парсить строки и верит в «да-да, этим ты и будешь заниматься на работе».

Есть такое понятие – ошибка выжившего. Грубо говоря, о явлении, тенденции или событии судят по людям, которые прошли его успешно – выжили. Совершенно игнорируя информацию о тех, кто успеха не достиг. В результате случайная удача интерпретируется как устойчивая вероятность. Если интересна мат.часть – почитайте Нассима Талеба или Даниэля Канемана. Их книги существенно дешевле курсов по ИТ.

Я опишу типичные ошибки тех, кто не выжил. И, соответственно, не вошёл в ИТ. Всё из опыта личных наблюдений.

Да, если «тут всё неправда», «а вот мой друг Коля успешно…» или «а у меня получилось» - прекрасно, текст не про вас и не для вас. Вы и ваш друг Коля – выжившие.

Читать далее
Всего голосов 360: ↑347 и ↓13 +334
Просмотры 157K
Комментарии 444

Почему «теорию всего» следует искать в информатике, и почему следующим Эйнштейном станет программист

Читальный зал Научно-популярное Физика

В 1962 году американский историк Томас Кун опубликовал книгу под названием "Структура научных революций", ставшую результатом его многолетнего анализа истории развития научного знания. По мнению Куна представления людей о природе развиваются не постепенно, а скачкообразно. После каждого скачка формируется новая парадигма знания, в рамках которой идут все дальнейшие исследования. Постепенно учёные натыкаются на факты и парадоксы, не вписывающиеся в текущую парадигму. Когда таких фактов становится достаточно много, их критическая масса заставляет учёных искать лучшие теории, согласующиеся со всеми необъяснимыми в рамках текущей парадигмы фактами. Когда такие теории появляются, происходит новый скачок - Кун называл такой скачок "сдвигом парадигмы". Самым ярким примером такого сдвига является смена научной картины мира на рубеже XIX-XX веков: несоответствие уравнений Максвелла ньютоновской механике привели к созданию теории относительности, а необъяснимость корпускулярно-волнового дуализма электромагнитного излучения привели к созданию квантовой механики. Теория относительности и квантовая механика сформировали научную парадигму физики XX века, в рамках которой учёные существуют и поныне.

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

Читать далее
Всего голосов 44: ↑37 и ↓7 +30
Просмотры 23K
Комментарии 158

Шпаргалка для технического собеседования

Блог компании VK Программирование *Управление персоналом *Карьера в IT-индустрии


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

Читать дальше →
Всего голосов 81: ↑68 и ↓13 +55
Просмотры 169K
Комментарии 85

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Блог компании SkillFactory Карьера в IT-индустрии Лайфхаки для гиков IT-компании
Перевод
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


Приятного чтения!
Всего голосов 61: ↑55 и ↓6 +49
Просмотры 47K
Комментарии 71

Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком

Социальные сети и сообщества Финансы в IT

Все обсуждают безумно красивую историю про то, как пацаны с Reddit смогли одолеть зазнавшиеся хедж-фонды, но далеко не все понимают, что именно происходило на рынках. В этой статье я объясняю простым языком, что конкретно привело к текущей ситуации.

Читать далее
Всего голосов 244: ↑241 и ↓3 +238
Просмотры 112K
Комментарии 369

ONKALO: чудо света на все времена, забудьте о нём…

Блог компании Timeweb Cloud Читальный зал Научно-популярное Энергия и элементы питания Будущее здесь
… или как захоронить свои ядерные отходы навсегда.



Многие уверены, что век монументального строительства прошёл. Пирамиды, мегалиты и загадочные гробницы лежат старыми игрушками в песочнице человечества. Мы выросли из них и живём сегодняшним днём, ярким и мимолётным. Когда нас не станет — от нас останутся только колоссы древности… и ONKALO.
Читать дальше →
Всего голосов 482: ↑477 и ↓5 +472
Просмотры 70K
Комментарии 99

Утилита времен «динозавров»: история системного вызова chroot и его применение в современности

Блог компании Selectel *nix *C *История IT

В мире победившей контейнеризации и виртуализации об утилите chroot вспоминают лишь брутальные админы суровых физических серверов, а про лежащий в основе системный вызов, кажется, забыли как страшный сон.

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

Чтобы найти истоки появления chroot в *NIX-подобных операционных системах, нужно пройти немалый путь по истории IT. В этой статье я расскажу про появление chroot и его применение в современном мире. А еще покажу проекты, которые позволяют прикоснуться к операционным системам эпохи, когда Интернета не было.
Читать дальше →
Всего голосов 107: ↑106 и ↓1 +105
Просмотры 17K
Комментарии 8

Самая большая ошибка в истории физики

Блог компании RUVDS.com Научно-популярное Физика Астрономия
© 2018 HOWSTUFFWORKS

Сегодня мы обсудим одну из величайших нерешённых проблем фундаментальной физики — знаменитую катастрофу энергии вакуума. Что делает эту проблему такой увлекательной, так это то, что она сплетает воедино две самые успешные теории 21 века: квантовую теорию поля и общую теорию относительности, при этом демонстрируя, что что-то пошло катастрофически не так в нашей попытке понять происхождение расширения Вселенной. Чтобы разобраться, в чём собственно дело, нам придётся совершить путешествие по самым захватывающим идеям современной физики — от мельчайших квантовых флуктуаций вакуума до загадочной тёмной энергии, которая является движущей силой эволюции Вселенной.
Читать дальше →
Всего голосов 117: ↑117 и ↓0 +117
Просмотры 38K
Комментарии 38

«В карантин нагрузка выросла в 5 раз, но мы были готовы». Как Lingualeo переехал на PostgreSQL с 23 млн юзеров

Блог компании Lingualeo Разработка веб-сайтов *PostgreSQL *Разработка мобильных приложений *Изучение языков
image

Проекту Lingualeo уже 10 лет. Более 23 миллионов человек из России, Турции, Испании и стран Латинской Америки учат с помощью нашего сервиса английский.

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

Мы попросили нашего лидера бэкэнд разработки, Олега Правдина, рассказать о том, как они с командой параллельно с поддержкой основного продукта собрали новую модульную структуру сервиса на базе PostgreSQL, перенесли бизнес-логику в базы данных и провели миграцию с миллионами пользователей.

Проблемы зрелого продукта


«Я пришёл в Lingualeo в августе 2018 руководить бэкэнд разработкой. Тогда бэком занималась команда из 8 разработчиков и 2 админов, которые обслуживали монолит на 1 миллион строк кода преимущественно на PHP. Чтобы внедрить даже небольшую новую фичу, уходило 2 месяца. А затраты на инфраструктуру на 10 000 активных пользователей превышали 1 000 $ в год.

Как это произошло? Дело в том, что за 10 лет в проекте сменилось несколько команд разработки. Приходили новые люди, как и я, они по-своему добавляли новые модули и фичи. Команды менялись, новички не всегда понимали, как работают старые части системы, в итоге код Lingualeo постепенно превратился в чёрный ящик: непрозрачная логика в бэкенде, перегруженный фронт, обилие костылей, большие пробелы в документации.

Всего у нас в штате было 20 разработчиков, но развивать продукт было невозможно: если что-то добавить, вылезали неожиданные проблемы. У команды уходило 2–3 недели, чтобы всё починить. Разработчики занимались поддержкой кода из 2013 года, и ресурсов на обновление функциональности не было.
Читать дальше →
Всего голосов 175: ↑102 и ↓73 +29
Просмотры 64K
Комментарии 787

PDDM — Новый Model-Based Reinforcement Learning алгоритм с улучшенным планировщиком

Искусственный интеллект


Обучение с подкреплением (Reinforcement Learning) делится на два больших класса: Model-Free и Model-Based. В первом случае действия оптимизируются напрямую по сигналу награды, а во втором нейросеть является только моделью реальности, а оптимальные действия выбираются с помощью внешнего планировщика. У каждого подхода есть свои достоинства и недостатки.


Разработчики из Berkeley и Google Brain представили Model-Based алгоритм PDDM с улучшенным планировщиком, позволяющий эффективно обучаться сложным движениям с большим числом степеней свободы на небольшом числе примеров. Чтобы научиться вращать мячи в роботизированной руке с реалистичными суставами пальцев с 24 степенями свободы, потребовалось всего 4 часа практики на реальном физическом роботе.

Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 5.6K
Комментарии 10

Информация

В рейтинге
4,034-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность