Pull to refresh
-12
0
Send message

Что происходит, когда вводишь url, или как работает интернет

Reading time7 min
Views79K

Об этом спрашивают на собеседованиях. Структурированное понимание этого может помочь вам, даже если вы давно строите сложные архитектурные процессы или кодите 20-ый год подряд. Я — программист уже много лет, последние пару из которых пишу на Go в Каруне. Работа работой, а внутренний исследователь не дремлет. И вот я наконец-то решил привести в порядок информацию, разбросанную по разным закоулкам чертогов разума, по добротным книгам и статьям на тему сетевых технологий.

Хочу представить краткую выжимку о работе протоколов. А если тема окажется интересной, могу продолжить работать с ней более детально. Рассмотрим простейший пример: вы ввели некоторый url в адресную строку. Поехали.

Читать далее
Total votes 12: ↑9 and ↓3+6
Comments21

Как сделать пейволл, который пройдёт модерацию Apple

Reading time3 min
Views4.2K

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments1

Австралия vs США. Что выбрать русскому программисту?

Reading time15 min
Views38K


Саша Штейников родился в Тюмени, но потом много лет работал программистом в Австралии, и получил там гражданство. А сейчас уже второй год живет в США, работая на Uber в Сиэтле.


Мы с ним провели самое детальное сравнение двух стран. Где комфортнее будет жить на зарплату? Где безопаснее? В чем разница двух культур? Чем отличается атмосфера в компаниях AU и US? Где лучше медицина? Где красивее природа? Где на дорогах настоящий ад? И куда всё-таки стоит переезжать?


Слово Саше.

Читать дальше →
Total votes 60: ↑54 and ↓6+48
Comments170

Вся правда о Soft skills

Reading time10 min
Views28K

Хорошим программистом быть нетрудно — надо всего лишь постоянно учиться. Фреймворки обновляются ежегодно, а популярные языки программирования рождаются каждые пять лет. Вместе с ними нужно изучать инструментарий, лучшие практики, паттерны проектирования и бог знает, что ещё.

Двадцать лет назад все изучали Delphi. Сейчас проекты на Delphi — это глубокое legacy, и все изучают Go. Десять лет назад каждый фронтендер использовал jQuery, а современные фрондендеры могут даже не знать, что это такое.

Так что, правда, учиться надо постоянно.

Но в последние годы мы слышим, что наши технические навыки — так называемые hard skills — далеко не всё, что нам нужно. Помимо фреймворков и языков надо осваивать soft skills. Это нетехнические навыки, которые очень нужны в работе.

А нужны ли?

Читать далее
Total votes 42: ↑33 and ↓9+24
Comments92

Calvin: обеспечение принципов ACID для высоконагруженных распределенных систем

Reading time5 min
Views4.7K

Calvin — это подход к фиксации транзакций, который позволяет сохранить принципы ACID в распределенных системах без потери производительности. Впервые он был упомянут в работе Йельского университета в 2012 году. Calvin хорошо вписывается в целый класс бессерверных СУБД. Мы знаем как минимум две системы, в которых он используется: Yandex Database и FaunaDB, но, возможно, есть и другие.

Читать далее
Total votes 17: ↑15 and ↓2+13
Comments4

Превращаем RTSP в WebRTC: сколько камер потянет сервер?

Reading time4 min
Views10K

Эта статья продолжает цикл статей по нагрузочным тестам. Сегодня мы разберем методику тестирования и ответим на вопрос "Сколько IP камер можно подключить к WebRTC серверу?"

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments6

Снобизм постсоветского IT

Reading time3 min
Views32K

Хочу поделиться, на мой взгляд, мифами про развитие в IT. Эти мифы произошли от нашего снобизма или негативного мышления. Статья особенно будет полезна для тех, кто хочет активно развиваться, но сомневается в своих силах. Вкратце обо мне: мне 33 года, занимаюсь IT с 2013, 5 лет назад переехал в США, в этом году устроился в FAANG.

Миф 1. Крутые программисты пишут сложный код

«Ого, он написал свой фреймворк!», «Ого, он использует эту крутую сложную библиотеку!», «Почитал его код, ничего не понял. Он явно лучше программист, чем я, раз написал такое». У нас, как правило, если синьор написал код, то джуну там ловить нечего. А ещё синьоры могут мерятся письками, у кого код сложнее. Ну что ж, это горькая правда, что многие наши программисты сильно развились технически и материально, но счастье так и не обрели. Я сам такой, активно с этим борюсь. И включается детская позиция утверждаться на работе.

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

Читать далее
Total votes 93: ↑46 and ↓47-1
Comments150

Подкаст с Грачиком Аджамяном: про Y Combinator, монетизацию и рост без вложений в маркетинг

Reading time7 min
Views707

В SubHub подкасте мы обсуждаем бизнес мобильных приложений с выдающимися представителями индустрии. В нашем пятом выпуске гостем подкаста стал Грачик Аджамян, CEO приложения для звонков с незнакомцами Wakie. Грачик был одним из первых выпускников Y Combinator в России, а теперь стремится решить проблему одиночества и чувства изолированности у людей.

Послушать подкаст можно на всех популярных платформах.

Apple
YouTube
SoundCloud
Google Podcasts
Яндекс.Музыка

Для Habr мы выбрали самые интересные отрывки нашей беседы, а полная расшифровка есть на vc.ru.

Читать далее
Total votes 4: ↑2 and ↓20
Comments3

Golang+FFmpeg

Reading time2 min
Views12K

Долго искал более-менее живую Golang-библиотеку для работы с rtsp.

Изначально наткнулся на github.com/nareix/joy4, но там оказался устаревший C-код и rtp был на Golang, а декодинг на FFmpeg. (немало deprecated варнингов).

Изначально форкнул ее, что-то поправил, но с китайскими камерами (о чем, много уже, написано на хабре), часто были битые кадры, отвалы коннекта и т.д.

Поискал по Go-go! telegram-чату - понял, что нет хороших решений.

Ну и как любят делать на JS - нужно написать свой фреймворк.

Читать далее
Total votes 4: ↑2 and ↓20
Comments7

Go: как программа восстанавливается после паники?

Reading time3 min
Views6.2K

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

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments0

Мотивированные установки из США (Android) — обзор вариантов, статистика, мнение

Reading time5 min
Views13K
Предисловие: Я — самый обычный индивидуальный разработчик Android-приложений, одно из своих детищ я уже давненько опубликовал в Google Play, после чего усердно над ним работал. В какой-то момент я решил — «Почему бы не попробовать продвинуть приложение?». Для этого я принялся усердно читать различную литературу на эту тему. В последствии пришел к идее попробовать купить мотивированные установки (о том, что это читайте ниже). Было принято решение продвигаться конкретно в США. Собственно далее — то, что у меня получилось, что я попробовал.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments9

Катастрофы, с которыми я столкнулся в мире микросервисов

Reading time9 min
Views27K

Прим. перев.: автор этой статьи — engineering manager из Испании, работающий в цифровой торговой площадке Adevinta, представленной в 16 странах, — делится своими наблюдениями о частых проблемах, которые он встречал у создателей микросервисов. Об этих вызовах стоит знать заранее, чтобы не столкнуться с ними тогда, когда их решение может оказаться слишком затратным.

Когда пост Мартина Фаулера о микросервисах вышел в 2014 году, команды, в которых я работал, уже занимались SOA-приложениями. Эта статья и последующий хайп коснулись почти каждой команды разработчиков в мире. Стек Open Source-софта от Netflix был самым крутым в то время, поскольку позволял инженерам по всему миру перенимать опыт Netflix в распределенных системах. Если мы взглянем на работу разработчиков программного обеспечения сегодня, более шести лет спустя, большая её часть касается архитектуры микросервисов.

Читать далее
Total votes 78: ↑78 and ↓0+78
Comments23

Разница между статистикой и наукой о данных

Reading time8 min
Views14K
Здравствуйте, уважаемые читатели. Мы вновь попробуем посоветоваться с вами по поводу актуальности орейлевской новинки. На сей раз речь пойдет о статистике для Data Science.

Объем оригинала — 250 стр., дата выхода — 25 февраля.


В книге рассмотрены лаконичные кейсы с небольшим количеством графиков и примеров на языке R.

Чтобы размышлять и голосовать было интереснее — под катом найдете статью, автор которой попытался уловить и описать разницу между статистикой и Data Science
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments12

Чистим зубы с кровью: что надо знать

Reading time8 min
Views40K
image

Если у вас при мытье рук из этих самых рук потечёт кровь, то, наверное, вы сразу пойдёте к врачу. Если умыться и увидеть кровь на глазах — тоже. А вот с зубами почему-то все воспринимают кровотечение совершенно спокойно.

Итак, если у вас кровь при повседневной чистке зубов, то пора знакомиться с довольно редкой и специализированной разновидностью стоматолога — пародонтологом:

  1. Коротко пробежимся по строению пародонта и его задачам.
  2. Как наша иммунная система спасает нас от лишних зубов.
  3. Что будет, если слишком усердно чистить зубы.
  4. Учим чистить зубы с нуля, или классические ошибки пациентов.
  5. Почему иногда лучше чистить без зубной пасты.
  6. Почему самые терпеливые пациенты рискуют всю жизнь посещать стоматолога четыре раза в год.
Читать дальше →
Total votes 59: ↑53 and ↓6+47
Comments65

5 писателей-фантастов, работавших программистами

Reading time5 min
Views21K

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

Читать далее
Total votes 37: ↑36 and ↓1+35
Comments23

Архитектура веб-проекта для тяжелых вычислений

Reading time6 min
Views3.3K

Пару лет назад наш коллега Анатолий Ерофеев написал эту статью, но как оказалось, она еще пока актуальна. Поэтому не судите строго.

Читать далее
Total votes 7: ↑4 and ↓3+1
Comments5

Награды в играх. Вариант backend реализации

Reading time5 min
Views2.5K

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

Читать далее про создание сундуков
Total votes 5: ↑5 and ↓0+5
Comments8

Полноценное руководство по проведению встреч one-on-one для менеджеров

Reading time11 min
Views11K

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

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

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments0

Когда стоит выбирать микросервисы

Reading time10 min
Views7.8K

Всем привет! Меня зовут Виктория, в Typeable я занимаюсь вопросами архитектуры приложений и не могла пройти мимо вечного вопроса: быть или не быть? Точнее переводить нам наши решения на микросервисы или нет. И с целью это понять я провела небольшое исследование возможных причин и анти-причин, выводы по которому и привожу здесь.

Микросервисы начали набирать популярность в 2011-2014 годах, органично заменяя тяжеловесные SOA и монолитные решения, там где архитектура блокировала доступ к быстро развивающемуся рыночному сектору облачных приложений.

Сам подход оформился на стыке технологий из конкурентной необходимости мгновенно вывести бизнес на новый уровень, и поэтому решения развивались лавинообразно и быстро обзаводились надстройками, паттернами и CI/CD обвеской. Для бизнеса причины не теряют актуальности и интерес к микросервисам также не угасает последние десять лет. При этом сделать решение на микросервисах для ИТ команды – задача творческая, интеллектуальная, позволяющая опробовать современные подходы и уложить на лопатки драконов консерватизма предыдущих решений. То есть, вполне благородный вызов. 

Но вот стоит ли поддаваться этой магии — большой вопрос. 

Как и всякое модное решение микросервисы не всегда идут на пользу. И не являются панацеей от всех проблем. 

Впрочем, давайте разбираться.

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments4
1
23 ...

Information

Rating
Does not participate
Registered
Activity