Pull to refresh
8
0
Арсений Романовский @ShamanHead

Веб программист

Send message

SQL ключи во всех подробностях

Reading time18 min
Views250K
В Интернете полно догматических заповедей о том, как нужно выбирать и использовать ключи в реляционных базах данных. Иногда споры даже переходят в холивары: использовать естественные или искусственные ключи? Автоинкрементные целые или UUID?

Прочитав шестьдесят четыре статьи, пролистав разделы пяти книг и задав кучу вопросов в IRC и StackOverflow, я (автор оригинальной статьи Joe «begriffs» Nelson), как мне кажется, собрал куски паззла воедино и теперь смогу примирить противников. Многие споры относительно ключей возникают, на самом деле, из-за неправильного понимания чужой точки зрения.

Содержание



Давайте разделим проблему на части, а в конце соберём её снова. Для начала зададим вопрос – что же такое «ключ»?
Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments120

Темизация. История, причины, реализация

Reading time16 min
Views6K

Когда веб только зарождался – единственной его целью было размещение контента (гипертекстовые страницы), чтобы у пользователей из всемирной паутины был к нему доступ. В то время не могло идти и речи о дизайне, ведь зачем нужен дизайн страницам с научными публикациями, разве они станут от этого полезнее (первый сайт). Времена меняются и сегодня во всемирной паутине далеко не только научные публикации. Блоги, сервисы, социальные сети и многое, многое другое. Каждый сайт нуждается в своей индивидуальности, ему необходимо заинтересовывать и привлекать пользователей. Даже научные сайты постепенно это понимают, ведь большинство ученых хотят не просто изучать те или иные аспекты, а доносить их до людей, тем самым повышая свою популярность и ценность своих исследований (пример – 15 из 15 научных сайтов списка сделали редизайн в последние 6 лет). Рядовым обывателям не интересен серый сайт с непонятным содержанием. Наука становится доступнее, а сайты преобразуются в приложения с удобным и приятным интерфейсом.

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

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

Рендеринг на клиенте, на сервере и генерация статических сайтов

Reading time5 min
Views14K

Приветствую всех профессионалов и любителей сайтостроения! Предлагаю вашему вниманию перевод статьи "Client-Side Rendering vs Server-Side Rendering vs Static-Site Generation" от Malcolm Laing.


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

Читать дальше →
Total votes 7: ↑4 and ↓3+4
Comments9

Что нужно знать про арифметику с плавающей запятой

Reading time14 min
Views965K


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

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →
Total votes 245: ↑242 and ↓3+239
Comments75

Алгоритмы сжатия данных без потерь, часть 2

Reading time9 min
Views102K
Часть 1

Техники сжатия данных


Для сжатия данных придумано множество техник. Большинство из них комбинируют несколько принципов сжатия для создания полноценного алгоритма. Даже хорошие принципы, будучи скомбинированы вместе, дают лучший результат. Большинство техник используют принцип энтропийного кодирования, но часто встречаются и другие – кодирование длин серий (Run-Length Encoding) и преобразование Барроуза-Уилера (Burrows-Wheeler Transform).
Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments10

Чтобы роботы были счастливы

Reading time8 min
Views2.5K
image
Дети — наше будущее. И роботы. Дети и роботы. (с) «Типичный программист»
Время не стоит на месте, и фраза «войти в IT» уже не действует на людей гипнотически, как было некоторое время назад. Однако теперь появилась новая напасть: люди пытаются «втолкнуть в IT» своих детей, причём, чем раньше, — тем лучше. Есть спрос — будет и предложение, поэтому заботливым родителям на каждом углу предлагают свои услуги различные кружки, клубы, академии и прочие образовательные организации. Они обещают обучить ваше чадо программированию, робототехнике, и превратить ребёнка в мгновение ока в компьютерного гения, зарабатывающего миллионы ещё будучи ребёнком. Я не буду поднимать вопрос, хорошо это или плохо, так как всё субъективно. Цель данной публикации — помочь сделать свой выбор, уберечь от возможных ошибок или, наоборот, наконец-то решиться познакомить ребёнка с удивительным миром информационных технологий и робототехники.

Я верю в то, что каждый взрослый человек в душе всё равно остаётся ребёнком, поэтому даже если у вас нет детей — эта публикация всё равно может оказаться полезной.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments6

Почему мы должны перестать заниматься пет-проектами

Reading time6 min
Views42K
image

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

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

Все это так, но удовольствие видеть, как твоим продуктом пользуется кто-нибудь еще, видеть, что он решает чьи-то проблемы — несравнимо выше. Так что я решил во что бы это ни стало довести хотя бы один проект до релиза.
Нужно было всего лишь разобраться, что мне мешало сделать это раньше.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments10

Пол Грэм: Как писать полезные тексты (полная версия)

Reading time10 min
Views3.6K
image

Каким должно быть эссе? Многие сказали бы — убедительным. Так нас учили… Но я думаю, что мы можем стремиться к чему-то более амбициозному: эссе должно быть полезным.

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

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

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

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

Здесь также есть 2 других момента: говорить людям что-то важное и то, что, по крайней мере, некоторые из них еще не знают.
Читать дальше →
Total votes 10: ↑7 and ↓3+7
Comments1

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity