Pull to refresh
147
7.6
Send message

Быть инженером, а не фреймворкером

Level of difficultyEasy
Reading time9 min
Views29K

Эта статья — призыв к самосовершенствованию. У вас все получится. Станьте инженером.

Как обычно, сначала сделаем несколько пояснений: инженеры безусловно должны пользоваться фреймворками. Они прекрасно подходят для разработки приложений, позволяя выполнять поставленные задачи удобным образом. В этой статье мы не будем рассматривать фреймворки как врагов. Слава фреймворкам. Что ж, хватит об этом.

Что же такое фреймворки? Фреймворки — это инструменты разработки ПО, которые обеспечивают базу для реализации проектов определенного типа. Так, если вам нужно написать одностраничное веб-приложение на TypeScript, необязательно делать это с нуля, ведь есть Angular. Хотите заняться машинным обучением на Python? Позвольте представить вам моих друзей Scikit-Learn и Keras. Хотите построить бэкенд на C#? (О боже, вы чертовски круты.) Уверен, вы уже знакомы с ASP.NET. Можно продолжать эту мысль на протяжении еще 1500 слов, но вы и так все прекрасно поняли.

Зная какой-либо фреймворк, вы сможете получить должность, в названии которой есть слово «инженер» и, возможно, «машинное обучение». Если вы владеете двумя фреймворками, то запросто устроитесь на вакансию, в заголовке которой будет присутствовать словосочетание «full stack». Однако если вы собираетесь добиться успеха на следующей работе — той, на которую вас примут, потому что в вашем резюме указано 3-5 лет «инженерного» опыта, — ваш набор навыков должен быть гораздо глубже, нежели знание парочки фреймворков. Иначе нервы у вас сдадут еще на этапе прохождения испытательного срока.

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

Читать далее
Total votes 27: ↑26 and ↓1+30
Comments46

Почему японские веб-сайты выглядят так необычно, или учимся оценивать дизайн, не делая поспешных выводов

Level of difficultyEasy
Reading time7 min
Views54K

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

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

Для ясности, это вовсе не пережитки прошлого, а действующие сайты, которые — в большинстве случаев — обновлялись в 2023 году.

Читать далее
Total votes 75: ↑69 and ↓6+81
Comments47

Уроки дизайна от Space Invaders

Level of difficultyEasy
Reading time5 min
Views3.3K

Яркий пример того, как ограничения могут стимулировать творчество.

Я помню, как впервые увидел Space Invaders.

Это был 1978 год. Мы с другом приехали на велосипедах в местный торговый центр, где в глубине темного зала с автоматами сияла загадочным блеском эта игра.

Мы вытянули шеи над толпой собравшихся вокруг подростков. Это было завораживающее зрелище. До этого я играл во многие аркадные игры, вроде Breakout, Pong или гонок типа Night Driver. С эстетической точки зрения они были довольно примитивными — их графика в основном состояла из простых ярких блоков, а в качестве звукового сопровождения использовались всякие бипы и бупы.

А Space Invaders? У них был особый стиль. В этой игре чувствовалась некая новая грань свободы — как будто Space Invaders распахнула нам двери и без обиняков показала, какими могут быть видеоигры.

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

8 инструментов для миграции ВМ на другую платформу

Reading time6 min
Views11K

Не имеет значения, по каким причинам вы решили мигрировать. Главное, чтобы все прошло по плану. А для этого нужно не только обзавестись актуальными бэкапами, но и, собственно, спланировать весь процесс. Ниже — несколько инструментов, которые могут быть полезны при миграции ВМ между различными платформами виртуализации. 

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments4

Всё вперемешку: как функция Shuffle превратилась из преимущества в наказание

Level of difficultyEasy
Reading time6 min
Views4.7K

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

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments10

Язык(и) программирования будущего

Reading time8 min
Views28K

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

Какая технология придет на смену JavaScript? Есть ли у Kotlin шанс заменить Java? Заменит ли Rust язык C++? У какого языка на замену C, если выбирать между D, Go и Rust, самые большие перспективы?

Особенно мне нравится последний вопрос, потому что человек, задавший его, настолько убежден в бесславном конце C, что привел готовые альтернативы. Мне кажется, что подобные вопросы стали возникать чаще, чем раньше, с момента публикации академического документа Energy Efficiency across Programming Languages: Как соотносятся энергия, время и память». (При желании можно ознакомиться с текстом здесь). Полагаю, все эти вопросы по факту сводятся к одному: каким будет язык (или языки) программирования будущего? Сегодня, опираясь на результаты из упомянутого выше документа и анализируя иную статистическую информацию, мы попытаемся разобраться в этом вопросе. Но прежде, чем начать, я хочу уверить вас, что буду максимально объективен, поскольку не хочу выдавать желаемое за действительное. Давайте начнем с самого главного: того самого документа.

Читать далее
Total votes 25: ↑20 and ↓5+17
Comments98

Прошло 50 лет, а мы до сих пор пожинаем плоды Xerox Alto

Level of difficultyEasy
Reading time10 min
Views16K

Alto преобразил компьютерную технику. И все эти перемены актуальны по сей день.

Я сижу за компьютером, рассматривая графический интерфейс, наложенные друг на друга окна. В этом мне помогает превосходный монитор. Я управляю компьютером, щелкая мышью и вводя текст на клавиатуре. На компьютере установлен текстовый процессор с базовыми возможностями и функциями Microsoft Word, Google Docs или LibreOffice's Writer, а также почтовый клиент, который можно спутать с упрощенной версией Apple Mail, Microsoft Outlook или Mozilla Thunderbird. На этом компьютере можно запускать и другое программное обеспечение, написанное с применением объектно-ориентированного программирования, вроде программ на Python, C++, C#, Java, JavaScript и R. Сетевые возможности компьютера позволяют мне подключаться к другим машинам или к высококачественным лазерным принтерам.

Вероятно, вы сейчас думаете: «Ну и что? У моего компьютера тоже все это есть». Но передо мной вовсе не современный MacBook, ThinkPad или Surface.

Читать далее
Total votes 39: ↑35 and ↓4+45
Comments35

Лабиринт внутри лабораторной мышки

Level of difficultyEasy
Reading time14 min
Views4.1K

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

Читать далее
Total votes 21: ↑20 and ↓1+29
Comments3

Что самое трудное в разработке программного обеспечения?

Reading time13 min
Views8.4K

Фил Карлтон как-то сказал: «В информатике есть только два сложных вопроса: инвалидация кэша и присвоение имен».

Первое — это вполне реальная проблема; второе — проблема определения реальности.

Неверный алгоритм кэширования ставит под угрозу целостность системы. Неадекватные имена могут поставить под угрозу само существование системы.

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

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

Как программисту снизить когнитивную нагрузку: три способа

Reading time6 min
Views21K

Предотвращение когнитивной перегрузки программиста — это ключ к недопущению ошибок и ускорению разработки.

Среди подкастов, которые я обычно слушаю, один называется «Никаких дурацких вопросов». В минувший понедельник я с большим интересом прослушал выпуск «Когда простота становится избыточной?». В нем авторы бросили вызов пресловутой «бритве Оккама» и продемонстрировали предвзятое отношение людей к простейшему объяснению по сравнению с более сложным. Несмотря на то, что в физике зачастую самое простое объяснение оказывается единственно верным, в других науках, таких как экономика или психология, ситуация может измениться. Почему пала Римская империя, или отчего преступность в последние десятилетия пошла на спад — причин тому не одна, а несколько. Авторы подкаста ясно показали, что, несмотря на любые факты, люди предпочитают иметь дело только с одним, а не с несколькими объяснениями случившегося. Это поразило меня.

Читать далее
Total votes 23: ↑20 and ↓3+24
Comments10

Как войны браузеров изменили ландшафт Интернета

Reading time15 min
Views8.4K

Google Chrome уверенно доминирует над остальными браузерами, занимая более 60% мирового рынка. Но так было далеко не всегда. Более 10 лет Internet Explorer, установленный почти на каждом компьютере, сохранял статус самого главного браузера. А потом наступила жесткая конкурентная борьба, которую иногда называют «браузерными войнами».

В наши дни Internet Explorer живет в нашей памяти преимущественно благодаря мемам — он проиграл в борьбе с младшими соперниками. В начале марта 2021 года Microsoft прекратила поддержку классической версии браузера Edge, преемника Internet Explorer. Компания сосредоточилась на разработке обновленного Edge на основе движка Chromium, что еще раз подтверждает тотальное господство Google.

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

Будет ли ребенок, родившийся в минувшем году, жить как Джордж Джетсон?

Reading time5 min
Views4.7K

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

Премьера «Джетсонов» состоялась на канале ABC 23 сентября 1962 года. Действие сериала разворачивалось в далеком будущем, спустя 101 год после первого полета человека в космос, и в нем рассказывалось о семействе Джетсонов — Джордже, Джейн и их детях, Джуди и Элрое, — как они живут своей футуристичной, но при этом поразительно естественной жизнью в Орбит-Сити, в доме на регулируемых колоннах, передвигаются на летающих машинах и катаются на движущихся тротуарах, причем даже в своем собственном доме. Несмотря на то, что сериал продлился всего один сезон, Джетсоны и их причудливый космический мир до сих пор являются своеобразными ориентирами поп-культуры, благодаря почти непрерывной трансляции, выходу двух новых сезонов в 1980-х и нескольким телевизионным спецвыпускам и фильмам.

Читать далее
Total votes 18: ↑14 and ↓4+15
Comments14

Как же приятно писать программы, которые не предназначены ни для чего серьезного

Reading time5 min
Views13K

Рисовать каракули, делать скетчи и всячески возиться с компьютером — это очень странное, но одновременно и великое удовольствие.

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

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

Но со временем я обнаружил, что наибольшее удовлетворение мне приносят куда более странные проекты, не имеющие никакого практического смысла.

Читать далее
Total votes 30: ↑26 and ↓4+28
Comments14

Дорогие художники: вам не стоит бояться ИИ-генераторов изображений

Reading time6 min
Views4.5K

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

С тех пор минуло уже 30 лет. Я тоже сознательно борюсь со скукой и праздностью. Вот, например, один из моих способов скрасить досуг: мне нравится засиживаться допоздна и возиться с генерацией изображений при помощи искусственного интеллекта. Таким инструментам, как DALL-E 2, Midjourney и Stable Diffusion, можно дать короткую текстовую инструкцию, а они в свою очередь изучат ее и произведут на свет безвкусную картину маслом в стиле Тициана, изображающую собак в милых шляпках.

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

Читать далее
Total votes 13: ↑12 and ↓1+14
Comments20

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

Reading time9 min
Views33K

«Собственно, б***ь, вот…», думал я, пока в телефонной трубке звучали длинные гудки. Я звонил своему боссу — не сомневаюсь, этим ясным пятничным утром он только и мечтал услышать, как его старший разработчик только что своими руками, не нарочно, удалил базу данных бэк-офиса.

Гудки напомнили мне писк больничной аппаратуры — когда монитор отмеряет последние пульсы умирающего больного. В данном случае, речь шла о моей карьере. Наконец, трубку на том конце кто-то снял. Мне оставалось уповать лишь на мудрость моего начальника. В глубине души я верил, что, выслушав меня, он произнесет какую-нибудь вдохновляющую речь, после которой я найду в себе силы всё исправить. Но он сказал: «Как это, мать твою, вообще случилось?!».

Что ж, сейчас я расскажу вам, как.

Читать далее
Total votes 50: ↑43 and ↓7+46
Comments86

Pong был скучным, а люди его любили

Reading time7 min
Views6.9K

Итак, в ноябре исполнилось 50 лет с момента выхода игры Pong. Но с какой стати это такое важное событие, что о нем написали целую статью?

Начнем с того, что Pong — это первая видеоигра, пришедшая в дома миллионов простых пользователей и усадившая их перед экранами телевизоров. Pong положил начало глобальной индустрии видеоигр, которая на сегодняшний день оценивается в 300 миллиардов долларов США. И Pong до сих пор остается объектом научных исследований, в том числе в области обучения алгоритмов искусственного интеллекта, улучшения нейронных сетей и разработки интерфейса типа «мозг-машина» под названием Neuralink.

Но будучи представителем поколения X, я с трудом представляю себе, как целые семьи могли сидеть перед однотонным черным экраном, по которому взад-вперед бегает белая точка (простой квадратик, даже не круглый мяч!). Неужели это действительно было весело? Чтобы отметить полувековой юбилей Pong, я решил выяснить, почему столько людей до сих пор любят самую скучную видеоигру всех времен и народов.

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

Программисты-экстремисты

Reading time5 min
Views22K

Да, это не ошибка: сегодня мы поговорим о самых что ни на есть экстремистских подходах к программированию.

«Если вы не практикуете Test Driven Development (TDD), то не можете считать себя профессиональным разработчиком».

«Парное программирование —  обязательное условие для серьезных разработчиков: это намного быстрее, чем одиночная разработка и асинхронная проверка кода»

«Моб-программирование — единственный способ добиться высокой скорости разработки и эффективного обмена знаниями внутри команды»

«TDD обеспечивает надежность кодовой базы и возможность релиза на прод в любое время»

Слышали ли вы когда-нибудь подобные заявления?

Читать далее
Total votes 44: ↑41 and ↓3+45
Comments39

Почему Google убивает свои проекты?

Reading time5 min
Views11K

Если вы зайдете на сайт Killed By Google, то увидите длинный список из 259 сервисов, которые компания Google уже закрыла, и еще несколько, которые будут (или были) закрыты в этом или следующем году. В их числе: G-Suite (устаревшая бесплатная версия), приложения Google Chrome, Google OnHub, YouTube Originals и Google Currents. Единственный из этих сервисов, который может быть кому-то интересен, — YouTube Originals. А о Google OnHub и Google Currents вы, возможно, даже не слышали.

Читать далее
Total votes 13: ↑12 and ↓1+15
Comments33

Крестный отец южнокорейской индустрии чипов

Reading time14 min
Views4.9K

Как Ким Чон Ки помог стране стать полупроводниковой сверхдержавой

…Их называли «мафией Кима». Конечно, самому Киму такое именование и в голову бы не пришло. Но то, что говорили южнокорейские инженеры о его бывших учениках, было чистейшей правдой: те были повсюду.

К середине 1980-х годов, когда в Южной Корее значительно ускорилось производство чипов, инженеры, учившиеся у Кима в Корейском институте передовых технологий (KAIST), заняли ведущие должности на предприятиях полупроводниковой отрасли, в университетах и государственных институтах. В начале XXI века Южная Корея стала величайшей державой мирового рынка полупроводников, именно она удовлетворяла 60% международного спроса — и это только на микросхемы памяти

От немалой части страна обязана своим успехом господину Ким Чон Ки. Он был первым в Южной Корее профессором, начавшим систематически преподавать полупроводниковую инженерию. С 1975 года, когда страна только-только освоила производство примитивных транзисторов, по 2008 год, когда он ушел на пенсию, Ким подготовил более 100 студентов, де-факто создав два первых поколения южнокорейских специалистов в сфере полупроводников.

Читать далее
Total votes 23: ↑22 and ↓1+25
Comments4

Как Microsoft чуть не убила JavaScript

Reading time5 min
Views20K

В своем стремлении доминировать в Интернете Microsoft чуть было не уничтожила JavaScript.

В начале 2000-х годов Microsoft Internet Explorer был самым популярным браузером в мире. Его конкурент, Netscape Navigator, плелся где-то в хвосте. Оба браузера использовали схожие скриптовые языки клиентской части для обеспечения интерактивности — JavaScript и JScript боролись за место того, кто будет формировать интернет в ближайшие десятилетия.

Владея примерно 96% доли рынка, Microsoft не видела необходимости продвигать стандарт, который укрепил бы позиции JavaScript в браузерах. Череда событий, приведшая в 1998 году к обвинениям в монополизме и заставившая Билла Гейтса уйти в отставку, едва не стала причиной смерти JavaScript.

Читать далее
Total votes 36: ↑27 and ↓9+28
Comments22

Information

Rating
769-th
Works in
Registered
Activity