Я знаю предложения. В моем десятилетии как Печать журналиста Я написал сотни статей для десятков публикаций. Я приводит больше предложений, чем судья Джуди. Но я не изучал писать или журналистику, по крайней мере, не формально.
Моя степень находится в электротехнике. Я научился писать, изучая и подражая, приговоры профессиональных писателей. И писатели в их лучшем, в целом, в их первых и последних предложениях.
Один из способов почувствовать, как построить хорошие предложения – это набрать прозу писателей, которые вы восхищаетесь, читая его вслух. Охотник С. Томпсон Скопировал все романы , штамповка Великий Гэтсби и Прощание к оружию в его пишущая машинка, чтобы получить фитзажальд и Хемингуэй на его пальцы.
Я ничего не сделал этого, но у меня много лет, в течение многих лет, выбирал первые и последние предложения каждой книги, которую я читал, что привело к Вечнорастущий список И, я надеюсь, улучшения для моего собственного письма.
Но я могу читать только так много книг и войти только так много предложений за несколько часов, у меня каждый день между зарабатыванием и ловкой Z. Дети, чтобы поднять, коврики к вакууму, Незнакомецные вещи Чтобы выпить – вы знаете, жизнь.
Разве это не было бы здорово, я часто думал, если бы было место в Интернете, где кто-то может внести вклад первых и последних предложений книг, которые они читали. Мы могли бы вместе построить сокровищную траву предложений. Это был бы отличный ресурс для людей, которые, как и я, наслаждайтесь изучением имитации.
Ну, просто так бывает, что моя последняя одержимость учится программировать в JavaScript. Поэтому я начал с моими ограниченными знаниями, чтобы сделать это место, используя JavaScript Frameworks Mongodb, Express, Angular 2 и Node.js – известна, коллективно, как средний стек. Я назвал это (очень простое) веб-приложение Первый и последний Отказ
Остальная часть этого поста будет чередоваться между разделами, описывающими больше моих мыслей о том, как писать лучшие предложения и разделы, объясняющие некоторые из того, что я узнал о программировании при работе на первом и последнем.
Если вы заинтересованы только в письменном виде, не стесняйтесь пропустить разделы на программировании. Если это интерес только в программировании, вы можете прокрутить мимо деталей на написание. Если вы заинтересованы только в глажении своих трусов, когда прыжки с парашютом или альпинизмом, пожалуйста, пошли здесь вместо.
Прочитайте все
Если вы стремитесь быть литературной звездой – Следующий Джонатан Францен или Зади Смит – затем придерживается читать литературу HighBrow. Учиться у мастеров. Но большинство людей, которые хотят улучшить свое письмо, имеют более скромные цели.
Возможно, вы хотите начать блог или написать Средний пост для бесплатного кодового лагеря . Может быть, вы хотите произвести впечатление на своего босса, написав лучшие отчеты.
В моем городе – Оттава Онтарио – около 150 000 человек работают в канадском федеральном правительстве. Тысячи больше работают по городу. Наиболее часто добываемыми произведениями письма здесь, я считаю, являются правительственные документы: заметки, брифингические ноты, ноты, релизы СМИ, политики, государственные консультации, руководящие принципы и так далее.
Большинство из этих документов хорошо написаны? Ах, давайте просто скажем, есть есть куда расти . Много места. Канада-размерная комната.
Люди, которые просто хотят писать более четко и кратко могут найти большую пользу в изучении предложений за пределами царства литературной фантастики. Читайте популярное научно. Читайте детские книги. Черт возьми, читайте зерновые коробки.
Хорошее место для поиска крепких рабочих предложений работает в работе жанровых писалистов, авторов, которые занимаются жесткими детективами, подрезанными любителями, уменными юристами и мечтательными вампирами.
Да, эти книги часто распространены с клишами. Но они никогда не путают. Авторы, как Джеймс Паттерсон, Линвуд Барклай и Харлан-Кобен – это эксперты в составлении предложений легко. Я узнал много из-за изучения своего письма – я не книга Snob – и вы найдете некоторые из их предложений в первом и последнем.
Предложения в коммерческой фантастике запасные и простые. Они содержат мало процветающих, нет HoopedDoodle. . Люди приносят эти книги на пляжном отпуске по причине. Вы можете прочитать их пока наполовину пьяным и ничего не пропустите.
С другой стороны, с другой стороны, решать Улиссы после вашей пятой багамы мамы.
Недостаточно информации
Моя основная техническая цель в составе первого и последнего была проста: захватить данные из браузера, придерживайтесь его в базе данных, затем верните его обратно в браузер для отображения. Это в значительной степени это. Я хотел узнать, как информация движется между передним концом (угловым) и задним концом (узел и монгодб).
Другими словами, я хотел сделать приложение, которое выполнило четыре основных операции базы данных – создайте, чтение, обновление и удаление (CRUD). У меня нет поклонника от аббревиатуры, но я должен признать, мне нравится Crud и значит. Их сладкие слова к этому наверно пессимисту.
Шаг 1: Получить пользовательский ввод
Шаг 2: Хранить в MongoDB
Шаг 3: Выберите из базы данных и отображения в браузере
Как я уже сказал, просто. Нет модных алгоритмов. Нет визуализации данных. Просто движущаяся информация, в основном текст, назад и вперед. Тем не менее, я сделал одно глупое предположение, что заставило меня некоторые проблемы.
Чтобы отобразить мои сохраненные предложения в браузере, я сначала пришлось их получить их из базы данных. Когда я спросил MongOdb для трех случайных записей, он вернул массив с тремя объектами. В угловом углу я назначил полученные данные в локальный массив под названием «Предложения», которые я объявил как содержащий объекты.
export class DisplayallComponent implements OnInit {
sentences: [Object];
Это работало нормально. Позже я решил позволить пользователям «любить» и комментировать предложения. Поэтому мне пришлось обновить, в конце концов, схема данных, которые сказали MongoDB, какой тип информации для хранения. Я заявил о подобной счетчике как число и множество струн под названием «Линда», где я поставил имена пользователей, которые понравилось определенную пару предложений.
const SentenceSchema = mongoose.Schema({
likes: {
type: Number, default: 0
},
likedBy: {
type: [String]
}Опять нет проблем. Наконец, я добавил комментарии. Каждый объект комментариев будет содержать имя пользователя и тело комментариев. Я добавил массив объектов в мою схему данных, объявляя одинаково, что я сделал для моих «предложений» на массиве в угловых.
const SentenceSchema = mongoose.Schema({
likes: {
type: Number, default: 0
},
likedBy: {
type: [String]
},
comments: {
type: [Object]
} Когда я проверил комментию, хотя это не сработало. На переднем конце не было очевидных ошибок, красный текст не кричал у меня в консоли хрома Devtools. Однако, когда я заглянул в базу данных, то комментарии, которые я представлял в браузере, нигде не был найден.
После того, как немного попробовать эту попытку, что и некоторые тихие поздние ночи, я понял проблему. Монгодб, оказалось, хотел, чтобы я был более специфичным, чем угловой. Я должен был сказать ему типы данных каждого элемента в объекте комментариев в моем массиве «Комментарии». Просто утверждая, что на массиве, содержащиеся объекты, не было достаточно хорошим.
comments: [{
username: String,
body: String
}],Казалось бы, программисты, по крайней мере, одна общая вещь с автором Пятьдесят оттенков серого . Иногда он платит, чтобы быть более явным.
Держите его коротко (иш)
Я люблю хорошее длинное предложение, я действительно делаю. Гаррисон Кейллер, из прерии домашнего сопутствующего славы, пишет красивые, забавные, бессвязные предложения, которые заканчиваются только тогда, когда чернила заканчиваются. Романист E.L. Доктор начинается Билли Батгат с предложением 131 слов и заканчивается 277 слово Whopper Отказ В Жизнь писателя Линейная легенда Gay Talese есть предложение, которое является Четыреста девятнадцать слова длинные.
Но не заставляйте ошибку – эти писатели хвастаются. Они хороши в том, что они делают и хотят, чтобы вы это знали. И это нормально для меня. Потому что в руках великого писателя, какое-либо предложение, даже дольше, чем квитанция Burger O’neal’s Burger, будет под контролем.
Я не гей Talese. Никто ты. Если вы идете долго, вы пойдите не так. Поверьте мне. Я редактирую писать внештатные журналисты и академики, и когда положения начинают накапливаться, так делают проблемы. Висячие модификаторы. Несоответствующие местоимения. Нецелегическое повторение. Ненужные слова. Фанкные союзы.
Короче говоря, блестящий .
Лучше всего варьировать длину ваших предложений – это больше приятнее для уха – но держите их в проверке. Смесь сложных и средних предложений – это ваша безопасная ставка.
Слишком много информации
Я собираюсь поделиться большим количеством кода, и вещи собираются уродливы. Извините, я новичок в этом. Если вы хотели бы издеваться над комментариями, не стесняйтесь.
Журналисты имеют толстую кожу. Нам это нужно. Ранее на этой неделе, например, я получил следующее письмо – от какого-то парня, который арендует роскошные апартаменты в Будапеште – о Статья о прерывистом посте Я написал в 2013 году.
В любом случае, это была функция, вызванная угловой, когда пользователь нажал на значок Thumbs-Up под записью в первом и последнем, поскольку я изначально написал его.
if(this.authService.loggedIn()) {
const isInArray = sentence.likedBy.includes(this.username);
if(!isInArray) {
sentence.likedBy.push(this.username);
this.authService.incrementLikes(sentence).subscribe(data => {
this.sentences[index] = data;Пользователи могут «любить» пару предложений, только если они вошли в систему и еще не «понравились» эту запись. Когда эти условия были выполнены, локальный массив пользователей, которым понравилось, эта пара предложений была обновлена.
Затем был сделан звонок для обновления подобного счетчика и массива «likedby» в базе данных. Весь объект предложения был отправлен на задний конец и, когда обновленное объект предложения был возвращен, то подобное счетчик, отображаемый в браузере, увеличился на один.
В моей модели данных на заднем дне у меня было это, к сожалению.
module.exports.incrementLikes = function(sentence, callback) {
const query = {_id:sentence._id};
sentence.likes++;
const likesPlus = sentence.likes;
const likesUserArray = sentence.likedBy;
const newLikeUser = likesUserArray[likesUserArray.length - 1];
Sentences.findOneAndUpdate(query,
{likes: likesPlus, $push:{likedBy: newLikeUser}},
{new: true}, callback
);
}Эта функция увеличила счетчик, прошедший в качестве параметра, и назначил его локальной переменной, которая заменила тому подобное счетчик в базе данных.
Если бы не было достаточно круглого боя, я скопировал весь массив «likedby» из объекта предложения, передаваемого на функцию, затем сделали другую локальную переменную для удержания последнего имени пользователя в этом массиве до, наконец, нажав на это имя пользователя в Массив базы данных «Likedby».
Работал, но все же. Нелепый.
Единственная информация MongoDB, необходимая из угловых, была уникальным идентификатором объекта предложения для обновления и имени пользователя пользователя, который нажал на значок ThumBS-UP. Не все объект предложения.
Итак, вместо этого я создал новый объект только с теми двумя элементами в угловом угловом, чтобы перейти к задней части.
onLikeClick(sentence, index) {
if(this.authService.loggedIn()) {
const isInArray = sentence.likedBy.includes(this.username);
if(!isInArray) {
const updateLikes = {
likeID: sentence._id,
likeUsername: this.username
}
this.authService.incrementLikes(updateLikes).subscribe(data =>
this.sentences[index] = data;Затем я просто увеличил тому подобное счетность внутри базы данных (вместо того, чтобы увеличивать снаружи и перезаписать значение базы данных) и нажимал имя пользователя, передаваемое на функцию в массиве базы данных «likedby».
module.exports.incrementLikes = function(updateLikes, callback) {
const query = {_id:updateLikes.likeID};
const newLikeUser = updateLikes.likeUsername;
Sentences.findOneAndUpdate(query,
{$inc: {likes: 1}, $push: {likedBy: newLikeUser}},
{new: true}, callback
);
}Когда вы новичок для программирования, радость сделать что-то работу, может облачное суждение. Заманчиво оставить уродливый код в одиночку, потому что, в конце концов, это делает то, что я хочу, чтобы это сделать. Но если я ценю, когда я пишу прозу, почему это должно быть отличным, когда я пишу код? Беспорядок – беспорядок.
Нет смысла передавать информацию, которая не требуется.
Когда сотрудник полиции просит свои водительские права, вы также не передаете свою библиотечную карту, свидетельство о рождении и пароль Ashley Madison.
Будь проще
Я огромный поклонник читабельности. Я думаю, что когда вы смотрите на плотный абзац длинных предложений – пронизывали аббревиатуры или статистики или символы или пухлые заголовки рабочих мест или длинные, ужасные слова, заканчивающиеся в «-давлении» – ваш мозг вздыхает.
«О, как чудесно», – стонут с его видом мозга. ” Это будет приветствие Hella.
Многие люди, которые иногда пишут как часть своих рабочих мест, академических и тематических экспертов, в частности, настолько связаны с контентом, что они часто не могут рассмотреть презентацию. Они хотят быть всеобъемлющими, чтобы сделать все свои очки – точка в пункте a до точки z – и будет начать как можно больше информации в каждое предложение.
Но если конечный результат нечитается и вряд ли будет сохранен, возможно, нет никакого смысла вообще. Я бы предпочел читателям помнить несколько идей, представленные ясно, чем мгновенно забыть десяток надбитых идей, представленных случайно.
В некоторых формах письма всегда будет неприглядно беспорядок – это неизбежно. Статьи о программировании и технологии будут иметь аббревиатуры. Бизнес написание будет модных слов. Резюме медицинских исследований могут содержать соотношения корректированных скоростей 0,86, 96% Ci 0,4-0,56.
Тем не менее, мы можем попытаться сделать лучше. Мы можем представить только информацию о потребностях читателя, ничего более. Мы можем устоять от желания произвести впечатление, чтобы показать наши словарные слова. Мы можем обрезать декоративные прилагательные, Eschw Jangon, избегайте «кого» на всех расходах. Мы можем сделать больше, чем просто сбросить слова на странице.
Писать хорошо сложно. Но это писатель, который должен страдать. Не читатель.
Оригинал: “https://www.freecodecamp.org/news/write-better-sentences-and-do-javascript-crud-with-mean-while-mostly-avoiding-acronyms-fe17905bcec5/”