Pull to refresh
0
0
Send message

«Нет разделения на онлайн и офлайн — мы сами его себе придумали»

Reading time11 min
Views3.8K

«Мы — это поколение, которое помнит офлайн без онлайна. Мы себе придумали, что есть отдельный мир со своими законами. А вообще законы одни и те же. Я купил булку. Какая разница, купил я ее в магазине или заказал через приложение? Результат от этого не меняется. Так же в образовании»

Поговорили с Александром Ларьяновским, совладельцем Skyeng, о мифах современного образования и массовом спросе на IT-специальности. А еще о том, как поживает проект Skypro и почему людям не нужно опасаться искусственного интеллекта.

Читать далее
Total votes 17: ↑6 and ↓11-5
Comments8

Собеседую программистов на Java. Единый набор вопросов для любого уровня

Reading time4 min
Views27K
В своей карьере мне приходилось быть и разработчиком, и менеджером, и даже один раз «CTO» в небольшом стартапе. И, разумеется, приходилось проводить большое количество собеседований кадидатов. Поэтому для себя я выработал такие правила проведения технических собеседований:

  • всем кандидатам задавать одинаковые вопросы,
  • вопросы должны быть такие, чтобы на них ответил и junior, и senior, но по разному,
  • после трёх вопросов должен быть понятен уровень кандидата.

И вот такие три вопроса для Java-разработчиков у меня получились.
Читать дальше →
Total votes 41: ↑25 and ↓16+9
Comments55

Резюме с фотографией летит в урну. Особенности поиска работы в США

Reading time5 min
Views23K
Привет Хабр! Меня зовут Марина Могилко. Я уже четыре года живу в США и развиваю LinguaTrip.com — онлайн-платформу по бронированию языковых курсов. В основном мы помогаем с учёбой — выучить английский или поступить в зарубежный вуз, но периодически просят помочь и с работой за границей. Мы не занимаемся трудоустройством, но знаем, как попасть в хорошую компанию в США. В целом секрет прост — прокачайте профиль в LinkedIn, продайте себя через резюме и произведите хорошее впечатление на собеседовании. Как это сделать, рассказываем под катом.

image
Total votes 59: ↑20 and ↓39-19
Comments44

24-ядерный CPU, а я не могу набрать электронное письмо

Reading time9 min
Views100K
Я не искал неприятностей. Не запускал процесс сборки Chrome тысячу раз за выходные, а только занимался самыми обычными задачами 21-го века — просто писал электронное письмо в 10:30 утра. И вдруг Gmail подвис. Я продолжал печатать несколько секунд, но на экране не появлялось никаких символов. Затем внезапно Gmail отвис — и я вернулся к своему очень важному письму. Но впоследствии всё повторилось, только на этот раз Gmail ещё дольше не отвечал запросы. Это странно

Трудно устоять перед возможностью провести хорошее расследование, но в данном случае вызов особенно силён. Ведь я в Google работаю над улучшением производительности Chrome для Windows. Обнаружить причину зависания — моя работа. И после множества фальстартов и тяжёлых усилий мне всё-таки удалось выяснить, как Chrome, Gmail, Windows и наш IT-отдел вместе помешали мне набрать электронное письмо. По ходу дела нашёлся способ сэкономить значительное количество памяти для некоторых веб-страниц в Chrome.

В расследовании оказалось так много нюансов, что я оставлю некоторые для другой статьи, а сейчас полностью объясню причины подвисаний.
Читать дальше →
Total votes 137: ↑129 and ↓8+121
Comments161

Превращаем шлюз умного дома Xiaomi в колонку

Reading time3 min
Views35K
Привет, хабра гиктаймс-читатель! Сегодня я научу тебя как из бесполезного функционала получить полезный. Получать будем на примере умного дома от небезызвестной компании Xiaomi и её продукта в виде ZigBee-шлюза.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments9

Катаем «смоляной шарик» или создание собственных правил сборки с помощью Qbs

Reading time14 min
Views8.5K
Qbs (Qt Build System) — система сборки, позволяющая описывать процесс сборки проектов на простом языке QML (javascript-подобный декларативный язык), ускоряющий процесс сборки продуктов за счет построения подробного графа зависимостей. Хоть эта система и создана разработчиками Qt, но она жестко не привязана к Qt и позволяет собирать любые продукты, для любых языков программирования и даже использоваться не для программирования, а например для администрирования. Как заявлено в официальной документации:
A product is the target of a build process, typically an application, library or maybe a tar ball

Сегодня и рассмотрим процесс создания своих продуктов. Поехали…
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments54

40 необычных вопросов, задаваемых на собеседовании в Apple

Reading time4 min
Views68K
Apple одна из самых престижных компаний в мире, очевидно, что получить работу в ней очень непросто. Среди вопросов, которые задают кандидатам на собеседовании, встречаются как технические, так и ошеломляющие головоломки.



А когда речь заходит о работе в магазинах Apple, соискателям задают много вопросов, которые в большинстве случаев связанны с сглаживанием конфликтов. Некоторые вопросы требуют решения хитрых математических задач, в то время как другие на первый взгляд кажутся простыми, но на деле это не так.
Читать дальше →
Total votes 31: ↑17 and ↓14+3
Comments188

NooLite + Raspberry Pi + Telegram = умный дом

Reading time14 min
Views47K

2 года назад передо мной встала задача реализовать удаленное управление обогревательными приборами в своем загородном доме. В данной статье я хочу поделиться моим вариантом автоматизации и удаленного управления, к которому я в итоге пришел. Постараюсь охватить весь процесс и подробности создания этого хобби-проекта и поделиться всеми сложностями, с которыми пришлось столкнуться. В процессе реализации, как видно из названия статьи, я использовал Noolite (о нем расскажу в статье), Telegram и совсем немного Python.


image
Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments47

LLVM для исследователей

Reading time14 min
Views50K
В этой статье рассказывается о проведении исследований на базе инфраструктуры компилятора LLVM. Нашего рассказа должно хватить для того, чтобы исследователи, которым компиляторы прежде были по большей части безразличны, пришли в восторг от LLVM и сделали с его помощью что-нибудь интересное.

Что такое LLVM?


LLVM — это по-настоящему удобный для разборки и сборки «ранний» компилятор для таких традиционных языков программирования, как C и C++.

LLVM настолько хорош, что считается «больше, чем просто компилятором» (это динамический компилятор, он работает с языками, не относящимися к семейству C, он представляет собой новый формат доставки для App Store и т. д. и т. п.). Все перечисленное верно, но для нашей статьи важно лишь приведенное выше определение.

LLVM имеет несколько ключевых отличий от других компиляторов:

  • Главное новшество — промежуточное представление (ПП). LLVM работает с ПП, которое действительно можно прочитать (если вы умеете читать ассемблерный код). Возможно, кому-то это не покажется столь уж большим откровением, однако это свойство очень важно. ПП других компиляторов обычно имеют настолько сложную структуру, что их невозможно записать вручную, трудно понять и использовать.
Читать дальше →
Total votes 72: ↑68 and ↓4+64
Comments6

Каково это — быть разработчиком, когда тебе сорок

Reading time18 min
Views229K
Примечание от переводчика:

Этот пост был написан и опубликован на Medium разработчиком приложений Адрианом Космачевским из Швейцарии. Кроме подготовки перевода его публикации, я также пригласил и самого автора, Адриана ( akosma ), на Хабр, для того, чтобы он смог лично ответить на любые вопросы участников сообщества, если таковые возникнут. Думаю, для общего удобства при общении в комментариях с ним стоит использовать английский (и, при желании, дублировать на русском).



Привет всем, я — сорокадвухлетний программист-самоучка, а это моя история.

Пару недель назад я наткнулся на твит, в котором была картинка, прикрепленная ниже, и он заставил меня задуматься о моей карьере.

image

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

Я дебютировал в роли разработчика программного обеспечения в 10 часов утра 6 октября 1997 года, в городе Оливос, к северу от Буэнос-Айреса, в Аргентине. Был понедельник. Не так давно я праздновал свой 24-й день рождения.

Мир в 1997 году


Тогда он был немного другим. На веб-сайтах не было предупреждений об использовании cookie. Новаторскими в сети были сайты вида Excite.com, а моим любимым поисковиком был AltaVista.

Мой электронный ящик имел вид kosmacze@sc2a.unige.ch и был расположен на личном веб-сайте, который размещался по адресу http://sc2a.unige.ch/~kosmacze. Тогда мы еще оплакивали принцессу Диану, а Стив Джобс только-только вернулся на роль CEO и убедил Microsoft «вбросить» в Apple Computer 150 миллионов долларов. Digital Equipment Corporation подала в суд на Dell, останки Че Гевары вернули на Кубу, только начался четвертый (!) сезон «Друзей». Был убит Джанни Версаче, скончались Мать Тереза, Рой Лихтенштейн и Жанна Кальман. Люди зависали за Final Fantasy 7 на PlayStation, будто бы были наркоманами, Би-Би-2 начал вещание телепузиков, а Кэмерон только собирался показать миру свой «Титаник».
Читать дальше →
Total votes 200: ↑194 and ↓6+188
Comments321

GitFlow и Semantic Versioning на каждый день

Reading time6 min
Views30K
image

Cколько времени я использую GitFlow и Semantic Versioning, меня все не покидает чувство, что чего-то в них не хватает. Обе концепции хороши, но так как они предлагают решения для проблем из разных областей, их совместное использование выглядит сложнее, чем должно быть.

Возможно причина в том, что я выбрал не самый оптимальный путь, и это может стать хорошей темой для будущего поста. В этом же я хочу описать простой подход к управлению релизами приложений и библиотек.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments3

Проект Qt меняет лицензию и открывает код некоторых модулей

Reading time3 min
Views32K
На прошлой неделе компания Qt Company (подразделение Digia) обновила текст соглашения с организацией KDE Free Qt Foundation и объявила о новой политике лицензирования Qt.

Организация KDE Free Qt Foundation была основана в 1998 г. с целью защиты Qt как свободного ПО. Между организацией и компанией Trolltech был заключен договор, позволяющий в случае прекращения разработки свободной версии Qt, выпустить Qt под лицензией типа BSD (или любой другой свободной). Договор обновлялся, по мере того, как права на Qt переходили к Nokia, а затем к Digia.

Подробности новой лицензионной политики Qt под катом.


Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments19

Как правильно писать RFP на разработку ПО

Reading time16 min
Views38K

Данная статья предназначена вам, дорогие заказчики, будущие и настоящие, наши и не наши. Говорят, что правильно заданный вопрос — половина ответа. Правильно написаное задание заказчиком — залог хорошего и точного предложения от нас, разработчиков, а в итоге — хорошо сделанного проекта, в срок, в рамках бюджета и с высоким качеством. Такую первичную постановку задачи, предназначенную для отправки разработчику, называют запросом на предложение, или RFP (request for proposal).

Уже много лет приходится работать на проектах по разработке ПО. За 15 лет через меня прошли сотни запросов на предложения самого разного качества. Во многих из них я наблюдаю общие проблемы. Попробую — обобщить основные узкие места и дать рекомендации по тому, как избежать их в будущем.

Итак, перед вами поставлена задача — найти достойного подрядчика на разработку ПО. Чтобы найти самого лучшего, вы решаете подготовить и разослать по списку достойных компаний запрос на предложение, провести тендер, и в итоге сделать выбор. Вы открыли чистый лист в ворде и… С чего начать?

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

Tibero. Первый блин

Reading time6 min
Views20K
Недавно в моей жизни закончился период поиска новой работы. На одном из собеседований этого периода я узнал, что в мире появилась новая СУБД, разработчики которой обещают вот-вот затмить собой Oracle всемогущий. Заманчивое обещание тут же породило у меня желание попробовать это чудо заморской техники. Речь шла о корейской СУБД Tibero.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments5

Да, я пишу десктопные приложения под Windows

Reading time5 min
Views119K


Здравствуйте, меня зовут Владимир и я анонимный разработчик десктопных приложений под Windows. В этом месте все должны сказать «Здравствуй, Владимир!», а кто-то может быть добавит «Молодец, что осознал!». А потом все похлопают. Нет, правда, иногда от чтения Хабра у меня возникают именно такое ощущение, что нормально, нет, даже не «нормально», а допустимо и одобряемо сегодня писать только микросервисы для каких-то стартапов, которые будут по какому-то REST API отдавать данные какому-нибудь фронтенду на Ангуляре, который и будет, наконец, показывать пользователю что-то невероятно полезное, вроде таблицы с аггрегированными отзывами о стрижках пуделей с возможностью посмотреть на гуглокартах где бы в вашем городе можно было сделать именно такую стрижку вашему пуделю (несуществующему). А никаких других программ писать уже нет-нет, никак нельзя! Что за чушь?!

Да, многое сегодня происходит в вебе и на мобильных устройствах, но, знаете ли, далеко не всё. Значительная часть приложений по-прежнему является десктопным софтом. И даже (о, ужас!) не под Mac Os или Linux, а под тот самый богомерзкий Windows. И, знаете ли, софт этот живёт, развивается, поддерживается и является ежедневным рабочим инструментом миллионов людей. И никуда он мигрировать не собирается, потому что есть причины, по которым иногда именно десктопное приложение является лучшим вариантом.
Читать дальше →
Total votes 272: ↑231 and ↓41+190
Comments565

Мобильная связь в Европах

Reading time7 min
Views38K
Я как-то писал о своём выборе роуминговых опций наших сотовых операторов. Тогда я остановился на «Ноль без границ» от МТС для входящих и на тарифе «Вокруг света» от Мегафона для исходящих и интернета. Но уже прошло три года, многое изменилось. Решил задокументировать нынешнее состояние дел.

Для начала — почему только Европа. Тут всё просто — я обычно езжу в отпуск в Европу. Не так часто, как некоторые ездят, но сильно чаще, чем сам езжу в другие части света.
Почему вообще возник такой вопрос, почему не купить местную симкарту в стране пребывания? Во-первых, туристу это не всегда возможно. Во-вторых, туристу это не всегда выгодно, особенно если приехал на пару дней. Но если я в стране на неделю и больше, то местную симкарту стараюсь приобрести.
DontPanicCartoon580_39474a
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments41

Делаем обычную микроволновку умнее с IFTTT и OpenHAB

Reading time4 min
Views21K

«Умные дома» и «умные офисы» сегодня тренд. А как сделать самое обычное бытовое устройство чуть «умнее»? А что если при этом вы не умеете или не хотите ничего паять? Я например отношусь к тем, кто паять не умеет, а пользу от умных устройств получать хочет.

Под катом я расскажу, как легко и без паяльника можно быстро превратить абсолютно любую микроволновку в самую настоящую smart-микроволновку, которая будет оповещать вас о готовности еды и своем текущем статусе самыми разнообразными способами.
Читать дальше →
Total votes 15: ↑11 and ↓4+7
Comments19

Эффективная работа с SQLite на примере ICQ

Reading time9 min
Views29K
Как и во многих других приложениях, нам в мобильном ICQ приходится хранить достаточно много информации: сообщения, контакты и тому подобное. Когда количество запросов к этим данным достигает какого-то критического значения, приложение начинает тормозить. Долгий запуск, медленное открытие чата, медленная отправка сообщений, постоянные спиннеры — все это жутко напрягает. Чаще всего причиной тормозов является неудачная работа с данными. В статье я хочу поделиться нашим опытом рефакторинга структуры данных, оптимизации запросов и некоторыми удобными приемами для миграции.

Несколько слов об исходной задаче. Основная сущность у нас — профиль ICQ, у которого есть список контактов, а у тех есть сообщения. Наше приложение существует уже много лет, разрабатывалось разными людьми с разными подходами, номер версии основной БД уверенно приближался к 30. Кроме того, количество фич в продукте невозможно предсказать заранее, это тоже повлияло на архитектуру. В общем, модель данных изначально была примерно такой:

Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments8

Интернет Вещей (IoT) и водопровод

Reading time4 min
Views55K
После публикации про интернет вещей, нам пришло письмо с идеей применения модуля ESP-8266:

«Есть у компании Мастер-Кит очень интересная вещь – моторизированный шаровый кран. Данная модификация питается от напряжения от 3 до 6 вольт и замечательно открывает и закрывает подачу воды в бытовых трубопроводах.



У меня дома стоит кран без моторчика и, к сожалению, расположен в жутко неудобном месте. Каждый раз, когда приходится перекрывать воду, приходится исполнять пластический этюд «Человек-змея». Поэтому и решил установить один раз моторизованный кран и забыть про гимнастику. Но тянуть кучу проводов для управления краном в недавно отремонтированной ванной комнате не хотелось, поэтому стал думать о беспроводном решении.

Внимание привлек модуль ESP-8266,
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments49

Твой код никого не интересует

Reading time4 min
Views79K
Мой код никого не интересует. Я был повержен в шок, когда осознал это в процессе работы программистом. Я тратил много времени на оттачивание своего кода, пока не понял, что он никого не интересует, ведь в зачет идет не сам код, а продукт. Принятие программистом этого факта приведет к повышению продуктивности и ценности его работы.
Читать дальше →
Total votes 122: ↑87 and ↓35+52
Comments200

Information

Rating
Does not participate
Location
Красногорск, Москва и Московская обл., Россия
Date of birth
Registered
Activity