Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
Ruby 練習問題1 ~ハッシュの基礎~ |
https://qiita.com/fujitacoma/items/10aed0365c9035e0561c
|
tacoma |
2022-07-02 22:59:40 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
IoT リアルタイムデータを Kinesis Data Analytics for Apache Flink で集計してみた |
https://qiita.com/sugimount-a/items/c3235a14e29ed75cdbf0
|
amazon |
2022-07-02 22:46:16 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWS Hands-on for Beginners 〜Serverless 編〜 #1 |
https://qiita.com/gazami_shougun/items/c63489b6270b8703b03d
|
onforbeginnersserverless |
2022-07-02 22:45:26 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
監視させたい任意の値をEC2のサーバからcloudwatchに送信させてみた |
https://qiita.com/miyuki_samitani/items/e92f3af7e7b93fea420a
|
amazon |
2022-07-02 22:17:52 |
Azure |
Azureタグが付けられた新着投稿 - Qiita |
GitHub ActionsでおうちKubernetesの簡易GitOpsを実現する (Azure Arc 対応 Kubernetes利用) |
https://qiita.com/ussvgr/items/423cdc5a6a137c3e4532
|
azurearc |
2022-07-02 22:42:26 |
Git |
Gitタグが付けられた新着投稿 - Qiita |
【#17 エンジニア転職学習】Git/Github .gitignore / commit --amend |
https://qiita.com/Chika110/items/25477124a1387320af17
|
chika |
2022-07-02 22:12:10 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
Ruby 練習問題1 ~ハッシュの基礎~ |
https://qiita.com/fujitacoma/items/10aed0365c9035e0561c
|
tacoma |
2022-07-02 22:59:40 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
【プログラミング初心者】学習中意識していることについて |
https://qiita.com/m9795/items/47a2c059cfbdf9258bb5
|
開始 |
2022-07-02 22:47:36 |
海外TECH |
MakeUseOf |
The 7 Best Soundboard Apps for Free Sound Collections |
https://www.makeuseof.com/tag/soundboard-discover-sound-collections/
|
custom |
2022-07-02 13:30:14 |
海外TECH |
MakeUseOf |
How to Anonymously View A Linkedin Profile |
https://www.makeuseof.com/how-to-anonymously-view-linkedin-profile/
|
linkedin |
2022-07-02 13:30:14 |
海外TECH |
DEV Community |
How the typeof Operator works in TypeScript |
https://dev.to/smpnjn/how-the-typeof-operator-works-in-typescript-4gld
|
How the typeof Operator works in TypeScriptIn Javascript we already have a vanilla typeof operator which can be used to find the type of anything let x hello world console log typeof x Returns string With TypeScript being a strongly typed language typeof takes on a slightly different meaning Although for all the basic Javascript types typeof functionality remains the same it also gets some additional useful features Let s look at how typeof works in TypeScript How typeof works in TypeScriptThe most basic application of typeof in TypeScript is the creation of new basic types If we are defining our own custom types in TypeScript we can use typeof to copy the type of an existing item A simple example where we take a number and create a custom type off the back of it looks like this let x Custom type aNumbertype aNumber typeof x This can be useful if variable types may vary and we want to match a specific variable It can also be useful when creating custom types that have many properties where the properties should match existing variable types let x let y string Custom type aNumbertype myType name typeof y age typeof x As you can see typeof basically gives us a way to differentiate between the value and type of an existing object It can also be combined with ReturnType quite intuitively to get the returned value of a function to ensure type consistency when expecting values from functions function myFunction x string y string return firstName x lastName y type nameType ReturnType lt typeof myFunction gt I have covered ReturnType in more detail in this article so check that out if you want to learn more Similarly you can learn more about TypeScript here |
2022-07-02 13:38:47 |
海外TECH |
DEV Community |
Outreachy: Explaining my project |
https://dev.to/krimson/outreachy-explaining-my-project-lgl
|
Outreachy Explaining my projectWelcome to blog So this week s blog is about explaining my project and community to my audience About my communityODK X produces free and open source software for collecting managing and using data in resource constrained environments A major advantage of ODK X apps over traditional data apps like Microsoft Excel is that they are available offline on mobile phones About my projectI m mainly working towards improving the UI and UX of the mobile apps which means we want to further simplify and enhance the app experience for our users and field workers We aim to achieve it by making the look and feel of the apps better and making them easier and more intuitive to use The scope of my project also covers helping the developers develop better apps for ODK X that is we aim to create templates libraries and a style guide which the developers can refer to for creating consistent good looking apps My doubts and confusionsInitially I was confused as to where and how I should start Should I just start creating mock ups based on my observation Or ask my mentors But then we discussed and realized that we are working for the users so asking the users would be the best thing to do And that s what we did we created a feedback form and circulated it amongst our users and got a lot of good feedback that we can work on Currently I m compiling the feedback and trying to understand the problems and come up with solutions All in all I m enjoying my project |
2022-07-02 13:23:11 |
海外TECH |
DEV Community |
Why I started my career in Web development? |
https://dev.to/guidugaich/why-i-started-my-career-in-web-development-3iag
|
Why I started my career in Web development “Any sufficiently advanced technology is indistinguishable from magic ーArthur C ClarkThis famous quote well describes the impact that new technologies have on us sometimes so impressive that it makes us question how it can be real How does this Instagram filter make me look older How does Facebook know I m looking to buy something and keep showing me ads How can an Uber car driven by a person I don t know who doesn t know where I m going manage to arrive so fast and take me to my destination The most magical thing of all is that there is no magic at all They are just ones and zeros binary signals being transmitted by cables and over the air which properly organized can be translated into text image sound and much more This is the main reason that made me want to move to the technology field the possibility of solving complex problems in a simpler more scalable and elegant way By saying that ones and zeros must be organized we are talking about something quite complex There are countless operating systems programming languages and applications to allow us humans to communicate effectively with an inanimate object such as a notebook or a smartphone From this need to define the interface between human and machine comes the fantastic world of software development where the role of a developer or programmer is to solve problems through technology and the creation of computer codes Undoubtedly there are many ways to solve the same problem but software development combined with specific knowledge of the problem at hand seems to me to be one of the most efficient tools that a st century professional can have The coronavirus pandemic in certainly the most tragic and challenging event in our recent history as a society was a catalyst for the technological revolution which had already been underway for a couple decades and was brutally accelerated Virtually overnight many were forced to stay at home and find new ways to do the same things as usual In the mood for food from your favorite restaurant Get Uber Eats Want to buy something from that store in the mall Order it on Amazon and have it delivered the next day Need to have a meeting with your co workers Open a room in Zoom These companies spend millions of dollars and many hours of developers sitting in front of a computer trying to solve that problem efficiently Not surprisingly the search for this type of professional is on the rise in the pandemic In Brazil the supply of qualified developers is not enough to meet the growing demand In this context emerged Trybe a school that aims to meet this demand by qualifying developers for the market and where I placed my trust to help me in this career transition to technology This demand translates into better compensation which is another advantage of the field Another interesting benefit is flexibility Remote work was already a reality in technology companies even before the pandemic and it is now widely accepted and consolidated in many as the main form of work It is possible to work for companies from anywhere in the world sometimes being paid in the contractor s local currency Can you imagine getting paid in US dollars living in Brazil This aspect was certainly an advantage for me who greatly value the freedom to be where I want to be That s why I decided to start my career as a developer More specifically in Web development which is the area that combines the power of software with the scalability of the Internet which allows your solution to be used anywhere in the world where there is a computer with a browser and a network connection I m just at the beginning of my journey but just knowing the possibilities that exist is enough motivation to continue studying and evolving every day |
2022-07-02 13:17:52 |
海外TECH |
DEV Community |
How Typescript Enums Work |
https://dev.to/smpnjn/how-typescript-enums-work-31jl
|
How Typescript Enums WorkEnums short for Enumerations are preset constants which can be defined by a developer for use elsewhere in the code For Javascript developers the concept of enums is usually new but they are relatively straight forward to understand Enums add context to what we re writing How to define EnumsEnums can be defined in Typescript using the Enum keyword Here is an example enum Pet Dog Cat Goldfish Skeleton By default each of these will be assigned a value So Dog will be Cat is and so on Suppose we have a function then that generates pets Before we may have written this Generate a CatgeneratePet Now we can add context to what we re doing and use our enum list to do this Generate a CatgeneratePet Pet Cat The above code is equivalent to what we did before only we re using our enums instead So wait why use enums You may be wondering what s the point and it s a valid question Enums essentially allow us to give more context to what we are doing Instead of having the user memorize a list of possible pet numbers we can simple ask them to use the enum list This also gives the next person who reads our code a better idea of what we were trying to do Numeric and String EnumsWe can define enums as numbers or strings Let s look at these in a little detail enum Pet Dog Cat Goldfish Skeleton Above we have given Dog a numeric value of Every item after that will be incremented by so Cat becomes Goldfish becomes etc but you can also just define them as you please enum Pet Dog Cat Goldfish Skeleton Typically we don t mix strings and numbers to avoid confusion but we can also define enums as entirely strings too enum Counting One one Two two Three three Enum Values from FunctionsEnums can also be functions which return values If you only define one value in an enum functions must go at the end If you put functions at the start then all enums will require values As such the following throws an error This will throw an error since the function is at the start So typescript assumes all will be functionsenum Counting One getOne Two Three But this will not enum Counting One Two Three getThree In the above One returns Two returns and Three returns the value of getThree Our getThree function to give an example may look like this to return the value const getThree function return Calculated EnumsEnums may be calculated i e a calculation or refer to other Enums as well For example enum FirstEnum One Returns Two Returns Three Returns enum AnotherEnum One FirstEnum One returns FirstEnum One i e Two Calculates and returns Three Calculates and returns Star One Refers to AnotherEnum One returns ConclusionEnums are a powerful way in typescript to add more semantics to your code They give you a good way to let people reading your code know what you were trying to accomplish and thus improve the maintainability of what you ve wriitten They also make your life easier by allowing you to reference standard constants across your codebase We hope you ve enjoyed this guide to Typescript Enums To learn more about TypeScript click here |
2022-07-02 13:14:09 |
海外TECH |
DEV Community |
Create Your Own AI Chatbot in minutes with Rasa |
https://dev.to/codesphere/create-your-own-ai-chatbot-in-minutes-with-rasa-5cke
|
Create Your Own AI Chatbot in minutes with RasaAI Chatbots are an increasingly popular way to service your users They allow you to field diverse UX requests without pages and pages of buttons for every possible thing that a user might need The issue however is that building and training an AI chatbot can be an incredibly burdensome task that oftentimes simply isn t worth the effort Rasa is attempting to change that Rasa is an open source tool to quickly create and train an AI chatbot for whatever purpose you need You simply enter in near plain english how you want your chatbot to operate give it some example inputs and then reap the benefits Setting up the DemoYou can quickly setup a demo in minutes with the following commands Make sure you have python installed Setup the python environment and install Rasa via pip python m venv venvsource venv bin activatepip install rasaSetup train and run the Rasa project Rasa initFrom there Rasa will run the default chatbot in the command line for you to play around with How to Customize Your ChatbotOkay if you re following along you might have realized that the demo bot is pretty limited so how can we add more functionality There are five key components to build your Rasa bot NLU dataResponsesStoriesFormsRulesNLU Natural Language Understanding Data is the training data that you feed Rasa You simply need give it examples of ways a person might say something and then classify what those different messages mean into intents Responses are the ways in which you want your bot to be able to respond Stories are the paths that you want a conversation to be able to take Odds are you re using your chatbot to collect some sort of data from users Forms are the way you can structure requests that you need your chatbot to make and what to do when they successfully collect that information Finally rules are exactly what they sound like They can place strict requirements on ways your bot should interact After you edit all these parameters to customize your bot make sure to retrain your bot with rasa train How to Deploy your ChatbotSo now that you have customized your bot how can you actually use it Among other ways Rasa allows you to deploy your bot as an API We d recommend using Codesphere an all in one web IDE and Cloud provider that allows you to deploy any app in minutes You can get your project setup in Codesphere simply by connecting the github repo and installing all the necessary dependencies through the command line When you are ready to deploy simply run rasa run p And the api will be running on port We can then make post requests to the chatbot at http lt host gt lt port gt webhooks rest webhookWith a json with the following format “sender “test user sender ID of the user sending the message“message “Hi there Note that Rasa will automatically track user sessions from senders with the same sender ID and will even clear inactive senders after a given time period minute by default Additionally Rasa can be connected through Websockets Slack Telegram and a myriad of other ways You can learn more here And that s all it took to get our chatbot live Let us know down below what you re going to use your chatbot for Happy coding from the Codesphere team |
2022-07-02 13:12:01 |
海外TECH |
DEV Community |
Linux basics: common terminology of the Linux world |
https://dev.to/mbbaig/linux-basics-common-terminology-of-the-linux-world-17jk
|
Linux basics common terminology of the Linux worldThere is often confusion among Linux beginners about a lot of the technologies and terminologies that Linux veterans might refer to in the forums around the internet This is can be an problem because forums are often the only way to get support with an issue a user might be facing on their PC DistroDistro is short for distribution Distributions are collections of packages and configuration that combine to make a usable operating system The differences in distributions comes down to the default applications and configuration that they ship with Otherwise almost everything can be replicated on most other distributions Often when someone is considering trying out a Linux operating system they start with a search for best distributions for their use case But that kind of a search often leads to a fringe OS that may not have an active community or a great support system I ll explore better questions to ask in a future post KernelThe Kernel is the core of the whole operating system All operating systems including Windows and macOS have a kernel People widely confuse Linux as the operating system itself A distribution is synonymous with operating system The kernel provides vital low level functionality like hardware drivers CPU scheduling and memory management Desktop EnvironmentDesktop environments are a sub set of distribution components that create a usable WIMP environment Examples of desktop environments are Gnome KDE or XFCE There are of course more desktops environments in the Linux world And more are being developed every day Most popular distributions customize or ship the vanilla version of these desktop environments to provide a complete OS experience Window Manager Display ServerThe window manager can either be a component of the desktop environment or individually installed in a system It does exactly what it says It manages everything to do with windows Drawing placement resizing updates etc are all part of the window manager functionality Gnome s Mutter and KDE s KWin are examples of window managers display servers An example of an individual window manager is i Display ManagerA display manager is responsible for showing the login screen and allowing the user to login Display manager can be confused with window managers Some examples of display managers are GDM Gnome Display Manager SDDM Simple Desktop Display Manager or LightDM ScriptA script is simple a file of code that a user can execute Scripts are very powerful and can do everything from install a program to ruin your entire system Many fixes proposed in the various distributions forums out there ask the user to run a script to solve a problem This is very problematic in a couple of ways The user has may have no idea what the script does or they might lack the knowledge to properly evaluate the script code And the script itself could be malicious If a solution to a problem requires a script be very careful when you run it Make sure to have a backup These scripts are run inside of a shell most commonly using a CLI We ll discuss these in the next sections CLICLI stands for command line interface This is the command prompt that was common during the old DOS days And this is still very common today on Linux based operating systems Programs written for the CLI are generally considered to be for the advance users Except they are just like any other program they just require typing out the command to interact with them In fact these programs can be much more powerful because of the way Linux Unix CLI works These programs are largely designed to work together The output of one command can be fed as the input for another This method can be used to chain many commands together to create a pipeline These pipelines are the real power of the CLI ShellThe shell is the environment in which programs are run There are graphical shells like Gnome There are also CLI shells like BASH Zsh or Tcsh These environments can provide vastly different features and properties for the user Even in the CLI where these is just a simple text prompt can provide various completion listing colouring and display features BASH is the most common CLI shell used in Linux distributions and Gnome is the most common GUI shell |
2022-07-02 13:10:41 |
海外TECH |
DEV Community |
Streams in dart |
https://dev.to/dmutoni/streams-in-dart-5gd0
|
Streams in dartSup folks hope you are doing great we are going to pass through many in one flutter concept concept called a stream Let s start with a simple case study Imagine yourself sitting by a creek having a wonderful time While watching the water flow you see a piece of wood or a leaf floating down the stream and you decide to take it out of the water Funny right You could even have someone upstream purposely float things down the creek for you to grab So we can imagine Dart in a similar way as data flowing down a creek waiting for someone to grab it A stream can be like a pipe you put a value on the one end and if there s a listener on the other end that listener will receive that value A Stream can have multiple listeners and all of those listeners will receive the same value when it s put in the pipeline The way you put values on a stream is by using a StreamController What are streams in dart A stream is a source of asynchronous data events They provide a way to receive a sequence of events What can you do with a stream With Dart streams you can send one data event at a time while other parts of your app listen for those events Such events can be collections maps or any other type of data you ve created Streams can send errors in addition to data thus you can also stop the stream if you need to Important concepts of Streams in flutter Stream Controller A StreamController simplifies stream management automatically creating a stream and sink and providing methods for controlling a stream s behavior A StreamController object in Dart does exactly what the name suggests it controls Dart Streams The object is used to create streams and send data errors and done events on them Controllers also help check a stream s properties such as how many subscribers it has or if it s paused Stream Builders StreamBuilder is a widget that uses stream operations and basically it rebuilds its UI when it gets the new values that are passed via Stream it listens to StreamBuilder requires parameters stream A method that returns a stream objectbuilder widgets that will be returned during different states of a streambuilder Sink In Flutter Streams a Sink is a point from where we can add data into the stream pipe Source In Flutter Stream a Source is a point from where we can keep listening to stream data or get the data that is been added into the stream How to create streams in flutter Let s first have a look at generators Generators can create sequence of values synchronously by this we can create Iterable and asynchronously by this we can create Stream So you can produce a stream by calling an async function which then returns a stream Consuming that stream will lead the function to emit events until it ends and the stream closes You consume a stream either using an await for loop which is available inside an async or async function or by forwarding its events directly using yield inside an async function Future lt double gt getRandomValue async var random Random await Future delayed Duration seconds return random nextDouble This code can be used and you ll get a random value back once off and the function will be finished executing This means if you want another random value you ll have to call and await the function again Like below var value await getRandomValue var value await getRandomValue And this is so tiresome right So if you want to call the function once and continuously get random values from that function without stopping it s execution That s where async and yield comes in Hmm interesting then lets make a function that returns a stream and every second will emit a new random value Stream lt double gt getRandomValues async var random Random while true await Future delayed Duration seconds yield random nextDouble Well if you are confused about the difference between the previous function and this one don t worry let s clearly look at the differences The first thing to notice is that we now return a Streamand not a Future That means instead of awaiting on the value we ll have to subscribe to the stream The second difference is that async instead of async This tells the runtime that this code should be run asynchronously but execution will continue even after returning a value The last difference is the replacement of return with yield This is basically a return function but it doesn t exit the function Instead it continues executing the rest of the code after yield Welp that was one way of creating streams Tadaaa Usually when you are creating streams you use StreamController which holds both stream and StreamSink like below final streamController StreamController lt DateTime gt Timer periodic Duration seconds timer streamController add DateTime now Before we continue notice that we emitted a new value over a stream using add How to use streams The next thing to do is to be able to get the values from a stream This is commonly referred to as subscribing or listening to a stream When you subscribe to a stream you will only get the values that are emitted put onto the stream after the subscription You subscribe to the stream by calling the listen function and supplying it with a Function to call back to when there s a new value available commonly referred to as a callback function or just a callback streamController stream listen event print event Managing a streamThe listen call returns a StreamSubscription of the type of your stream We can use this to manage stream subscription Notice that we have our subscription to the stream and it s emitting over time That s great But we ve got a small bug with this implementation we never disposed or cleaned up our subscription to the stream And this means that even if the user goes to another part of our app or does something else our app will still listen to this stream and process the results Basically we need to make sure there are no memory leaks A subscription to a stream will stay active until its memory allocation is destroyed usually the entire lifecycle of your app This is perfectly fine in some cases and not fine in others Let s look together how to cancel to a stream subscription final streamController StreamController lt DateTime gt final unsubscribeAt DateTime now add Duration seconds StreamSubscription lt DateTime gt subscription Timer periodic Duration seconds timer streamController add DateTime now subscription streamController stream listen event async print event if event isAfter unsubscribeAt print It s after unsubscribeAt cleaning up the stream await subscription cancel Handling stream errors As we know when we are programming we often meet errors So we are going to see how we can manage errors in our streams The reasons for these can be vast but if your stream is connected for real time updates from a server and the mobile device disconnects from the internet then the stream disconnects as well and yields an error When this happens and we don t handle the error Flutter will throw an exception and the app can potentially be left in an unusable state Fortunately it s fairly easy to handle errors Let s make our stream yield an error if our seconds are divisible by three and for the sake of completeness let s also handle the event when the stream completes final streamController StreamController lt DateTime gt final unsubscribeAt DateTime now add Duration seconds late StreamSubscription lt DateTime gt subscription final timer Timer periodic Duration seconds timer streamController add DateTime now if DateTime now second streamController addError gt Exception Seconds are divisible by three subscription streamController stream listen event async print event if event isAfter unsubscribeAt print It s after unsubscribeAt cleaning up the stream timer cancel await streamController close await subscription cancel onError err stack print the stream had an error onDone print the stream is done The output will be Bonus What are the types of streams in dart There are two kinds of streams Single subscription streams and broadcast streams A single subscription stream allows only a single listener during the whole lifetime of the stream It doesn t start generating events until it has a listener and it stops sending events when the listener is unsubscribed even if the source of events could still provide more The stream created by an async function is a single subscription stream but each call to the function creates a new such stream Listening twice on a single subscription stream is not allowed even after the first subscription has been canceled Single subscription streams are generally used for streaming chunks of larger contiguous data like file I OA broadcast stream allows any number of listeners and it fires its events when they are ready whether there are listeners or not Broadcast streams are used for independent events observers If several listeners want to listen to a single subscription stream use asBroadcastStream to create a broadcast stream on top of the non broadcast stream Hoorraaay congrants you ve read to this far This was a lot But hope you understand what a stream is let s have a short recap about what we have covered How a basic stream works and what purpose they serveHow to clean up a subscription after we ve used itHow to handle basic errors that come from the stream and capture them when a stream completesTypes of streamsSo your task now is examine yourself and see how you can implement this in a flutter app just give it a try Goodluck |
2022-07-02 13:09:27 |
Apple |
AppleInsider - Frontpage News |
Daily deals July 2: 48% off LG 48-inch OLED TV, $45 Blink Mini, $219 Shure Podcast Mic, more |
https://appleinsider.com/articles/22/07/02/daily-deals-july-2-48-off-lg-48-inch-oled-tv-45-blink-mini-219-shure-podcast-mic-more?utm_medium=rss
|
Daily deals July off LG inch OLED TV Blink Mini Shure Podcast Mic moreSaturday s best deals include a Belkin MagSafe compatible Magnetic Wireless Charger for off an EVGA GeForce RTX and much more On a daily basis AppleInsider checks online stores to uncover discounts on products including Apple hardware mobile devices hardware upgrades smart TVs and accessories The best offers are compiled into our daily deals post for you to enjoy If you find any out of stock items you may still be able to order them and enjoy the discount but get your order at a later time As Amazon discounts have a limited lifespan you may want to buy them early before they disappear Read more |
2022-07-02 13:09:30 |
ニュース |
BBC News - Home |
Flight cancellations aim to ease summer chaos |
https://www.bbc.co.uk/news/uk-62021354?at_medium=RSS&at_campaign=KARANGA
|
season |
2022-07-02 13:32:53 |
北海道 |
北海道新聞 |
ホッキョクグマの子は「ゆめ」 旭山動物園で命名式 |
https://www.hokkaido-np.co.jp/article/700964/
|
旭山動物園 |
2022-07-02 22:43:01 |
北海道 |
北海道新聞 |
J1、首位の横浜Mが5連勝 鹿島は競り勝つ |
https://www.hokkaido-np.co.jp/article/701103/
|
国立競技場 |
2022-07-02 22:27:58 |
北海道 |
北海道新聞 |
女子通学、再開要請せず アフガン大会議が決議 |
https://www.hokkaido-np.co.jp/article/701111/
|
通学 |
2022-07-02 22:42:00 |
北海道 |
北海道新聞 |
KDDI障害、物流やATMに支障 ゆうパック、アメダス、楽天モバイルも… |
https://www.hokkaido-np.co.jp/article/701053/
|
kddiau |
2022-07-02 22:32:15 |
北海道 |
北海道新聞 |
沖縄合宿の助成金申請せず フェンシング協会理事会 |
https://www.hokkaido-np.co.jp/article/701107/
|
日本フェンシング協会 |
2022-07-02 22:15:00 |
北海道 |
北海道新聞 |
俳優の野村昭子さんが死去 95歳 ドラマ「渡る世間は鬼ばかり」 |
https://www.hokkaido-np.co.jp/article/701102/
|
渡る世間は鬼ばかり |
2022-07-02 22:11:23 |
北海道 |
北海道新聞 |
人工衛星データで水道管の漏水調査 上ノ国町、道内初の試み |
https://www.hokkaido-np.co.jp/article/701084/
|
上ノ国町 |
2022-07-02 22:03:23 |
コメント
コメントを投稿