Pull to refresh
2
0
Vladimir Pavlychev @KeyJoo

Linux user

Send message

Anki — настолько круто, что я даже представить не мог

Reading time4 min
Views128K

Если вдруг кто не знает, Anki - это бесплатная opensource программа для запоминания слов (и не только). Есть версии под декстоп и мобилы. Она довольно популярна при этом имеет интуитивно-НЕпонятный интерфейс. Мне понадобилось много лет, чтобы понять, насколько она крута, т.к. базовые статьи и туториалы этого не описывают. А многие люди используют ее даже не понимая ее возможностей.

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

Читать далее
Total votes 84: ↑75 and ↓9+66
Comments145

Разбираемся в REST assured как новичок и не только

Level of difficultyEasy
Reading time12 min
Views22K

Привет, меня зовут Александр Беляков, я инженер по тестированию Альфа-Банка. В 2021 году пришёл в IT из медицины и четыре месяца стажировался в Альфа-банке. Хотел бы рассказать о внедрении автотестов REST API с JSON-schema на проекте, на котором я стажировался с нуля и без опыта: с чего начать, как подготовиться, что необходимо знать и как быть с ошибками. Статья будет полезна начинающим тестировщикам, как я, которые только хотят начать работать в тестировании. Но и начинающим лидам я скромно рекомендую уделить статье время. У вас уже достаточно опыта и вы всё знаете, но, возможно, не помните, каково это ничего не знать.

Читать далее
Total votes 26: ↑25 and ↓1+24
Comments3

Бардак в main, стандартизация и uber.fx. Как сделать структуру кода понятнее для всех

Reading time20 min
Views11K
Привет, Хабр! Меня зовут Данила Проценко. Я — Lead Software Architect в «Лаборатории Касперского», занимаюсь архитектурой микросервисов и монолитов на Go.

Строгий порядок — залог успешного промышленного программирования. А порядок, в свою очередь, начинается со стандартизации. В этой статье я расскажу про то, как во множестве микросервисов и просто сервисов можно стандартизировать структуру кода и сделать ее понятнее для всех. И поскольку эта статья — про код и его структуру, то приготовьтесь к тому, что кода в ней будет очень много :)

image
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments18

.vimrc, который всегда со мной

Reading time2 min
Views63K
Моему .vimrc уже больше восьми лет. Он помнит времена PentiumII, Debian Potato и gcc настолько древнего, что я уже и не помню его версии. Он развивался с пятой версии Vim, приобретал полезные фрагменты и избавлялся от ненужных. И вот внезапно захотелось поделиться с вами его содержимым. Весь файл я показывать пока не буду, лишь пройдусь по некоторым, на мой взгляд, интересным моментам.
Читать дальше →
Total votes 75: ↑67 and ↓8+59
Comments70

Как изучать языки программирования

Reading time11 min
Views273K


Я ни в коей мере не утверждаю, что указанный мной способ лучший из возможных. Более того, я вовсе не уверен в том, что он вообще правильный. Возможно, если бы моим первым языком был не Си, а какой-либо из функциональных языков или ассемблеров, моё мнение было бы иным, и жизнь моя сложилось бы совсем иначе. Так что весь нижеизложенный материал воспринимайте со здоровым скептицизмом.
Читать дальше →
Total votes 61: ↑46 and ↓15+31
Comments346

Нет, в Haskell неудобно обрабатывать ошибки (если не пользоваться эффектами)

Reading time6 min
Views5.7K

Если вы когда-нибудь читали агитации, призывающие к изучению Haskell, наверняка вас убеждали, что в нём ну очень удобно обрабатывать ошибки, ведь там есть Монада Either.

Но это неправда. В хаскельных школах не рассказывают, как удобно(?) обрабатывать ошибки. А я расскажу.

Обработать ошибки без регистрации и СМС
Total votes 39: ↑38 and ↓1+37
Comments19

Функциональные аспекты Ruby

Reading time7 min
Views2.6K

Что такое функциональное программирование?

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

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments3

Профилирование: измерение и анализ

Reading time13 min
Views16K


Привет, я Тони Альбрехт (Tony Albrecht), инженер в Riot. Мне нравится профилировать и оптимизировать. В этой статье я расскажу об основах профилирования, а также проанализирую пример С++-кода в ходе его профилирования на Windows-машине. Мы начнём с самого простого и будем постепенно углубляться в потроха центрального процессора. Когда нам встретятся возможности оптимизировать — мы внедрим изменения, а в следующей статье разберём реальные примеры из кодовой базы игры League of Legends. Поехали!

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

История железа: 40 лет назад в продажу поступил персональный компьютер TRS-80

Reading time3 min
Views14K

3 августа 1977 года компания Tandy Corporation вместе с Radio Shack выпустили в свободную продажу один из первых персональных компьютеров в мире — TRS-80. Партнеры, конечно, хотели добиться успеха при реализации своей продукции. Но обе компании даже не представляли, что этот компьютер не только станет популярным, но и войдет в историю. Руководство, которое осуществляло управление этим проектом, поставило максимальный план продаж в 1000 единиц в месяц, не слишком надеясь на его выполнение.

Реальность превзошла все ожидания. Как только шестисотдолларовый TRS-80 попал на прилавки магазинов, его стали разбирать, как горячие пирожки. Можно сказать, что именно эта модель привела к тому, что в США и других странах стали появляться энтузиасты компьютерного дела «из народа», а не академических организаций. Началась новая эра, в которой одну из главных ролей играют компьютеры.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments8

CURL: почему проект, которому четверть века, не торопится переходить на C99

Reading time4 min
Views16K

Проект curl основан на фундаменте, заложенном в конце 1996 года инструментом под названием httpget.

ANSI C, ставший известным как C89


В 1996 году было не так много хороших альтернатив для создания небольшого и эффективного инструмента командной строки для передачи данных через Интернет. Я не хочу сказать, что C был единственным имевшимся языком, но для меня выбор был прост, и, честно говоря, когда начался этот путь, я даже не думал о каких-то других языках. Мы называли версию этого языка ANSI C, чтобы отличать его от «старорежимного» C K&R. Версию ANSI C позже переименовали в C89 (иногда её называют C90, и это сбивает с толку).

В 2000 году мы выпустили libcurl — библиотеку, предоставляющую всем желающим суперсилы передачи данных через Интернет. Это ещё сильнее оправдывало выбор C. Благодаря C мы могли без проблем предоставить стабильный API/ABI, чего в то время не мог обеспечить даже C++. К тому же это был достаточно портируемый язык, поэтому мы смогли перенести curl и libcurl практически на все современные операционные системы.

Поскольку я хотел, чтобы curl и libcurl предоставляли возможности системного уровня, и нацеливался на максимально широкое распространение, их нельзя было написать ни на одном из высокоуровневых языков наподобие Perl, Python или им подобных. Из-за этого они стали бы слишком большими и тащили за собой слишком много «лишнего багажа».

Я убеждён, что использование (консервативного) C для разработки curl — ключевой фактор его успеха и возможности использования его «где угодно».
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments22

IT для неайтишников: Куда исчезают программисты после 40 лет?

Reading time11 min
Views121K

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

Читать далее
Total votes 141: ↑122 and ↓19+103
Comments281

Как я пошла на хакатон Data Science с нулевым опытом в Data Science

Reading time14 min
Views15K

23-25 сентября 2022 года проект "Цифровой прорыв. Сезон: Искусственный интеллект" провёл в Москве кейс от ВК "Машинное обучение на графах" на прогнозирование склонности к благотворителей у пользователей ВК.

Всем, кто боится ходить на хакатоны, посвящается.

Мой первый хакатон: опыт, впечатления и выводы, к которым я пришла.

Читать далее
Total votes 17: ↑16 and ↓1+15
Comments11

Курс по Ruby+Rails. Часть 2. Объектно-ориентированное программирование

Reading time8 min
Views4.7K

В этой лекции мы рассмотрим объектно-ориентированный стиль в Ruby: поговорим об объектах, классах и модулях, а также вспомним три принципа объектно-ориентированного программирования.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments2

Программирование для админа: какой язык выбрать?

Reading time7 min
Views13K

Эксперты Слёрма — Антон Черноусов, Павел Селиванов, Денис Наумов и Владислав Килин — собрались, чтобы обсудить, какой язык больше подходит для админов, инженеров и devops.

Дисклеймер. Этот материал не претендует на звание истины в последней инстанции. Статья создана на основе рабочего (и жизненного) опыта экспертов, которым они поделились на этом митапе.

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments17

Трудности перехода: каков Elixir на вкус после Ruby

Reading time14 min
Views7K

Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir.

Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, а Elixir там нет. Более того, есть истории о том, как люди возвращались с Elixir обратно на Ruby. Я считаю, что на это сильно влияет вход в язык. Elixir классный, но в первые месяцы знакомства с ним мне самой так не казалось. Настолько классный, что я не хочу назад. В этой статье я расскажу про трудности перевода перехода.

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

Почему мы пишем бизнес-логику на Lua

Reading time7 min
Views14K
Привет, Хабр. В этом посте мы хотим рассказать о том, как и почему мы в IPONWEB используем язык программирования с красивым названием Lua.

Lua — скриптовый встраиваемый язык программирования со свободно распространяемым интерпретатором и открытыми исходными текстами на C. Он был разработан в 1993 году в Бразилии, в подразделении Tecgraf Католического университета Рио-де-Жанейро, а его прародителями были DEL (Data-Entry Language) и SOL (Simple Object Language), разработанные там же ранее. Один из прародителей, язык SOL, косвенно поучаствовал и в «крещении» новорожденного — «Sol» переводится с португальского как «солнце», а новый язык получил имя «Lua», «луна».

Легкость встраивания Lua в написанные на “системных” языках движки сделала его популярным скриптовым языком видеоигр. На Lua написаны, к примеру, скрипты в Grim Fandango и Baldur's Gate. Те, кто играет в World of Warcraft, тоже наверняка слышали о Lua не раз и не два — именно на нем пишут аддоны к игре, облегчающие жизнь хардкорщикам, казуалам, любителям помериться эффективностью и прочим обитателям игрового мира. Вне геймдева Lua используется как скриптовый язык встроенных систем (телевизоров, принтеров, автомобильных панелей), а также приложений, например, медиаплеера VLC Media Player. Lua используют в качестве встроенного языка такие инструменты, как Tarantool, Redis и OpenResty. А еще Lua был использован как язык расширения для расчетных кодов на языке Фортран, моделирующих термомеханическое поведение ядерного топлива.

Почему Lua?


Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments20

Интервью с командой разработчиков социальной сети Now

Reading time8 min
Views16K

В конце марта 2022 года в СМИ и профильных изданиях начали появляться заметки о том, что группа независимых разработчиков работает над альтернативой социальной сети Instagram**. Приложение получило название Now (читается как «Нау») и тогда было доступно только в виде тестовых сборок для Android и iOS. Сейчас Now уже официально вышло в App Store, Google Play, RuMarket, и в ближайшее время ожидается релиз в AppGallery. Менее чем за месяц аудитория Now преодолела отметку в 200 тыс. пользователей, ежедневно регистрируется более 4 тыс.

Редакции Хабра удалось пообщаться с командой Now, узнать об истории создания приложения, внутренней кухне и планах. Список вопросов к разработчикам мы формировали на основе комментариев пользователей Хабра и собственных интересов.

Читать далее
Total votes 35: ↑30 and ↓5+25
Comments29

Совместная игра в Factorio — лучшее собеседование для программистов, что мы проводили

Reading time11 min
Views79K
В последнее время много копий сломано вокруг технических собеседований. Очевидно, что инвертирование двоичного дерева на доске практически никак не связано с практическими навыками реального программиста. Примитивный Fizzbuzz по-прежнему остаётся самым эффективным тестом. Как следствие, выросло внимание к опенсорсным проектам, но оказалось, что это тоже не очень хороший показатель, потому что у большинства профессионалов нет на них времени.

У нас в компании самое эффективное собеседование по программированию на сегодняшний день — это обычно какое-то домашнее задание на несколько дней, в котором кандидата просят исправить баг или реализовать небольшую функцию. Это не очень хорошо, потому что занимает много времени, и человек может получить внешнюю помощь (или погуглить, если функция достаточно распространённая). С другой стороны, некоторые крупные компании вместо этого удвоили количество собеседований с доской (и алгоритмами), подвергая будущих инженеров многочасовым сессиям онлайн-программирования с различным уровнем инвазивного наблюдения.

Все эти методы интервью не сравнятся с очень простой метрикой: совместная игра в Factorio. Прохождение всего цикла Factorio — практически идеальный показатель, насколько хорошо человек решает общие технические проблемы. Можно даже настроить прохождение игры на основе будущей должности, чтобы лучше понять, как кандидат справится со своей ролью.
Читать дальше →
Total votes 110: ↑106 and ↓4+102
Comments144

Как перейти с secrets на credentials (Ruby on Rails)

Reading time4 min
Views6.2K
Сredentials в версии Ruby on Rails 5.2.0 — новый золотой стандарт. Старые добрые, но небезопасные файлы .env уступают дорогу. В этой статье вы узнаете:

  • зачем и как перейти от secrets к credentials,
  • как использовать API-ключи в Ruby, YML и js.erb,
  • как раз и навсегда предоставить ключ каждому из команды.
Читать дальше →
Total votes 2: ↑1 and ↓10
Comments0

Pry → REPL для Ruby, который сто́ит того

Reading time5 min
Views3.9K

REPL


REPL в мире наколенной разработки расшифровывается как Read → Evaluate → Print Loop. Зачитали, выполнили, напечатали, и так много раз.


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


Pry Logo

Несколько рецептов правильной прожарки Pry в домашних условиях
Total votes 7: ↑7 and ↓0+7
Comments0
1
23 ...

Information

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